cookutils rev 359
cook: Handle cross compilation
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Wed May 09 18:25:13 2012 +0200 (2012-05-09) |
parents | ff8ec325d545 |
children | c75f13234af0 |
files | cook |
line diff
1.1 --- a/cook Thu Apr 26 13:34:41 2012 +0200 1.2 +++ b/cook Wed May 09 18:25:13 2012 +0200 1.3 @@ -312,6 +312,7 @@ 1.4 Files : $files 1.5 Cook time : ${sec}s $min 1.6 Cook date : $cookdate 1.7 +Arch type : $ARCH 1.8 $(separator) 1.9 EOT 1.10 } 1.11 @@ -440,6 +441,17 @@ 1.12 echo "Cook: $PACKAGE $VERSION" 1.13 separator 1.14 set_paths 1.15 + 1.16 + # Handle cross compilation 1.17 + case "$ARCH" in 1.18 + arm|x86_64) 1.19 + echo "cook: adding /usr/cross/$ARCH/bin to PATH" 1.20 + export PATH=$PATH:/usr/cross/$ARCH/bin 1.21 + echo "cook: using C compiler $HOST_SYSTEM-gcc" 1.22 + export CC=${HOST_SYSTEM}-gcc 1.23 + export CXX=${HOST_SYSTEM}-g++ ;; 1.24 + esac 1.25 + 1.26 [ "$QA" ] && receipt_quality 1.27 cd $pkgdir 1.28 rm -rf install taz source 1.29 @@ -622,8 +634,15 @@ 1.30 # but it doesn't handle EXTRAVERSION. 1.31 packit() { 1.32 set_paths 1.33 + 1.34 + # Handle cross compilation 1.35 + case "$ARCH" in 1.36 + arm|x86_64) VERSION="$VERSION-$ARCH" ;; 1.37 + esac 1.38 + 1.39 echo "Pack: $PACKAGE $VERSION" 1.40 separator 1.41 + 1.42 if grep -q ^genpkg_rules $receipt; then 1.43 gettext -e "Executing: genpkg_rules\n" 1.44 set -e && cd $pkgdir && mkdir -p $fs 1.45 @@ -878,11 +897,6 @@ 1.46 for pkg in $(mkinstall_list $SETUP_PKGS); do 1.47 tazpkg get-install $pkg --forced 1.48 done ;; 1.49 - *\ --arm\ *) 1.50 - hg clone $WOK_URL wok || exit 1 1.51 - sed -i s'/ARCH=.*/ARCH="arm"/' /etc/slitaz/cook.conf 1.52 - sed -i s'/BUILD_SYSTEM=.*/BUILD_SYSTEM=i486-slitaz-linux/' \ 1.53 - /etc/slitaz/cook.conf ;; 1.54 *) 1.55 for pkg in $SETUP_PKGS 1.56 do 1.57 @@ -911,6 +925,22 @@ 1.58 find $SLITAZ -maxdepth 2 -exec chmod g+w {} \; 1.59 separator 1.60 gettext -e "All done, ready to cook packages :-)\n\n" ;; 1.61 + arm-setup) 1.62 + # Setup fro cross ARM compiling. 1.63 + sed -i \ 1.64 + -e s'/ARCH=.*/ARCH="arm"/' \ 1.65 + -e s'/CFLAGS=.*/CFLAGS=""/' \ 1.66 + -e s'/BUILD_SYSTEM=.*/BUILD_SYSTEM=i486-slitaz-linux/' \ 1.67 + -e s'/HOST_SYSTEM=.*/HOST_SYSTEM=$ARCH-slitaz-linux-gnueabi/' \ 1.68 + /etc/slitaz/cook.conf 1.69 + . /etc/slitaz/cook.conf 1.70 + echo "Target arch : $ARCH" 1.71 + echo "Configure args: $CONFIGURE_ARGS" 1.72 + if [ -x /usr/cross/$ARCH/bin/${HOST_SYSTEM}-gcc ]; then 1.73 + echo "Cross compiler: ${HOST_SYSTEM}-gcc" 1.74 + else 1.75 + echo "ERROR: C compiler is missing: ${HOST_SYSTEM}-gcc" 1.76 + fi ;; 1.77 test) 1.78 # Test a cook environment. 1.79 echo "Cook test: testing the cook environment" | log