123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #!/bin/bash
- set +h
- source "$basedir/build-helpers.sh"
- # In case some commands aren't available on host OS,
- # build and install along with GCC.
- add_dependency() {
- local pkgname="$1"
- local pkgversion="$2"
- local ext="$3"
- pkgsrc="$basedir"/"$pkgname"-"$pkgversion"."$ext"
- [[ -e "$pkgsrc" ]] || {
- >&2 echo $pkgsrc not found.
- exit 1
- }
- tar xvf "$pkgsrc" && mv -v "$pkgname"-"$pkgversion" "$pkgname"
- }
- dependencies_commands() {
- cd "$srcdir"
- for p in \
- "mpfr 3.1.3 tar.xz" \
- "mpc 1.0.3 tar.gz"; do
- add_dependency $p &
- done
- local pkgname="gmp"
- local pkgversion="6.0.0"
- local ext="tar.xz"
- pkgsrc="$basedir"/"$pkgname"-"$pkgversion"a."$ext"
- [[ -e "$pkgsrc" ]] || {
- >&2 echo $pkgsrc not found.
- exit 1
- }
- tar xvf "$pkgsrc" && mv -v "$pkgname"-"$pkgversion" "$pkgname"
- wait
- }
- fixup_commands() {
- cd "$srcdir"
- for f in \
- $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
- do
- cp -uv "$f"{,.orig}
- sed -e 's|/lib\(64\)\?\(32\)\?/ld|/tools&|g' \
- -e 's|/usr|/tools|g' \
- "$f".orig > "$f"
- cat >> "$f" << EOF
- #undef STANDARD_STARTFILE_PREFIX_1
- #undef STANDARD_STARTFILE_PREFIX_2
- #define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"
- #define STANDARD_STARTFILE_PREFIX_2 ""
- EOF
- touch "$f".orig
- done
- }
- configure_commands() {
- cd "$builddir"
- "$srcdir"/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-libquadmath \
- --disable-libssp \
- --disable-libvtv \
- --disable-libstdcxx \
- --enable-languages=c,c++
- }
|