Allow android 4.1 build

This commit is contained in:
Benau 2020-12-04 10:04:44 +08:00
parent 3f0eb215f7
commit ad7751f952
3 changed files with 37 additions and 11 deletions

View File

@ -137,6 +137,16 @@ include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
# Graphics engine
LOCAL_MODULE := graphics_engine
LOCAL_PATH := .
LOCAL_CPP_FEATURES += rtti
LOCAL_SRC_FILES := $(wildcard ../lib/graphics_engine/src/*.c)
LOCAL_CFLAGS := -I../lib/graphics_engine/include
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
# MCPP
LOCAL_MODULE := mcpp
LOCAL_PATH := .
@ -179,6 +189,7 @@ LOCAL_CFLAGS := -I../lib/irrlicht/source/Irrlicht/ \
-Iobj/libpng/ \
-Iobj/zlib/ \
-I../lib/sdl2/include/ \
-I../lib/graphics_engine/include \
-DMOBILE_STK \
-DANDROID_PACKAGE_CALLBACK_NAME=$(PACKAGE_CALLBACK_NAME)
LOCAL_CPPFLAGS := -std=gnu++0x
@ -209,6 +220,8 @@ LOCAL_SRC_FILES := $(wildcard ../lib/sdl2/src/*.c) \
$(wildcard ../lib/sdl2/src/locale/android/*.c) \
$(wildcard ../lib/sdl2/src/locale/*.c) \
$(wildcard ../lib/sdl2/src/loadso/dlopen/*.c) \
$(wildcard ../lib/sdl2/src/misc/*.c) \
$(wildcard ../lib/sdl2/src/misc/android/*.c) \
$(wildcard ../lib/sdl2/src/power/*.c) \
$(wildcard ../lib/sdl2/src/power/android/*.c) \
$(wildcard ../lib/sdl2/src/filesystem/android/*.c) \
@ -241,7 +254,7 @@ LOCAL_CPP_FEATURES += rtti exceptions
LOCAL_SRC_FILES := $(wildcard ../src/*.cpp) \
$(wildcard ../src/*/*.cpp) \
$(wildcard ../src/*/*/*.cpp)
LOCAL_LDLIBS := -llog -landroid -lGLESv1_CM -lGLESv3 -lOpenSLES -ldl -lm
LOCAL_LDLIBS := -llog -landroid -lGLESv1_CM -lGLESv2 -lOpenSLES -ldl -lm
LOCAL_CFLAGS := -I../lib/angelscript/include \
-I../lib/bullet/src \
-I../lib/sheenbidi/Headers \
@ -250,6 +263,7 @@ LOCAL_CFLAGS := -I../lib/angelscript/include \
-I../lib/irrlicht/include \
-I../lib/irrlicht/source/Irrlicht \
-I../lib/graphics_utils \
-I../lib/graphics_engine/include \
-I../lib/mcpp \
-I../lib/sdl2/include \
-I../lib/tinygettext/include \
@ -277,7 +291,7 @@ LOCAL_CPPFLAGS := -std=gnu++0x
LOCAL_STATIC_LIBRARIES := irrlicht bullet enet ifaddrs angelscript mcpp SDL2 \
vorbisfile vorbis ogg openal curl libssl libcrypto \
c++_static sheenbidi harfbuzz freetype \
tinygettext graphics_utils
tinygettext graphics_utils graphics_engine
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)

View File

@ -17,7 +17,7 @@
<activity android:name=".SuperTuxKartActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:configChanges="fontScale|keyboard|keyboardHidden|layoutDirection|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|uiMode"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|uiMode"
android:screenOrientation="sensorLandscape">
<intent-filter>
@ -28,7 +28,7 @@
</activity>
</application>
<uses-sdk android:minSdkVersion="19"
<uses-sdk android:minSdkVersion="16"
android:targetSdkVersion="29" />
<uses-feature android:glEsVersion="0x00020000" />
<uses-feature android:name="android.software.leanback" android:required="false" />

View File

@ -20,8 +20,8 @@ export NDK_CPPFLAGS="-O3 -g"
export NDK_ABI_ARMV7=armeabi-v7a
export ARCH_ARMV7=arm
export HOST_ARMV7=arm-linux-androideabi
export NDK_PLATFORM_ARMV7=android-19
export MIN_SDK_VERSION_ARMV7=19
export NDK_PLATFORM_ARMV7=android-16
export MIN_SDK_VERSION_ARMV7=16
export TARGET_SDK_VERSION_ARMV7=29
export COMPILE_SDK_VERSION_ARMV7=29
@ -36,8 +36,8 @@ export COMPILE_SDK_VERSION_AARCH64=29
export NDK_ABI_X86=x86
export ARCH_X86=x86
export HOST_X86=i686-linux-android
export NDK_PLATFORM_X86=android-19
export MIN_SDK_VERSION_X86=19
export NDK_PLATFORM_X86=android-16
export MIN_SDK_VERSION_X86=16
export TARGET_SDK_VERSION_X86=29
export COMPILE_SDK_VERSION_X86=29
@ -314,6 +314,13 @@ if [ ! -f "$DIRNAME/obj/make_standalone_toolchain.stamp" ]; then
echo $COMPILE_ARCH > "$DIRNAME/obj/compile_arch"
fi
# Last ndk supporting android 14 is 17c which has gcc-4.9, and most
# dependencies require clang to build
if [ -f "$DIRNAME/obj/bin/$HOST-gcc-4.9" ]; then
cp "$DIRNAME/obj/bin/clang" "$DIRNAME/obj/bin/$HOST-gcc"
cp "$DIRNAME/obj/bin/clang++" "$DIRNAME/obj/bin/$HOST-g++"
fi
echo "$PROJECT_VERSION" > "$DIRNAME/obj/project_version"
# Zlib
@ -338,11 +345,16 @@ if [ ! -f "$DIRNAME/obj/libpng.stamp" ]; then
cp -a -f "$DIRNAME/../lib/libpng/"* "$DIRNAME/obj/libpng"
cd "$DIRNAME/obj/libpng"
MLIBRARY="$DIRNAME/obj/sysroot/usr/lib/$HOST/libm.a"
# For ndk 17c
if [ ! -f "$MLIBRARY" ]; then
MLIBRARY="$DIRNAME/obj/sysroot/usr/lib/libm.a"
fi
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
-DHOST=$HOST -DARCH=$ARCH \
-DZLIB_LIBRARY="$DIRNAME/obj/zlib/libz.a" \
-DZLIB_INCLUDE_DIR="$DIRNAME/obj/zlib/" \
-DM_LIBRARY="$DIRNAME/obj/sysroot/usr/lib/$HOST/libm.a" \
-DM_LIBRARY="$MLIBRARY" \
-DPNG_TESTS=0 -DCMAKE_C_FLAGS="-fpic" &&
make $@
check_error
@ -359,7 +371,7 @@ if [ ! -f "$DIRNAME/obj/freetype_bootstrap.stamp" ]; then
ZLIB_CFLAGS="-I$DIRNAME/obj/zlib/" ZLIB_LIBS="$DIRNAME/obj/zlib/libz.a"\
LIBPNG_CFLAGS="-I$DIRNAME/obj/libpng/" LIBPNG_LIBS="$DIRNAME/obj/libpng/libpng.a"\
./configure --host=$HOST --enable-shared=no \
--without-harfbuzz --without-brotli &&
--without-harfbuzz --without-brotli --without-bzip2 &&
make $@
check_error
# We need to rebuild freetype after harfbuzz is compiled
@ -395,7 +407,7 @@ if [ ! -f "$DIRNAME/obj/freetype.stamp" ]; then
ZLIB_CFLAGS="-fpic -I$DIRNAME/obj/zlib/" ZLIB_LIBS="$DIRNAME/obj/zlib/libz.a" \
LIBPNG_CFLAGS="-I$DIRNAME/obj/libpng/" LIBPNG_LIBS="$DIRNAME/obj/libpng/libpng.a" \
HARFBUZZ_CFLAGS="-I$DIRNAME/obj/harfbuzz/src/" HARFBUZZ_LIBS="$DIRNAME/obj/harfbuzz/src/.libs/libharfbuzz.a" \
./configure --host=$HOST --enable-shared=no --without-brotli
./configure --host=$HOST --enable-shared=no --without-brotli --without-bzip2
make $@
check_error
touch "$DIRNAME/obj/freetype.stamp"