gcc native: draft binutils build in build.sh (not working)

This commit is contained in:
Giacomo Tesio 2018-11-29 18:13:48 +01:00
parent aa0ff70ecb
commit 0fef60d69d

View File

@ -23,8 +23,8 @@ function failOnError {
date > $WORKING_DIR/gcc.build.log date > $WORKING_DIR/gcc.build.log
# verify libtool is installed # verify libtool is installed
libtool --version >> $WORKING_DIR/gcc.build.log libtool --version >> /dev/null
failOnError $? "libtool version" failOnError $? "libtool installation check"
(cd src && fetch) >> $WORKING_DIR/gcc.build.log (cd src && fetch) >> $WORKING_DIR/gcc.build.log
failOnError $? "fetching sources" failOnError $? "fetching sources"
@ -78,19 +78,35 @@ echo done.
# Copy to /posix (to emulate bind during cross compilation) # Copy to /posix (to emulate bind during cross compilation)
cp -pfr $JEHANNE/pkgs/libmpc/1.1.0/posix/* $JEHANNE/posix cp -pfr $JEHANNE/pkgs/libmpc/1.1.0/posix/* $JEHANNE/posix
#echo -n Building binutils... | tee -a $WORKING_DIR/gcc.build.log echo -n Building binutils... | tee -a $WORKING_DIR/gcc.build.log
#( # Patch and build binutils
# cd src/libmpc && if [ "$BINUTILS_BUILD_DIR" = "" ]; then
# chmod u+w config.sub && export BINUTILS_BUILD_DIR=$WORKING_DIR/build-binutils
# patch -p0 < $WORKING_DIR/patch/libmpc.patch && fi
# chmod u-w config.sub && ( ( grep -q jehanne config.sub || (
# ./configure --host=x86_64-jehanne --prefix=/posix/ --with-sysroot=$JEHANNE --with-gmp=$JEHANNE/pkgs/libgmp/6.1.2/posix/ --with-mpfr=$JEHANNE/pkgs/libmpfr/4.0.1/posix/ && sed -i '/jehanne/b; /ELF_TARGET_ID/,/elf_backend_can_gc_sections/s/0x200000/0x1000 \/\/ jehanne hack/g' src/binutils/bfd/elf64-x86-64.c &&
# cp ../../../../patch/MakeNothing.in doc/Makefile && sed -i '/jehanne/b; s/| -tirtos/| -tirtos* | -jehanne/g' src/binutils/config.sub &&
# make && dynpatch 'binutils/bfd/config.bfd' '\# END OF targmatch.h' &&
# make DESTDIR=$JEHANNE/pkgs/libmpc/1.1.0/ install dynpatch 'binutils/gas/configure.tgt' ' i860-\*-\*)' &&
#) >> $WORKING_DIR/gcc.build.log ( grep -q jehanne src/binutils/ld/configure.tgt || patch -p1 < patch/binutils/ld/configure.tgt ) &&
#failOnError $? "Building libmpc" cp patch/binutils/ld/emulparams/elf_x86_64_jehanne.sh src/binutils/ld/emulparams/ &&
#echo done. cp patch/binutils/ld/emulparams/elf_i386_jehanne.sh src/binutils/ld/emulparams/ &&
# dynpatch 'binutils/ld/Makefile.am' 'eelf_x86_64.c: ' &&
## Copy to /posix (to emulate bind during cross compilation) (grep 'eelf_i386_jehanne.c \\' src/binutils/ld/Makefile.am || sed -i 's/.*ALL_EMULATION_SOURCES = \\.*/&\n\teelf_i386_jehanne.c \\/' src/binutils/ld/Makefile.am) &&
#cp -pfr $JEHANNE/pkgs/libmpc/1.1.0/posix/* $JEHANNE/posix (grep 'eelf_x86_64_jehanne.c \\' src/binutils/ld/Makefile.am || sed -i 's/.*ALL_64_EMULATION_SOURCES = \\.*/&\n\teelf_x86_64_jehanne.c \\/' src/binutils/ld/Makefile.am) &&
cd src/binutils/ld && automake && cd ../ ) ) &&
cd $BINUTILS_BUILD_DIR &&
$CROSS_DIR/src/binutils/configure --prefix=$JEHANNE/hacking/cross/toolchain --with-sysroot=$JEHANNE --target=x86_64-jehanne --enable-interwork --enable-multilib --disable-nls --disable-werror &&
cp $CROSS_DIR/patch/MakeNothing.in $CROSS_DIR/src/binutils/bfd/doc/Makefile &&
cp $CROSS_DIR/patch/MakeNothing.in $CROSS_DIR/src/binutils/bfd/po/Makefile &&
cp $CROSS_DIR/patch/MakeNothing.in $CROSS_DIR/src/binutils/gas/doc/Makefile &&
cp $CROSS_DIR/patch/MakeNothing.in $CROSS_DIR/src/binutils/binutils/doc/Makefile &&
make MAKEINFO=true MAKEINFOHTML=true TEXI2DVI=true TEXI2PDF=true DVIPS=true &&
make MAKEINFO=true MAKEINFOHTML=true TEXI2DVI=true TEXI2PDF=true DVIPS=true install
) >> $WORKING_DIR/gcc.build.log 2>&1
failOnError $? "Building binutils"
fi
echo done.
# Copy to /posix (to emulate bind during cross compilation)
cp -pfr $JEHANNE/pkgs/binutils/2.31/posix/* $JEHANNE/posix