X-Git-Url: http://gitweb/?a=blobdiff_plain;f=gcc%2FPkgfile;h=8bddd4719008049f07d94906b874024da53de55e;hb=c95d3400a9c7cbd4b9dc1a115b847ab5671d8d54;hp=1d6f550fdfb2cc8a25cd52e1a9928c28b86feec0;hpb=b751b192b8a9f558df99b4050babc1b84d45a372;p=crossrootfs.git diff --git a/gcc/Pkgfile b/gcc/Pkgfile index 1d6f550..8bddd47 100644 --- a/gcc/Pkgfile +++ b/gcc/Pkgfile @@ -2,60 +2,67 @@ # URL: http://gcc.gnu.org # Maintainer: CRUX System Team, core-ports at crux dot nu # Arch Maintainer: CRUX-ARM System Team, devel at crux-arm dot nu -# Depends on: libgmp libmpfr +# Depends on: zlib libmpc name=gcc -version=4.4.2 +version=5.3.0 release=1 -source=(ftp://sources.redhat.com/pub/gcc/releases/$name-$version/$name-{core,g++}-$version.tar.bz2 - $name-nocheck-fixincludes.patch test-demangle.c.diff) - +source=(ftp://gcc.gnu.org/pub/gcc/releases/$name-$version/$name-$version.tar.bz2 + $name-nocheck-fixincludes.patch) build() { + patch -d $name-$version -p1 -i $SRC/$name-nocheck-fixincludes.patch cd $name-$version - - patch -p1 -i $SRC/$name-nocheck-fixincludes.patch - patch -p0 -i $SRC/test-demangle.c.diff - sed -i 's|REVISION|REVISION " (CRUX)"|' $name/version.c - # apply a sed substitutio that will suppress the installation of libiberty.a + + sed -i 's|REVISION|REVISION " (CRUX-ARM 64b)"|' $name/version.c + # apply a sed substitution that will suppress the installation of libiberty.a sed 's|install_to_$(INSTALL_DEST) ||' -i libiberty/Makefile.in - # avoid hardcodeds - sed 's|@have_mktemp_command@|yes|' -i gcc/gccbug.in mkdir $SRC/build cd $SRC/build + export CXXFLAGS="-O2 -pipe" LDFLAGS="-Wl,-rpath-link,$CROSSTOOLS/$CTARGET/lib" \ ../$name-$version/configure --build=$CHOST \ --host=$CTARGET \ --target=$CTARGET \ --prefix=/usr \ + --mandir=/usr/man \ --libexecdir=/usr/lib \ --enable-languages=c,c++ \ + --disable-libstdcxx-pch \ --enable-threads=posix \ - --enable-shared \ --enable-__cxa_atexit \ --enable-clocale=gnu \ + --enable-shared \ --disable-nls \ - --disable-libstdcxx-pch \ - --with-x=no + --with-x=no \ + --with-system-zlib \ + --with-pkgversion="CRUX-ARM 64b" # prevent GCC from looking in the wrong directories for headers and libraries sed "/^HOST_\(GMP\|PPL\|CLOOG\)\(LIBS\|INC\)/s:-[IL]/\(lib\|include\)::" -i Makefile make - make DESTDIR=$PKG install + # prevent libtool from adding host lib paths for relink at install + # based on patch submitted by Vincent Cadet for libtool bug #21455 + # see https://lists.gnu.org/archive/html/bug-libtool/2015-09/msg00012.html + for lt_file in $(find $SRC/build/$CTARGET -name libtool) ; do + sed -i 's/\(add_dir=\"\)\$add_dir \(-L\$inst_prefix_dir\$libdir\"\)/\1\2/' $lt_file + done + + make -j1 DESTDIR=$PKG install mkdir $PKG/lib ln -sf ../usr/bin/cpp $PKG/lib/cpp ln -sf gcc $PKG/usr/bin/cc ln -sf g++ $PKG/usr/bin/c++ + mv $PKG/usr/lib/gcc/*/$version/include-fixed/{limits.h,syslimits.h} $PKG/usr/lib/gcc/*/$version/include/ - rm -rf $PKG/usr/info $PKG/usr/lib/libiberty.a \ - $PKG/usr/bin/*-linux-gnu-* \ - $PKG/usr/lib/gcc/*/$version/install-tools \ - $PKG/usr/lib/gcc/*/$version/include/README \ - $PKG/usr/lib/gcc/*/$version/include-fixed - sed -i "s|-L$SRC[^ ]* ||g" $PKG/usr/lib/{libstdc++.la,libsupc++.la} + rm $PKG/usr/lib64/libstdc++.so.6.0.21-gdb.py + rm -r $PKG/usr/share + rm -r $PKG/usr/lib/gcc/*/$version/{install-tools,include-fixed} + + sed -i "s|-L$SRC[^ ]* ||g" $PKG/usr/lib64/{libstdc++.la,libsupc++.la} }