Hi! I help out with the Homebrew project, and we just noticed the following chunk in build.xml:
<release-delta-extract-platform osname="macosx" osarch="universal" bits="32" wrapperbinhead="wrapper" wrapperbintail="" wrapperlibhead="libwrapper" wrapperlibtail=".jnilib" archivetype="tar.gz"/>
<release-delta-extract-platform osname="macosx" osarch="universal" bits="64" wrapperbinhead="wrapper" wrapperbintail="" wrapperlibhead="libwrapper" wrapperlibtail=".jnilib" archivetype="tar.gz"/>
<release-delta-extract-platform osname="macosx" osarch="arm" bits="64" wrapperbinhead="wrapper" wrapperbintail="" wrapperlibhead="libwrapper" wrapperlibtail=".dylib" archivetype="tar.gz"/>
and similar differentiation in the macOS Makefiles.
Is there a reason why the macOS wrapper library has a .jnilib extension on Intel, but .dylib on Apple Silicon? Will this be unified to .dylib in a future release?
Thanks much!
The file extensions are actually decided by the JVM. Those are the extensions that Java is expecting when loading JNI native libraries. I don't think there is anything we can do about it.
Other UNIX platforms also have other extensions.
I agree that it would be nice to be able to keep them all the same.
Cheers,
Leif