wok-undigest annotate cross-arm-gcc/receipt @ rev 756

Add qemacs-video
author Pascal Bellard <pascal.bellard@slitaz.org>
date Thu Jul 12 10:08:31 2012 +0200 (2012-07-12)
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 }