wok-next annotate gcc/receipt @ rev 19835
Up: antinat, aubio, dialog, exa, gcc, lapack, musl-libc, nss, rust, svgcleaner, zip. Remove blas (part of lapack now), remove dialog desktop file.
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Fri Aug 11 04:54:37 2017 +0300 (2017-08-11) |
parents | 2f3aba6cc31e |
children | b21fe9fb3791 |
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@19835 | 16 SPLIT="gcc-lib-base gcc-lib-math libgfortran gfortran libgomp libobjc gcc" |
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 |
al@19835 | 96 |
al@19835 | 97 # Remove build directory. |
al@19835 | 98 rm -rf $WOK/$PACKAGE/source/$PACKAGE-build |
al@19835 | 99 rm -rf $WOK/$PACKAGE/$PACKAGE-build |
pankso@9 | 100 } |
pankso@9 | 101 |
pankso@9 | 102 # Rules to gen a SliTaz package suitable for Tazpkg. |
pankso@9 | 103 genpkg_rules() |
pankso@9 | 104 { |
al@19743 | 105 case $PACKAGE in |
al@19743 | 106 gcc-lib-base) |
al@19743 | 107 copy libgcc_s.so* libstdc++.so* |
al@19743 | 108 rm $fs/usr/lib/*.py |
al@19743 | 109 CAT="development|base libraries" |
al@19835 | 110 DEPENDS="glibc-base" |
al@19743 | 111 ;; |
al@19743 | 112 gcc-lib-math) |
al@19743 | 113 copy libquadmath.so* |
al@19743 | 114 CAT="development|math libraries" |
al@19835 | 115 DEPENDS="glibc-base" |
al@19743 | 116 ;; |
al@19743 | 117 libgfortran) |
al@19743 | 118 copy libgfortran.so* |
al@19743 | 119 CAT="libdevel|fortran runtime" |
al@19835 | 120 DEPENDS="gcc-lib-base gcc-lib-math glibc-base" |
al@19835 | 121 ;; |
al@19835 | 122 gfortran) |
al@19835 | 123 copy *gfortran libgfortran.* f951 finclude/ |
al@19835 | 124 remove_already_packed |
al@19835 | 125 CAT="development|fortran extension" |
al@19835 | 126 TAGS="compiler fortran" |
al@19835 | 127 DEPENDS="libgfortran gcc glibc-base gmp mpc-library mpfr zlib" |
al@19743 | 128 ;; |
al@19743 | 129 libgomp) |
al@19743 | 130 copy libgomp.so* |
al@19743 | 131 CAT="development|API specification for parallel programming" |
al@19835 | 132 DEPENDS="glibc-base" |
al@19743 | 133 ;; |
al@19743 | 134 libobjc) |
al@19743 | 135 copy libobjc.so* |
al@19765 | 136 CAT="libdevel|API for gcc object" |
al@19835 | 137 DEPENDS="gcc-lib-base glibc-base" |
al@19835 | 138 ;; |
al@19835 | 139 gcc) |
al@19835 | 140 copy bin/ lib/ include/ *.py |
al@19835 | 141 remove_already_packed |
al@19835 | 142 DEPENDS="gcc-lib-base libgomp libobjc \ |
al@19835 | 143 glibc-base gmp mpc-library mpfr zlib binutils elfutils" |
al@19835 | 144 SUGGESTED="python" |
al@19835 | 145 TAGS="compiler C" |
al@19743 | 146 ;; |
al@19743 | 147 esac |
pankso@9 | 148 } |
pankso@9 | 149 |
pankso@9 | 150 # Post install commands for Tazpkg. |
al@19743 | 151 post_install_gcc() |
pankso@9 | 152 { |
al@19743 | 153 [ -f "$1/lib/cpp" ] || ln -s ../usr/bin/cpp "$1/lib" |
al@19743 | 154 [ -f "$1/usr/bin/cc" ] || ln -s gcc "$1/usr/bin/cc" |
pankso@9 | 155 } |