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 }