# hdw - linux toolchain gcc package # # author: hackbard@hackdaworld.dyndns.org # # [V] 3.3.4 # [S] 0-1 0-4 # [D] gcc-3.3.4.tar.bz2 ftp://ftp.fu-berlin.de/unix/gnu/gcc/gcc-3.3.4/ extraver="-$ver" [ "$ver" = "cvs" ] && extraver="" confopt="$confopt --enable-shared --with-local-prefix=$prefix" confopt="$confopt --libexecdir=$prefix/lib" unset CFLAGS if [ "$priority" = "1" ] ; then confopt=${confopt//--host* /--host=$hdw_arch_build } confopt="$confopt --enable-languages=c --disable-nls" # use host system gcc tools export CC="gcc" export CXX="c++" make_conf="BOOT_LDFLAGS=\"-static\" bootstrap" post_install() { ln -sf gcc $prefix/bin/cc } fi if [ "$priority" = "4" ] ; then confopt="$confopt --enable-clocale=gnu --enable-threads=posix" confopt="$confopt --enable-__cxa_atexit --enable-languages=c,c++" confopt="$confopt --disable-libstdcxx-pch" make_conf="" pre_install() { echo "patching gcc specs now" for i in gcc/config/*/{pa-,}linux*.h; do echo "patching $i ..." mv $i $i.orig sed "s%-dynamic-linker /lib%-dynamic-linker $prefix/lib%g" \ $i.orig > $i done # patch sysv4 entries for i in gcc/config/*/sysv4.h; do echo "patching $i ..." mv $i $i.orig sed "s%-dynamic-linker /lib%-dynamic-linker $prefix/lib%g" \ $i.orig > $i done # sparc specific for i in gcc/config/sparc/linux*.h; do echo "patching $i ..." mv $i $i.orig sed "s%/usr/lib%$prefix/lib%g" $i.orig > $i done # general linux.h echo "patching gcc/config/linux.h ..." echo "#undef STANDARD_INCLUDE_DIR" >> gcc/config/linux.h echo "#define STANDARD_INCLUDE_DIR 0" >> gcc/config/linux.h # no fix includes [ -f $hdw_home_dir/packages/base/gcc/no_fix_includes.patch ] && \ patch -Nfp1 < $hdw_home_dir/packages/base/gcc/no_fix_includes.patch } fi build_main() { mkdir -p ../gcc-build && cd ../gcc-build ../gcc${extraver}/configure $confopt && make $make_conf && make install }