Skip to content

Commit

Permalink
Update to Xcode 12.2 for Mac OS X on Travis CI
Browse files Browse the repository at this point in the history
 * Add support for Mac on ARM processors
  • Loading branch information
saudet committed Dec 18, 2020
1 parent 139c4d5 commit 87a6194
Show file tree
Hide file tree
Showing 7 changed files with 180 additions and 5 deletions.
7 changes: 5 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,18 +102,21 @@ jobs:
mvn clean $MAVEN_PHASE -B -V -U -s $HOME/settings.xml -f platform/pom.xml -Djavacpp.platform.host;
"
- os: osx
osx_image: xcode10.1
osx_image: xcode12.2
language: java
env: PLATFORMS="ios-arm64 ios-x86_64 macosx-x86_64"
env: PLATFORMS="ios-arm64 ios-x86_64 macosx-arm64 macosx-x86_64"
install:
- brew install gpg1
- brew tap AdoptOpenJDK/openjdk
- brew cask install adoptopenjdk8
- export JAVA_HOME=$(/usr/libexec/java_home -v1.8)
- export MACOSX_DEPLOYMENT_TARGET=10.13
- export PATH="/usr/local/opt/gpg1/libexec/gpgbin/:$PATH"
- sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/* # Remove SDKs without ARM support
script:
- mvn clean $MAVEN_PHASE -B -V -U -s $HOME/settings.xml -Djavacpp.platform=ios-arm64 -Dmaven.javadoc.skip -Dmaven.test.skip -Dinvoker.skip
- mvn clean $MAVEN_PHASE -B -V -U -s $HOME/settings.xml -Djavacpp.platform=ios-x86_64 -Dmaven.javadoc.skip -Dmaven.test.skip -Dinvoker.skip
- mvn clean $MAVEN_PHASE -B -V -U -s $HOME/settings.xml -Djavacpp.platform=macosx-arm64 -Dmaven.javadoc.skip -Dmaven.test.skip -Dinvoker.skip
- mvn clean $MAVEN_PHASE -B -V -U -s $HOME/settings.xml -Djavacpp.platform=macosx-x86_64
- os: windows
language: bash
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@

* Add support for Mac on ARM processors
* Fix `Loader` not searching for libraries in more than one package
* Prevent `Builder` from linking with `-framework JavaVM` when a path to the JVM library is found
* Replace `requires` with `requires static` in JPMS `.platform` module ([pull #436](https://github.com/bytedeco/javacpp/pull/436))
Expand Down
109 changes: 108 additions & 1 deletion platform/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@
<javacpp.platform.linux-ppc64le>linux-ppc64le${javacpp.platform.extension}</javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86>linux-x86${javacpp.platform.extension}</javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64>linux-x86_64${javacpp.platform.extension}</javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64>macosx-arm64${javacpp.platform.extension}</javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64>macosx-x86_64${javacpp.platform.extension}</javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86>windows-x86${javacpp.platform.extension}</javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64>windows-x86_64${javacpp.platform.extension}</javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -146,6 +147,12 @@
<version>${project.version}</version>
<classifier>${javacpp.platform.linux-x86_64}</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacpp</artifactId>
<version>${project.version}</version>
<classifier>${javacpp.platform.macosx-arm64}</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacpp</artifactId>
Expand Down Expand Up @@ -233,7 +240,7 @@
<configuration>
<archive>
<manifestEntries>
<Class-Path>javacpp.jar javacpp-linux-armhf.jar javacpp-linux-arm64.jar javacpp-linux-ppc64le.jar javacpp-linux-x86.jar javacpp-linux-x86_64.jar javacpp-macosx-x86_64.jar javacpp-windows-x86.jar javacpp-windows-x86_64.jar</Class-Path>
<Class-Path>javacpp.jar javacpp-linux-armhf.jar javacpp-linux-arm64.jar javacpp-linux-ppc64le.jar javacpp-linux-x86.jar javacpp-linux-x86_64.jar javacpp-macosx-arm64.jar javacpp-macosx-x86_64.jar javacpp-windows-x86.jar javacpp-windows-x86_64.jar</Class-Path>
</manifestEntries>
</archive>
</configuration>
Expand Down Expand Up @@ -419,6 +426,7 @@
<javacpp.platform.linux-ppc64le>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -447,6 +455,7 @@
<javacpp.platform.linux-ppc64le>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64>${os.name}-${os.arch}${javacpp.platform.extension}</javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -475,6 +484,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -503,6 +513,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -532,6 +543,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -560,6 +572,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -588,6 +601,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -616,6 +630,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -644,6 +659,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -672,6 +688,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -700,6 +717,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -728,6 +746,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -756,6 +775,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -784,6 +804,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -812,6 +833,7 @@
<javacpp.platform.linux-ppc64le>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -840,6 +862,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -868,6 +891,36 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
</properties>
</profile>

<profile>
<id>javacpp-platform-macosx-arm64</id>
<activation>
<property>
<name>javacpp.platform</name>
<value>macosx-arm64</value>
</property>
</activation>
<properties>
<javacpp.platform.android-arm></javacpp.platform.android-arm>
<javacpp.platform.android-arm64></javacpp.platform.android-arm64>
<javacpp.platform.android-x86></javacpp.platform.android-x86>
<javacpp.platform.android-x86_64></javacpp.platform.android-x86_64>
<javacpp.platform.ios-arm></javacpp.platform.ios-arm>
<javacpp.platform.ios-arm64></javacpp.platform.ios-arm64>
<javacpp.platform.ios-x86></javacpp.platform.ios-x86>
<javacpp.platform.ios-x86_64></javacpp.platform.ios-x86_64>
<javacpp.platform.linux-armhf></javacpp.platform.linux-armhf>
<javacpp.platform.linux-arm64></javacpp.platform.linux-arm64>
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -896,6 +949,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -924,6 +978,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64></javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -952,6 +1007,7 @@
<javacpp.platform.linux-ppc64le></javacpp.platform.linux-ppc64le>
<javacpp.platform.linux-x86></javacpp.platform.linux-x86>
<javacpp.platform.linux-x86_64></javacpp.platform.linux-x86_64>
<javacpp.platform.macosx-arm64></javacpp.platform.macosx-arm64>
<javacpp.platform.macosx-x86_64></javacpp.platform.macosx-x86_64>
<javacpp.platform.windows-x86></javacpp.platform.windows-x86>
<javacpp.platform.windows-x86_64>${javacpp.platform}${javacpp.platform.extension}</javacpp.platform.windows-x86_64>
Expand Down Expand Up @@ -1128,6 +1184,18 @@
</properties>
</profile>

<profile>
<id>javacpp.platform.macosx-arm64-true</id>
<activation>
<property>
<name>javacpp.platform.macosx-arm64</name>
</property>
</activation>
<properties>
<javacpp.platform.macosx-arm64>macosx-arm64${javacpp.platform.extension}</javacpp.platform.macosx-arm64>
</properties>
</profile>

<profile>
<id>javacpp.platform.windows-x86-true</id>
<activation>
Expand Down Expand Up @@ -1269,6 +1337,45 @@
</properties>
</profile>

<profile>
<id>javacpp.platform.custom-macosx-aarch64</id>
<activation>
<property>
<name>javacpp.platform.host</name>
</property>
<os><name>mac os x</name><arch>aarch64</arch></os>
</activation>
<properties>
<javacpp.platform.macosx-arm64>macosx-arm64${javacpp.platform.extension}</javacpp.platform.macosx-arm64>
</properties>
</profile>

<profile>
<id>javacpp.platform.custom-macosx-armv8</id>
<activation>
<property>
<name>javacpp.platform.host</name>
</property>
<os><name>mac os x</name><arch>armv8</arch></os>
</activation>
<properties>
<javacpp.platform.macosx-arm64>macosx-arm64${javacpp.platform.extension}</javacpp.platform.macosx-arm64>
</properties>
</profile>

<profile>
<id>javacpp.platform.custom-macosx-arm64</id>
<activation>
<property>
<name>javacpp.platform.host</name>
</property>
<os><name>mac os x</name><arch>arm64</arch></os>
</activation>
<properties>
<javacpp.platform.macosx-arm64>macosx-arm64${javacpp.platform.extension}</javacpp.platform.macosx-arm64>
</properties>
</profile>

<profile>
<id>javacpp.platform.custom-macosx-amd64</id>
<activation>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
platform=macosx-arm
platform.path.separator=:
platform.source.suffix=.cpp
platform.includepath.prefix=-I
platform.includepath=
platform.compiler=clang++
platform.compiler.cpp98=-std=c++98
platform.compiler.cpp03=-std=c++03
platform.compiler.cpp11=-std=c++11
platform.compiler.cpp14=-std=c++14
platform.compiler.cpp17=-std=c++17
platform.compiler.debug=-O0 -g
platform.compiler.default=-O3
platform.compiler.fastfpu=-ffast-math
platform.compiler.nodeprecated=-Wno-deprecated-declarations
platform.compiler.noexceptions=-fno-exceptions -fno-rtti
platform.compiler.nowarnings=-w
platform.compiler.output=-arch armv7 -Wl,-rpath,@loader_path/. -Wall -fPIC -pthread -dynamiclib -undefined dynamic_lookup -o\u0020
platform.linkpath.prefix=-L
platform.linkpath.prefix2=-Wl,-rpath,
platform.linkpath=
platform.link.prefix=-l
platform.link.suffix=
platform.link=
platform.frameworkpath.prefix=-F
platform.framework.prefix=-framework\u0020
platform.framework.suffix=
platform.framework=
platform.executable.prefix=
platform.executable.suffix=
platform.library.prefix=lib
platform.library.suffix=.dylib:.so
Loading

0 comments on commit 87a6194

Please sign in to comment.