wok-next annotate gcc/receipt @ rev 20996

Move fonts-liberation*
author Aleksej Bobylev <al.bobylev@gmail.com>
date Thu Oct 04 16:01:47 2018 +0300 (2018-10-04)
parents 90a5eb560fd6
children d5aab818505e
rev   line source
al@19743 1 # SliTaz package receipt v2.
pankso@9 2
al@20436 3 # Note, currently first pass is broken. Sorry.
pankso@9 4 PACKAGE="gcc"
al@20436 5 VERSION="7.3.0"
pankso@204 6 CATEGORY="development"
al@19743 7 SHORT_DESC="The GNU Compiler Collection"
pankso@9 8 MAINTAINER="pankso@slitaz.org"
pascal@15000 9 LICENSE="GPL2"
al@19561 10 WEB_SITE="http://gcc.gnu.org/"
al@20436 11 LFS="http://www.linuxfromscratch.org/lfs/view/stable/chapter06/gcc.html"
al@19743 12
al@20436 13 TARBALL="$PACKAGE-$VERSION.tar.xz"
al@20436 14 WGET_URL="http://ftp.gnu.org/gnu/gcc/gcc-$VERSION/$TARBALL"
pankso@9 15
al@19570 16 BUILD_DEPENDS="mpc-library-dev mpfr-dev gmp-dev elfutils-dev zlib-dev"
al@20176 17 SPLIT="gcc-lib-base gcc-lib-math libgfortran gfortran libgomp libobjc \
al@20176 18 libatomic gcc"
pankso@9704 19
al@20436 20 if [ "$2" == "--first-pass" -o "$3" == "--first-pass" ]; then
al@20436 21 STAGE='first'
al@20436 22 SPLIT=''
al@20436 23 fi
al@20436 24
al@20176 25 compile_rules() {
al@20176 26 # Handle cross compilation (native i486/ARM gcc)
al@20176 27 case "$ARCH" in
al@20176 28 i?86)
al@20176 29 ARCH_ARGS="--with-tune=$ARCH"
al@20176 30 pkgversion="SliTaz"
al@20436 31 languages="c,c++,objc,fortran"
al@20436 32 sed -i 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in
al@20436 33 ;;
al@20436 34 x86_64)
al@20436 35 ARCH_ARGS=""
al@20436 36 pkgversion="SliTaz64"
al@20436 37 languages="c,c++,objc,fortran"
al@20436 38 sed -i.orig '/m64=/ s|lib64|lib|' gcc/config/i386/t-linux64
al@20436 39 ;;
al@20176 40 arm*)
al@20436 41 ARCH_ARGS=""
al@20176 42 pkgversion="SliTaz ARM"
al@20436 43 languages="c,c++"
al@20436 44 ;;
al@20176 45 esac
gokhlayeh@8181 46
pankso@3185 47 # Use libiberty.a from binutils.
pankso@12267 48 sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in || return 1
pankso@12541 49
al@20436 50 case "$STAGE" in
al@20436 51 first)
al@20436 52 echo "cook: configure GCC for: toolchain first pass"
pankso@12541 53
al@20436 54 mkdir build
al@20436 55 cd build
al@20436 56 ../configure \
al@20436 57 --with-newlib \
al@20436 58 --without-headers \
pankso@10012 59 --disable-nls \
al@20436 60 --disable-shared \
al@20436 61 --disable-multilib \
al@20436 62 --disable-decimal-float \
al@20436 63 --disable-threads \
al@20436 64 --disable-libatomic \
al@20436 65 --disable-libgomp \
al@20436 66 --disable-libmpx \
al@20436 67 --disable-libquadmath \
al@20436 68 --disable-libssp \
al@20436 69 --disable-libvtv \
al@20436 70 --disable-libstdcxx \
pankso@10030 71 --enable-languages=c,c++ \
al@20436 72 $CONFIGURE_ARGS
al@19743 73 ;;
pankso@9704 74 *)
pankso@9704 75 echo "cook: configure GCC for: final/full build"
al@20436 76
al@20436 77 mkdir build
al@20436 78 cd build
al@20436 79 SED=sed \
al@20436 80 ../configure \
al@20436 81 --enable-languages=$languages \
al@20436 82 --disable-multilib \
al@20436 83 --disable-bootstrap \
pankso@10012 84 --with-system-zlib \
pankso@16319 85 --with-pkgversion="$pkgversion" \
al@20436 86 $CONFIGURE_ARGS $ARCH_ARGS
al@19743 87 ;;
al@19743 88 esac &&
al@20436 89 make && make install || return 1
al@20436 90
al@20445 91 mkdir -p $install/lib
al@20436 92 ln -sv ../usr/bin/cpp $install/lib
al@20445 93
al@20436 94 ln -sv gcc $install/usr/bin/cc
al@20445 95
al@20436 96 install -v -dm755 $install/usr/lib/bfd-plugins
al@20436 97 ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/$VERSION/liblto_plugin.so \
al@20436 98 $install/usr/lib/bfd-plugins/
al@20436 99
al@19743 100
al@19743 101 # ARM packages use another libs...
al@19743 102 case "$ARCH" in
al@19743 103 arm)
al@19743 104 libdir="$CROSS_TREE/tools/arm-slitaz-linux-gnueabi/lib"
al@19743 105 cp -af $libdir/libgcc_s.so* $install/usr/lib # for gcc-lib-base
al@19743 106 cp -af $libdir/libstdc++.so* $install/usr/lib
al@19743 107 cp -af $libdir/libquadmath.so* $install/usr/lib # for gcc-lib-math
al@19743 108 ;;
pankso@9704 109 esac
al@19835 110
al@20436 111
al@20436 112 # Place the debugging symbols for selected libraries in separate files.
al@20436 113 # This debugging information is needed if running regression tests that use valgrind or gdb.
al@20436 114 # http://www.linuxfromscratch.org/lfs/view/stable/chapter06/strippingagain.html
al@20436 115
al@20436 116 [ "$STAGE" == 'first' ] ||
al@20436 117 for i in libquadmath.so.0.0.0 libstdc++.so.6.0.24 libmpx.so.2.0.1 \
al@20436 118 libmpxwrappers.so.2.0.1 libitm.so.1.0.0 libcilkrts.so.5.0.0 \
al@20436 119 libatomic.so.1.2.0; do
al@20436 120 cd $install/usr/lib/
al@20436 121 objcopy --only-keep-debug $i $i.dbg
al@20436 122 strip --strip-unneeded $i
al@20436 123 objcopy --add-gnu-debuglink=$i.dbg $i
al@20436 124 done
pankso@9 125 }
pankso@9 126
al@20176 127 genpkg_rules() {
al@20436 128 case $STAGE in
al@20436 129 first)
al@20436 130 # single package 'gcc' on the first stage
al@20436 131 copy @std @dev
al@20436 132 DEPENDS="glibc-base gmp mpc-library mpfr zlib binutils elfutils"
al@20436 133 CAT="development|first pass"
al@20436 134 TAGS="LFS compiler C"
al@20436 135 return 0
al@20436 136 ;;
al@20436 137 esac
al@20436 138
al@19743 139 case $PACKAGE in
al@19743 140 gcc-lib-base)
al@19743 141 copy libgcc_s.so* libstdc++.so*
al@20436 142 rm $fs/usr/lib*/*.py
al@20176 143 CAT="libs|base libraries"
al@19835 144 DEPENDS="glibc-base"
al@19743 145 ;;
al@19743 146 gcc-lib-math)
al@19743 147 copy libquadmath.so*
al@20176 148 CAT="libs|math libraries"
al@19835 149 DEPENDS="glibc-base"
al@19743 150 ;;
al@19743 151 libgfortran)
al@19743 152 copy libgfortran.so*
al@19743 153 CAT="libdevel|fortran runtime"
al@19835 154 DEPENDS="gcc-lib-base gcc-lib-math glibc-base"
al@19835 155 ;;
al@19835 156 gfortran)
al@20176 157 copy *gfortran libgfortran.* f951 finclude/ @rm
al@19835 158 CAT="development|fortran extension"
al@19835 159 TAGS="compiler fortran"
al@19835 160 DEPENDS="libgfortran gcc glibc-base gmp mpc-library mpfr zlib"
al@19743 161 ;;
al@19743 162 libgomp)
al@19743 163 copy libgomp.so*
al@20176 164 CAT="libs|API specification for parallel programming"
al@19835 165 DEPENDS="glibc-base"
al@19743 166 ;;
al@19743 167 libobjc)
al@19743 168 copy libobjc.so*
al@19765 169 CAT="libdevel|API for gcc object"
al@19835 170 DEPENDS="gcc-lib-base glibc-base"
al@19835 171 ;;
al@20176 172 libatomic)
al@20176 173 copy libatomic.so*
al@20176 174 CAT="libs|libatomic"
al@20176 175 DEPENDS=" "
al@20176 176 ;;
al@19835 177 gcc)
al@20436 178 copy @std @dev @rm
al@20176 179 DEPENDS="gcc-lib-base libgomp libobjc libatomic \
al@19835 180 glibc-base gmp mpc-library mpfr zlib binutils elfutils"
al@19835 181 SUGGESTED="python"
al@20436 182 TAGS="LFS compiler C"
al@19743 183 ;;
al@19743 184 esac
pankso@9 185 }