wok-next rev 12701
Add: cross-arm-gcc (ARM cross compiler) Build will fail with cooker since it must be build with --first-pass the first time :-) A cross-arm-toolchain meta packge will follow
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Thu May 03 16:25:12 2012 +0200 (2012-05-03) |
parents | 653777f375bf |
children | cf41f89ddb40 |
files | cross-arm-gcc/receipt |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/cross-arm-gcc/receipt Thu May 03 16:25:12 2012 +0200 1.3 @@ -0,0 +1,100 @@ 1.4 +# SliTaz package receipt. 1.5 + 1.6 +PACKAGE="cross-arm-gcc" 1.7 +VERSION="4.6.3" 1.8 +CATEGORY="system-tools" 1.9 +SHORT_DESC="Cross compiler for targeting ARM platform." 1.10 +MAINTAINER="pankso@slitaz.org" 1.11 +SOURCE="gcc" 1.12 +WEB_SITE="http://gcc.gnu.org/" 1.13 +TARBALL="$SOURCE-$VERSION.tar.bz2" 1.14 +WGET_URL="$GNU_MIRROR/gcc/gcc-$VERSION/$TARBALL" 1.15 + 1.16 +DEPENDS="mpc-library elfutils linux-arm-api-headers cross-arm-binutils \ 1.17 +cross-arm-glibc" 1.18 +BUILD_DEPENDS="linux-arm-api-headers cross-arm-binutils gmp gmp-dev \ 1.19 +mpfr mpfr-dev mpc-library elfutils-dev" 1.20 + 1.21 +# Cross toolchain variables. 1.22 +CROSS_TARGET="arm-slitaz-linux-gnueabi" 1.23 +CROSS_PREFIX="/usr/cross/arm" 1.24 +CROSS_TRIPLET="--build=$HOST_SYSTEM --host=$HOST_SYSTEM --target=$CROSS_TARGET" 1.25 + 1.26 +# CFLAGS and CXXFLAGS must not be set during the building of cross-tools. 1.27 +unset CFLAGS CXXFLAGS CONFIG_SITE 1.28 + 1.29 +# Path to cross tools 1.30 +export PATH=$PATH:$CROSS_PREFIX/bin 1.31 + 1.32 +# Rules to configure and make the package. 1.33 +compile_rules() 1.34 +{ 1.35 + cd $src 1.36 + 1.37 + # Package cross-arm-toolchain use 'cook --options' when rebuilding 1.38 + # the full SliTaz ARM cross toolchain. 1.39 + [ "$2" == "--first-pass" ] && opt=$2 1.40 + [ "$3" == "--first-pass" ] && opt=$3 1.41 + 1.42 + mkdir -p ../build && cd ../build 1.43 + 1.44 + case $opt in 1.45 + --first-pass) 1.46 + # Used by cross-arm-toolchain when rebuilding the full toolchain. 1.47 + echo "cook: configure GCC for: cross toolchain first pass" 1.48 + $src/configure \ 1.49 + --prefix=$CROSS_PREFIX \ 1.50 + --disable-shared \ 1.51 + --disable-threads \ 1.52 + --without-headers \ 1.53 + --with-newlib \ 1.54 + --enable-languages=c \ 1.55 + $CROSS_TRIPLET && 1.56 + make all-gcc all-target-libgcc && 1.57 + make install-gcc install-target-libgcc && 1.58 + cd ${install}${CROSS_PREFIX}/lib/gcc/$CROSS_TARGET/$VERSION && 1.59 + #ln -s libgcc.a libgcc_sh.a 1.60 + ln -s libgcc.a libgcc_eh.a ;; 1.61 + *) 1.62 + # Used to produce a full featured ARM GCC cross compiler. 1.63 + echo "cook: configure GCC for: final/full cross compiler" 1.64 + # cross-arm-toolchain package will install glibc 1.65 + #tazpkg -i /home/slitaz/packages/cross-arm-glibc-2.14.1.tazpkg 1.66 + $src/configure \ 1.67 + --prefix=$CROSS_PREFIX \ 1.68 + --enable-shared \ 1.69 + --enable-languages=c,c++ \ 1.70 + --enable-c99 \ 1.71 + --enable-long-long \ 1.72 + --enable-__cxa_atexit \ 1.73 + $CROSS_TRIPLET && 1.74 + make && make install ;; 1.75 + esac 1.76 + 1.77 + # Some configure options I have tested (pankso) 1.78 + #--libexec=/usr/lib 1.79 + #--disable-threads 1.80 + #--disable-checking 1.81 + #--disable-shared 1.82 + #--disable-nls 1.83 + #--with-as=/usr/bin/${CROSS_TARGET}-as 1.84 + #--with-ld=/usr/bin/${CROSS_TARGET}-ld 1.85 + #--enable-languages=c,c++ 1.86 + #--enable-multilib 1.87 + #--enable-addons 1.88 + #--enable-softfloat 1.89 + #--with-float=soft 1.90 + #--disable-decimal-float 1.91 + #--enable-interwork 1.92 + #--disable-libgomp 1.93 + #--disable-libmudflap 1.94 + #--disable-libssp 1.95 +} 1.96 + 1.97 +# Rules to gen a SliTaz package suitable for Tazpkg. 1.98 +genpkg_rules() 1.99 +{ 1.100 + mkdir -p $fs/usr 1.101 + cp -a $install/usr/cross $fs/usr 1.102 + rm -rf ${fs}${CROSS_PREFIX}/share 1.103 +}