devtools/cross/pkgs/gcc/build.sh

97 lines
3.2 KiB
Bash
Raw Normal View History

2018-11-26 00:57:13 +01:00
#!/bin/bash
echo "Cross compiling GCC and dependencies"
export WORKING_DIR="$JEHANNE/hacking/cross/pkgs/gcc"
# include x86_64-jehanne-pkg-config in PATH
export PATH="$JEHANNE/hacking/cross/:$PATH"
function failOnError {
# $1 -> exit status on a previous command
# $2 -> task description
if [ $1 -ne 0 ]; then
echo "ERROR $2"
echo
echo BUILD LOG:
echo
cat $WORKING_DIR/gcc.build.log
2018-11-26 00:57:13 +01:00
exit $1
fi
}
date > $WORKING_DIR/gcc.build.log
2018-11-29 02:38:34 +01:00
# verify libtool is installed
libtool --version >> $WORKING_DIR/gcc.build.log
failOnError $? "libtool version"
2018-11-28 11:47:24 +01:00
2018-11-26 00:57:13 +01:00
(cd src && fetch) >> $WORKING_DIR/gcc.build.log
failOnError $? "fetching sources"
2018-11-28 18:32:39 +01:00
echo -n Building libgmp... | tee -a $WORKING_DIR/gcc.build.log
2018-11-26 00:57:13 +01:00
(
cd src/libgmp &&
2018-11-29 02:38:34 +01:00
( grep -q jehanne configfsf.sub || patch -p0 < $WORKING_DIR/patch/libgmp.patch ) &&
./configure --host=x86_64-jehanne --prefix=/posix/ --with-sysroot=$JEHANNE &&
make &&
2018-11-29 02:38:34 +01:00
make DESTDIR=$JEHANNE/pkgs/libgmp/6.1.2/ install &&
libtool --mode=finish $JEHANNE/posix/lib
) >> $WORKING_DIR/gcc.build.log 2>&1
2018-11-26 00:57:13 +01:00
failOnError $? "Building libgmp"
echo done.
2018-11-29 02:38:34 +01:00
#2 Copy to /posix (to emulate bind during cross compilation)
2018-11-28 11:47:24 +01:00
cp -pfr $JEHANNE/pkgs/libgmp/6.1.2/posix/* $JEHANNE/posix
2018-11-28 18:32:39 +01:00
echo -n Building libmpfr... | tee -a $WORKING_DIR/gcc.build.log
(
cd src/libmpfr &&
2018-11-29 02:38:34 +01:00
( grep -q jehanne config.sub || patch -p0 < $WORKING_DIR/patch/libmpfr.patch ) &&
./configure --host=x86_64-jehanne --prefix=/posix/ --with-sysroot=$JEHANNE --with-gmp=$JEHANNE/pkgs/libgmp/6.1.2/posix/ &&
cp ../../../../patch/MakeNothing.in doc/Makefile &&
make &&
2018-11-29 02:38:34 +01:00
make DESTDIR=$JEHANNE/pkgs/libmpfr/4.0.1/ install &&
libtool --mode=finish $JEHANNE/posix/lib
) >> $WORKING_DIR/gcc.build.log 2>&1
failOnError $? "Building libmpfr"
echo done.
2018-11-27 01:46:03 +01:00
# Copy to /posix (to emulate bind during cross compilation)
2018-11-28 11:47:24 +01:00
cp -pfr $JEHANNE/pkgs/libmpfr/4.0.1/posix/* $JEHANNE/posix
2018-11-27 01:46:03 +01:00
2018-11-28 18:32:39 +01:00
echo -n Building libmpc... | tee -a $WORKING_DIR/gcc.build.log
(
cd src/libmpc &&
2018-11-29 02:38:34 +01:00
( grep -q jehanne config.sub || ( chmod u+w config.sub &&
2018-11-28 18:32:39 +01:00
patch -p0 < $WORKING_DIR/patch/libmpc.patch &&
2018-11-29 02:38:34 +01:00
chmod u-w config.sub ) ) &&
2018-11-28 18:32:39 +01:00
./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/ &&
cp ../../../../patch/MakeNothing.in doc/Makefile &&
make &&
2018-11-29 02:38:34 +01:00
make DESTDIR=$JEHANNE/pkgs/libmpc/1.1.0/ install &&
libtool --mode=finish $JEHANNE/posix/lib
) >> $WORKING_DIR/gcc.build.log 2>&1
2018-11-28 18:32:39 +01:00
failOnError $? "Building libmpc"
echo done.
# Copy to /posix (to emulate bind during cross compilation)
cp -pfr $JEHANNE/pkgs/libmpc/1.1.0/posix/* $JEHANNE/posix
2018-11-29 02:38:34 +01:00
#echo -n Building binutils... | tee -a $WORKING_DIR/gcc.build.log
#(
# cd src/libmpc &&
# chmod u+w config.sub &&
# patch -p0 < $WORKING_DIR/patch/libmpc.patch &&
# chmod u-w 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/ &&
# cp ../../../../patch/MakeNothing.in doc/Makefile &&
# make &&
# make DESTDIR=$JEHANNE/pkgs/libmpc/1.1.0/ install
#) >> $WORKING_DIR/gcc.build.log
#failOnError $? "Building libmpc"
#echo done.
#
## Copy to /posix (to emulate bind during cross compilation)
#cp -pfr $JEHANNE/pkgs/libmpc/1.1.0/posix/* $JEHANNE/posix