69 lines
1.9 KiB
Plaintext
69 lines
1.9 KiB
Plaintext
version=5.3.0
|
|
source=(\
|
|
http://ftp.gnu.org/gnu/gmp/gmp-6.1.0.tar.xz \
|
|
http://www.mpfr.org/mpfr-current/mpfr-3.1.3.tar.xz \
|
|
http://www.multiprecision.org/mpc/download/mpc-1.0.3.tar.gz \
|
|
http://ftp.gnu.org/gnu/gcc/gcc-$version/gcc-$version.tar.bz2 )
|
|
|
|
derle()
|
|
{
|
|
cd gcc-$version
|
|
|
|
cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \
|
|
`dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/include-fixed/limits.h
|
|
|
|
|
|
for file in \
|
|
$(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.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
|
|
|
|
mv -v ../mpfr-3.1.3 mpfr
|
|
mv -v ../gmp-6.1.0 gmp
|
|
mv -v ../mpc-1.0.3 mpc
|
|
|
|
|
|
mkdir -v build
|
|
cd build
|
|
|
|
CC=$LFS_TGT-gcc \
|
|
CXX=$LFS_TGT-g++ \
|
|
AR=$LFS_TGT-ar \
|
|
RANLIB=$LFS_TGT-ranlib \
|
|
../configure \
|
|
--prefix=/tools \
|
|
--with-local-prefix=/tools \
|
|
--with-native-system-header-dir=/tools/include \
|
|
--enable-languages=c,c++ \
|
|
--disable-libstdcxx-pch \
|
|
--disable-multilib \
|
|
--disable-bootstrap \
|
|
--disable-libgomp
|
|
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
ln -sv gcc /tools/bin/cc
|
|
|
|
echo 'main(){}' > dummy.c
|
|
cc dummy.c
|
|
readelf -l a.out | grep ': /tools'
|
|
|
|
rm -v dummy.c a.out
|
|
mkdir -p $LFS/usr/lib
|
|
ln -sv /tools/lib/libgcc_s.so{,.1} $LFS/usr/lib
|
|
ln -sv /tools/lib/libstdc++.so{,.6} $LFS/usr/lib
|
|
sed 's/tools/usr/' /tools/lib/libstdc++.la > $LFS/usr/lib/libstdc++.la
|
|
}
|