wok annotate cross-arm-gcc/receipt @ rev 12710
cross-arm-gcc: improve receipt, use --libexecdir= and --disable-threads
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Fri May 04 15:59:16 2012 +0200 (2012-05-04) |
parents | 6fef0ccec331 |
children | a99a7e9a93a6 |
rev | line source |
---|---|
pankso@12701 | 1 # SliTaz package receipt. |
pankso@12701 | 2 |
pankso@12701 | 3 PACKAGE="cross-arm-gcc" |
pankso@12701 | 4 VERSION="4.6.3" |
pankso@12701 | 5 CATEGORY="system-tools" |
pankso@12701 | 6 SHORT_DESC="Cross compiler for targeting ARM platform." |
pankso@12701 | 7 MAINTAINER="pankso@slitaz.org" |
pankso@12701 | 8 SOURCE="gcc" |
pankso@12701 | 9 WEB_SITE="http://gcc.gnu.org/" |
pankso@12701 | 10 TARBALL="$SOURCE-$VERSION.tar.bz2" |
pankso@12701 | 11 WGET_URL="$GNU_MIRROR/gcc/gcc-$VERSION/$TARBALL" |
pankso@12701 | 12 |
pankso@12710 | 13 DEPENDS="mpc-library elfutils linux-arm-api-headers cross-arm-binutils" |
pankso@12701 | 14 BUILD_DEPENDS="linux-arm-api-headers cross-arm-binutils gmp gmp-dev \ |
pankso@12701 | 15 mpfr mpfr-dev mpc-library elfutils-dev" |
pankso@12701 | 16 |
pankso@12701 | 17 # Cross toolchain variables. |
pankso@12701 | 18 CROSS_TARGET="arm-slitaz-linux-gnueabi" |
pankso@12701 | 19 CROSS_PREFIX="/usr/cross/arm" |
pankso@12701 | 20 CROSS_TRIPLET="--build=$HOST_SYSTEM --host=$HOST_SYSTEM --target=$CROSS_TARGET" |
pankso@12701 | 21 |
pankso@12701 | 22 # CFLAGS and CXXFLAGS must not be set during the building of cross-tools. |
pankso@12701 | 23 unset CFLAGS CXXFLAGS CONFIG_SITE |
pankso@12701 | 24 |
pankso@12701 | 25 # Path to cross tools |
pankso@12701 | 26 export PATH=$PATH:$CROSS_PREFIX/bin |
pankso@12701 | 27 |
pankso@12701 | 28 # Rules to configure and make the package. |
pankso@12701 | 29 compile_rules() |
pankso@12701 | 30 { |
pankso@12701 | 31 cd $src |
pankso@12701 | 32 |
pankso@12701 | 33 # Package cross-arm-toolchain use 'cook --options' when rebuilding |
pankso@12701 | 34 # the full SliTaz ARM cross toolchain. |
pankso@12701 | 35 [ "$2" == "--first-pass" ] && opt=$2 |
pankso@12701 | 36 [ "$3" == "--first-pass" ] && opt=$3 |
pankso@12701 | 37 |
pankso@12701 | 38 mkdir -p ../build && cd ../build |
pankso@12701 | 39 |
pankso@12701 | 40 case $opt in |
pankso@12701 | 41 --first-pass) |
pankso@12701 | 42 # Used by cross-arm-toolchain when rebuilding the full toolchain. |
pankso@12701 | 43 echo "cook: configure GCC for: cross toolchain first pass" |
pankso@12701 | 44 $src/configure \ |
pankso@12701 | 45 --prefix=$CROSS_PREFIX \ |
pankso@12710 | 46 --libexec=$CROSS_PREFIX/lib \ |
pankso@12701 | 47 --disable-shared \ |
pankso@12701 | 48 --disable-threads \ |
pankso@12701 | 49 --without-headers \ |
pankso@12701 | 50 --with-newlib \ |
pankso@12701 | 51 --enable-languages=c \ |
pankso@12701 | 52 $CROSS_TRIPLET && |
pankso@12701 | 53 make all-gcc all-target-libgcc && |
pankso@12701 | 54 make install-gcc install-target-libgcc && |
pankso@12701 | 55 cd ${install}${CROSS_PREFIX}/lib/gcc/$CROSS_TARGET/$VERSION && |
pankso@12701 | 56 #ln -s libgcc.a libgcc_sh.a |
pankso@12701 | 57 ln -s libgcc.a libgcc_eh.a ;; |
pankso@12701 | 58 *) |
pankso@12701 | 59 # Used to produce a full featured ARM GCC cross compiler. |
pankso@12701 | 60 echo "cook: configure GCC for: final/full cross compiler" |
pankso@12710 | 61 |
pankso@12710 | 62 # The cross-arm-toolchain package will install glibc. We can't |
pankso@12710 | 63 # have it in DEPENDS since glibc is not build when we compile |
pankso@12710 | 64 # GCC --first-pass |
pankso@12710 | 65 if [ ! "/var/lib/tazpkg/installed/cross-arm-glibc" ]; then |
pankso@12710 | 66 tazpkg -i /home/slitaz/packages/cross-arm-glibc-2.14.1.tazpkg |
pankso@12710 | 67 fi |
pankso@12710 | 68 |
pankso@12710 | 69 # This will fix GCC final build since we dont use --with-sysroot=. |
pankso@12710 | 70 # Without that we go errors such as: cannot find crtn.o |
pankso@12710 | 71 echo "cook: moving ldscripts to: ${CROSS_PREFIX}/lib" |
pankso@12710 | 72 cd ${CROSS_PREFIX}/$CROSS_TARGET |
pankso@12710 | 73 mv lib/ldscripts ../lib |
pankso@12710 | 74 rm -rf lib |
pankso@12710 | 75 echo "cook: creating symlinks in: ${CROSS_PREFIX}/$CROSS_TARGET" |
pankso@12710 | 76 ln -s ../lib lib |
pankso@12710 | 77 ln -s ../include include |
pankso@12710 | 78 |
pankso@12710 | 79 cd $WOK/$PACKAGE/source/build |
pankso@12701 | 80 $src/configure \ |
pankso@12701 | 81 --prefix=$CROSS_PREFIX \ |
pankso@12710 | 82 --libexec=$CROSS_PREFIX/lib \ |
pankso@12701 | 83 --enable-shared \ |
pankso@12701 | 84 --enable-languages=c,c++ \ |
pankso@12701 | 85 --enable-c99 \ |
pankso@12701 | 86 --enable-long-long \ |
pankso@12701 | 87 --enable-__cxa_atexit \ |
pankso@12710 | 88 --disable-threads \ |
pankso@12701 | 89 $CROSS_TRIPLET && |
pankso@12701 | 90 make && make install ;; |
pankso@12701 | 91 esac |
pankso@12701 | 92 |
pankso@12701 | 93 # Some configure options I have tested (pankso) |
pankso@12710 | 94 #--libexec=$CROSS_PREFIX/lib |
pankso@12701 | 95 #--disable-threads |
pankso@12701 | 96 #--disable-checking |
pankso@12701 | 97 #--disable-shared |
pankso@12701 | 98 #--disable-nls |
pankso@12701 | 99 #--enable-multilib |
pankso@12701 | 100 #--enable-addons |
pankso@12701 | 101 #--enable-softfloat |
pankso@12701 | 102 #--with-float=soft |
pankso@12701 | 103 #--disable-decimal-float |
pankso@12701 | 104 #--enable-interwork |
pankso@12701 | 105 #--disable-libgomp |
pankso@12701 | 106 #--disable-libmudflap |
pankso@12701 | 107 #--disable-libssp |
pankso@12701 | 108 } |
pankso@12701 | 109 |
pankso@12701 | 110 # Rules to gen a SliTaz package suitable for Tazpkg. |
pankso@12701 | 111 genpkg_rules() |
pankso@12701 | 112 { |
pankso@12701 | 113 mkdir -p $fs/usr |
pankso@12701 | 114 cp -a $install/usr/cross $fs/usr |
pankso@12701 | 115 rm -rf ${fs}${CROSS_PREFIX}/share |
pankso@12701 | 116 } |