Skip to content

Commit bce1ff6

Browse files
authored
[experimental] Add native lib for Linux loongarch64 (#526)
* Build on loongarch64 Signed-off-by: Leslie Zhai <[email protected]> * Remove linux-loongarch64 dockcross * Remove linux-loongarch64 from native-all --------- Signed-off-by: Leslie Zhai <[email protected]>
1 parent a072b39 commit bce1ff6

File tree

4 files changed

+20
-1
lines changed

4 files changed

+20
-1
lines changed

Makefile.common

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ endif
5151
# os=Default is meant to be generic unix/linux
5252

5353
# To support new CPU architecture, add a new target name here
54-
known_os_archs := Linux-x86 Linux-x86_64 Linux-arm Linux-armv6 Linux-armv7 Linux-android-arm Linux-android-aarch64 Linux-aarch64 Linux-ppc Linux-ppc64 Linux-ppc64le Linux-s390 Linux-s390x Mac-x86 Mac-x86_64 Mac-aarch64 FreeBSD-x86_64 Windows-x86 Windows-x86_64 Windows-aarch64 SunOS-x86 SunOS-sparc SunOS-x86_64 AIX-ppc AIX-ppc64 Linux-riscv Linux-riscv64
54+
known_os_archs := Linux-x86 Linux-x86_64 Linux-arm Linux-armv6 Linux-armv7 Linux-android-arm Linux-android-aarch64 Linux-aarch64 Linux-ppc Linux-ppc64 Linux-ppc64le Linux-s390 Linux-s390x Mac-x86 Mac-x86_64 Mac-aarch64 FreeBSD-x86_64 Windows-x86 Windows-x86_64 Windows-aarch64 SunOS-x86 SunOS-sparc SunOS-x86_64 AIX-ppc AIX-ppc64 Linux-riscv Linux-riscv64 Linux-loongarch Linux-loongarch64
5555
os_arch := $(OS_NAME)-$(OS_ARCH)
5656
IBM_JDK_7 := $(findstring IBM, $(shell $(JAVA) -version 2>&1 | grep IBM | grep "JRE 1.7"))
5757

@@ -310,6 +310,20 @@ Windows-aarch64_CXXFLAGS := -Ilib/inc_mac -I$(JAVA_HOME)/include -O2 -fPIC -mar
310310
Windows-aarch64_LINKFLAGS := -Wl,--kill-at -shared -static
311311
Windows-aarch64_LIBNAME := snappyjava.dll
312312

313+
Linux-loongarch_CXX := $(CROSS_PREFIX)g++
314+
Linux-loongarch_STRIP := $(CROSS_PREFIX)strip
315+
Linux-loongarch_CXXFLAGS := -Ilib/inc_linux -I$(JAVA_HOME)/include -O2 -fPIC -fvisibility=hidden -std=c++11
316+
Linux-loongarch_LINKFLAGS := -shared
317+
Linux-loongarch_LIBNAME := libsnappyjava.so
318+
Linux-loongarch_SNAPPY_FLAGS:=
319+
320+
Linux-loongarch64_CXX := $(CROSS_PREFIX)g++
321+
Linux-loongarch64_STRIP := $(CROSS_PREFIX)strip
322+
Linux-loongarch64_CXXFLAGS := -Ilib/inc_linux -I$(JAVA_HOME)/include -O2 -fPIC -fvisibility=hidden -std=c++11
323+
Linux-loongarch64_LINKFLAGS := -shared
324+
Linux-loongarch64_LIBNAME := libsnappyjava.so
325+
Linux-loongarch64_SNAPPY_FLAGS:=
326+
313327

314328
CXX := $($(os_arch)_CXX)
315329
STRIP := $($(os_arch)_STRIP)

build.sbt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ OsgiKeys.additionalHeaders := Map(
110110
"org/xerial/snappy/native/Linux/armv7/libsnappyjava.so;osname=linux;processor=arm_le",
111111
"org/xerial/snappy/native/Linux/ppc64/libsnappyjava.so;osname=linux;processor=ppc64le",
112112
"org/xerial/snappy/native/Linux/s390x/libsnappyjava.so;osname=linux;processor=s390x",
113+
"org/xerial/snappy/native/Linux/loongarch64/libsnappyjava.so;osname=linux;processor=loongarch64",
113114
"org/xerial/snappy/native/AIX/ppc/libsnappyjava.a;osname=aix;processor=ppc",
114115
"org/xerial/snappy/native/AIX/ppc64/libsnappyjava.a;osname=aix;processor=ppc64",
115116
"org/xerial/snappy/native/SunOS/x86/libsnappyjava.so;osname=sunos;processor=x86",

src/main/java/org/xerial/snappy/OSInfo.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public class OSInfo {
4848
public static final String IBMZ_64 = "s390x";
4949
public static final String AARCH_64 = "aarch64";
5050
public static final String RISCV_64 = "riscv64";
51+
public static final String LOONGARCH_64 = "loongarch64";
5152

5253
static {
5354
// x86 mappings
@@ -97,6 +98,9 @@ public class OSInfo {
9798

9899
// RISC-V mappings
99100
archMapping.put(RISCV_64, RISCV_64);
101+
102+
// LoongArch64 mappings
103+
archMapping.put(LOONGARCH_64, LOONGARCH_64);
100104
}
101105

102106
public static void main(String[] args) {
Binary file not shown.

0 commit comments

Comments
 (0)