From 763fad6cb0a36006b1f6c0005161e9d760b5d14c Mon Sep 17 00:00:00 2001 From: Hadrien Mary Date: Thu, 22 Nov 2018 11:50:52 -0500 Subject: [PATCH] Fix libary location for Java >=9. Fix #304 --- setup.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/setup.py b/setup.py index 46103bc..04d1509 100644 --- a/setup.py +++ b/setup.py @@ -119,6 +119,18 @@ elif PLATFORM == 'darwin': )] else: LIB_LOCATION = 'jre/lib/server/libjvm.dylib' + + if isinstance(JRE_HOME, bytes): + JAVA_HOME = dirname(JRE_HOME.decode()) + else: + JAVA_HOME = dirname(JRE_HOME) + FULL_LIB_LOCATION = join(JAVA_HOME, LIB_LOCATION) + + if not exists(FULL_LIB_LOCATION): + # In that case, the Java version is very likely >=9. + # So we need to modify the `libjvm.so` path. + LIB_LOCATION = 'lib/server/libjvm.dylib' + INCLUDE_DIRS = [ '{0}/include'.format(FRAMEWORK), '{0}/include/darwin'.format(FRAMEWORK) @@ -181,6 +193,17 @@ else: INCL_DIR = join(JDK_HOME, 'include', 'linux') LIB_LOCATION = 'jre/lib/{}/server/libjvm.so'.format(CPU) + if isinstance(JRE_HOME, bytes): + JAVA_HOME = dirname(JRE_HOME.decode()) + else: + JAVA_HOME = dirname(JRE_HOME) + FULL_LIB_LOCATION = join(JAVA_HOME, LIB_LOCATION) + + if not exists(FULL_LIB_LOCATION): + # In that case, the Java version is very likely >=9. + # So we need to modify the `libjvm.so` path. + LIB_LOCATION = 'lib/server/libjvm.so' + INCLUDE_DIRS = [ join(JDK_HOME, 'include'), INCL_DIR