From cde17f7fc157f72a3890f717aafbf3d7b0ad63ef Mon Sep 17 00:00:00 2001 From: Glavo Date: Sat, 7 Oct 2023 00:16:27 +0800 Subject: [PATCH] Fix build on linux arm64 and add riscv64 --- native/Makefile | 7 +++++-- native/Makefile.common | 10 ++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/native/Makefile b/native/Makefile index 46e7eb8c5..4b42b1bbc 100644 --- a/native/Makefile +++ b/native/Makefile @@ -82,8 +82,11 @@ 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 win-arm64 mac-x86 mac-x86_64 mac-arm64 freebsd-x86 freebsd-x86_64 +native-all: \ + linux-x86 linux-x86_64 linux-arm linux-armv6 linux-armv7 linux-arm64 linux-ppc64 linux-riscv64 \ + win-x86 win-x86_64 win-arm64 \ + mac-x86 mac-x86_64 mac-arm64 \ + freebsd-x86 freebsd-x86_64 native: $(NATIVE_DLL) diff --git a/native/Makefile.common b/native/Makefile.common index b4b12e5bd..9c2fc01e3 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 Mac-arm64 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-arm64 Linux-ppc64 Linux-riscv64 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))) @@ -65,7 +65,7 @@ Linux-armv7_LIBNAME := libjlinenative.so Linux-arm64_CC := $(CROSS_PREFIX)gcc Linux-arm64_STRIP := $(CROSS_PREFIX)strip -Linux-arm64_CCFLAGS := -I$(JAVA_HOME)/include -Itarget/inc -Itarget/inc/unix -Os -mfloat-abi=hard -mfpu=vfp -fPIC -fvisibility=hidden +Linux-arm64_CCFLAGS := -I$(JAVA_HOME)/include -Itarget/inc -Itarget/inc/unix -Os -march=armv8-a -fPIC -fvisibility=hidden Linux-arm64_LINKFLAGS := -shared -static-libgcc Linux-arm64_LIBNAME := libjlinenative.so @@ -75,6 +75,12 @@ Linux-ppc64_CCFLAGS := -I$(JAVA_HOME)/include -Itarget/inc -Itarget/inc/unix - Linux-ppc64_LINKFLAGS := -shared -static-libgcc Linux-ppc64_LIBNAME := libjlinenative.so +Linux-riscv64_CC := $(CROSS_PREFIX)gcc +Linux-riscv64_STRIP := $(CROSS_PREFIX)strip +Linux-riscv64_CCFLAGS := -I$(JAVA_HOME)/include -Itarget/inc -Itarget/inc/unix -Os -march=rv64g -fPIC -fvisibility=hidden +Linux-riscv64_LINKFLAGS := -shared -static-libgcc +Linux-riscv64_LIBNAME := libjlinenative.so + DragonFly-x86_64_CC := $(CROSS_PREFIX)cc DragonFly-x86_64_STRIP := $(CROSS_PREFIX)strip DragonFly-x86_64_CCFLAGS := -I$(JAVA_HOME)/include -Itarget/inc -Itarget/inc/unix -O2 -fPIC -fvisibility=hidden