]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - build/android/Makefile
Isolate irrlicht references and use a singleton (#6041)
[dragonfireclient.git] / build / android / Makefile
index 40520c5bff97b6882e41da93904878c9ec5f4cda..d9a82da4db6b7fe30c17feb16611b9d3a2c4de8e 100644 (file)
@@ -35,7 +35,7 @@ TARGET_CXXFLAGS_ADDON = $(TARGET_CFLAGS_ADDON)
 TARGET_ARCH = armv7
 CROSS_PREFIX = arm-linux-androideabi-
 COMPILER_VERSION = 4.9
-HAVE_LEVELDB = 1
+HAVE_LEVELDB = 0
 
 ################################################################################
 # toolchain config for little endian mips
@@ -59,7 +59,7 @@ HAVE_LEVELDB = 1
 #CROSS_PREFIX = i686-linux-android-
 #TARGET_ARCH = x86
 #COMPILER_VERSION = 4.9
-#HAVE_LEVELDB = 1
+#HAVE_LEVELDB = 0
 
 ################################################################################
 ASSETS_TIMESTAMP = deps/assets_timestamp
@@ -84,14 +84,14 @@ OGG_TIMESTAMP = $(OGG_DIR)timestamp
 OGG_TIMESTAMP_INT = $(ANDR_ROOT)/deps/ogg_timestamp
 OGG_URL_GIT = https://github.com/vincentjames501/libvorbis-libogg-android
 
-IRRLICHT_REVISION = 5122
+IRRLICHT_REVISION = 5145
 IRRLICHT_DIR = $(ANDR_ROOT)/deps/irrlicht/
 IRRLICHT_LIB = $(IRRLICHT_DIR)lib/Android/libIrrlicht.a
 IRRLICHT_TIMESTAMP = $(IRRLICHT_DIR)timestamp
 IRRLICHT_TIMESTAMP_INT = $(ANDR_ROOT)/deps/irrlicht_timestamp
 IRRLICHT_URL_SVN = https://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@$(IRRLICHT_REVISION)
 
-OPENSSL_VERSION = 1.0.2j
+OPENSSL_VERSION = 1.0.2k
 OPENSSL_BASEDIR = openssl-$(OPENSSL_VERSION)
 OPENSSL_DIR = $(ANDR_ROOT)/deps/$(OPENSSL_BASEDIR)/
 OPENSSL_LIB = $(OPENSSL_DIR)/libssl.so.1.0.0
@@ -99,14 +99,14 @@ OPENSSL_TIMESTAMP = $(OPENSSL_DIR)timestamp
 OPENSSL_TIMESTAMP_INT = $(ANDR_ROOT)/deps/openssl_timestamp
 OPENSSL_URL = https://www.openssl.org/source/openssl-$(OPENSSL_VERSION).tar.gz
 
-CURL_VERSION = 7.51.0
+CURL_VERSION = 7.54.0
 CURL_DIR = $(ANDR_ROOT)/deps/curl-$(CURL_VERSION)
 CURL_LIB = $(CURL_DIR)/lib/.libs/libcurl.a
 CURL_TIMESTAMP = $(CURL_DIR)/timestamp
 CURL_TIMESTAMP_INT = $(ANDR_ROOT)/deps/curl_timestamp
 CURL_URL_HTTP = https://curl.haxx.se/download/curl-${CURL_VERSION}.tar.bz2
 
-GMP_VERSION = 6.1.1
+GMP_VERSION = 6.1.2
 GMP_DIR = $(ANDR_ROOT)/deps/gmp-$(GMP_VERSION)
 GMP_LIB = $(GMP_DIR)/usr/lib/libgmp.so
 GMP_TIMESTAMP = $(GMP_DIR)/timestamp
@@ -126,8 +126,8 @@ ICONV_TIMESTAMP = $(ICONV_DIR)timestamp
 ICONV_TIMESTAMP_INT = $(ANDR_ROOT)/deps/iconv_timestamp
 ICONV_URL_HTTP = https://ftp.gnu.org/pub/gnu/libiconv/libiconv-$(ICONV_VERSION).tar.gz
 
-SQLITE3_FOLDER = sqlite-amalgamation-3150200
-SQLITE3_URL = https://www.sqlite.org/2016/$(SQLITE3_FOLDER).zip
+SQLITE3_FOLDER = sqlite-amalgamation-3180000
+SQLITE3_URL = https://www.sqlite.org/2017/$(SQLITE3_FOLDER).zip
 
 ANDROID_SDK = $(shell grep '^sdk\.dir' local.properties | sed 's/^.*=[[:space:]]*//')
 ANDROID_NDK = $(shell grep '^ndk\.dir' local.properties | sed 's/^.*=[[:space:]]*//')
@@ -220,6 +220,8 @@ $(OPENAL_LIB): $(OPENAL_TIMESTAMP)
        ${ANDROID_NDK}/ndk-build NDEBUG=${NDEBUG}                                  \
                NDK_MODULE_PATH=${NDK_MODULE_PATH} APP_ABI=${TARGET_ABI}               \
                TARGET_ARCH_ABI=${TARGET_ABI} APP_PLATFORM=${APP_PLATFORM}             \
+               PRIVATE_CC=${NDK_MODULE_PATH}/${TARGET_TOOLCHAIN}${COMPILER_VERSION}/prebuilt/linux-x86_64/bin/${TARGET_TOOLCHAIN}gcc \
+               PRIVATE_CXX=${NDK_MODULE_PATH}/${TARGET_TOOLCHAIN}${COMPILER_VERSION}/prebuilt/linux-x86_64/bin/${TARGET_TOOLCHAIN}g++ \
                TARGET_CFLAGS+="${TARGET_CFLAGS_ADDON}"                                \
                TARGET_LDFLAGS+="${TARGET_LDFLAGS_ADDON}"                              \
                TARGET_CXXFLAGS+="${TARGET_CXXFLAGS_ADDON}" || exit 1;                 \
@@ -266,6 +268,8 @@ $(OGG_LIB): $(OGG_TIMESTAMP)
        ${ANDROID_NDK}/ndk-build NDEBUG=${NDEBUG}                                  \
                NDK_MODULE_PATH=${NDK_MODULE_PATH}                                     \
                APP_ABI=${TARGET_ABI} APP_PLATFORM=${APP_PLATFORM}                     \
+               PRIVATE_CC=${NDK_MODULE_PATH}/${TARGET_TOOLCHAIN}${COMPILER_VERSION}/prebuilt/linux-x86_64/bin/${TARGET_TOOLCHAIN}gcc \
+               PRIVATE_CXX=${NDK_MODULE_PATH}/${TARGET_TOOLCHAIN}${COMPILER_VERSION}/prebuilt/linux-x86_64/bin/${TARGET_TOOLCHAIN}g++ \
                TARGET_CFLAGS+="${TARGET_CFLAGS_ADDON}"                                \
                TARGET_LDFLAGS+="${TARGET_LDFLAGS_ADDON}"                              \
                TARGET_CXXFLAGS+="${TARGET_CXXFLAGS_ADDON}" || exit 1;                 \
@@ -313,6 +317,7 @@ $(OPENSSL_LIB): $(OPENSSL_TIMESTAMP) $(GMP_LIB)
        export TOOLCHAIN=/tmp/ndk-${TARGET_HOST}-openssl;                          \
        ${ANDROID_NDK}/build/tools/make-standalone-toolchain.sh                    \
                --toolchain=${TARGET_TOOLCHAIN}${COMPILER_VERSION}                     \
+               --platform=android-9                                                   \
                --install-dir=$${TOOLCHAIN};                                           \
        export PATH="$${TOOLCHAIN}/bin:$${PATH}";                                  \
        CC=${CROSS_PREFIX}gcc ./Configure enable-gmp -DL_ENDIAN -I${GMP_DIR} -L${GMP_DIR}/usr/lib android-${TARGET_ARCH};\
@@ -347,7 +352,7 @@ leveldb_download :
        fi
 
 leveldb : $(LEVELDB_LIB)
-
+ifeq ($(HAVE_LEVELDB),1)
 $(LEVELDB_LIB): $(LEVELDB_TIMESTAMP)
        @REFRESH=0;                                                                \
        if [ ! -e ${LEVELDB_TIMESTAMP_INT} ] ; then                                \
@@ -363,6 +368,7 @@ $(LEVELDB_LIB): $(LEVELDB_TIMESTAMP)
        export TOOLCHAIN=/tmp/ndk-${TARGET_HOST}-leveldb;                          \
        ${ANDROID_NDK}/build/tools/make-standalone-toolchain.sh                    \
                --toolchain=${TARGET_TOOLCHAIN}${COMPILER_VERSION}                     \
+               --platform=android-9                                                   \
                --install-dir=$${TOOLCHAIN};                                           \
        export PATH="$${TOOLCHAIN}/bin:$${PATH}";                                  \
        export CC=${CROSS_PREFIX}gcc;                                              \
@@ -378,6 +384,7 @@ $(LEVELDB_LIB): $(LEVELDB_TIMESTAMP)
        else                                                                       \
                echo "nothing to be done for leveldb";                                 \
        fi
+endif
 
 clean_leveldb :
        $(RM) -rf deps/leveldb
@@ -416,6 +423,8 @@ $(FREETYPE_LIB) : $(FREETYPE_TIMESTAMP)
        ${ANDROID_NDK}/ndk-build NDEBUG=${NDEBUG}                                  \
                NDK_MODULE_PATH=${NDK_MODULE_PATH}                                     \
                APP_PLATFORM=${APP_PLATFORM} APP_ABI=${TARGET_ABI}                     \
+               PRIVATE_CC=${NDK_MODULE_PATH}/${TARGET_TOOLCHAIN}${COMPILER_VERSION}/prebuilt/linux-x86_64/bin/${TARGET_TOOLCHAIN}gcc \
+               PRIVATE_CXX=${NDK_MODULE_PATH}/${TARGET_TOOLCHAIN}${COMPILER_VERSION}/prebuilt/linux-x86_64/bin/${TARGET_TOOLCHAIN}g++ \
                TARGET_CFLAGS+="${TARGET_CFLAGS_ADDON}"                                \
                TARGET_LDFLAGS+="${TARGET_LDFLAGS_ADDON}"                              \
                TARGET_CXXFLAGS+="${TARGET_CXXFLAGS_ADDON}" || exit 1;                 \
@@ -469,6 +478,7 @@ $(ICONV_LIB) : $(ICONV_TIMESTAMP)
        export TOOLCHAIN=/tmp/ndk-${TARGET_HOST}-iconv;                            \
        ${ANDROID_NDK}/build/tools/make-standalone-toolchain.sh                    \
                --toolchain=${TARGET_TOOLCHAIN}${COMPILER_VERSION}                     \
+               --platform=android-9                                                   \
                --install-dir=$${TOOLCHAIN};                                           \
        export PATH="$${TOOLCHAIN}/bin:$${PATH}";                                  \
        export CC=${CROSS_PREFIX}gcc;                                              \
@@ -531,6 +541,8 @@ $(IRRLICHT_LIB): $(IRRLICHT_TIMESTAMP) $(FREETYPE_LIB)
        ${ANDROID_NDK}/ndk-build NDEBUG=${NDEBUG}                                  \
                NDK_MODULE_PATH=${NDK_MODULE_PATH}                                     \
                APP_ABI=${TARGET_ABI} APP_PLATFORM=${APP_PLATFORM}                     \
+               PRIVATE_CC=${NDK_MODULE_PATH}/${TARGET_TOOLCHAIN}${COMPILER_VERSION}/prebuilt/linux-x86_64/bin/${TARGET_TOOLCHAIN}gcc \
+               PRIVATE_CXX=${NDK_MODULE_PATH}/${TARGET_TOOLCHAIN}${COMPILER_VERSION}/prebuilt/linux-x86_64/bin/${TARGET_TOOLCHAIN}g++ \
                TARGET_CFLAGS+="${TARGET_CFLAGS_ADDON}"                                \
                TARGET_LDFLAGS+="${TARGET_LDFLAGS_ADDON}"                              \
                TARGET_CXXFLAGS+="${TARGET_CXXFLAGS_ADDON}" || exit 1;                 \
@@ -581,6 +593,7 @@ $(CURL_LIB): $(CURL_TIMESTAMP) $(OPENSSL_LIB)
        export TOOLCHAIN=/tmp/ndk-${TARGET_HOST}-curl;                             \
        ${ANDROID_NDK}/build/tools/make-standalone-toolchain.sh                    \
                --toolchain=${TARGET_TOOLCHAIN}${COMPILER_VERSION}                     \
+               --platform=android-9                                                   \
                --install-dir=$${TOOLCHAIN};                                           \
        export PATH="$${TOOLCHAIN}/bin:$${PATH}";                                  \
        export CC=${CROSS_PREFIX}gcc;                                              \
@@ -640,6 +653,7 @@ $(GMP_LIB): $(GMP_TIMESTAMP)
        export TOOLCHAIN=/tmp/ndk-${TARGET_HOST}-gmp;                              \
        ${ANDROID_NDK}/build/tools/make-standalone-toolchain.sh                    \
                --toolchain=${TARGET_TOOLCHAIN}${COMPILER_VERSION}                     \
+               --platform=android-9                                                   \
                --install-dir=$${TOOLCHAIN};                                           \
        export PATH="$${TOOLCHAIN}/bin:$${PATH}";                                  \
        export CC=${CROSS_PREFIX}gcc;                                              \
@@ -666,8 +680,7 @@ deps/${SQLITE3_FOLDER}/sqlite3.c :
        wget ${SQLITE3_URL};                                                        \
        unzip ${SQLITE3_FOLDER}.zip;                                                \
        ln -s ${SQLITE3_FOLDER} sqlite;                                             \
-       cd ${SQLITE3_FOLDER};                                                       \
-       patch sqlite3.c < ${ANDR_ROOT}/patches/sqlite3-readonly-fix.patch
+       cd ${SQLITE3_FOLDER};
 
 clean_sqlite3:
        cd deps && $(RM) -rf ${SQLITE3_FOLDER} && $(RM) -f ${SQLITE3_FOLDER}.zip && \
@@ -757,6 +770,8 @@ apk: local.properties assets $(ICONV_LIB) $(IRRLICHT_LIB) $(CURL_LIB) $(GMP_LIB)
        + @${ANDROID_NDK}/ndk-build NDK_MODULE_PATH=${NDK_MODULE_PATH}             \
                GPROF=${GPROF} APP_ABI=${TARGET_ABI} HAVE_LEVELDB=${HAVE_LEVELDB}      \
                APP_PLATFORM=${APP_PLATFORM}                                           \
+               PRIVATE_CC=${NDK_MODULE_PATH}/${TARGET_TOOLCHAIN}${COMPILER_VERSION}/prebuilt/linux-x86_64/bin/${TARGET_TOOLCHAIN}gcc \
+               PRIVATE_CXX=${NDK_MODULE_PATH}/${TARGET_TOOLCHAIN}${COMPILER_VERSION}/prebuilt/linux-x86_64/bin/${TARGET_TOOLCHAIN}g++ \
                TARGET_LIBDIR=${TARGET_LIBDIR}                                         \
                TARGET_CFLAGS+="${TARGET_CFLAGS_ADDON}"                                \
                TARGET_LDFLAGS+="${TARGET_LDFLAGS_ADDON}"                              \
@@ -766,7 +781,7 @@ apk: local.properties assets $(ICONV_LIB) $(IRRLICHT_LIB) $(CURL_LIB) $(GMP_LIB)
        fi;                                                                        \
        export VERSION_STR="${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" && \
        export BUILD_TYPE_C=$$(echo "$${BUILD_TYPE}" | sed 's/./\U&/') &&          \
-       gradle assemble$$BUILD_TYPE_C &&                                           \
+       ./gradlew assemble$$BUILD_TYPE_C &&                                           \
        echo "APK stored at: build/outputs/apk/Minetest-$$BUILD_TYPE.apk" &&       \
        echo "You can install it with \`make install_$$BUILD_TYPE\`"
 
@@ -780,11 +795,14 @@ install_release:
 
 prep_srcdir :
        @if [ ! -e ${ANDR_ROOT}/jni/src ]; then                                    \
-               ln -s ${PROJ_ROOT}/src ${ANDR_ROOT}/jni/src;                           \
+               ln -s ${PROJ_ROOT}/src ${ANDR_ROOT}/jni/src;                       \
+       fi;                                                                        \
+       if [ ! -e ${ANDR_ROOT}/jni/lib ]; then                                     \
+               ln -s ${PROJ_ROOT}/lib ${ANDR_ROOT}/jni/lib;                       \
        fi
 
 clean_apk :
-       gradle clean
+       ./gradlew clean
 
 clean_all :
        @$(MAKE) clean_apk;                                                        \