Merge branch 'sdl_android' of github.com:pelya/commandergenius into sdl_android
This commit is contained in:
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -25,3 +25,6 @@
|
||||
[submodule "project/jni/application/scummvm/scummvm"]
|
||||
path = project/jni/application/scummvm/scummvm
|
||||
url = https://github.com/scummvm/scummvm.git
|
||||
[submodule "project/jni/application/openarena/vm"]
|
||||
path = project/jni/application/openarena/vm
|
||||
url = https://github.com/pelya/openarena-vm
|
||||
|
||||
17
build.sh
17
build.sh
@@ -44,12 +44,19 @@ fi
|
||||
rm -r -f project/bin/* # New Android SDK introduced some lame-ass optimizations to the build system which we should take care about
|
||||
cd project && env PATH=$NDKBUILDPATH BUILD_NUM_CPUS=$NCPU nice -n19 ndk-build -j$NCPU && \
|
||||
{ grep "CustomBuildScript=y" ../AndroidAppSettings.cfg > /dev/null && \
|
||||
[ -`which ndk-build | xargs readlink -f | grep '/android-ndk-r[56789]'` != - ] && \
|
||||
echo Stripping libapplication.so by hand \
|
||||
echo Stripping libapplication.so by hand && \
|
||||
rm obj/local/armeabi/libapplication.so && \
|
||||
cp jni/application/src/libapplication.so obj/local/armeabi && \
|
||||
cp jni/application/src/libapplication.so libs/armeabi && \
|
||||
`which ndk-build | sed 's@/ndk-build@@'`/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$MYARCH/bin/arm-linux-androideabi-strip --strip-unneeded libs/armeabi/libapplication.so \
|
||||
cp jni/application/src/libapplication.so obj/local/armeabi/ && \
|
||||
cp jni/application/src/libapplication.so libs/armeabi/ && \
|
||||
`which ndk-build | sed 's@/ndk-build@@'`/toolchains/arm-linux-androideabi-4.6/prebuilt/$MYARCH/bin/arm-linux-androideabi-strip --strip-unneeded libs/armeabi/libapplication.so \
|
||||
|| true ; } && \
|
||||
{ grep "CustomBuildScript=y" ../AndroidAppSettings.cfg > /dev/null && \
|
||||
grep "MultiABI=y" ../AndroidAppSettings.cfg > /dev/null && \
|
||||
echo Stripping libapplication-armeabi-v7a.so by hand && \
|
||||
rm obj/local/armeabi-v7a/libapplication.so && \
|
||||
cp jni/application/src/libapplication-armeabi-v7a.so obj/local/armeabi-v7a/libapplication.so && \
|
||||
cp jni/application/src/libapplication-armeabi-v7a.so libs/armeabi-v7a/libapplication.so && \
|
||||
`which ndk-build | sed 's@/ndk-build@@'`/toolchains/arm-linux-androideabi-4.6/prebuilt/$MYARCH/bin/arm-linux-androideabi-strip --strip-unneeded libs/armeabi-v7a/libapplication.so \
|
||||
|| true ; } && \
|
||||
ant debug && \
|
||||
$install_apk && [ -n "`adb devices | tail -n +2`" ] && \
|
||||
|
||||
@@ -93,8 +93,9 @@ endif
|
||||
#$(error Detected libraries with too long symbol names. Remove all files under project/obj/local/armeabi, make these libs static, and recompile)
|
||||
#endif
|
||||
|
||||
APP_LIB_DEPENDS := $(foreach LIB, $(LOCAL_SHARED_LIBRARIES), $(abspath $(LOCAL_PATH)/../../obj/local/armeabi/lib$(LIB).so))
|
||||
APP_LIB_DEPENDS += $(foreach LIB, $(LOCAL_STATIC_LIBRARIES), $(abspath $(LOCAL_PATH)/../../obj/local/armeabi/lib$(LIB).a))
|
||||
SDL_APP_LIB_DEPENDS := $(LOCAL_PATH)/src/AndroidBuild.sh $(LOCAL_PATH)/src/AndroidAppSettings.cfg
|
||||
SDL_APP_LIB_DEPENDS += $(foreach LIB, $(LOCAL_SHARED_LIBRARIES), obj/local/$(TARGET_ARCH_ABI)/lib$(LIB).so)
|
||||
SDL_APP_LIB_DEPENDS += $(foreach LIB, $(LOCAL_STATIC_LIBRARIES), obj/local/$(TARGET_ARCH_ABI)/lib$(LIB).a)
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
@@ -103,28 +104,23 @@ ifneq ($(APPLICATION_CUSTOM_BUILD_SCRIPT),)
|
||||
# TODO: here we're digging inside NDK internal build system, that's not portable
|
||||
# NDK r5b provided the $(PREBUILT_SHARED_LIBRARY) target, however it requires .so file to be already present on disk
|
||||
# Also I cannot just launch AndroidBuild.sh from makefile because other libraries are not rebuilt and linking will fail
|
||||
.PHONY: OVERRIDE_CUSTOM_LIB
|
||||
OVERRIDE_CUSTOM_LIB:
|
||||
|
||||
LOCAL_PATH_SDL_APPLICATION := $(LOCAL_PATH)
|
||||
|
||||
.NOTPARALLEL: $(abspath $(LOCAL_PATH)/../../obj/local/armeabi/libapplication.so) $(LOCAL_PATH)/src/libapplication.so
|
||||
ifeq ($(TARGET_ARCH_ABI),armeabi)
|
||||
obj/local/armeabi/libapplication.so: $(LOCAL_PATH)/src/libapplication.so
|
||||
|
||||
# Enforce rebuilding
|
||||
$(shell rm -f $(LOCAL_PATH)/src/libapplication.so)
|
||||
$(shell mkdir -p $(LOCAL_PATH)/../../obj/local/armeabi)
|
||||
$(shell touch $(LOCAL_PATH)/../../obj/local/armeabi/libapplication.so)
|
||||
$(LOCAL_PATH)/src/libapplication.so: $(SDL_APP_LIB_DEPENDS) OVERRIDE_CUSTOM_LIB
|
||||
cd $(LOCAL_PATH_SDL_APPLICATION)/src && ./AndroidBuild.sh armeabi
|
||||
endif
|
||||
|
||||
$(LOCAL_PATH)/src/libapplication.so: $(LOCAL_PATH)/src/AndroidBuild.sh $(LOCAL_PATH)/src/AndroidAppSettings.cfg $(APP_LIB_DEPENDS)
|
||||
echo Launching script $(LOCAL_PATH_SDL_APPLICATION)/AndroidBuild.sh
|
||||
cd $(LOCAL_PATH_SDL_APPLICATION)/src && ./AndroidBuild.sh
|
||||
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
|
||||
obj/local/armeabi-v7a/libapplication.so: $(LOCAL_PATH)/src/libapplication-armeabi-v7a.so
|
||||
|
||||
$(abspath $(LOCAL_PATH)/../../obj/local/armeabi/libapplication.so): $(LOCAL_PATH)/src/libapplication.so OVERRIDE_CUSTOM_LIB
|
||||
cp -f $< $@
|
||||
|
||||
obj/local/armeabi/libapplication.so: $(LOCAL_PATH)/src/libapplication.so OVERRIDE_CUSTOM_LIB
|
||||
cp -f $< $@
|
||||
|
||||
.PHONY: OVERRIDE_CUSTOM_LIB
|
||||
|
||||
OVERRIDE_CUSTOM_LIB:
|
||||
$(LOCAL_PATH)/src/libapplication-armeabi-v7a.so: $(SDL_APP_LIB_DEPENDS) OVERRIDE_CUSTOM_LIB
|
||||
cd $(LOCAL_PATH_SDL_APPLICATION)/src && ./AndroidBuild.sh armeabi-v7a
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
Submodule project/jni/application/commandergenius/commandergenius updated: 023025901a...d1b8a7ae03
@@ -5,7 +5,7 @@ AppName="OpenArena"
|
||||
AppFullName=ws.openarena.sdl
|
||||
ScreenOrientation=h
|
||||
InhibitSuspend=n
|
||||
AppDataDownloadUrl="Game data|http://sourceforge.net/projects/libsdl-android/files/OpenArena/oa-0.8.8-1.zip/download"
|
||||
AppDataDownloadUrl="!Game data|http://sourceforge.net/projects/libsdl-android/files/OpenArena/oa-0.8.8-1.zip/download^!Game logic|:baseoa/pak7-android.pk3:vm.zip"
|
||||
VideoDepthBpp=24
|
||||
NeedDepthBuffer=y
|
||||
NeedStencilBuffer=y
|
||||
@@ -33,7 +33,7 @@ RedefinedKeysScreenKb="0 1 2 3 4 5 6 7 8 9"
|
||||
StartupMenuButtonTimeout=3000
|
||||
HiddenMenuOptions='OptionalDownloadConfig DisplaySizeConfig'
|
||||
FirstStartMenuOptions=''
|
||||
MultiABI=n
|
||||
MultiABI=y
|
||||
AppVersionCode=08803
|
||||
AppVersionName="0.8.8.03"
|
||||
ResetSdlConfigForThisVersion=n
|
||||
|
||||
@@ -3,8 +3,17 @@
|
||||
LOCAL_PATH=`dirname $0`
|
||||
LOCAL_PATH=`cd $LOCAL_PATH && pwd`
|
||||
|
||||
../setEnvironment.sh make -j8 -C engine release \
|
||||
PLATFORM=android ARCH=arm USE_GLES=1 USE_LOCAL_HEADERS=0 \
|
||||
../setEnvironment-$1.sh make -j8 -C engine release \
|
||||
PLATFORM=android ARCH=$1 USE_GLES=1 USE_LOCAL_HEADERS=0 \
|
||||
USE_OPENAL=0 USE_CURL=1 USE_CURL_DLOPEN=0 USE_CODEC_VORBIS=1 USE_MUMBLE=0 USE_FREETYPE=1 \
|
||||
USE_RENDERER_DLOPEN=0 USE_INTERNAL_ZLIB=0 USE_INTERNAL_JPEG=1 &&
|
||||
mv -f engine/build/release-android-arm/openarena.arm libapplication.so
|
||||
USE_RENDERER_DLOPEN=0 USE_INTERNAL_ZLIB=0 USE_INTERNAL_JPEG=1 && \
|
||||
echo "Copying engine/build/release-android-$1/openarena.$1 -> libapplication-$1.so" && \
|
||||
cp -f engine/build/release-android-$1/openarena.$1 libapplication-$1.so
|
||||
|
||||
[ "$1" = "armeabi" ] && (
|
||||
[ -e libapplication.so ] || ln -s libapplication-armeabi.so libapplication.so
|
||||
make -j8 -C vm
|
||||
cd vm/build/release-*/baseq3
|
||||
zip -r vm.zip vm
|
||||
cmp -s vm.zip ../../../../AndroidData/vm.zip || mv -f vm.zip ../../../../AndroidData/vm.zip
|
||||
)
|
||||
|
||||
Binary file not shown.
BIN
project/jni/application/openarena/AndroidData/vm.zip
Normal file
BIN
project/jni/application/openarena/AndroidData/vm.zip
Normal file
Binary file not shown.
1
project/jni/application/openarena/vm
Submodule
1
project/jni/application/openarena/vm
Submodule
Submodule project/jni/application/openarena/vm added at deb8e33817
@@ -20,10 +20,11 @@ NDK=`readlink -f $NDK`
|
||||
|
||||
#echo NDK $NDK
|
||||
GCCPREFIX=arm-linux-androideabi
|
||||
GCCVER=4.4.3
|
||||
GCCVER=4.6
|
||||
PLATFORMVER=android-8
|
||||
LOCAL_PATH=`dirname $0`
|
||||
LOCAL_PATH=`cd $LOCAL_PATH && pwd`
|
||||
ARCH=armeabi-v7a
|
||||
#echo LOCAL_PATH $LOCAL_PATH
|
||||
|
||||
APP_MODULES=`grep 'APP_MODULES [:][=]' $LOCAL_PATH/../Settings.mk | sed 's@.*[=]\(.*\)@\1@'`
|
||||
@@ -42,24 +43,14 @@ done
|
||||
MISSING_INCLUDE=
|
||||
MISSING_LIB=
|
||||
|
||||
#if [ -n "$CRYSTAX_WCHAR" ]; then
|
||||
# MISSING_INCLUDE="$MISSING_INCLUDE -isystem$NDK/sources/crystax/include"
|
||||
# MISSING_LIB="$MISSING_LIB $NDK/sources/crystax/libs/armeabi/libcrystax_static.a"
|
||||
#fi
|
||||
#if [ -n "$MISSING_LIBCXX_PATH" ]; then
|
||||
# MISSING_INCLUDE="$MISSING_INCLUDE -isystem$NDK/sources/cxx-stl/gnu-libstdc++/include"
|
||||
# MISSING_LIB="$MISSING_LIB -lgnustl_static -lsupc++"
|
||||
#fi
|
||||
|
||||
|
||||
CFLAGS="\
|
||||
-MMD -MP -MF -fpic -ffunction-sections -funwind-tables -fstack-protector \
|
||||
-D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ \
|
||||
-Wno-psabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 \
|
||||
-fpic -ffunction-sections -funwind-tables \
|
||||
-D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wno-psabi \
|
||||
-march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 \
|
||||
-DANDROID -Wa,--noexecstack -g -O2 -DNDEBUG -g \
|
||||
-isystem$NDK/platforms/$PLATFORMVER/arch-arm/usr/include \
|
||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/include \
|
||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/include \
|
||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/include \
|
||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/libs/$ARCH/include \
|
||||
-isystem$LOCAL_PATH/../sdl-1.2/include \
|
||||
`echo $APP_MODULES | sed \"s@\([-a-zA-Z0-9_.]\+\)@-isystem$LOCAL_PATH/../\1/include@g\"` \
|
||||
$MISSING_INCLUDE $CFLAGS"
|
||||
@@ -75,17 +66,17 @@ fi
|
||||
LDFLAGS="\
|
||||
$SHARED \
|
||||
--sysroot=$NDK/platforms/$PLATFORMVER/arch-arm \
|
||||
`echo $APP_SHARED_LIBS | sed \"s@\([-a-zA-Z0-9_.]\+\)@$LOCAL_PATH/../../obj/local/armeabi-v7a/lib\1.so@g\"` \
|
||||
`echo $APP_SHARED_LIBS | sed \"s@\([-a-zA-Z0-9_.]\+\)@$LOCAL_PATH/../../obj/local/$ARCH/lib\1.so@g\"` \
|
||||
$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib/libc.so \
|
||||
$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib/libm.so \
|
||||
$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib/libGLESv1_CM.so \
|
||||
$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib/libdl.so \
|
||||
$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib/liblog.so \
|
||||
$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib/libz.so \
|
||||
-L$NDK/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a \
|
||||
-L$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/libs/$ARCH \
|
||||
-lgnustl_static \
|
||||
-L$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib \
|
||||
-L$LOCAL_PATH/../../obj/local/armeabi-v7a \
|
||||
-L$LOCAL_PATH/../../obj/local/$ARCH \
|
||||
-Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack \
|
||||
-Wl,-rpath-link=$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib -lsupc++ \
|
||||
$MISSING_LIB $LDFLAGS"
|
||||
|
||||
1
project/jni/application/setEnvironment-armeabi.sh
Symbolic link
1
project/jni/application/setEnvironment-armeabi.sh
Symbolic link
@@ -0,0 +1 @@
|
||||
setEnvironment.sh
|
||||
Reference in New Issue
Block a user