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