Extra help for finding "cast" native library on macOS
Unlike Linux, macOS has no "RPATH" facility for embedding additional search paths within shared libraries. Instead, we need to set "DYLD_LIBRARY_PATH" appropriately in the environment. This environment variable is the macOS analogue of "LD_LIBRARY_PATH" on Linux. Note that adding the required path to the "java.library.path" system property will *not* work. This property only affects where the JVM looks for shared objects that it is loading directly. This property does not influence the search for other, transitively-required shared objects. Fixes #3.
This commit is contained in:
parent
48ffce525c
commit
bcbd298808
|
@ -97,9 +97,9 @@ model {
|
||||||
def lib = linkXlator_testSharedLibrary
|
def lib = linkXlator_testSharedLibrary
|
||||||
dependsOn lib
|
dependsOn lib
|
||||||
systemProperty 'java.library.path', lib.destinationDir
|
systemProperty 'java.library.path', lib.destinationDir
|
||||||
|
|
||||||
|
// TODO: compute path on following line from 'cast' library properties somehow
|
||||||
|
def castLibDir = "${project(':com.ibm.wala.cast').buildDir}/libs/cast/shared"
|
||||||
|
environment 'DYLD_LIBRARY_PATH', castLibDir
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://github.com/liblit/WALA/issues/3
|
|
||||||
if (System.getProperty('os.name') == 'Mac OS X')
|
|
||||||
test.exclude '**/TestNativeTranslator.class'
|
|
||||||
|
|
Loading…
Reference in New Issue