diff --git a/src/bindings/jni/ConfigureJNI.py b/src/bindings/jni/ConfigureJNI.py index 9a94a87031c07726545ac63ec531590eda562b90..573bd682192e88618cba6c9b847128a98d6e08db 100644 --- a/src/bindings/jni/ConfigureJNI.py +++ b/src/bindings/jni/ConfigureJNI.py @@ -74,6 +74,11 @@ def ConfigureJNI(env): # should be in there somewhere java_headers = walkDirs(java_headers[0]) + if not any(os.path.exists(os.path.join(path, 'jni.h')) + for path in java_headers): + print("Can't find jni.h in %s" % java_headers) + return 0 + # add Java's include and lib directory to the environment java_headers.append(os.path.join(java_headers[0], 'linux')) env.Append(CPPPATH = java_headers) diff --git a/src/bindings/jni/SConscript b/src/bindings/jni/SConscript index 7e506832c30face640bd27e55fb1680a0b9b00ab..3b454b998b5094060301820caafd33e5bdcb6492 100644 --- a/src/bindings/jni/SConscript +++ b/src/bindings/jni/SConscript @@ -14,7 +14,7 @@ if not ConfigureJNI(javaenv): Exit(0) -javaenv.Append(CPPPATH=[".", "/usr/lib/jvm/java-8-oracle/include", "/usr/lib/jvm/java-8-oracle/include/linux", "../.."], +javaenv.Append(CPPPATH=[".", "../.."], LIBS=['hammer'], LIBPATH=["../.."]) @@ -29,11 +29,12 @@ Default(jni_headers) #print(javaenv.Dump()) +shlib_env = env.Clone(CPPPATH=javaenv['JNI_CPPPATH'] + ['../..']) csources = ['com_upstandinghackers_hammer_Hammer.c', 'com_upstandinghackers_hammer_ParsedToken.c', 'com_upstandinghackers_hammer_Parser.c', 'com_upstandinghackers_hammer_ParseResult.c'] -libjhammer_shared = env.SharedLibrary('libjhammer', csources) +libjhammer_shared = shlib_env.SharedLibrary('libjhammer', csources) Default(libjhammer_shared)