aboutsummaryrefslogtreecommitdiffstats
path: root/chapter6/gcc.sh
blob: 7806d3a32598630af83ec01e384483f7145ed408 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash
set -e

mkdir -p isl mpfr gmp mpc
tar -xf ../isl-*.tar.xz  -C isl --strip-components=1
tar -xf ../mpfr-*.tar.xz -C mpfr --strip-components=1
tar -xf ../gmp-*.tar.xz  -C gmp --strip-components=1
tar -xf ../mpc-*.tar.gz  -C mpc --strip-components=1

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 || exit 1

mkdir -pv "${LFS_TGT}"/libgcc &&
ln -s ../../../libgcc/gthr-posix.h "${LFS_TGT}"/libgcc/gthr-default.h &&
../configure \
    --build="$(../config.guess)" \
    --host="${LFS_TGT}" \
    --prefix=/usr \
    CC_FOR_TARGET="${LFS_TGT}"-gcc \
    --with-build-sysroot="${LFS}" \
    --enable-initfini-array \
    --disable-nls \
    --disable-multilib \
    --disable-decimal-float \
    --disable-libatomic \
    --disable-libgomp \
    --disable-libquadmath \
    --disable-libssp \
    --disable-libvtv \
    --disable-libstdcxx \
    --enable-languages=c,c++ &&
make &&
make DESTDIR="${LFS}" -j1 install &&
ln -sv gcc "${LFS}"/usr/bin/cc