diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index dc5cf37fd..2e3d63ba4 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -41,6 +41,16 @@ jobs:
# These names are used in conditional statements below.
java: [ 8, 11, 17, 21 ]
experimental: [false]
+ include:
+ - java: 21
+ os: macos-13-arm64
+ experimental: true
+ - java: 21
+ os: macos-13-arm64
+ experimental: true
+ - java: 21
+ os: macos-13-arm64
+ experimental: true
# include:
# - java: 22-ea
# os: ubuntu-20.04
diff --git a/Makefile b/Makefile
index a839b956a..c3419cfb4 100644
--- a/Makefile
+++ b/Makefile
@@ -93,6 +93,9 @@ mac32:
mac64:
$(MAKE) native OS_NAME=Mac OS_ARCH=x86_64
+macArm64:
+ $(MAKE) native OS_NAME=Mac OS_ARCH=arm64-apple-macos11
+
linux32:
$(MAKE) native OS_NAME=Linux OS_ARCH=x86
diff --git a/Makefile.common b/Makefile.common
index 1dc075c35..3d70ea250 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -53,7 +53,7 @@ endif
# os=Default is meant to be generic Unix/Linux
-known_os_archs := Linux-x86 Linux-x86_64 Linux-aarch64 Linux-arm Linux-armhf Linux-ppc Linux-ppc64 Mac-x86 Mac-x86_64 FreeBSD-x86_64 Windows-x86 Windows-x86_64 SunOS-x86 SunOS-sparc SunOS-x86_64 AIX-ppc64
+known_os_archs := Linux-x86 Linux-x86_64 Linux-aarch64 Linux-arm Linux-armhf Linux-ppc Linux-ppc64 Mac-x86 Mac-x86_64 Mac-arm64 FreeBSD-x86_64 Windows-x86 Windows-x86_64 SunOS-x86 SunOS-sparc SunOS-x86_64 AIX-ppc64
os_arch := $(OS_NAME)-$(OS_ARCH)
ifeq (,$(findstring $(strip $(os_arch)),$(known_os_archs)))
@@ -209,6 +209,16 @@ Mac-x86_64_LIBNAME := libcommons-crypto.jnilib
Mac-x86_64_LIBNAME_OSSL3 := libcommons-crypto-ossl3.jnilib
Mac-x86_64_COMMONS_CRYPTO_FLAGS :=
+Mac-arm64_CC := gcc -arch $(OS_ARCH)
+Mac-arm64_CXX := gcc -arch $(OS_ARCH)
+Mac-arm64_STRIP := strip -x
+Mac-arm64_CFLAGS := -Ilib/inc_mac -I"$(JAVA_HOME)/include" -O2 -fPIC -mmacosx-version-min=11.0 -fvisibility=hidden -I/usr/local/include -I/usr/local/opt/openssl/include
+Mac-arm64_CXXFLAGS := -Ilib/inc_mac -I"$(JAVA_HOME)/include" -O2 -fPIC -mmacosx-version-min=11.0 -fvisibility=hidden -I/usr/local/include -I/usr/local/opt/openssl/include
+Mac-arm64_LINKFLAGS := -dynamiclib -L/usr/local/lib
+Mac-arm64_LIBNAME := libcommons-crypto.jnilib
+Mac-arm64_LIBNAME_OSSL3 := libcommons-crypto-ossl3.jnilib
+Mac-arm64_COMMONS_CRYPTO_FLAGS :=
+
FreeBSD-x86_64_CC := $(CROSS_PREFIX)gcc
FreeBSD-x86_64_CXX := $(CROSS_PREFIX)g++
FreeBSD-x86_64_STRIP := $(CROSS_PREFIX)strip
diff --git a/pom.xml b/pom.xml
index f1ee9d7bf..9242412b6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -148,7 +148,7 @@ The following provides more details on the included cryptographic software:
true
5.13.0
-
all
@@ -291,6 +291,12 @@ The following provides more details on the included cryptographic software:
mac64
+
+ macArm64
+
+ macArm64
+
+
linux32