diff -Nru sqlite-jdbc-3.15.1/Makefile sqlite-jdbc-3.15.1.build/Makefile --- sqlite-jdbc-3.15.1/Makefile 2016-11-04 21:42:29.000000000 +0100 +++ sqlite-jdbc-3.15.1.build/Makefile 2016-11-06 12:15:06.926445700 +0100 @@ -3,45 +3,37 @@ RESOURCE_DIR = src/main/resources -.phony: all package win32 win64 mac32 linux32 linux64 linux-arm linux-armhf native native-all deploy +.phony: all package win32 win64 mac32 linux native native-all deploy all: jni-header package deploy: - mvn package deploy -DperformRelease=true -MVN:=mvn + +MVN:=xmvn -o SRC:=src/main/java SQLITE_OUT:=$(TARGET)/$(sqlite)-$(OS_NAME)-$(OS_ARCH) -SQLITE_ARCHIVE:=$(TARGET)/$(sqlite)-amal.zip -SQLITE_UNPACKED:=$(TARGET)/sqlite-unpack.log -SQLITE_AMAL_DIR=$(TARGET)/$(SQLITE_AMAL_PREFIX) +#SQLITE_ARCHIVE:=$(TARGET)/$(sqlite)-amal.zip +#SQLITE_UNPACKED:=$(TARGET)/sqlite-unpack.log +#SQLITE_AMAL_DIR=$(TARGET)/$(SQLITE_AMAL_PREFIX) -CCFLAGS:= -I$(SQLITE_OUT) -I$(SQLITE_AMAL_DIR) $(CCFLAGS) +CCFLAGS:= -I$(SQLITE_OUT) $(CCFLAGS) -lsqlite3 $(SQLITE_ARCHIVE): - @mkdir -p $(@D) - curl -L --max-redirs 0 -f -o$@ http://www.sqlite.org/2016/$(SQLITE_AMAL_PREFIX).zip || \ - curl -L --max-redirs 0 -f -o$@ http://www.sqlite.org/2015/$(SQLITE_AMAL_PREFIX).zip || \ - curl -L --max-redirs 0 -f -o$@ http://www.sqlite.org/2014/$(SQLITE_AMAL_PREFIX).zip || \ - curl -L --max-redirs 0 -f -o$@ http://www.sqlite.org/2013/$(SQLITE_AMAL_PREFIX).zip || \ - curl -L --max-redirs 0 -f -o$@ http://www.sqlite.org/$(SQLITE_AMAL_PREFIX).zip || \ - curl -L --max-redirs 0 -f -o$@ http://www.sqlite.org/$(SQLITE_OLD_AMAL_PREFIX).zip + $(SQLITE_UNPACKED): $(SQLITE_ARCHIVE) - unzip -qo $< -d $(TARGET)/tmp.$(version) - (mv $(TARGET)/tmp.$(version)/$(SQLITE_AMAL_PREFIX) $(TARGET) && rmdir $(TARGET)/tmp.$(version)) || mv $(TARGET)/tmp.$(version)/ $(TARGET)/$(SQLITE_AMAL_PREFIX) - touch $@ -$(TARGET)/common-lib/org/sqlite/%.class: src/main/java/org/sqlite/%.java + +$(SQLITE_OUT)/org/sqlite/%.class: src/main/java/org/sqlite/%.java @mkdir -p $(@D) - $(JAVAC) -source 1.5 -target 1.5 -sourcepath $(SRC) -d $(TARGET)/common-lib $< + $(JAVAC) -source 1.6 -target 1.6 -sourcepath $(SRC) -d $(SQLITE_OUT) $< -jni-header: $(TARGET)/common-lib/NativeDB.h +jni-header: $(SQLITE_OUT)/NativeDB.h -$(TARGET)/common-lib/NativeDB.h: $(TARGET)/common-lib/org/sqlite/core/NativeDB.class - $(JAVAH) -classpath $(TARGET)/common-lib -jni -o $@ org.sqlite.core.NativeDB +$(SQLITE_OUT)/NativeDB.h: $(SQLITE_OUT)/org/sqlite/core/NativeDB.class + $(JAVAH) -classpath $(SQLITE_OUT) -jni -o $@ org.sqlite.core.NativeDB test: mvn test @@ -50,35 +42,11 @@ $(SQLITE_OUT)/sqlite3.o : $(SQLITE_UNPACKED) - @mkdir -p $(@D) - perl -p -e "s/sqlite3_api;/sqlite3_api = 0;/g" \ - $(SQLITE_AMAL_DIR)/sqlite3ext.h > $(SQLITE_OUT)/sqlite3ext.h -# insert a code for loading extension functions - perl -p -e "s/^opendb_out:/ if(!db->mallocFailed && rc==SQLITE_OK){ rc = RegisterExtensionFunctions(db); }\nopendb_out:/;" \ - $(SQLITE_AMAL_DIR)/sqlite3.c > $(SQLITE_OUT)/sqlite3.c - cat src/main/ext/*.c >> $(SQLITE_OUT)/sqlite3.c - $(CC) -o $@ -c $(CCFLAGS) \ - -DSQLITE_ENABLE_LOAD_EXTENSION=1 \ - -DSQLITE_HAVE_ISNAN \ - -DSQLITE_HAVE_USLEEP \ - -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT \ - -DSQLITE_ENABLE_COLUMN_METADATA \ - -DSQLITE_CORE \ - -DSQLITE_ENABLE_FTS3 \ - -DSQLITE_ENABLE_FTS3_PARENTHESIS \ - -DSQLITE_ENABLE_FTS5 \ - -DSQLITE_ENABLE_JSON1 \ - -DSQLITE_ENABLE_RTREE \ - -DSQLITE_ENABLE_STAT2 \ - -DSQLITE_THREADSAFE=1 \ - -DSQLITE_DEFAULT_MEMSTATUS=0 \ - -DSQLITE_MAX_VARIABLE_NUMBER=250000 \ - $(SQLITE_FLAGS) \ - $(SQLITE_OUT)/sqlite3.c -$(SQLITE_OUT)/$(LIBNAME): $(SQLITE_OUT)/sqlite3.o $(SRC)/org/sqlite/core/NativeDB.c + +$(SQLITE_OUT)/$(LIBNAME): $(SQLITE_OUT)/sqlite3.o $(SRC)/org/sqlite/core/NativeDB.c $(SQLITE_OUT)/NativeDB.h @mkdir -p $(@D) - $(CC) $(CCFLAGS) -I $(TARGET)/common-lib -c -o $(SQLITE_OUT)/NativeDB.o $(SRC)/org/sqlite/core/NativeDB.c + $(CC) $(CCFLAGS) -I $(SQLITE_OUT) -c -o $(SQLITE_OUT)/NativeDB.o $(SRC)/org/sqlite/core/NativeDB.c $(CC) $(CCFLAGS) -o $@ $(SQLITE_OUT)/*.o $(LINKFLAGS) $(STRIP) $@ @@ -88,7 +56,7 @@ NATIVE_DLL:=$(NATIVE_DIR)/$(LIBNAME) # For cross-compilation, install docker. See also https://github.com/dockcross/dockcross -native-all: native win32 win64 linux32 linux64 linux-arm linux-armhf +native-all: native linux native: $(SQLITE_UNPACKED) $(NATIVE_DLL) @@ -99,33 +67,23 @@ cp $< $(NATIVE_TARGET_DIR)/$(LIBNAME) win32: $(SQLITE_UNPACKED) jni-header - ./docker/dockcross-windows-x86 bash -c 'make clean-native native CROSS_PREFIX=i686-w64-mingw32.static- OS_NAME=Windows OS_ARCH=x86' - -win64: $(SQLITE_UNPACKED) jni-header - ./docker/dockcross-windows-x64 bash -c 'make clean-native native CROSS_PREFIX=x86_64-w64-mingw32.static- OS_NAME=Windows OS_ARCH=x86_64' -linux32: $(SQLITE_UNPACKED) jni-header - docker run -ti -v $$PWD:/work xerial/centos5-linux-x86 bash -c 'make clean-native native OS_NAME=Linux OS_ARCH=x86' -linux64: $(SQLITE_UNPACKED) jni-header - docker run -ti -v $$PWD:/work xerial/centos5-linux-x86_64 bash -c 'make clean-native native OS_NAME=Linux OS_ARCH=x86_64' +win64: $(SQLITE_UNPACKED) jni-header -linux-arm: $(SQLITE_UNPACKED) jni-header - ./docker/dockcross-armv5 bash -c 'make clean-native native CROSS_PREFIX=arm-linux-gnueabi- OS_NAME=Linux OS_ARCH=arm' -linux-armhf: $(SQLITE_UNPACKED) jni-header - ./docker/dockcross-armv6 bash -c 'make clean-native native CROSS_PREFIX=arm-linux-gnueabihf- OS_NAME=Linux OS_ARCH=armhf' +linux: $(SQLITE_UNPACKED) jni-header + $(MAKE) native OS_NAME=Linux OS_ARCH=$(OS_ARCH) sparcv9: - $(MAKE) native OS_NAME=SunOS OS_ARCH=sparcv9 + # deprecated mac32: - $(MAKE) native OS_NAME=Mac OS_ARCH=x86 + package: native-all - rm -rf target/dependency-maven-plugin-markers - $(MVN) package + clean-native: rm -rf $(SQLITE_OUT) @@ -138,7 +96,7 @@ rm -rf $(TARGET)/{surefire*,testdb.jar*} docker-linux64: - docker build -f docker/Dockerfile.linux_x86_64 -t xerial/centos5-linux-x86-64 . + docker-linux32: - docker build -f docker/Dockerfile.linux_x86 -t xerial/centos5-linux-x86 . + diff -Nru sqlite-jdbc-3.15.1/Makefile.common sqlite-jdbc-3.15.1.build/Makefile.common --- sqlite-jdbc-3.15.1/Makefile.common 2016-11-04 21:42:29.000000000 +0100 +++ sqlite-jdbc-3.15.1.build/Makefile.common 2016-11-06 11:58:31.575085824 +0100 @@ -47,50 +47,24 @@ # os=Default is meant to be generic unix/linux -known_targets := Linux-x86 Linux-x86_64 Linux-arm Linux-armhf Mac-x86 Mac-x86_64 FreeBSD-x86_64 OpenBSD-x86_64 Windows-x86 Windows-x86_64 SunOS-sparcv9 +known_targets := Linux Mac-x86 Mac-x86_64 FreeBSD-x86_64 OpenBSD-x86_64 Windows-x86 Windows-x86_64 SunOS-sparcv9 target := $(OS_NAME)-$(OS_ARCH) -ifeq (,$(findstring $(strip $(target)),$(known_targets))) - target := Default +ifeq ($(OS_NAME),Linux) + target := $(OS_NAME) +else + target := $(OS_NAME)-$(OS_ARCH) endif # cross-compilation toolchain prefix (e.g. "arm-linux-gnueabi-") CROSS_PREFIX := -Default_CC := $(CROSS_PREFIX)gcc -Default_STRIP := $(CROSS_PREFIX)strip -Default_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -Os -fPIC -fvisibility=hidden -Default_LINKFLAGS := -shared -Default_LIBNAME := libsqlitejdbc.so -Default_SQLITE_FLAGS := - -Linux-x86_CC := $(CROSS_PREFIX)gcc -Linux-x86_STRIP := $(CROSS_PREFIX)strip -Linux-x86_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -O2 -fPIC -m32 -fvisibility=hidden -Linux-x86_LINKFLAGS := -shared -static-libgcc -Linux-x86_LIBNAME := libsqlitejdbc.so -Linux-x86_SQLITE_FLAGS := - -Linux-x86_64_CC := $(CROSS_PREFIX)gcc -Linux-x86_64_STRIP := $(CROSS_PREFIX)strip -Linux-x86_64_CCFLAGS := -Ilib/inc_linux -I$(JAVA_HOME)/include -O2 -fPIC -m64 -fvisibility=hidden -Linux-x86_64_LINKFLAGS := -shared -static-libgcc -Linux-x86_64_LIBNAME := libsqlitejdbc.so -Linux-x86_64_SQLITE_FLAGS := - -Linux-arm_CC := $(CROSS_PREFIX)gcc -Linux-arm_STRIP := $(CROSS_PREFIX)strip -Linux-arm_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -O2 -fPIC -mfloat-abi=softfp -mfpu=vfp -fvisibility=hidden -Linux-arm_LINKFLAGS := -shared -static-libgcc -Linux-arm_LIBNAME := libsqlitejdbc.so -Linux-arm_SQLITE_FLAGS := - -Linux-armhf_CC := $(CROSS_PREFIX)gcc -Linux-armhf_STRIP := $(CROSS_PREFIX)strip -Linux-armhf_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -O2 -mfloat-abi=hard -mfpu=vfp -fPIC -fvisibility=hidden -Linux-armhf_LINKFLAGS := -shared -static-libgcc -Linux-armhf_LIBNAME := libsqlitejdbc.so -Linux-armhf_SQLITE_FLAGS := +Linux_CC := gcc +Linux_STRIP := strip +Linux_CCFLAGS := -I$(JAVA_HOME)/include $(CCFLAGS) -fPIC -fvisibility=hidden +Linux_LINKFLAGS := -shared -static-libgcc +Linux_LIBNAME := libsqlitejdbc.so +Linux_SQLITE_FLAGS := FreeBSD-x86_64_CC := $(CROSS_PREFIX)cc FreeBSD-x86_64_STRIP := $(CROSS_PREFIX)strip diff -Nru sqlite-jdbc-3.15.1/pom.xml sqlite-jdbc-3.15.1.build/pom.xml --- sqlite-jdbc-3.15.1/pom.xml 2016-11-04 21:42:29.000000000 +0100 +++ sqlite-jdbc-3.15.1.build/pom.xml 2016-11-06 11:54:16.840693425 +0100 @@ -84,7 +84,7 @@ maven-compiler-plugin 3.1 - 1.5 + 1.6 1.6