From d3f9865123f052b0ad438bbe13db0f9d5191378a Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Tue, 19 Oct 2021 14:24:20 +0200 Subject: [PATCH] Support mac-arm64 platform (#502) --- native/Makefile | 5 ++++- native/Makefile.common | 10 +++++++++- .../mvnd/nativ/Mac/arm64/libmvndnative.jnilib | Bin 0 -> 50801 bytes 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100755 native/src/main/resources/org/mvndaemon/mvnd/nativ/Mac/arm64/libmvndnative.jnilib diff --git a/native/Makefile b/native/Makefile index 8cafe8a2..0548feb5 100644 --- a/native/Makefile +++ b/native/Makefile @@ -52,7 +52,7 @@ NATIVE_DLL:=$(NATIVE_DIR)/$(LIBNAME) # For cross-compilation, install docker. See also https://github.com/dockcross/dockcross # Disabled linux-armv6 build because of this issue; https://github.com/dockcross/dockcross/issues/190 native-all: linux-x86 linux-x86_64 linux-arm linux-armv6 linux-armv7 \ - linux-arm64 linux-ppc64 win-x86 win-x86_64 mac-x86 mac-x86_64 freebsd-x86 freebsd-x86_64 + linux-arm64 linux-ppc64 win-x86 win-x86_64 mac-x86 mac-x86_64 mac-arm64 freebsd-x86 freebsd-x86_64 native: $(NATIVE_DLL) @@ -95,6 +95,9 @@ mac-x86: download-includes mac-x86_64: download-includes docker run -it --rm -v $$PWD:/workdir -e CROSS_TRIPLE=x86_64-apple-darwin multiarch/crossbuild make clean-native native OS_NAME=Mac OS_ARCH=x86_64 +mac-arm64: download-includes + docker run -it --rm -v $$PWD:/src -e TARGET=arm64-apple-darwin mcandre/snek:darwin sh -c "make clean-native native CROSS_PREFIX=arm64-apple-darwin20.4- OS_NAME=Mac OS_ARCH=arm64" + freebsd-x86: download-includes docker run -it --rm -v $$PWD:/workdir empterdose/freebsd-cross-build:9.3 make clean-native native CROSS_PREFIX=i386-freebsd9- OS_NAME=FreeBSD OS_ARCH=x86 diff --git a/native/Makefile.common b/native/Makefile.common index 7bba9c98..f2457032 100644 --- a/native/Makefile.common +++ b/native/Makefile.common @@ -17,7 +17,7 @@ # os=Default is meant to be generic unix/linux -known_targets := Linux-x86 Linux-x86_64 Linux-arm Linux-armv6 Linux-armv7 Linux-android-arm Linux-ppc64 Mac-x86 Mac-x86_64 DragonFly-x86_64 FreeBSD-x86_64 OpenBSD-x86_64 Windows-x86 Windows-x86_64 SunOS-sparcv9 HPUX-ia64_32 +known_targets := Linux-x86 Linux-x86_64 Linux-arm Linux-armv6 Linux-armv7 Linux-android-arm Linux-ppc64 Mac-x86 Mac-x86_64 Mac-arm64 DragonFly-x86_64 FreeBSD-x86_64 OpenBSD-x86_64 Windows-x86 Windows-x86_64 SunOS-sparcv9 HPUX-ia64_32 target := $(OS_NAME)-$(OS_ARCH) ifeq (,$(findstring $(strip $(target)),$(known_targets))) @@ -143,6 +143,14 @@ Mac-x86_64_LINKFLAGS := -dynamiclib Mac-x86_64_LIBNAME := libmvndnative.jnilib Mac-x86_64_JANSI_FLAGS := +Mac-arm64_CC := $(CROSS_PREFIX)clang -v +Mac-arm64_STRIP := $(CROSS_PREFIX)strip -x +MAC_SDK := /usr/local/osxcross/SDK/MacOSX11.3.sdk/ +Mac-arm64_CCFLAGS := -I$(MAC_SDK)/System/Library/Frameworks/JavaVM.framework/Headers -Itarget/inc -Itarget/inc/unix -Os -fPIC -mmacosx-version-min=11.0 -fvisibility=hidden +Mac-arm64_LINKFLAGS := -shared +Mac-arm64_LIBNAME := libmvndnative.jnilib +Mac-arm64_JANSI_FLAGS := + Windows-x86_CC := $(CROSS_PREFIX)gcc Windows-x86_STRIP := $(CROSS_PREFIX)strip Windows-x86_CCFLAGS := -D_JNI_IMPLEMENTATION_ -Itarget/inc -Itarget/inc/windows -Os diff --git a/native/src/main/resources/org/mvndaemon/mvnd/nativ/Mac/arm64/libmvndnative.jnilib b/native/src/main/resources/org/mvndaemon/mvnd/nativ/Mac/arm64/libmvndnative.jnilib new file mode 100755 index 0000000000000000000000000000000000000000..29b37737e20904cf9c8a4b409919f5992fe01b65 GIT binary patch literal 50801 zcmeI5Yiv}<6~|}qHL!jF2At+anuVm5(*ULwPyI)sSlZgRMrhr6j>3dxOITi(5h+NHk7`oU82@dA-TnM*C>vA&b_nt z`cf2sNux^tfwSi^GiT2H<__OR{POnA_w$5s2x@al7Lu%GS=jQC_QQXi!O_I%wcU#*(V{*3x;N%>q~CXsS;>F!eLsoL?Rb-Hdf z@GhEbWZ@5nzYr+{(dk{@J)iY8(FFI*eeyS#Ly~S>*D#4yS2{|%UDZGO70^q!>* z88Y4)u8W3bV2Qqkz~dbMl9e@6h(|gu-U(IyWw4F z#KP;=6orCy;pT|Xim%!m2~vP_EhoaO+2|L7_uwRL`ebt}?ib=!(!-?rPBCX*v+)ff z7Ly)6Cqyk3kV|%&DUV^vBH{8gd6GM$b<+Hg&4^gegQR$!x3;GOd;8WuaQeI1r=x>E z`Rr#X<|487Osnd-rfo4dv`(}Mwlsuap+v7-%R%ywJHa$6UUUc2k9X+GE=y3}7xU;Kl zTsSse{ulXQ*T_FsHa@5q^bF}sdN@8t@i)Kf{w6&R?m8;OOaD%fYw}Eu(`dbG`aM1G z>i3#+CV#fBc#!OgHV>^^M(dX*Q}V(|u4lCBM^uL+IpGmqL%P;;WpeW9Ey}r{a&t|C zv@Y9R!$eyt%|B<(8{5-IHqC3JeRPPfI!*MB>Us~?&3P`WJfjZLJ4m$*(fl_k#{Hag zh+@mB&fwHK_w?)`o8CDV6i}Qsj|)uoFX^e8s-uk7E~R~(H*1;nWDSh%SwOLcR8M|# zLeC1f||^5Di~x9%AD-Xo5I;~vLA zDXmRUk$*LZWDBiFk1yA5AkB5ZnMLD051c;cbqo|y%%zL9e|bc79gjN(c#k}H1;uMM zv35AuedhWS_n8|3_nAV6^RUyA^YdiK(<$dyvcHw=cqWxRUXnD=cc*9k#5FiN_Ny6oXNKLFVOJ}AXO5Q7>y2#vagufCJYm*QO;1M0 zCnxXatH$;i+5Co-?OSAjLfIo^e_Gi$$=<5$8)Vli`)_17EBjrt4=H=%`NmF#Y^ z`MoT!Lrla{5^kBApPKR;`8A|jy3~7jw)qWg9v%Er5_akBtM+Y5^&6`%i*jbs`)2OM zi&Z9s1_B@e0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd& z00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaAOHd&00JNY0w4eaA29)!`hVkB zC|#`dW~Hl@epcxQr4vfGD}6-ik9a#+9t1!D1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;{x1nES}vaE!WX%vl<|b&-6y>b`(&WWi220M{i4(DYYq9Rr>RcX z1tUIxOmy=2n0-dQ5e!jR%t@KN4Za|ci{+D3AM^X!zK`sNXgnbsjeuXqgU_2$S2{{- zCxY=r&>LU3hKCnYN7(Q-Saah3P(4Rio6%4x>SeE(ytqH%k2JIAX0J8wO_+6*lh+iP z>J<)IDdq}oM}@44Y>OH`vC(KYWHc6#;pT|X@Q0%j(~=RYqgi^k1?yr)tW^rPE>5%v zpj>y4~_MQVS{esOn#!{C?%L;{HQVSmT?NpHlrN$fs`lYqi&H{w16Lw#~n6 z^Z#n|$8CPLwb;~pi){Y=Hh-DTf86HJrTm0LWRv8OHpr?zr%BFVjjyX=x)Sq%;RK#)8d8!cRvqqusum*Dr*&jDmEsW-Fi=eb(B1p=FVx zKSG2_YOHQP+6&b#%{*omnw<&->-g@P7uLUOZzMi@6Y<}z`#DOs%FmQf!+hpzwrCM!{y&t@%<0# zuPQt1?5MlqKK=RU0@+8_^sS8)JT>@_x|P?~|8#5VTVFfyLGwTC{*CMZ!t1%mwB|DxPyH_WVXxo&hkxF9>hV)I&t2NE{f9>@_7^@;UY_%V PXGZdavir|{RbT!O>ZiqF literal 0 HcmV?d00001