CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
make: updated to 4.2.1
[crossrootfs.git] / gcc / Pkgfile
1 # Description: The GNU Compiler Collection
2 # URL: http://gcc.gnu.org
3 # Maintainer: CRUX System Team, core-ports at crux dot nu
4 # Arch Maintainer: CRUX-ARM System Team, devel at crux-arm dot nu
5 # Depends on: zlib libmpc
6
7 name=gcc
8 version=6.3.0
9 release=1
10 source=(ftp://gcc.gnu.org/pub/gcc/releases/$name-$version/$name-$version.tar.bz2
11 $name-nocheck-fixincludes.patch)
12
13 build() {
14 cd $name-$version
15
16 sed -i 's|REVISION|REVISION " (CRUX-ARM 64b)"|' $name/version.c
17 # apply a sed substitution that will suppress the installation of libiberty.a
18 sed 's|install_to_$(INSTALL_DEST) ||' -i libiberty/Makefile.in
19
20 mkdir $SRC/build
21 cd $SRC/build
22
23 export CXXFLAGS="-O2 -pipe"
24 LDFLAGS="-Wl,-rpath-link,$CROSSTOOLS/$CTARGET/lib" \
25 ../$name-$version/configure --build=$CHOST \
26 --host=$CTARGET \
27 --target=$CTARGET \
28 --prefix=/usr \
29 --mandir=/usr/man \
30 --libexecdir=/usr/lib \
31 --enable-languages=c,c++ \
32 --disable-libstdcxx-pch \
33 --enable-threads=posix \
34 --enable-__cxa_atexit \
35 --enable-clocale=gnu \
36 --enable-shared \
37 --disable-nls \
38 --with-x=no \
39 --with-system-zlib \
40 --with-pkgversion="CRUX-ARM 64b"
41
42 # prevent GCC from looking in the wrong directories for headers and libraries
43 sed "/^HOST_\(GMP\|PPL\|CLOOG\)\(LIBS\|INC\)/s:-[IL]/\(lib\|include\)::" -i Makefile
44
45 make
46 # prevent libtool from adding host lib paths for relink at install
47 # based on patch submitted by Vincent Cadet for libtool bug #21455
48 # see https://lists.gnu.org/archive/html/bug-libtool/2015-09/msg00012.html
49 for lt_file in $(find $SRC/build/$CTARGET -name libtool) ; do
50 sed -i 's/\(add_dir=\"\)\$add_dir \(-L\$inst_prefix_dir\$libdir\"\)/\1\2/' $lt_file
51 done
52
53 make -j1 DESTDIR=$PKG install
54
55 mkdir $PKG/lib
56 ln -sf ../usr/bin/cpp $PKG/lib/cpp
57 ln -sf gcc $PKG/usr/bin/cc
58 ln -sf g++ $PKG/usr/bin/c++
59
60 mv $PKG/usr/lib/gcc/*/$version/include-fixed/{limits.h,syslimits.h} $PKG/usr/lib/gcc/*/$version/include/
61
62 rm $PKG/usr/lib64/libstdc++.so.6.0.22-gdb.py
63 rm -r $PKG/usr/share
64 rm -r $PKG/usr/lib/gcc/*/$version/{install-tools,include-fixed}
65
66 sed -i "s|-L$SRC[^ ]* ||g" $PKG/usr/lib64/{libstdc++.la,libsupc++.la}
67 }