diff --git a/Makefile b/Makefile index a05ddfb..2a81419 100644 --- a/Makefile +++ b/Makefile @@ -106,8 +106,10 @@ $(SNAPPY_SRC): $(SNAPPY_GIT_UNPACKED) # aarch64 can use big-endian optimzied code ifeq ($(OS_ARCH),aarch64) +ifeq ($(ENDIANESS),$(BIG_ENDIAN)) SNAPPY_CXX_OPTS:=-DSNAPPY_IS_BIG_ENDIAN endif +endif $(SNAPPY_OUT)/%.o: $(SNAPPY_SRC_DIR)/%.cc @mkdir -p $(@D) diff --git a/Makefile.common b/Makefile.common index 0e26811..5c3974c 100755 --- a/Makefile.common +++ b/Makefile.common @@ -11,6 +11,8 @@ JAVA := "$$JAVA_HOME/bin/java" JAVAC := "$$JAVA_HOME/bin/javac" JAVAH := "$$JAVA_HOME/bin/javah" +LITTLE_ENDIAN := "Little Endian" +BIG_ENDIAN := "Big Endian" OSINFO_CLASS := org.xerial.snappy.OSInfo OSINFO_PROG := lib/org/xerial/snappy/OSInfo.class @@ -24,6 +26,7 @@ OS_ARCH := $(shell $(JAVA) -cp lib $(OSINFO_CLASS) --arch) LIB_FOLDER := $(shell $(JAVA) -cp lib $(OSINFO_CLASS)) IBM_JDK_LIB := lib/inc_ibm +ENDIANESS=$(shell lscpu | grep "Byte Order" |cut -d ":" -f2) # Windows uses different path separators ifeq ($(OS_NAME),Windows) sep := ; diff --git a/src/main/resources/org/xerial/snappy/native/Linux/aarch64/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/Linux/aarch64/libsnappyjava.so index 5729aee..179c4a9 100755 Binary files a/src/main/resources/org/xerial/snappy/native/Linux/aarch64/libsnappyjava.so and b/src/main/resources/org/xerial/snappy/native/Linux/aarch64/libsnappyjava.so differ