[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