From f6e01adab7ed2adbdc8f07b855d1ae4669c607c9 Mon Sep 17 00:00:00 2001 From: sapier Date: Mon, 7 Jul 2014 23:10:26 +0200 Subject: [PATCH] Makefile support for build without leveldb --- build/android/Makefile | 13 +++++++++++-- build/android/jni/Android.mk | 30 ++++++++++++++++++------------ 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/build/android/Makefile b/build/android/Makefile index 6528e839c..ba6ab3b74 100644 --- a/build/android/Makefile +++ b/build/android/Makefile @@ -36,6 +36,7 @@ TARGET_TOOLCHAIN = arm-linux-androideabi- TARGET_CFLAGS_ADDON = -mfloat-abi=softfp -mfpu=vfp CROSS_PREFIX = arm-linux-androideabi- COMPILER_VERSION = 4.8 +HAVE_LEVELDB = 1 ################################################################################ # toolchain config for arm new processors @@ -50,6 +51,7 @@ COMPILER_VERSION = 4.8 #TARGET_LDFLAGS_ADDON = -Wl,--no-warn-mismatch -lm_hard #CROSS_PREFIX = arm-linux-androideabi- #COMPILER_VERSION = 4.8 +#HAVE_LEVELDB = 1 ################################################################################ # toolchain config for little endian mips @@ -60,6 +62,7 @@ COMPILER_VERSION = 4.8 #TARGET_TOOLCHAIN = mipsel-linux-android- #CROSS_PREFIX = mipsel-linux-android- #COMPILER_VERSION = 4.8 +#HAVE_LEVELDB = 0 ################################################################################ # toolchain config for x86 @@ -70,6 +73,7 @@ COMPILER_VERSION = 4.8 #TARGET_TOOLCHAIN = x86- #CROSS_PREFIX = i686-linux-android- #COMPILER_VERSION = 4.8 +#HAVE_LEVELDB = 1 ################################################################################ ASSETS_TIMESTAMP = deps/assets_timestamp @@ -135,6 +139,11 @@ FREETYPE_URL_GIT = https://github.com/cdave1/freetype2-android $(IRRLICHT_TIMESTAMP) $(CURL_TIMESTAMP) \ $(OPENSSL_TIMESTAMP) curl_binary \ $(ROOT)/jni/src/android_version.h + +#use interim target variable to switch leveldb on or off +ifeq ($(HAVE_LEVELDB),1) + LEVELDB_TARGET = $(LEVELDB_LIB) +endif debug : $(PATHCFGFILE) export NDEBUG=; \ @@ -628,14 +637,14 @@ assets : $(ASSETS_TIMESTAMP) clean_assets : @$(RM) -r assets -apk: $(PATHCFGFILE) assets $(IRRLICHT_LIB) $(CURL_LIB) $(LEVELDB_LIB) \ +apk: $(PATHCFGFILE) assets $(IRRLICHT_LIB) $(CURL_LIB) $(LEVELDB_TARGET) \ $(OPENAL_LIB) $(OGG_LIB) prep_srcdir $(ROOT)/jni/src/android_version.h @export NDEBUG=$$NDEBUG; $(MAKE) -j${PARALLEL} manifest; \ export PATH=$$PATH:${SDKFOLDER}/platform-tools:${ANDROID_NDK}; \ export ANDROID_HOME=${SDKFOLDER}; \ mkdir -p ${ROOT}/src; \ ndk-build NDK_MODULE_PATH=${NDK_MODULE_PATH} -j${PARALLEL} \ - GPROF=${GPROF} APP_ABI=${TARGET_ABI} \ + GPROF=${GPROF} APP_ABI=${TARGET_ABI} HAVE_LEVELDB=${HAVE_LEVELDB} \ APP_PLATFORM=${APP_PLATFORM} \ TARGET_LIBDIR=${TARGET_LIBDIR} \ TARGET_CFLAGS+="${TARGET_CFLAGS_ADDON}" \ diff --git a/build/android/jni/Android.mk b/build/android/jni/Android.mk index 862347b87..9b2057781 100644 --- a/build/android/jni/Android.mk +++ b/build/android/jni/Android.mk @@ -7,10 +7,12 @@ LOCAL_MODULE := Irrlicht LOCAL_SRC_FILES := deps/irrlicht/lib/Android/libIrrlicht.a include $(PREBUILT_STATIC_LIBRARY) -include $(CLEAR_VARS) -LOCAL_MODULE := LevelDB -LOCAL_SRC_FILES := deps/leveldb/libleveldb.a -include $(PREBUILT_STATIC_LIBRARY) +ifeq ($(HAVE_LEVELDB), 1) + include $(CLEAR_VARS) + LOCAL_MODULE := LevelDB + LOCAL_SRC_FILES := deps/leveldb/libleveldb.a + include $(PREBUILT_STATIC_LIBRARY) +endif include $(CLEAR_VARS) LOCAL_MODULE := curl @@ -57,13 +59,13 @@ ifdef GPROF GPROF_DEF=-DGPROF endif -LOCAL_CFLAGS := -D_IRR_ANDROID_PLATFORM_ \ - -DHAVE_TOUCHSCREENGUI \ - -DUSE_CURL=1 \ - -DUSE_SOUND=1 \ - -DUSE_FREETYPE=1 \ - -DUSE_LEVELDB=1 \ - $(GPROF_DEF) \ +LOCAL_CFLAGS := -D_IRR_ANDROID_PLATFORM_ \ + -DHAVE_TOUCHSCREENGUI \ + -DUSE_CURL=1 \ + -DUSE_SOUND=1 \ + -DUSE_FREETYPE=1 \ + -DUSE_LEVELDB=$(HAVE_LEVELDB) \ + $(GPROF_DEF) \ -pipe -fstrict-aliasing ifndef NDEBUG @@ -294,7 +296,11 @@ LOCAL_SRC_FILES += \ LOCAL_SRC_FILES += jni/src/json/jsoncpp.cpp LOCAL_SHARED_LIBRARIES := openal ogg vorbis ssl crypto -LOCAL_STATIC_LIBRARIES := Irrlicht freetype curl LevelDB android_native_app_glue $(PROFILER_LIBS) +LOCAL_STATIC_LIBRARIES := Irrlicht freetype curl android_native_app_glue $(PROFILER_LIBS) + +ifeq ($(HAVE_LEVELDB), 1) + LOCAL_STATIC_LIBRARIES += LevelDB +endif LOCAL_LDLIBS := -lEGL -llog -lGLESv1_CM -lGLESv2 -lz -landroid include $(BUILD_SHARED_LIBRARY)