Skip to content

Commit 365b4f7

Browse files
add apple silicon .dylib to release jar
1 parent 905c1ef commit 365b4f7

File tree

3 files changed

+37
-14
lines changed

3 files changed

+37
-14
lines changed

build.gradle

+25-14
Original file line numberDiff line numberDiff line change
@@ -125,20 +125,31 @@ test {
125125
}
126126

127127
jar {
128-
into(new File('lib').toString()) {
129-
// Linux and macOS
130-
from file("$buildDir/install/lib/libtiledb.so")
131-
from file("$buildDir/install/lib64/libtiledb.so")
132-
from file("$buildDir/tiledb_jni/libtiledbjni.so")
133-
134-
from file("$buildDir/install/lib/libtiledb.dylib")
135-
from file("$buildDir/install/lib64/libtiledb.dylib")
136-
from file("$buildDir/tiledb_jni/libtiledbjni.dylib")
137-
138-
// Windows
139-
from file("$buildDir/install/bin/tbb.dll")
140-
from file("$buildDir/install/bin/tiledb.dll")
141-
from file("$buildDir/tiledb_jni/Release/tiledbjni.dll")
128+
def osName = System.getProperty('os.name').toLowerCase()
129+
def arch = System.getProperty('os.arch').toLowerCase()
130+
131+
if (osName.contains('mac') && arch == "aarch64") {
132+
into(new File('lib/arm').toString()) {
133+
from file("$buildDir/install/lib/libtiledb.dylib")
134+
from file("$buildDir/install/lib64/libtiledb.dylib")
135+
from file("$buildDir/tiledb_jni/libtiledbjni.dylib")
136+
}
137+
}else {
138+
into(new File('lib').toString()) {
139+
// Linux
140+
from file("$buildDir/install/lib/libtiledb.so")
141+
from file("$buildDir/install/lib64/libtiledb.so")
142+
from file("$buildDir/tiledb_jni/libtiledbjni.so")
143+
144+
from file("$buildDir/install/lib/libtiledb.dylib")
145+
from file("$buildDir/install/lib64/libtiledb.dylib")
146+
from file("$buildDir/tiledb_jni/libtiledbjni.dylib")
147+
148+
// Windows
149+
from file("$buildDir/install/bin/tbb.dll")
150+
from file("$buildDir/install/bin/tiledb.dll")
151+
from file("$buildDir/tiledb_jni/Release/tiledbjni.dll")
152+
}
142153
}
143154

144155
manifest {

src/main/java/io/tiledb/libtiledb/NativeLibLoader.java

+6
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,12 @@ private static Path extractLibraryFile(
322322
private static Path findNativeLibrary(String libraryName, boolean mapLibraryName) {
323323
String mappedLibraryName = mapLibraryName ? System.mapLibraryName(libraryName) : libraryName;
324324
String libDir = LIB_RESOURCE_DIR;
325+
326+
if (System.getProperty("os.name").contains("mac")
327+
&& System.getProperty("os.arch").equals("aarch64")) {
328+
libDir += "/arm";
329+
}
330+
325331
String libPath = libDir + "/" + mappedLibraryName;
326332

327333
boolean hasNativeLib = hasResource(libPath);

swig/customCode/NativeLibLoader.java

+6
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,12 @@ private static Path extractLibraryFile(
322322
private static Path findNativeLibrary(String libraryName, boolean mapLibraryName) {
323323
String mappedLibraryName = mapLibraryName ? System.mapLibraryName(libraryName) : libraryName;
324324
String libDir = LIB_RESOURCE_DIR;
325+
326+
if (System.getProperty("os.name").contains("mac")
327+
&& System.getProperty("os.arch").equals("aarch64")) {
328+
libDir += "/arm";
329+
}
330+
325331
String libPath = libDir + "/" + mappedLibraryName;
326332

327333
boolean hasNativeLib = hasResource(libPath);

0 commit comments

Comments
 (0)