Added possibility to compile armeabi-v7a binaries via AndroidBuild.sh script, updated OpenArena
This commit is contained in:
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -25,3 +25,6 @@
|
|||||||
[submodule "project/jni/application/scummvm/scummvm"]
|
[submodule "project/jni/application/scummvm/scummvm"]
|
||||||
path = project/jni/application/scummvm/scummvm
|
path = project/jni/application/scummvm/scummvm
|
||||||
url = https://github.com/scummvm/scummvm.git
|
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
|
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 && \
|
cd project && env PATH=$NDKBUILDPATH BUILD_NUM_CPUS=$NCPU nice -n19 ndk-build -j$NCPU && \
|
||||||
{ grep "CustomBuildScript=y" ../AndroidAppSettings.cfg > /dev/null && \
|
{ 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 && \
|
rm obj/local/armeabi/libapplication.so && \
|
||||||
cp jni/application/src/libapplication.so obj/local/armeabi && \
|
cp jni/application/src/libapplication.so obj/local/armeabi/ && \
|
||||||
cp jni/application/src/libapplication.so libs/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 \
|
`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 ; } && \
|
|| true ; } && \
|
||||||
ant debug && \
|
ant debug && \
|
||||||
$install_apk && [ -n "`adb devices | tail -n +2`" ] && \
|
$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)
|
#$(error Detected libraries with too long symbol names. Remove all files under project/obj/local/armeabi, make these libs static, and recompile)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
APP_LIB_DEPENDS := $(foreach LIB, $(LOCAL_SHARED_LIBRARIES), $(abspath $(LOCAL_PATH)/../../obj/local/armeabi/lib$(LIB).so))
|
SDL_APP_LIB_DEPENDS := $(LOCAL_PATH)/src/AndroidBuild.sh $(LOCAL_PATH)/src/AndroidAppSettings.cfg
|
||||||
APP_LIB_DEPENDS += $(foreach LIB, $(LOCAL_STATIC_LIBRARIES), $(abspath $(LOCAL_PATH)/../../obj/local/armeabi/lib$(LIB).a))
|
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)
|
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
|
# 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
|
# 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
|
# 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)
|
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
|
$(LOCAL_PATH)/src/libapplication.so: $(SDL_APP_LIB_DEPENDS) OVERRIDE_CUSTOM_LIB
|
||||||
$(shell rm -f $(LOCAL_PATH)/src/libapplication.so)
|
cd $(LOCAL_PATH_SDL_APPLICATION)/src && ./AndroidBuild.sh armeabi
|
||||||
$(shell mkdir -p $(LOCAL_PATH)/../../obj/local/armeabi)
|
endif
|
||||||
$(shell touch $(LOCAL_PATH)/../../obj/local/armeabi/libapplication.so)
|
|
||||||
|
|
||||||
$(LOCAL_PATH)/src/libapplication.so: $(LOCAL_PATH)/src/AndroidBuild.sh $(LOCAL_PATH)/src/AndroidAppSettings.cfg $(APP_LIB_DEPENDS)
|
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
|
||||||
echo Launching script $(LOCAL_PATH_SDL_APPLICATION)/AndroidBuild.sh
|
obj/local/armeabi-v7a/libapplication.so: $(LOCAL_PATH)/src/libapplication-armeabi-v7a.so
|
||||||
cd $(LOCAL_PATH_SDL_APPLICATION)/src && ./AndroidBuild.sh
|
|
||||||
|
|
||||||
$(abspath $(LOCAL_PATH)/../../obj/local/armeabi/libapplication.so): $(LOCAL_PATH)/src/libapplication.so OVERRIDE_CUSTOM_LIB
|
$(LOCAL_PATH)/src/libapplication-armeabi-v7a.so: $(SDL_APP_LIB_DEPENDS) OVERRIDE_CUSTOM_LIB
|
||||||
cp -f $< $@
|
cd $(LOCAL_PATH_SDL_APPLICATION)/src && ./AndroidBuild.sh armeabi-v7a
|
||||||
|
endif
|
||||||
obj/local/armeabi/libapplication.so: $(LOCAL_PATH)/src/libapplication.so OVERRIDE_CUSTOM_LIB
|
|
||||||
cp -f $< $@
|
|
||||||
|
|
||||||
.PHONY: OVERRIDE_CUSTOM_LIB
|
|
||||||
|
|
||||||
OVERRIDE_CUSTOM_LIB:
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|||||||
Submodule project/jni/application/commandergenius/commandergenius updated: 023025901a...d1b8a7ae03
@@ -5,7 +5,7 @@ AppName="OpenArena"
|
|||||||
AppFullName=ws.openarena.sdl
|
AppFullName=ws.openarena.sdl
|
||||||
ScreenOrientation=h
|
ScreenOrientation=h
|
||||||
InhibitSuspend=n
|
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
|
VideoDepthBpp=24
|
||||||
NeedDepthBuffer=y
|
NeedDepthBuffer=y
|
||||||
NeedStencilBuffer=y
|
NeedStencilBuffer=y
|
||||||
@@ -22,8 +22,8 @@ ShowMouseCursor=n
|
|||||||
ForceRelativeMouseMode=n
|
ForceRelativeMouseMode=n
|
||||||
AppNeedsArrowKeys=y
|
AppNeedsArrowKeys=y
|
||||||
AppNeedsTextInput=y
|
AppNeedsTextInput=y
|
||||||
AppUsesJoystick=n
|
AppUsesJoystick=y
|
||||||
AppHandlesJoystickSensitivity=n
|
AppUsesAccelerometer=y
|
||||||
AppUsesMultitouch=y
|
AppUsesMultitouch=y
|
||||||
NonBlockingSwapBuffers=n
|
NonBlockingSwapBuffers=n
|
||||||
RedefinedKeys="SPACE RETURN NO_REMAP NO_REMAP SPACE ESCAPE"
|
RedefinedKeys="SPACE RETURN NO_REMAP NO_REMAP SPACE ESCAPE"
|
||||||
@@ -33,7 +33,7 @@ RedefinedKeysScreenKb="0 1 2 3 4 5 6 7 8 9"
|
|||||||
StartupMenuButtonTimeout=3000
|
StartupMenuButtonTimeout=3000
|
||||||
HiddenMenuOptions='OptionalDownloadConfig DisplaySizeConfig'
|
HiddenMenuOptions='OptionalDownloadConfig DisplaySizeConfig'
|
||||||
FirstStartMenuOptions=''
|
FirstStartMenuOptions=''
|
||||||
MultiABI=n
|
MultiABI=y
|
||||||
AppVersionCode=08803
|
AppVersionCode=08803
|
||||||
AppVersionName="0.8.8.03"
|
AppVersionName="0.8.8.03"
|
||||||
ResetSdlConfigForThisVersion=n
|
ResetSdlConfigForThisVersion=n
|
||||||
|
|||||||
@@ -3,8 +3,17 @@
|
|||||||
LOCAL_PATH=`dirname $0`
|
LOCAL_PATH=`dirname $0`
|
||||||
LOCAL_PATH=`cd $LOCAL_PATH && pwd`
|
LOCAL_PATH=`cd $LOCAL_PATH && pwd`
|
||||||
|
|
||||||
../setEnvironment.sh make -j8 -C engine release \
|
../setEnvironment-$1.sh make -j8 -C engine release \
|
||||||
PLATFORM=android ARCH=arm USE_GLES=1 USE_LOCAL_HEADERS=0 \
|
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_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 &&
|
USE_RENDERER_DLOPEN=0 USE_INTERNAL_ZLIB=0 USE_INTERNAL_JPEG=1 && \
|
||||||
mv -f engine/build/release-android-arm/openarena.arm libapplication.so
|
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
|
#echo NDK $NDK
|
||||||
GCCPREFIX=arm-linux-androideabi
|
GCCPREFIX=arm-linux-androideabi
|
||||||
GCCVER=4.4.3
|
GCCVER=4.6
|
||||||
PLATFORMVER=android-8
|
PLATFORMVER=android-8
|
||||||
LOCAL_PATH=`dirname $0`
|
LOCAL_PATH=`dirname $0`
|
||||||
LOCAL_PATH=`cd $LOCAL_PATH && pwd`
|
LOCAL_PATH=`cd $LOCAL_PATH && pwd`
|
||||||
|
ARCH=armeabi-v7a
|
||||||
#echo LOCAL_PATH $LOCAL_PATH
|
#echo LOCAL_PATH $LOCAL_PATH
|
||||||
|
|
||||||
APP_MODULES=`grep 'APP_MODULES [:][=]' $LOCAL_PATH/../Settings.mk | sed 's@.*[=]\(.*\)@\1@'`
|
APP_MODULES=`grep 'APP_MODULES [:][=]' $LOCAL_PATH/../Settings.mk | sed 's@.*[=]\(.*\)@\1@'`
|
||||||
@@ -42,24 +43,14 @@ done
|
|||||||
MISSING_INCLUDE=
|
MISSING_INCLUDE=
|
||||||
MISSING_LIB=
|
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="\
|
CFLAGS="\
|
||||||
-MMD -MP -MF -fpic -ffunction-sections -funwind-tables -fstack-protector \
|
-fpic -ffunction-sections -funwind-tables \
|
||||||
-D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ \
|
-D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wno-psabi \
|
||||||
-Wno-psabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 \
|
-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 \
|
-DANDROID -Wa,--noexecstack -g -O2 -DNDEBUG -g \
|
||||||
-isystem$NDK/platforms/$PLATFORMVER/arch-arm/usr/include \
|
-isystem$NDK/platforms/$PLATFORMVER/arch-arm/usr/include \
|
||||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/include \
|
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/include \
|
||||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/include \
|
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/libs/$ARCH/include \
|
||||||
-isystem$LOCAL_PATH/../sdl-1.2/include \
|
-isystem$LOCAL_PATH/../sdl-1.2/include \
|
||||||
`echo $APP_MODULES | sed \"s@\([-a-zA-Z0-9_.]\+\)@-isystem$LOCAL_PATH/../\1/include@g\"` \
|
`echo $APP_MODULES | sed \"s@\([-a-zA-Z0-9_.]\+\)@-isystem$LOCAL_PATH/../\1/include@g\"` \
|
||||||
$MISSING_INCLUDE $CFLAGS"
|
$MISSING_INCLUDE $CFLAGS"
|
||||||
@@ -75,17 +66,17 @@ fi
|
|||||||
LDFLAGS="\
|
LDFLAGS="\
|
||||||
$SHARED \
|
$SHARED \
|
||||||
--sysroot=$NDK/platforms/$PLATFORMVER/arch-arm \
|
--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/libc.so \
|
||||||
$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib/libm.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/libGLESv1_CM.so \
|
||||||
$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib/libdl.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/liblog.so \
|
||||||
$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib/libz.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 \
|
-lgnustl_static \
|
||||||
-L$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib \
|
-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,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack \
|
||||||
-Wl,-rpath-link=$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib -lsupc++ \
|
-Wl,-rpath-link=$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib -lsupc++ \
|
||||||
$MISSING_LIB $LDFLAGS"
|
$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