diff --git a/core/org.eclipse.cdt.core.macosx/os/macosx/aarch64/libpty.jnilib b/core/org.eclipse.cdt.core.macosx/os/macosx/aarch64/libpty.jnilib
new file mode 100755
index 00000000000..a8028f753b0
Binary files /dev/null and b/core/org.eclipse.cdt.core.macosx/os/macosx/aarch64/libpty.jnilib differ
diff --git a/core/org.eclipse.cdt.core.macosx/os/macosx/aarch64/libspawner.jnilib b/core/org.eclipse.cdt.core.macosx/os/macosx/aarch64/libspawner.jnilib
new file mode 100755
index 00000000000..1b2ebe73c12
Binary files /dev/null and b/core/org.eclipse.cdt.core.macosx/os/macosx/aarch64/libspawner.jnilib differ
diff --git a/core/org.eclipse.cdt.core.macosx/os/macosx/x86/libpty.jnilib b/core/org.eclipse.cdt.core.macosx/os/macosx/x86/libpty.jnilib
deleted file mode 100755
index de7d60029f0..00000000000
Binary files a/core/org.eclipse.cdt.core.macosx/os/macosx/x86/libpty.jnilib and /dev/null differ
diff --git a/core/org.eclipse.cdt.core.macosx/os/macosx/x86/libspawner.jnilib b/core/org.eclipse.cdt.core.macosx/os/macosx/x86/libspawner.jnilib
deleted file mode 100755
index a097fc1db4b..00000000000
Binary files a/core/org.eclipse.cdt.core.macosx/os/macosx/x86/libspawner.jnilib and /dev/null differ
diff --git a/core/org.eclipse.cdt.core.macosx/os/macosx/x86_64/libpty.jnilib b/core/org.eclipse.cdt.core.macosx/os/macosx/x86_64/libpty.jnilib
index a8203f2dd01..f3827e81292 100755
Binary files a/core/org.eclipse.cdt.core.macosx/os/macosx/x86_64/libpty.jnilib and b/core/org.eclipse.cdt.core.macosx/os/macosx/x86_64/libpty.jnilib differ
diff --git a/core/org.eclipse.cdt.core.macosx/os/macosx/x86_64/libspawner.jnilib b/core/org.eclipse.cdt.core.macosx/os/macosx/x86_64/libspawner.jnilib
index 34c3601f401..f5fc0ca37d4 100755
Binary files a/core/org.eclipse.cdt.core.macosx/os/macosx/x86_64/libspawner.jnilib and b/core/org.eclipse.cdt.core.macosx/os/macosx/x86_64/libspawner.jnilib differ
diff --git a/core/org.eclipse.cdt.core.macosx/pom.xml b/core/org.eclipse.cdt.core.macosx/pom.xml
index 219985385af..e717b9ab741 100644
--- a/core/org.eclipse.cdt.core.macosx/pom.xml
+++ b/core/org.eclipse.cdt.core.macosx/pom.xml
@@ -40,6 +40,11 @@
cocoa
x86_64
+
+ macosx
+ cocoa
+ aarch64
+
diff --git a/core/org.eclipse.cdt.core.native/native_src/Makefile b/core/org.eclipse.cdt.core.native/native_src/Makefile
index 149699c824d..e697a513efc 100644
--- a/core/org.eclipse.cdt.core.native/native_src/Makefile
+++ b/core/org.eclipse.cdt.core.native/native_src/Makefile
@@ -24,7 +24,7 @@ OS_DIR_LINUX_X86_64 := ../../org.eclipse.cdt.core.linux.x86_64/os/linux/x86_64
OS_DIR_LINUX_AARCH64 := ../../org.eclipse.cdt.core.linux.aarch64/os/linux/aarch64
OS_DIR_LINUX_PPC64LE := ../../org.eclipse.cdt.core.linux.ppc64le/os/linux/ppc64le
OS_DIR_MACOS_X86_64 := ../../org.eclipse.cdt.core.macosx/os/macosx/x86_64
-OS_DIR_MACOS_X86 := ../../org.eclipse.cdt.core.macosx/os/macosx/x86
+OS_DIR_MACOS_AARCH64 := ../../org.eclipse.cdt.core.macosx/os/macosx/aarch64
COMMON_CFLAGS := -Wall -pedantic -Werror
@@ -42,15 +42,15 @@ LIBS = \
$(OS_DIR_LINUX_PPC64LE)/libpty.so \
$(OS_DIR_MACOS_X86_64)/libspawner.jnilib \
$(OS_DIR_MACOS_X86_64)/libpty.jnilib \
- $(OS_DIR_MACOS_X86)/libspawner.jnilib \
- $(OS_DIR_MACOS_X86)/libpty.jnilib
+ $(OS_DIR_MACOS_AARCH64)/libspawner.jnilib \
+ $(OS_DIR_MACOS_AARCH64)/libpty.jnilib
else
ifeq ($(UNAME),Darwin)
LIBS = \
$(OS_DIR_MACOS_X86_64)/libspawner.jnilib \
$(OS_DIR_MACOS_X86_64)/libpty.jnilib \
- $(OS_DIR_MACOS_X86)/libspawner.jnilib \
- $(OS_DIR_MACOS_X86)/libpty.jnilib
+ $(OS_DIR_MACOS_AARCH64)/libspawner.jnilib \
+ $(OS_DIR_MACOS_AARCH64)/libpty.jnilib
else
LIBS = \
$(OS_DIR_WIN32_X86_64)/starter.exe \
@@ -68,8 +68,8 @@ rebuild: clean all
MAC_TO_SIGN=$(OS_DIR_MACOS_X86_64)/libspawner.jnilib \
$(OS_DIR_MACOS_X86_64)/libpty.jnilib \
- $(OS_DIR_MACOS_X86)/libspawner.jnilib \
- $(OS_DIR_MACOS_X86)/libpty.jnilib
+ $(OS_DIR_MACOS_AARCH64)/libspawner.jnilib \
+ $(OS_DIR_MACOS_AARCH64)/libpty.jnilib
WIN_TO_SIGN=$(OS_DIR_WIN32_X86_64)/starter.exe \
$(OS_DIR_WIN32_X86_64)/spawner.dll \
$(OS_DIR_WIN32_X86_64)/pty.dll
@@ -169,29 +169,29 @@ $(OS_DIR_LINUX_PPC64LE)/libpty.so: unix/openpty.c unix/pty.c unix/ptyio.c
# macos x86_64
$(OS_DIR_MACOS_X86_64)/libspawner.jnilib: unix/spawner.c unix/io.c unix/exec_unix.c unix/exec_pty.c unix/openpty.c unix/pfind.c
mkdir -p $(dir $@) && \
- x86_64-apple-darwin17-clang $(COMMON_CFLAGS) -o $@ -arch x86_64 -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin -fPIC \
+ x86_64-apple-darwin21.1-clang $(COMMON_CFLAGS) -o $@ -arch x86_64 -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin -fPIC \
-D_REENTRANT \
$^ \
- -dynamiclib -lc -framework JavaVM
+ -dynamiclib -lc
$(OS_DIR_MACOS_X86_64)/libpty.jnilib: unix/openpty.c unix/pty.c unix/ptyio.c
mkdir -p $(dir $@) && \
- x86_64-apple-darwin17-clang $(COMMON_CFLAGS) -o $@ -arch x86_64 -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin -fPIC \
+ x86_64-apple-darwin21.1-clang $(COMMON_CFLAGS) -o $@ -arch x86_64 -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin -fPIC \
-D_REENTRANT \
$^ \
- -dynamiclib -lc -framework JavaVM
+ -dynamiclib -lc
-# macos x86
-$(OS_DIR_MACOS_X86)/libspawner.jnilib: unix/spawner.c unix/io.c unix/exec_unix.c unix/exec_pty.c unix/openpty.c unix/pfind.c
+# macos aarch64
+$(OS_DIR_MACOS_AARCH64)/libspawner.jnilib: unix/spawner.c unix/io.c unix/exec_unix.c unix/exec_pty.c unix/openpty.c unix/pfind.c
mkdir -p $(dir $@) && \
- x86_64-apple-darwin17-clang $(COMMON_CFLAGS) -o $@ -arch i386 -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin -fPIC \
+ arm64-apple-darwin21.1-clang $(COMMON_CFLAGS) -o $@ -arch arm64 -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin -fPIC \
-D_REENTRANT \
$^ \
- -dynamiclib -lc -framework JavaVM
+ -dynamiclib -lc
-$(OS_DIR_MACOS_X86)/libpty.jnilib: unix/openpty.c unix/pty.c unix/ptyio.c
+$(OS_DIR_MACOS_AARCH64)/libpty.jnilib: unix/openpty.c unix/pty.c unix/ptyio.c
mkdir -p $(dir $@) && \
- x86_64-apple-darwin17-clang $(COMMON_CFLAGS) -o $@ -arch i386 -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin -fPIC \
+ arm64-apple-darwin21.1-clang $(COMMON_CFLAGS) -o $@ -arch arm64 -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin -fPIC \
-D_REENTRANT \
$^ \
- -dynamiclib -lc -framework JavaVM
+ -dynamiclib -lc
diff --git a/native/org.eclipse.cdt.native.serial/native_src/Makefile b/native/org.eclipse.cdt.native.serial/native_src/Makefile
index 1077eee686b..078c9b5c5b7 100644
--- a/native/org.eclipse.cdt.native.serial/native_src/Makefile
+++ b/native/org.eclipse.cdt.native.serial/native_src/Makefile
@@ -31,7 +31,8 @@ LIBS = \
$(OS_DIR)/linux/x86_64/libserial.so \
$(OS_DIR)/linux/aarch64/libserial.so \
$(OS_DIR)/linux/ppc64le/libserial.so \
- $(OS_DIR)/macosx/x86_64/libserial.jnilib
+ $(OS_DIR)/macosx/x86_64/libserial.jnilib \
+ $(OS_DIR)/macosx/aarch64/libserial.jnilib
else
ifeq ($(UNAME),Darwin)
LIBS = \
@@ -47,7 +48,7 @@ all: $(LIBS)
clean :
$(RM) $(LIBS)
-MAC_TO_SIGN=$(OS_DIR)/macosx/x86_64/libserial.jnilib
+MAC_TO_SIGN=$(OS_DIR)/macosx/x86_64/libserial.jnilib $(OS_DIR)/macosx/aarch64/libserial.jnilib
WIN_TO_SIGN=$(OS_DIR)/win32/x86_64/serial.dll
### This block of code also exists in core/org.eclipse.cdt.core.native/native_src/Makefile
TMPDIR := $(shell mktemp -d -t production-XXXXXXXXXX)
@@ -93,4 +94,8 @@ $(OS_DIR)/linux/ppc64le/libserial.so: serial.c
$(OS_DIR)/macosx/x86_64/libserial.jnilib: serial.c
mkdir -p $(dir $@) && \
- x86_64-apple-darwin17-clang $(COMMON_CFLAGS) $(CFLAGS) -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin $(LDFLAGS) -dynamiclib -o $@ $^
+ x86_64-apple-darwin21.1-clang $(COMMON_CFLAGS) $(CFLAGS) -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin $(LDFLAGS) -dynamiclib -o $@ $^
+
+$(OS_DIR)/macosx/aarch64/libserial.jnilib: serial.c
+ mkdir -p $(dir $@) && \
+ arm64-apple-darwin21.1-clang $(COMMON_CFLAGS) $(CFLAGS) -Iinclude -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin $(LDFLAGS) -dynamiclib -o $@ $^
diff --git a/native/org.eclipse.cdt.native.serial/os/macosx/aarch64/libserial.jnilib b/native/org.eclipse.cdt.native.serial/os/macosx/aarch64/libserial.jnilib
new file mode 100755
index 00000000000..dcebcd9e97d
Binary files /dev/null and b/native/org.eclipse.cdt.native.serial/os/macosx/aarch64/libserial.jnilib differ
diff --git a/native/org.eclipse.cdt.native.serial/os/macosx/x86_64/libserial.jnilib b/native/org.eclipse.cdt.native.serial/os/macosx/x86_64/libserial.jnilib
index 0130f5debb1..4915bcadadc 100755
Binary files a/native/org.eclipse.cdt.native.serial/os/macosx/x86_64/libserial.jnilib and b/native/org.eclipse.cdt.native.serial/os/macosx/x86_64/libserial.jnilib differ
diff --git a/pom.xml b/pom.xml
index ea8bab65291..d5347a231bc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -673,6 +673,11 @@
cocoa
x86_64
+
+ macosx
+ cocoa
+ aarch64
+