diff --git a/LICENSE b/LICENSE
index 9d95afbeb..40c936664 100644
--- a/LICENSE
+++ b/LICENSE
@@ -4,7 +4,8 @@ Java Native Access (JNA) is licensed under the LGPL, version 2.1
or later, or (from version 4.0 onward) the Apache License,
version 2.0.
-You can freely decide which license you want to apply to the project.
+You can freely decide which of these licenses to apply to JNA's own code.
+Bundled third-party code retains its own license, please also see NOTICE file.
You may obtain a copy of the LGPL License at:
@@ -23,4 +24,4 @@ containing JNA, in file "AL2.0", under the same directory
as this file.
Commercial support may be available, please e-mail
-twall[at]users[dot]sf[dot]net.
+twall[at]users[dot]sf[dot]net.
\ No newline at end of file
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 000000000..475869692
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,23 @@
+Java Native Access (JNA)
+
+libffi - Copyright (c) 1996-2022 Anthony Green, Red Hat, Inc and others.
+See source files for details.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+``Software''), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/build.xml b/build.xml
index 00bf10900..842d95f08 100644
--- a/build.xml
+++ b/build.xml
@@ -272,6 +272,7 @@
+
@@ -571,7 +572,7 @@ osname=macosx;processor=aarch64
includes="*jnidispatch*"
prefix="com/sun/jna/w32ce-arm"/>
@@ -609,26 +610,29 @@ osname=macosx;processor=aarch64
+ includes="*jnidispatch*"
+ prefix="jni/arm64-v8a"/>
+ includes="*jnidispatch*"
+ prefix="jni/armeabi"/>
+ includes="*jnidispatch*"
+ prefix="jni/armeabi-v7a"/>
+ includes="*jnidispatch*"
+ prefix="jni/mips"/>
+ includes="*jnidispatch*"
+ prefix="jni/mips64"/>
+ includes="*jnidispatch*"
+ prefix="jni/x86_64"/>
+ includes="*jnidispatch*"
+ prefix="jni/x86"/>
+
@@ -981,6 +985,7 @@ zip ../${os.prefix}.jar libjnidispatch.so jnidispatch.dll libjnidispatch.a
cd ..
+
@@ -1044,6 +1049,7 @@ cd ..
+
@@ -1161,6 +1167,7 @@ cd ..
+
diff --git a/lib/native/aix-ppc.jar b/lib/native/aix-ppc.jar
index b276542d2..0c23f36b7 100644
Binary files a/lib/native/aix-ppc.jar and b/lib/native/aix-ppc.jar differ
diff --git a/lib/native/aix-ppc64.jar b/lib/native/aix-ppc64.jar
index c8d1cbacf..fbe86238a 100644
Binary files a/lib/native/aix-ppc64.jar and b/lib/native/aix-ppc64.jar differ
diff --git a/lib/native/android-aarch64.jar b/lib/native/android-aarch64.jar
index 3355b63c8..406ae88f3 100644
Binary files a/lib/native/android-aarch64.jar and b/lib/native/android-aarch64.jar differ
diff --git a/lib/native/android-arm.jar b/lib/native/android-arm.jar
index aa53b982d..b4a390687 100644
Binary files a/lib/native/android-arm.jar and b/lib/native/android-arm.jar differ
diff --git a/lib/native/android-armv7.jar b/lib/native/android-armv7.jar
index ee41cbafd..373123429 100644
Binary files a/lib/native/android-armv7.jar and b/lib/native/android-armv7.jar differ
diff --git a/lib/native/android-mips.jar b/lib/native/android-mips.jar
index 49ecc391a..e195018c1 100644
Binary files a/lib/native/android-mips.jar and b/lib/native/android-mips.jar differ
diff --git a/lib/native/android-mips64.jar b/lib/native/android-mips64.jar
index 8b7cde1d8..55c51e3ab 100644
Binary files a/lib/native/android-mips64.jar and b/lib/native/android-mips64.jar differ
diff --git a/lib/native/android-x86-64.jar b/lib/native/android-x86-64.jar
index 4b5dc2294..6364755fe 100644
Binary files a/lib/native/android-x86-64.jar and b/lib/native/android-x86-64.jar differ
diff --git a/lib/native/android-x86.jar b/lib/native/android-x86.jar
index b535a2926..3e210a8bd 100644
Binary files a/lib/native/android-x86.jar and b/lib/native/android-x86.jar differ
diff --git a/lib/native/darwin-aarch64.jar b/lib/native/darwin-aarch64.jar
index 6aae8d230..6780effc5 100644
Binary files a/lib/native/darwin-aarch64.jar and b/lib/native/darwin-aarch64.jar differ
diff --git a/lib/native/darwin-x86-64.jar b/lib/native/darwin-x86-64.jar
index 46ca9c0a3..7c57558a6 100644
Binary files a/lib/native/darwin-x86-64.jar and b/lib/native/darwin-x86-64.jar differ
diff --git a/lib/native/dragonflybsd-x86-64.jar b/lib/native/dragonflybsd-x86-64.jar
index 75a6adbc0..7bdb98983 100644
Binary files a/lib/native/dragonflybsd-x86-64.jar and b/lib/native/dragonflybsd-x86-64.jar differ
diff --git a/lib/native/freebsd-aarch64.jar b/lib/native/freebsd-aarch64.jar
index d86396814..7aeab033c 100644
Binary files a/lib/native/freebsd-aarch64.jar and b/lib/native/freebsd-aarch64.jar differ
diff --git a/lib/native/freebsd-x86-64.jar b/lib/native/freebsd-x86-64.jar
index 769191b3b..e97f7bc65 100644
Binary files a/lib/native/freebsd-x86-64.jar and b/lib/native/freebsd-x86-64.jar differ
diff --git a/lib/native/freebsd-x86.jar b/lib/native/freebsd-x86.jar
index 46563688d..7b5a7b7eb 100644
Binary files a/lib/native/freebsd-x86.jar and b/lib/native/freebsd-x86.jar differ
diff --git a/lib/native/linux-aarch64.jar b/lib/native/linux-aarch64.jar
index c8ce19c08..618fcb4cb 100644
Binary files a/lib/native/linux-aarch64.jar and b/lib/native/linux-aarch64.jar differ
diff --git a/lib/native/linux-arm.jar b/lib/native/linux-arm.jar
index 216e01524..9c61b035e 100644
Binary files a/lib/native/linux-arm.jar and b/lib/native/linux-arm.jar differ
diff --git a/lib/native/linux-armel.jar b/lib/native/linux-armel.jar
index be8554329..5a375fd55 100644
Binary files a/lib/native/linux-armel.jar and b/lib/native/linux-armel.jar differ
diff --git a/lib/native/linux-loongarch64.jar b/lib/native/linux-loongarch64.jar
index c627ff6f1..60b7f5c05 100644
Binary files a/lib/native/linux-loongarch64.jar and b/lib/native/linux-loongarch64.jar differ
diff --git a/lib/native/linux-mips64el.jar b/lib/native/linux-mips64el.jar
index d6098a65d..617d98072 100644
Binary files a/lib/native/linux-mips64el.jar and b/lib/native/linux-mips64el.jar differ
diff --git a/lib/native/linux-ppc.jar b/lib/native/linux-ppc.jar
index 28a8042cd..8b71ff4e7 100644
Binary files a/lib/native/linux-ppc.jar and b/lib/native/linux-ppc.jar differ
diff --git a/lib/native/linux-ppc64le.jar b/lib/native/linux-ppc64le.jar
index 4d6a2d667..ab535e8db 100644
Binary files a/lib/native/linux-ppc64le.jar and b/lib/native/linux-ppc64le.jar differ
diff --git a/lib/native/linux-riscv64.jar b/lib/native/linux-riscv64.jar
index 1acdb1994..388a499f3 100644
Binary files a/lib/native/linux-riscv64.jar and b/lib/native/linux-riscv64.jar differ
diff --git a/lib/native/linux-s390x.jar b/lib/native/linux-s390x.jar
index bb049c0af..51d695779 100644
Binary files a/lib/native/linux-s390x.jar and b/lib/native/linux-s390x.jar differ
diff --git a/lib/native/linux-x86-64.jar b/lib/native/linux-x86-64.jar
index d659f63ac..ec233882e 100644
Binary files a/lib/native/linux-x86-64.jar and b/lib/native/linux-x86-64.jar differ
diff --git a/lib/native/linux-x86.jar b/lib/native/linux-x86.jar
index e4b7ac14f..3e0698135 100644
Binary files a/lib/native/linux-x86.jar and b/lib/native/linux-x86.jar differ
diff --git a/lib/native/openbsd-x86-64.jar b/lib/native/openbsd-x86-64.jar
index 05da099ca..cf8015514 100644
Binary files a/lib/native/openbsd-x86-64.jar and b/lib/native/openbsd-x86-64.jar differ
diff --git a/lib/native/sunos-sparc.jar b/lib/native/sunos-sparc.jar
index 0ee42c41e..2c3bc79d4 100644
Binary files a/lib/native/sunos-sparc.jar and b/lib/native/sunos-sparc.jar differ
diff --git a/lib/native/sunos-sparcv9.jar b/lib/native/sunos-sparcv9.jar
index 960b7a5e5..62028f6d1 100644
Binary files a/lib/native/sunos-sparcv9.jar and b/lib/native/sunos-sparcv9.jar differ
diff --git a/lib/native/sunos-x86-64.jar b/lib/native/sunos-x86-64.jar
index c320a9f8c..4d7f7b8ba 100644
Binary files a/lib/native/sunos-x86-64.jar and b/lib/native/sunos-x86-64.jar differ
diff --git a/lib/native/sunos-x86.jar b/lib/native/sunos-x86.jar
index 40b902412..52017a2c2 100644
Binary files a/lib/native/sunos-x86.jar and b/lib/native/sunos-x86.jar differ
diff --git a/lib/native/win32-aarch64.jar b/lib/native/win32-aarch64.jar
index 776476ef4..0af88a621 100644
Binary files a/lib/native/win32-aarch64.jar and b/lib/native/win32-aarch64.jar differ
diff --git a/lib/native/win32-x86-64.jar b/lib/native/win32-x86-64.jar
index f684cc150..ed723dec5 100644
Binary files a/lib/native/win32-x86-64.jar and b/lib/native/win32-x86-64.jar differ
diff --git a/lib/native/win32-x86.jar b/lib/native/win32-x86.jar
index 45d727450..33d07a1a2 100644
Binary files a/lib/native/win32-x86.jar and b/lib/native/win32-x86.jar differ