93 lines
2.7 KiB
Bash
Executable file
93 lines
2.7 KiB
Bash
Executable file
#!/bin/bash -e
|
|
|
|
source $(dirname $0)/functions
|
|
source $(dirname $0)/pkgversion
|
|
|
|
filename=$(echo $0 | rev | cut -d / -f1 | rev)
|
|
|
|
TMP=${TMP:-/tmp/build}
|
|
LOG=${LOG:-$(dirname $0)/log}
|
|
SRC=${SRC:-$(dirname $0)/src}
|
|
|
|
NAME=gcc
|
|
VERSION=${GCC_VER}
|
|
|
|
fetch "http://ftp.osuosl.org/pub/lfs/lfs-packages/8.3/mpfr-$MPFR_VER.tar.xz" $SRC
|
|
#fetch "http://www.mpfr.org/mpfr-$MPFR_VER/mpfr-$MPFR_VER.tar.xz" $SRC
|
|
fetch "https://ftp.gnu.org/gnu/mpc/mpc-$MPC_VER.tar.gz" $SRC
|
|
fetch "http://ftp.gnu.org/gnu/gmp/gmp-$GMP_VER.tar.xz" $SRC
|
|
fetch "http://ftp.gnu.org/gnu/gcc/gcc-$GCC_VER/gcc-$GCC_VER.tar.xz" $SRC
|
|
|
|
[ "$1" = "fetch" ] && exit 0
|
|
|
|
rm -fr $TMP
|
|
mkdir -p $TMP $LOG $SRC
|
|
|
|
tar xf $SRC/$tarballname -C $TMP
|
|
tar -xf $SRC/mpfr-$MPFR_VER.tar.xz -C $TMP/$NAME-$VERSION
|
|
tar -xf $SRC/gmp-$GMP_VER.tar.xz -C $TMP/$NAME-$VERSION
|
|
tar -xf $SRC/mpc-$MPC_VER.tar.gz -C $TMP/$NAME-$VERSION
|
|
|
|
{ time \
|
|
{
|
|
|
|
cd $TMP/$NAME-$VERSION
|
|
|
|
mv -v mpfr-$MPFR_VER mpfr
|
|
mv -v gmp-$GMP_VER gmp
|
|
mv -v mpc-$MPC_VER mpc
|
|
|
|
for file in gcc/config/{linux,i386/linux{,64}}.h
|
|
do
|
|
cp -uv $file{,.orig}
|
|
sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
|
|
-e 's@/usr@/tools@g' $file.orig > $file
|
|
echo '
|
|
#undef STANDARD_STARTFILE_PREFIX_1
|
|
#undef STANDARD_STARTFILE_PREFIX_2
|
|
#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"
|
|
#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
|
|
touch $file.orig
|
|
done
|
|
|
|
case $(uname -m) in
|
|
x86_64)
|
|
sed -e '/m64=/s/lib64/lib/' \
|
|
-i.orig gcc/config/i386/t-linux64
|
|
;;
|
|
esac
|
|
|
|
mkdir -v build
|
|
cd build
|
|
|
|
../configure \
|
|
--target=$LFS_TGT \
|
|
--prefix=/tools \
|
|
--with-glibc-version=2.11 \
|
|
--with-sysroot=$LFS \
|
|
--with-newlib \
|
|
--without-headers \
|
|
--with-local-prefix=/tools \
|
|
--with-native-system-header-dir=/tools/include \
|
|
--disable-nls \
|
|
--disable-shared \
|
|
--disable-multilib \
|
|
--disable-decimal-float \
|
|
--disable-threads \
|
|
--disable-libatomic \
|
|
--disable-libgomp \
|
|
--disable-libmpx \
|
|
--disable-libquadmath \
|
|
--disable-libssp \
|
|
--disable-libvtv \
|
|
--disable-libstdcxx \
|
|
--enable-languages=c,c++
|
|
make
|
|
make install
|
|
|
|
}
|
|
} 2>&1 | tee $LOG/$filename.log
|
|
|
|
[ $PIPESTATUS = 0 ] && echo "$NAME-$VERSION" > /tools/$filename || exit $PIPESTATUS
|
|
|
|
rm -fr $TMP
|