wok-current annotate slitaz-toolchain/receipt @ rev 18144
Up: slitaz-base-files (275)
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Thu Jun 18 02:57:32 2015 +0300 (2015-06-18) |
parents | a7297503ad9b |
children | 9b7c1ea86466 |
rev | line source |
---|---|
pankso@16 | 1 # SliTaz package receipt. |
pankso@16 | 2 |
pankso@16 | 3 PACKAGE="slitaz-toolchain" |
pankso@12272 | 4 VERSION="5.0" |
pankso@211 | 5 CATEGORY="meta" |
pankso@9717 | 6 SHORT_DESC="SliTaz meta package to rebuild or install current toolchain." |
pankso@16 | 7 MAINTAINER="pankso@slitaz.org" |
pascal@15593 | 8 LICENSE="GPL2" |
pankso@9717 | 9 WEB_SITE="http://www.slitaz.org/" |
pankso@9717 | 10 |
pascal@9485 | 11 DEPENDS="binutils linux-api-headers glibc-dev gcc make elfkickers" |
pankso@9717 | 12 |
pankso@9717 | 13 # The goal here is to build and install SliTaz toolchain. We build the toolchain |
pankso@9717 | 14 # from SliTaz packages, on SliTaz and for SliTaz so in case of new and important |
pankso@9717 | 15 # toolchain upgrade we must build Binutils a first time, then GCC so it use the |
pankso@9717 | 16 # new Binutils. After we cook Glibc and then rebuild Binutils + GCC a second |
pankso@9717 | 17 # time so they are linked with the new main GNU libc. We usually also due a |
pankso@9717 | 18 # bootstrap by recooking slitaz-toolchain a second time so we are sure it can |
pankso@9717 | 19 # rebuild itself. |
pankso@9717 | 20 # |
pankso@9717 | 21 # SliTaz does one big toolchain by year just after the stable release, any change |
pankso@9717 | 22 # here or in the toolchain packages version must be discuss on the mailing list. |
pankso@9717 | 23 |
pankso@9717 | 24 # Rules to configure and make the package. |
pankso@9717 | 25 compile_rules() |
pankso@9717 | 26 { |
gokhlayeh@11391 | 27 [ -x /usr/bin/cook ] || return 0 |
pankso@9717 | 28 tmplog=$LOGS/$PACKAGE.tmplog |
pankso@9717 | 29 echo "Cook: $PACKAGE $VERSION" > $tmplog |
pankso@9717 | 30 separator >> $tmplog |
pankso@10035 | 31 cat >> $tmplog << EOT |
pankso@10097 | 32 Cook toolchain : started $(date "+%Y-%m-%d %H:%M") |
pankso@10097 | 33 Architecture : $ARCH |
pankso@10097 | 34 Build system : $BUILD_SYSTEM |
pankso@10097 | 35 Host system : $HOST_SYSTEM |
pankso@10035 | 36 EOT |
pankso@9717 | 37 |
pankso@9717 | 38 # 1. binutils (first pass) |
pankso@9717 | 39 echo "cook: binutils first pass: $(date '+%Y-%m-%d %H:%M')" >> $tmplog |
pankso@9717 | 40 cook binutils --install |
pankso@9717 | 41 |
pankso@9717 | 42 # 2. gcc (first pass) |
pankso@9717 | 43 echo "cook: GCC first pass: $(date '+%Y-%m-%d %H:%M')" >> $tmplog |
pankso@9717 | 44 cook gcc --install --first-pass |
pankso@9783 | 45 cook gcc-lib-base --install |
pankso@9717 | 46 |
pankso@9717 | 47 # 3. linux-api-headers |
pankso@9717 | 48 echo "cook: linux API headers: $(date '+%Y-%m-%d %H:%M')" >> $tmplog |
pankso@9717 | 49 cook linux-api-headers --install |
pankso@9717 | 50 |
pankso@9717 | 51 # 4. glibc |
pankso@9717 | 52 for i in glibc glibc-base glibc-extra-samba glibc-locale glibc-dev |
pankso@9717 | 53 do |
pankso@9717 | 54 echo "cook: $i: $(date '+%Y-%m-%d %H:%M')" >> $tmplog |
pankso@9717 | 55 cook $i --install |
pankso@9717 | 56 done |
pankso@9717 | 57 |
pankso@9717 | 58 # 5. binutils (final) |
pankso@9717 | 59 echo "cook: binutils final: $(date '+%Y-%m-%d %H:%M')" >> $tmplog |
pankso@9717 | 60 cook binutils --install |
pankso@9717 | 61 |
pankso@9717 | 62 # 6. gcc (final) |
pankso@9717 | 63 echo "cook: GCC final: $(date '+%Y-%m-%d %H:%M')" >> $tmplog |
pankso@10271 | 64 for i in gcc gcc-lib-base libobjc libgomp |
pankso@10036 | 65 do |
pankso@10036 | 66 echo "cook: $i: $(date '+%Y-%m-%d %H:%M')" >> $tmplog |
pankso@10036 | 67 cook $i --install |
pankso@10036 | 68 done |
pankso@10036 | 69 cook libgfortran |
pankso@10036 | 70 cook gfortran |
pankso@10097 | 71 separator >> $tmplog |
pankso@10097 | 72 |
pankso@10097 | 73 # GCC info in toolchain.log |
pankso@10097 | 74 echo -e "\nGCC compiler information" >> $tmplog |
pankso@10097 | 75 separator >> $tmplog |
pankso@10116 | 76 gcc -v 2>> $tmplog |
pankso@9717 | 77 |
pankso@9717 | 78 # All packages cooked got ther own log so we dont keep them. |
pankso@9717 | 79 separator >> $tmplog && echo "" >> $tmplog |
pankso@9717 | 80 mv -f $tmplog $LOGS/$PACKAGE.log |
pankso@9717 | 81 } |
pankso@16 | 82 |
pankso@16 | 83 # Rules to gen a SliTaz package suitable for Tazpkg. |
pankso@16 | 84 genpkg_rules() |
pankso@16 | 85 { |
pankso@9717 | 86 binutils=$(grep ^VERSION $WOK/binutils/receipt | cut -d '"' -f 2) |
pankso@9717 | 87 linux=$(grep ^VERSION $WOK/linux/receipt | cut -d '"' -f 2) |
pankso@10097 | 88 gcc=$(grep ^VERSION $WOK/gcc/receipt | cut -d '"' -f 2) |
pankso@10097 | 89 glibc=$(grep ^VERSION $WOK/glibc/receipt | cut -d '"' -f 2) |
pankso@9717 | 90 |
pankso@9718 | 91 mkdir -p $fs/usr/share/doc/slitaz |
pankso@9718 | 92 cat > $fs/usr/share/doc/slitaz/toolchain.txt << EOT |
pankso@9717 | 93 SliTaz GNU/Linux toolchain |
pankso@9717 | 94 ================================================================================ |
pankso@10036 | 95 |
pankso@10035 | 96 Build date : $(date "+%Y-%m-%d") |
pankso@10097 | 97 Architecture : $ARCH |
pankso@10035 | 98 Build system : $BUILD_SYSTEM |
pankso@10035 | 99 Host system : $HOST_SYSTEM |
pankso@10035 | 100 |
pankso@9717 | 101 Packages: |
pankso@9717 | 102 |
pankso@9717 | 103 * Binutils $binutils |
pankso@9717 | 104 * Linux API headers $linux |
pankso@9717 | 105 * GCC $gcc |
pankso@9717 | 106 * Glibc $glibc |
pankso@9717 | 107 |
pankso@10097 | 108 Toolchain documentation: http://doc.slitaz.org/en:cookbook:toolchain |
pankso@10036 | 109 |
pankso@9717 | 110 ================================================================================ |
pankso@9717 | 111 |
pankso@9717 | 112 EOT |
pankso@16 | 113 } |