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 }