aboutsummaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2020-01-15 22:08:04 +0000
committerPiotr Kubaj <pkubaj@FreeBSD.org>2020-01-15 22:08:04 +0000
commit16ba9aabc534b4b6a476a770a6293f5573a76405 (patch)
tree835a338778bd9f0fef3e2ef06ccf66bc045df14b /java
parente60d54d0e189086015678e8700140b61cd35ad5a (diff)
downloadports-16ba9aabc534b4b6a476a770a6293f5573a76405.tar.gz
ports-16ba9aabc534b4b6a476a770a6293f5573a76405.zip
java/openjdk11: add bootstrap and fix compilation for powerpc64 elfv2
Add bootstrap for powerpc64 elfv2. Because of issue with macros in precompiled.hpp, --disable-precompiled-headers is necessary. Since openjdk compiles for elfv1 by default on big-endian ppc64, use a patch to compile for elfv2. I assume here that GCC will be used exclusively on ELFv1 systems and Clang on ELFv2. PR: 243182 Approved by: glewis (maintainer)
Notes
Notes: svn path=/head/; revision=523182
Diffstat (limited to 'java')
-rw-r--r--java/bootstrap-openjdk11/Makefile3
-rw-r--r--java/bootstrap-openjdk11/distinfo6
-rw-r--r--java/openjdk11/Makefile3
-rw-r--r--java/openjdk11/files/patch-make_autoconf_flags-cflags.m411
4 files changed, 20 insertions, 3 deletions
diff --git a/java/bootstrap-openjdk11/Makefile b/java/bootstrap-openjdk11/Makefile
index ce91151272f6..49916187e449 100644
--- a/java/bootstrap-openjdk11/Makefile
+++ b/java/bootstrap-openjdk11/Makefile
@@ -22,7 +22,8 @@ WRKSRC= ${WRKDIR}/${JDK_ROOT}
JDK_PORT= ${PKGNAMEPREFIX}${PORTNAME}
JDK_ROOT= ${PKGNAMEPREFIX}${PORTNAME}
-JDK_ARCH= ${ARCH}
+JDK_ARCH= ${ARCH}${JDK_ARCH_SUFFIX_${ARCH}}
+JDK_ARCH_SUFFIX_powerpc64= -${PPC_ABI:tl}
INSTALLDIR= ${STAGEDIR}${PREFIX}/${JDK_ROOT}
diff --git a/java/bootstrap-openjdk11/distinfo b/java/bootstrap-openjdk11/distinfo
index 8f772a3df813..74ad99230f50 100644
--- a/java/bootstrap-openjdk11/distinfo
+++ b/java/bootstrap-openjdk11/distinfo
@@ -5,5 +5,7 @@ SHA256 (bootstrap-openjdk11-amd64-11.0.5.10.1.tar.xz) = c2412b483d186d6fb430163f
SIZE (bootstrap-openjdk11-amd64-11.0.5.10.1.tar.xz) = 103159648
SHA256 (bootstrap-openjdk11-i386-11.0.5.10.1.tar.xz) = 410b3bb719ae76770d14681c04d09420e1afbc0c463d9c33bfb94011cd90ecec
SIZE (bootstrap-openjdk11-i386-11.0.5.10.1.tar.xz) = 97797356
-SHA256 (bootstrap-openjdk11-powerpc64-11.0.5.10.1.tar.xz) = 84b41f06d42c745923227988bd0ab82f4f8adcfe88d65dfa8686a65474bacc6e
-SIZE (bootstrap-openjdk11-powerpc64-11.0.5.10.1.tar.xz) = 103414376
+SHA256 (bootstrap-openjdk11-powerpc64-elfv1-11.0.5.10.1.tar.xz) = 84b41f06d42c745923227988bd0ab82f4f8adcfe88d65dfa8686a65474bacc6e
+SIZE (bootstrap-openjdk11-powerpc64-elfv1-11.0.5.10.1.tar.xz) = 103414376
+SHA256 (bootstrap-openjdk11-powerpc64-elfv2-11.0.5.10.1.tar.xz) = b3bd1ac3fbfe6b4cefb14dd42d0f4f6c1646ed238b0cb2e757d20089d1cd7428
+SIZE (bootstrap-openjdk11-powerpc64-elfv2-11.0.5.10.1.tar.xz) = 97626680
diff --git a/java/openjdk11/Makefile b/java/openjdk11/Makefile
index 676578ba1a72..1c0e4a091de6 100644
--- a/java/openjdk11/Makefile
+++ b/java/openjdk11/Makefile
@@ -132,6 +132,9 @@ MAKE_ENV+= USE_CLANG=true
CONFIGURE_ARGS+= --disable-warnings-as-errors \
--disable-dtrace
.endif
+.if defined(PPC_ABI) && ${PPC_ABI} == ELFv2
+CONFIGURE_ARGS+= --disable-precompiled-headers
+.endif
.if ${ARCH} != amd64
CONFIGURE_ARGS+= --enable-aot=no
.endif
diff --git a/java/openjdk11/files/patch-make_autoconf_flags-cflags.m4 b/java/openjdk11/files/patch-make_autoconf_flags-cflags.m4
new file mode 100644
index 000000000000..aede54b34b92
--- /dev/null
+++ b/java/openjdk11/files/patch-make_autoconf_flags-cflags.m4
@@ -0,0 +1,11 @@
+--- make/autoconf/flags-cflags.m4.orig 2020-01-08 09:12:31 UTC
++++ make/autoconf/flags-cflags.m4
+@@ -770,6 +770,8 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
+ # for all archs except arm and ppc, prevent gcc to omit frame pointer
+ $1_CFLAGS_CPU_JDK="${$1_CFLAGS_CPU_JDK} -fno-omit-frame-pointer"
+ fi
++ elif test "x$OPENJDK_TARGET_OS_ENV" = xbsd.freebsd; then
++ $1_CFLAGS_CPU_JVM="${$1_CFLAGS_CPU_JVM} -DABI_ELFv2 -mcpu=powerpc64 -mtune=power5"
+ fi
+
+ elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then