summaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2023-05-04 23:19:43 +0200
committerSven Gothel <[email protected]>2023-05-04 23:19:43 +0200
commitc0027eb10c20e41bdcbb2aff3ecb00c5b6351f31 (patch)
treecd7eb94fd69ed95fcb327030439c0abad11b915c /make
parent69f72ff942f8c4dfb990a9d816a18867e220854b (diff)
Roll back MacOS Min Version Requirement to 10.5 from 11.0 (macosx-version-min)
MacOSX compiler configuration. 2023-05-04 Actively supported architectures are 'x86_64' and 'arm64'. XCode 14.2 on a MacOS 12.6.5 x86_64 (mac-mini) machine is capable to produce fat-lipo code for MacOS >= 10.5 for 'x86_64' and 'arm64'. The MacOS SDK 11.3 has been re-added from a previous XCode installation. However, alternative source is <https://github.com/phracker/MacOSX-SDKs>. Only for using C++ and hence the C++ STL, the minimum version is 10.7 due to clang++ libc++. This is currently the case for JOAL's bundled openal-soft, as well as for JOGL's optional oculusvr-sdk (disabled).
Diffstat (limited to 'make')
-rwxr-xr-xmake/gluegen-cpptasks-base.xml25
-rw-r--r--make/scripts/make.macosx.jdk_lipo_libs.sh13
2 files changed, 36 insertions, 2 deletions
diff --git a/make/gluegen-cpptasks-base.xml b/make/gluegen-cpptasks-base.xml
index 33d9c9f..8cac554 100755
--- a/make/gluegen-cpptasks-base.xml
+++ b/make/gluegen-cpptasks-base.xml
@@ -1220,8 +1220,29 @@
</defineset>
</compiler>
- <!-- MacOSX compiler configuration -->
+ <!--
+ MacOSX compiler configuration.
+
+ 2023-05-04 Actively supported architectures are 'x86_64' and 'arm64'.
+
+ XCode 14.2 on a MacOS 12.6.5 x86_64 (mac-mini) machine
+ using MacOS SDK 11.3 is capable to produce fat-lipo code
+ for MacOS >= 10.5 lipo libs covering 'x86_64' and 'arm64'.
+ The MacOS SDK 11.3 has been re-added from a previous XCode installation.
+ However, alternative source is <https://github.com/phracker/MacOSX-SDKs>.
+ Only for using C++ and hence the C++ STL,
+ the minimum version is 10.7 due to clang++ libc++.
+ This is currently the case for JOAL's bundled openal-soft,
+ as well as for JOGL's optional oculusvr-sdk (disabled).
+
+ The official JogAmp build uses
+ - `export SDKROOT=macosx11.3` (environment variable)
+ - `java.lib.dir.platform=/Users/jogamp/temurin-17.jdk.fat.lib` (file ~/gluegen.properties)
+ - generated by `make/scripts/make.macosx.jdk_lipo_libs.sh`
+
+ Sync with doc/HowToBuild.html
+ -->
<compiler id="compiler.cfg.macosx" name="${gcc.compat.compiler}">
<!-- Note: Apple doesn't seem to provide ppc binaries on Snow Leopard -->
<compilerarg value="-arch" if="use.macosppc"/>
@@ -1235,7 +1256,7 @@
<!-- Note: Apple doesn't seem to provide ppc64 binaries on Leopard -->
<compilerarg value="-Wmost" />
<compilerarg value="-ObjC" />
- <compilerarg value="-mmacosx-version-min=11.0"/>
+ <compilerarg value="-mmacosx-version-min=10.5"/>
<!-- sysincludepath path="${macosx.sdkroot}" if="macosx.sdkroot"/ -->
<defineset>
<define name="_DEBUG" if="c.compiler.use-debug"/>
diff --git a/make/scripts/make.macosx.jdk_lipo_libs.sh b/make/scripts/make.macosx.jdk_lipo_libs.sh
index 3dcb9ab..5619bc5 100644
--- a/make/scripts/make.macosx.jdk_lipo_libs.sh
+++ b/make/scripts/make.macosx.jdk_lipo_libs.sh
@@ -1,5 +1,18 @@
#! /bin/sh
+#
+# First unpack the OpenJDK (Temurin) package
+# for amd64 and arm64.
+# Then copy each lib-folder 'temurin-xy.jdk/Contents/Home/lib/'
+# to their respective target lib-folder:
+# - temurin-xy.jdk.amd64.lib/
+# - temurin-xy.jdk.arm64.lib/
+#
+# Now we can run this script producing fat lipo dylib files,
+# placed into
+# - temurin-xy.jdk.fat.lib
+#
+
amd64_dir=$HOME/temurin-17.jdk.amd64.lib
arm64_dir=$HOME/temurin-17.jdk.arm64.lib
fat_dir=$HOME/temurin-17.jdk.fat.lib