Blob Blame History Raw
From 337e7e62285ff90978438173a2ba8899eabc3955 Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com>
Date: Tue, 12 May 2015 12:10:16 +0200
Subject: [PATCH] java dir for powepc64 and powepc64le can differ

E.g., RHEL >= 7.1 uses ppc64le for reasons listed in
https://bugs.openjdk.java.net/browse/JDK-8073139 .

This is a follow-up to commit 7a66dbe982623be620ad6ac426fe689a434e5f51.

Change-Id: I685f76d51e9775788a7fb225c6a5e2309a45ceb7
---
 config_host/config_java.h.in                     | 6 ++++++
 configure.ac                                     | 3 +++
 jvmfwk/plugins/sunmajor/pluginlib/vendorbase.hxx | 6 +++++-
 3 files changed, 14 insertions(+), 1 deletion(-)
 create mode 100644 config_host/config_java.h.in

diff --git a/config_host/config_java.h.in b/config_host/config_java.h.in
new file mode 100644
index 0000000..8b23de9
--- /dev/null
+++ b/config_host/config_java.h.in
@@ -0,0 +1,6 @@
+#ifndef CONFIG_JAVA_H
+#define CONFIG_JAVA_H
+
+#undef JAVA_ARCH
+
+#endif
diff --git a/configure.ac b/configure.ac
index d8266b4..d764c33 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7259,6 +7259,7 @@ then
             ;;
         powerpc64le)
             AS_IF([test -d "$JAVA_HOME/jre/lib/ppc64le"], [my_java_arch=ppc64le], [my_java_arch=ppc64])
+            JAVA_ARCH=$my_java_arch
             ;;
         x86_64)
             my_java_arch=amd64
@@ -7268,6 +7269,7 @@ then
             ;;
         esac
         JAWTLIB="-L$JAVA_HOME/jre/lib/$my_java_arch -ljawt"
+        AS_IF([test "$JAVA_ARCH" != ""], [AC_DEFINE_UNQUOTED([JAVA_ARCH], ["$JAVA_ARCH"])])
     fi
     AC_MSG_RESULT([$JAWTLIB])
 fi
@@ -13042,6 +13044,7 @@ AC_CONFIG_HEADERS([config_host/config_folders.h])
 AC_CONFIG_HEADERS([config_host/config_gcc.h])
 AC_CONFIG_HEADERS([config_host/config_global.h])
 AC_CONFIG_HEADERS([config_host/config_graphite.h])
+AC_CONFIG_HEADERS([config_host/config_java.h])
 AC_CONFIG_HEADERS([config_host/config_lgpl.h])
 AC_CONFIG_HEADERS([config_host/config_locales.h])
 AC_CONFIG_HEADERS([config_host/config_mpl.h])
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.hxx b/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.hxx
index 29f2641..ffc05c1 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.hxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.hxx
@@ -20,6 +20,8 @@
 #ifndef INCLUDED_JVMFWK_PLUGINS_SUNMAJOR_PLUGINLIB_VENDORBASE_HXX
 #define INCLUDED_JVMFWK_PLUGINS_SUNMAJOR_PLUGINLIB_VENDORBASE_HXX
 
+#include "config_java.h"
+
 #include "rtl/ustring.hxx"
 #include "rtl/ref.hxx"
 #include "osl/endian.h"
@@ -31,7 +33,9 @@ namespace jfw_plugin
 
 
 //Used by subclasses of VendorBase to build paths to Java runtime
-#if defined(__sparcv9)
+#if defined(JAVA_ARCH)
+#define JFW_PLUGIN_ARCH JAVA_ARCH
+#elif defined(__sparcv9)
 #define JFW_PLUGIN_ARCH "sparcv9"
 #elif defined SPARC
 #define JFW_PLUGIN_ARCH "sparc"
-- 
2.4.0