wok-next annotate gcc/receipt @ rev 19743
Remake/fix: alsa-lib, alsaplayer; update base (LFS) packages: bash, binutils, bison, bzip2, diffutils, file, findutils, gawk, gcc, gettext, glibc, gmp, m4, mpc-library, mpfr, ncurses, patch, xz; update: tazpkg, cookutils, svgcleaner.
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Tue Jun 06 17:37:54 2017 +0300 (2017-06-06) |
parents | 10e3347b5a0d |
children | 4a77163a85ba |
rev | line source |
---|---|
al@19743 | 1 # SliTaz package receipt v2. |
pankso@9 | 2 |
pankso@9 | 3 PACKAGE="gcc" |
al@19743 | 4 VERSION="6.3.0" |
pankso@204 | 5 CATEGORY="development" |
al@19743 | 6 SHORT_DESC="The GNU Compiler Collection" |
pankso@9 | 7 MAINTAINER="pankso@slitaz.org" |
pascal@15000 | 8 LICENSE="GPL2" |
al@19561 | 9 WEB_SITE="http://gcc.gnu.org/" |
al@19743 | 10 #HOST_ARCH="i486 arm" |
al@19743 | 11 |
pankso@9 | 12 TARBALL="$PACKAGE-$VERSION.tar.bz2" |
pankso@5269 | 13 WGET_URL="ftp://gcc.gnu.org/pub/gcc/releases/gcc-$VERSION/$TARBALL" |
pankso@9 | 14 |
al@19570 | 15 BUILD_DEPENDS="mpc-library-dev mpfr-dev gmp-dev elfutils-dev zlib-dev" |
al@19743 | 16 SPLIT="gcc-lib-base gcc-lib-math gfortran libgfortran libgomp libobjc" |
pankso@9704 | 17 |
pankso@16319 | 18 # Handle cross compilation (native i486/ARM gcc) |
pankso@16319 | 19 case "$ARCH" in |
pankso@16319 | 20 i?86) |
pankso@16319 | 21 ARCH_ARGS="--with-tune=$ARCH" |
pankso@16319 | 22 pkgversion="SliTaz" |
pankso@16319 | 23 languages="c,c++,objc,fortran" ;; |
pankso@16319 | 24 arm*) |
pankso@16319 | 25 pkgversion="SliTaz ARM" |
pankso@16319 | 26 languages="c,c++" ;; |
pankso@16319 | 27 esac |
gokhlayeh@8181 | 28 |
pankso@9 | 29 # Rules to configure and make the package. |
pankso@9 | 30 compile_rules() |
pankso@9 | 31 { |
pankso@9704 | 32 # Package slitaz-toolchain use 'cook --options' when rebuilding |
pankso@9707 | 33 # the full SliTaz toolchain. |
pankso@9707 | 34 [ "$2" == "--first-pass" ] && opt=$2 |
pankso@9704 | 35 [ "$3" == "--first-pass" ] && opt=$3 |
pankso@12541 | 36 |
pankso@3185 | 37 # Use libiberty.a from binutils. |
pankso@12267 | 38 sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in || return 1 |
pankso@12541 | 39 |
pankso@16319 | 40 case "$ARCH" in |
pankso@16319 | 41 i?86) sed -i 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in ;; |
pankso@12267 | 42 esac |
pankso@12541 | 43 |
pankso@12267 | 44 #sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in |
pankso@12541 | 45 |
pankso@9704 | 46 mkdir -p ../gcc-build && cd ../gcc-build |
pankso@10036 | 47 |
pankso@10036 | 48 # This is the default GCC and we want a native build to cross compile after. |
pankso@10036 | 49 # SliTaz target i486 host so we need a native i486 build for GCC. |
pankso@9704 | 50 case "$opt" in |
pankso@9704 | 51 --first-pass) |
pankso@9704 | 52 # Used by slitaz-toolchain when rebuilding the full toolchain. |
pankso@9704 | 53 echo "cook: configure GCC for: toolchain first pass" |
pankso@10012 | 54 $src/configure \ |
pankso@10012 | 55 --libexecdir=/usr/lib \ |
pankso@10012 | 56 --disable-nls \ |
pankso@10012 | 57 --enable-shared \ |
pankso@10030 | 58 --enable-languages=c,c++ \ |
pankso@10012 | 59 --disable-libstdcxx-pch \ |
pankso@10012 | 60 --enable-__cxa_atexit \ |
pankso@10012 | 61 --enable-clocale=gnu \ |
pankso@10012 | 62 --enable-threads=posix \ |
pankso@10036 | 63 --disable-bootstrap \ |
al@19743 | 64 ${CONFIGURE_ARGS} |
al@19743 | 65 ;; |
pankso@9704 | 66 *) |
pankso@10036 | 67 # Used by default to produce a full featured X86 GCC compiler. |
pankso@9704 | 68 echo "cook: configure GCC for: final/full build" |
pankso@10012 | 69 $src/configure \ |
pankso@10012 | 70 --libexecdir=/usr/lib \ |
pankso@10012 | 71 --enable-nls \ |
pankso@16319 | 72 --enable-languages=${languages} \ |
pankso@10012 | 73 --enable-shared \ |
pankso@10012 | 74 --with-system-zlib \ |
pankso@10012 | 75 --enable-clocale=gnu \ |
pankso@10012 | 76 --enable-objc-gc \ |
pankso@10012 | 77 --enable-__cxa_atexit \ |
pankso@10012 | 78 --enable-lto \ |
pankso@10012 | 79 --enable-threads=posix \ |
pankso@10036 | 80 --disable-bootstrap \ |
pankso@16319 | 81 --with-pkgversion="$pkgversion" \ |
al@19743 | 82 ${CONFIGURE_ARGS} ${ARCH_ARGS} |
al@19743 | 83 ;; |
al@19743 | 84 esac && |
al@19743 | 85 make && make install |
al@19743 | 86 |
al@19743 | 87 # ARM packages use another libs... |
al@19743 | 88 case "$ARCH" in |
al@19743 | 89 arm) |
al@19743 | 90 libdir="$CROSS_TREE/tools/arm-slitaz-linux-gnueabi/lib" |
al@19743 | 91 cp -af $libdir/libgcc_s.so* $install/usr/lib # for gcc-lib-base |
al@19743 | 92 cp -af $libdir/libstdc++.so* $install/usr/lib |
al@19743 | 93 cp -af $libdir/libquadmath.so* $install/usr/lib # for gcc-lib-math |
al@19743 | 94 ;; |
pankso@9704 | 95 esac |
pankso@9 | 96 } |
pankso@9 | 97 |
pankso@9 | 98 # Rules to gen a SliTaz package suitable for Tazpkg. |
pankso@9 | 99 genpkg_rules() |
pankso@9 | 100 { |
al@19743 | 101 case $PACKAGE in |
al@19743 | 102 gcc) |
al@19743 | 103 copy bin/ lib/ include/ |
al@19743 | 104 rm -f \ |
al@19743 | 105 $fs/usr/lib/libgcc_s.so* \ |
al@19743 | 106 $fs/usr/lib/libstdc++.so* \ |
al@19743 | 107 $fs/usr/lib/libquadmath.so* \ |
al@19743 | 108 $fs/usr/lib/libgfortran.* \ |
al@19743 | 109 $fs/usr/lib/libgomp.so* \ |
al@19743 | 110 $fs/usr/lib/libobjc.so* |
al@19743 | 111 $fs/usr/bin/*gfortran \ |
al@19743 | 112 $fs/usr/lib/gcc/$HOST_SYSTEM/$VERSION/f951 |
al@19743 | 113 rm -rf \ |
al@19743 | 114 $fs/usr/lib/gcc/$HOST_SYSTEM/$VERSION/finclude |
pankso@12541 | 115 |
al@19743 | 116 # Remove build directory. |
al@19743 | 117 rm -rf $WOK/$PACKAGE/source/$PACKAGE-build |
al@19743 | 118 rm -rf $WOK/$PACKAGE/$PACKAGE-build |
al@19743 | 119 DEPENDS="binutils libgomp libobjc gcc-lib-base mpc-library elfutils" |
al@19743 | 120 TAGS="compiler C" |
al@19743 | 121 ;; |
al@19743 | 122 gcc-lib-base) |
al@19743 | 123 copy libgcc_s.so* libstdc++.so* |
al@19743 | 124 rm $fs/usr/lib/*.py |
al@19743 | 125 CAT="development|base libraries" |
al@19743 | 126 ;; |
al@19743 | 127 gcc-lib-math) |
al@19743 | 128 copy libquadmath.so* |
al@19743 | 129 CAT="development|math libraries" |
al@19743 | 130 ;; |
al@19743 | 131 gfortran) |
al@19743 | 132 copy *gfortran libgfortran.* f951 finclude/ |
al@19743 | 133 rm $fs/usr/lib/libgfortran.so* |
al@19743 | 134 CAT="development|fortran extension" |
al@19743 | 135 TAGS="compiler fortran" |
al@19743 | 136 DEPENDS="gcc libgfortran" |
al@19743 | 137 ;; |
al@19743 | 138 libgfortran) |
al@19743 | 139 copy libgfortran.so* |
al@19743 | 140 CAT="libdevel|fortran runtime" |
al@19743 | 141 ;; |
al@19743 | 142 libgomp) |
al@19743 | 143 copy libgomp.so* |
al@19743 | 144 CAT="development|API specification for parallel programming" |
al@19743 | 145 ;; |
al@19743 | 146 libobjc) |
al@19743 | 147 copy libobjc.so* |
al@19743 | 148 CATEGORY="libdevel|API for gcc object" |
al@19743 | 149 DEPENDS="gcc-lib-base" |
al@19743 | 150 ;; |
al@19743 | 151 esac |
pankso@9 | 152 } |
pankso@9 | 153 |
pankso@9 | 154 # Post install commands for Tazpkg. |
al@19743 | 155 post_install_gcc() |
pankso@9 | 156 { |
al@19743 | 157 [ -f "$1/lib/cpp" ] || ln -s ../usr/bin/cpp "$1/lib" |
al@19743 | 158 [ -f "$1/usr/bin/cc" ] || ln -s gcc "$1/usr/bin/cc" |
pankso@9 | 159 } |