[arch-commits] Commit in gcc6/trunk (PKGBUILD)
Sven-Hendrik Haase
svenstaro at archlinux.org
Thu Oct 5 22:04:29 UTC 2017
Date: Thursday, October 5, 2017 @ 22:04:28
Author: svenstaro
Revision: 261798
upgpkg: gcc6 6.4.1-3
Re-add gcj
Modified:
gcc6/trunk/PKGBUILD
----------+
PKGBUILD | 106 +++++++++++++++++++++++++++++++++++++++++++------------------
1 file changed, 76 insertions(+), 30 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2017-10-05 21:43:46 UTC (rev 261797)
+++ PKGBUILD 2017-10-05 22:04:28 UTC (rev 261798)
@@ -8,9 +8,9 @@
pkgbase=gcc6
_ver=6
-pkgname=('gcc6' 'gcc6-libs' 'gcc6-fortran' 'gcc6-objc' 'gcc6-ada' 'gcc6-go')
+pkgname=('gcc6' 'gcc6-libs' 'gcc6-fortran' 'gcc6-objc' 'gcc6-ada' 'gcc6-go' 'gcc6-gcj')
pkgver=6.4.1
-pkgrel=2
+pkgrel=3
_islver=0.17
_cloogver=0.18.4
pkgdesc="The GNU Compiler Collection"
@@ -17,7 +17,7 @@
arch=(i686 x86_64)
license=(GPL LGPL FDL custom)
url="http://gcc.gnu.org"
-makedepends=(binutils libmpc doxygen gcc-ada git)
+makedepends=(binutils libmpc doxygen gcc-ada git java-environment-common zip jdk8-openjdk gtk2 libart-lgpl libxtst)
checkdepends=('dejagnu' 'inetutils')
options=(!emptydirs)
_commit=878763634f0a75699559b3c0b90d466954a6510f
@@ -46,6 +46,9 @@
# hack! - some configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
+ # Arch uses python version 3 as default python (for gcc6-gcj).
+ sed -i '1s+python+python2+' libjava/contrib/aot-compile.in
+
mkdir -p "${srcdir}/gcc-build"
}
@@ -64,7 +67,7 @@
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--with-bugurl=https://bugs.archlinux.org/ \
- --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
+ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,java \
--enable-shared \
--enable-threads=posix \
--enable-libmpx \
@@ -84,10 +87,13 @@
--disable-multilib \
--disable-werror \
--enable-checking=release \
+ --enable-java-awt=gtk \
+ --with-java-home="$JAVA_HOME" \
+ --enable-libgcj-multifile \
--enable-default-pie \
--enable-default-ssp \
--enable-version-specific-runtime-libs \
- --program-suffix=-${_ver} \
+ --program-suffix=-${_ver} \
--build="${CHOST}"
make
@@ -110,36 +116,34 @@
package_gcc6-libs() {
-
pkgdesc="Runtime libraries shipped by GCC"
depends=('glibc>=2.25')
options=('!emptydirs' '!strip')
cd gcc-build
-
make -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
rm ${pkgdir}/${_libdir}/libgcc_eh.a
- for lib in libatomic \
- libcilkrts \
- libgfortran \
- libgo \
- libgomp \
- libitm \
- libquadmath \
+ for lib in libatomic \
+ libcilkrts \
+ libjava \
+ libgfortran \
+ libgo \
+ libgomp \
+ libitm \
+ libquadmath \
libsanitizer/{a,l,ub}san \
- libstdc++-v3/src \
+ libstdc++-v3/src \
libvtv; do
make -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
done
- [[ $CARCH == "x86_64" ]] && \
+ if [[ $CARCH == "x86_64" ]]; then
make -C $CHOST/libsanitizer/tsan DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+ fi
make -C $CHOST/libobjc DESTDIR=${pkgdir} install-libs
-
make -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
-
make -C $CHOST/libmpx DESTDIR=${pkgdir} install
rm ${pkgdir}/${_libdir}/libmpx.spec
@@ -160,8 +164,7 @@
${pkgdir}/usr/share/licenses/$pkgname/RUNTIME.LIBRARY.EXCEPTION
}
-package_gcc6()
-{
+package_gcc6() {
pkgdesc="The GNU Compiler Collection - C and C++ frontends"
depends=("gcc6-libs=${pkgver}-${pkgrel}" 'binutils>=2.28' 'libmpc')
options=('staticlibs')
@@ -178,6 +181,7 @@
make -C $CHOST/libgcc DESTDIR=${pkgdir} install
rm -f ${pkgdir}/usr/lib/gcc/${CHOST}/lib/libgcc_s.so*
+ rm -f ${pkgdir}/${_libdir}/libgcc_s.so*
make -C $CHOST/libstdc++-v3/src DESTDIR=${pkgdir} install
make -C $CHOST/libstdc++-v3/include DESTDIR=${pkgdir} install
@@ -195,8 +199,7 @@
make -C lto-plugin DESTDIR=${pkgdir} install
install -dm755 ${pkgdir}/usr/lib/bfd-plugins/
- ln -s ${_libdir}/liblto_plugin.so \
- ${pkgdir}/usr/lib/bfd-plugins/
+ ln -s ${_libdir}/liblto_plugin.so ${pkgdir}/usr/lib/bfd-plugins/
make -C $CHOST/libcilkrts DESTDIR=${pkgdir} install-nodist_toolexeclibHEADERS \
install-nodist_cilkincludeHEADERS
@@ -267,8 +270,7 @@
install -Dm755 gcc/cc1plus ${pkgdir}/${_libdir}/cc1plus
}
-package_gcc6-fortran()
-{
+package_gcc6-fortran() {
pkgdesc="Fortran front-end for GCC"
depends=("gcc6=$pkgver-$pkgrel")
options=('!emptydirs')
@@ -287,8 +289,7 @@
ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/$pkgname/
}
-package_gcc6-objc()
-{
+package_gcc6-objc() {
pkgdesc="Objective-C front-end for GCC"
depends=("gcc6=$pkgver-$pkgrel")
@@ -303,8 +304,7 @@
ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/$pkgname/
}
-package_gcc6-ada()
-{
+package_gcc6-ada() {
pkgdesc="Ada front-end for GCC (GNAT)"
depends=("gcc6=$pkgver-$pkgrel")
options=('staticlibs' '!emptydirs')
@@ -326,8 +326,7 @@
ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/$pkgname/
}
-package_gcc6-go()
-{
+package_gcc6-go() {
pkgdesc="Go front-end for GCC"
depends=("gcc6=$pkgver-$pkgrel")
conflicts=('go')
@@ -346,3 +345,50 @@
install -d ${pkgdir}/usr/share/licenses/$pkgname/
ln -s ../gcc-libs/RUNTIME.LIBRARY.EXCEPTION ${pkgdir}/usr/share/licenses/$pkgname/
}
+
+package_gcc6-gcj() {
+ pkgdesc="Java front-end for GCC"
+ depends=("gcc6=$pkgver-$pkgrel")
+ replaces=('gcc-gcj')
+ options=('!emptydirs')
+
+ # Install libjava.
+ cd gcc-build
+ make -j1 DESTDIR=${pkgdir} install-target-libjava
+
+ # Install java-common.
+ cd gcc
+ make -j1 DESTDIR=${pkgdir} java.install-common java.install-man
+
+ install -m755 jc1 ${pkgdir}/${_libdir}/
+ install -m755 jvgenmain ${pkgdir}/${_libdir}/
+
+ # Remove conflicting files.
+ rm -f ${pkgdir}/usr/lib/gcc/${CHOST}/lib/libgcc_s.so*
+ rm -f ${pkgdir}/${_libdir}/libgcc_s.so*
+ rm ${pkgdir}/${_libdir}/libg{cj,ij}*.so*
+
+ # Rename two files to not conflict to classpath
+ mv ${pkgdir}/usr/share/info/cp-tools.info ${pkgdir}/usr/share/info/cp-tools-gcj.info
+
+ linkdir=`basename $pkgdir/usr/lib/gcj-${pkgver}*`
+ ln -sf $linkdir ${pkgdir}/usr/lib/gcj-${pkgver%.?}
+ ln -sf libgcj-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-${pkgver%.?}.jar
+ ln -sf libgcj-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj.jar
+ ln -sf libgcj-tools-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-tools-${pkgver%.?}.jar
+ ln -sf libgcj-tools-${pkgver}.jar ${pkgdir}/usr/share/java/libgcj-tools.jar
+
+ rm ${pkgdir}/${_libdir}/libgcc_eh.a
+ rm ${pkgdir}/${_libdir}/crtbegin.o
+ rm ${pkgdir}/${_libdir}/crtbeginS.o
+ rm ${pkgdir}/${_libdir}/crtbeginT.o
+ rm ${pkgdir}/${_libdir}/crtend.o
+ rm ${pkgdir}/${_libdir}/crtendS.o
+ rm ${pkgdir}/${_libdir}/crtfastmath.o
+ rm ${pkgdir}/${_libdir}/crtprec32.o
+ rm ${pkgdir}/${_libdir}/crtprec64.o
+ rm ${pkgdir}/${_libdir}/crtprec80.o
+ rm ${pkgdir}/${_libdir}/include/unwind.h
+ rm ${pkgdir}/${_libdir}/libgcc.a
+ rm ${pkgdir}/${_libdir}/libgcov.a
+}
More information about the arch-commits
mailing list