Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLakshmi Shanmugam2021-03-19 10:05:29 +0000
committerLakshmi P Shanmugam2021-03-22 17:36:14 +0000
commit69e424f2c90894d4c5de724b10d3bc98174c2230 (patch)
tree4c733c4661ddbe9be6438a5f9c2cae41e8f74a6c
parent5393b8c5b88759b23f252f2ca27474a542ef86b2 (diff)
downloadeclipse.platform.resources-69e424f2c90894d4c5de724b10d3bc98174c2230.tar.gz
eclipse.platform.resources-69e424f2c90894d4c5de724b10d3bc98174c2230.tar.xz
eclipse.platform.resources-69e424f2c90894d4c5de724b10d3bc98174c2230.zip
Bug 572096 - Build core.filesystem library for arm64
Make file changes to build Mac arm64 + x86_64 universal library XCode 12.2 or newer is required to build the universal binary, but JavaVM framework is not available since XCode 12.2. Removed JavaVM from Makefile. Built the universal library on Jenkins mac slave Change-Id: Id0228abbd3559bd42d57c811ddb97517f15a7b30
-rw-r--r--bundles/org.eclipse.core.filesystem.macosx/BUILD_INFO.txt14
-rwxr-xr-x[-rw-r--r--]bundles/org.eclipse.core.filesystem.macosx/os/macosx/libunixfile_1_0_0.jnilibbin33840 -> 117904 bytes
-rw-r--r--bundles/org.eclipse.core.filesystem/natives/unix/README.TXT9
-rwxr-xr-x[-rw-r--r--]bundles/org.eclipse.core.filesystem/natives/unix/macosx/Makefile8
4 files changed, 20 insertions, 11 deletions
diff --git a/bundles/org.eclipse.core.filesystem.macosx/BUILD_INFO.txt b/bundles/org.eclipse.core.filesystem.macosx/BUILD_INFO.txt
index 9f56ba7ef..293d66738 100644
--- a/bundles/org.eclipse.core.filesystem.macosx/BUILD_INFO.txt
+++ b/bundles/org.eclipse.core.filesystem.macosx/BUILD_INFO.txt
@@ -1,10 +1,10 @@
Native Build Info:
------------------
-Platform: iMac
-Built by: pawel.pogorzelski@pl.ibm.com
-Build date: 21-Jan-2010
-OS Name: Mac OS X
-OS Version: 10.5.7
-Compiler version: gcc version 4.0.1
-Java version: Standard Edition (build 1.5.0_19-137) \ No newline at end of file
+Platform: Jenkins Mac slave (b9h15-macos10.15)
+Build date: 22-Mar-2021
+OS Name: macOS
+OS Version: 10.15.7
+Compiler version: Apple clang version 12.0.0
+Java version: jdk1.8.0_192
+Architecture: x86_64 and arm64 (universal binary) \ No newline at end of file
diff --git a/bundles/org.eclipse.core.filesystem.macosx/os/macosx/libunixfile_1_0_0.jnilib b/bundles/org.eclipse.core.filesystem.macosx/os/macosx/libunixfile_1_0_0.jnilib
index 945bbb717..76a742067 100644..100755
--- a/bundles/org.eclipse.core.filesystem.macosx/os/macosx/libunixfile_1_0_0.jnilib
+++ b/bundles/org.eclipse.core.filesystem.macosx/os/macosx/libunixfile_1_0_0.jnilib
Binary files differ
diff --git a/bundles/org.eclipse.core.filesystem/natives/unix/README.TXT b/bundles/org.eclipse.core.filesystem/natives/unix/README.TXT
index 8bf350b64..b0b1c8c28 100644
--- a/bundles/org.eclipse.core.filesystem/natives/unix/README.TXT
+++ b/bundles/org.eclipse.core.filesystem/natives/unix/README.TXT
@@ -1,3 +1,10 @@
This directory contains the source code for Unix-based platforms,
including Linux and Mac OS X. These platforms
-all share the same C source, but have different makefiles. \ No newline at end of file
+all share the same C source, but have different makefiles.
+
+The macOS library in the macosx fragment is a Mach-O universal binary with
+2 architectures: [x86_64:Mach-O 64-bit bundle x86_64] [arm64:Mach-O 64-bit bundle arm64]
+XCode 12.2 or newer is required to build this.
+
+Command to run:
+make -f Makefile clean install \ No newline at end of file
diff --git a/bundles/org.eclipse.core.filesystem/natives/unix/macosx/Makefile b/bundles/org.eclipse.core.filesystem/natives/unix/macosx/Makefile
index 4b37821c1..e996bb6bd 100644..100755
--- a/bundles/org.eclipse.core.filesystem/natives/unix/macosx/Makefile
+++ b/bundles/org.eclipse.core.filesystem/natives/unix/macosx/Makefile
@@ -19,12 +19,14 @@ LIB_NAME_FULL=libunixfile_1_0_0.jnilib
JAVA_HOME=$(shell /usr/libexec/java_home)
+$(info JAVA_HOME is $(JAVA_HOME))
+
JDK_INCLUDE=-I $(JAVA_HOME)/include -I $(JAVA_HOME)/include/darwin
MACOSX_DEPLOYMENT_TARGET=10.10
-FRAMEWORKS=-framework JavaVM -framework CoreServices
+FRAMEWORKS=-framework CoreServices
# define MACOSX to include Mac OS X specific code
-CC_FLAGS=-arch x86_64 -mmacosx-version-min=10.10 -DMACOSX
+CC_FLAGS=-arch x86_64 -arch arm64 -mmacosx-version-min=10.10 -DMACOSX
core:
cc $(JDK_INCLUDE) $(CORE.C) -o $(LIB_NAME_FULL) -bundle $(FRAMEWORKS) $(CC_FLAGS)
@@ -32,6 +34,6 @@ core:
clean:
rm -f $(LIB_NAME_FULL)
-install:
+install: core
rm -f ../../../../org.eclipse.core.filesystem.macosx/os/macosx/$(LIB_NAME_FULL)
mv $(LIB_NAME_FULL) ../../../../org.eclipse.core.filesystem.macosx/os/macosx/

Back to the top