Updated build system
This commit is contained in:
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -28,3 +28,6 @@
|
||||
[submodule "project/jni/application/openarena/vm"]
|
||||
path = project/jni/application/openarena/vm
|
||||
url = https://github.com/pelya/openarena-vm
|
||||
[submodule "project/jni/application/teeworlds-0.7/src"]
|
||||
path = project/jni/application/teeworlds-0.7/src
|
||||
url = git://github.com/pelya/teeworlds.git
|
||||
|
||||
10
build.sh
10
build.sh
@@ -23,7 +23,7 @@ if ( grep "package $AppFullName;" project/src/Globals.java > /dev/null && \
|
||||
[ "`readlink AndroidAppSettings.cfg`" -ot "project/src/Globals.java" ] && \
|
||||
[ -z "`find project/java/* project/AndroidManifestTemplate.xml -cnewer project/src/Globals.java`" ] && \
|
||||
[ -z "`find project/jni/application/src/AndroidData/* -cnewer project/src/Globals.java`" ] ) ; then true ; else
|
||||
./ChangeAppSettings.sh -a
|
||||
./changeAppSettings.sh -a
|
||||
sleep 1
|
||||
touch project/src/Globals.java
|
||||
fi
|
||||
@@ -42,7 +42,12 @@ if uname -s | grep -i "windows" > /dev/null ; then
|
||||
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 && \
|
||||
[ -x project/jni/application/src/AndroidPreBuild.sh ] && {
|
||||
cd project/jni/application/src
|
||||
./AndroidPreBuild.sh || { echo "AndroidPreBuild.sh returned with error" ; exit 1 ; }
|
||||
cd ../../../..
|
||||
}
|
||||
cd project && env PATH=$NDKBUILDPATH BUILD_NUM_CPUS=$NCPU nice -n19 ndk-build -j$NCPU V=1 && \
|
||||
{ grep "CustomBuildScript=y" ../AndroidAppSettings.cfg > /dev/null && \
|
||||
echo Stripping libapplication.so by hand && \
|
||||
rm obj/local/armeabi/libapplication.so && \
|
||||
@@ -58,6 +63,7 @@ cd project && env PATH=$NDKBUILDPATH BUILD_NUM_CPUS=$NCPU nice -n19 ndk-build -j
|
||||
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 ; } && \
|
||||
cd .. && ./copyAssets.sh && cd project && \
|
||||
ant debug && \
|
||||
$install_apk && [ -n "`adb devices | tail -n +2`" ] && \
|
||||
{ cd bin && adb install -r MainActivity-debug.apk | grep 'Failure' && \
|
||||
|
||||
@@ -989,17 +989,6 @@ done
|
||||
rm -rf project/bin/classes
|
||||
rm -rf project/bin/res
|
||||
|
||||
mkdir -p project/assets
|
||||
rm -f project/assets/*
|
||||
if [ -d "project/jni/application/src/AndroidData" ] ; then
|
||||
echo Copying asset files
|
||||
cp project/jni/application/src/AndroidData/* project/assets/
|
||||
for F in project/assets/*; do
|
||||
if [ `cat $F | wc -c` -gt 1000000 ] ; then
|
||||
echo "The file $F is bigger than 1 megabyte - splitting it into smaller chunks"
|
||||
split -b 1000000 -d $F $F && rm $F || { echo "Error: 'split' command not installed" ; exit 1 ; }
|
||||
fi
|
||||
done
|
||||
fi
|
||||
./copyAssets.sh || exit 1
|
||||
|
||||
echo Done
|
||||
16
copyAssets.sh
Executable file
16
copyAssets.sh
Executable file
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "Copying app data files from project/jni/application/src/AndroidData to project/assets"
|
||||
mkdir -p project/assets
|
||||
rm -f project/assets/*
|
||||
if [ -d "project/jni/application/src/AndroidData" ] ; then
|
||||
echo Copying asset files
|
||||
cp project/jni/application/src/AndroidData/* project/assets/
|
||||
for F in project/assets/*; do
|
||||
if [ `cat $F | wc -c` -gt 1000000 ] ; then
|
||||
echo "The file $F is bigger than 1 megabyte - splitting it into smaller chunks"
|
||||
split -b 1000000 -d $F $F && rm $F || { echo "Error: 'split' command not installed" ; exit 1 ; }
|
||||
fi
|
||||
done
|
||||
fi
|
||||
exit 0
|
||||
@@ -2,7 +2,7 @@ APP_PROJECT_PATH := $(call my-dir)/..
|
||||
|
||||
APP_STL := gnustl_static
|
||||
APP_CFLAGS := -O3 -DNDEBUG -g # arm-linux-androideabi-4.4.3 crashes in -O0 mode on SDL sources
|
||||
APP_PLATFORM := android-8
|
||||
APP_PLATFORM := android-9 # Android 2.3.0 or newer, includes EGL headers
|
||||
|
||||
include jni/Settings.mk
|
||||
|
||||
|
||||
Submodule project/jni/application/openarena/engine updated: eadc21d370...c98bcf9eea
Submodule project/jni/application/openarena/vm updated: 1efb7db728...8ffdaa479d
1537
project/jni/config.guess
vendored
Executable file
1537
project/jni/config.guess
vendored
Executable file
File diff suppressed because it is too large
Load Diff
1787
project/jni/config.sub
vendored
Executable file
1787
project/jni/config.sub
vendored
Executable file
File diff suppressed because it is too large
Load Diff
@@ -20,21 +20,27 @@ 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`
|
||||
if which realpath > /dev/null ; then
|
||||
LOCAL_PATH=`realpath $LOCAL_PATH`
|
||||
else
|
||||
LOCAL_PATH=`cd $LOCAL_PATH && pwd`
|
||||
fi
|
||||
#echo LOCAL_PATH $LOCAL_PATH
|
||||
ARCH=armeabi
|
||||
|
||||
CFLAGS="\
|
||||
-fexceptions -frtti \
|
||||
-fpic -ffunction-sections -funwind-tables -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -Wno-psabi \
|
||||
-march=armv5te -mtune=xscale -msoft-float -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 \
|
||||
-isystem$NDK/platforms/$PLATFORMVER/arch-arm/usr/include -Wa,--noexecstack \
|
||||
-DANDROID \
|
||||
-DNDEBUG -O2 -g \
|
||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/include \
|
||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/libs/armeabi/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"
|
||||
|
||||
SHARED="-shared -Wl,-soname,libapplication.so"
|
||||
@@ -45,28 +51,28 @@ if [ -n "$NO_SHARED_LIBS" ]; then
|
||||
APP_SHARED_LIBS=
|
||||
fi
|
||||
|
||||
|
||||
LDFLAGS="\
|
||||
-fexceptions -frtti $SHARED \
|
||||
$SHARED \
|
||||
--sysroot=$NDK/platforms/$PLATFORMVER/arch-arm \
|
||||
-L$NDK/sources/cxx-stl/gnu-libstdc++/libs/armeabi \
|
||||
-L$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib \
|
||||
-lc \
|
||||
-lm \
|
||||
-ldl \
|
||||
-llog \
|
||||
-lz \
|
||||
$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++/$GCCVER/libs/$ARCH \
|
||||
-lgnustl_static \
|
||||
-lsupc++ \
|
||||
-Wl,--no-undefined -Wl,-z,noexecstack \
|
||||
-Wl,-rpath=/system/lib \
|
||||
-Wl,-rpath-link=$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib \
|
||||
-L$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib \
|
||||
-L$LOCAL_PATH/../../obj/local/$ARCH -Wl,--no-undefined -Wl,-z,noexecstack \
|
||||
-Wl,-rpath-link=$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib -lsupc++ \
|
||||
$MISSING_LIB $LDFLAGS"
|
||||
|
||||
#echo env CFLAGS=\""$CFLAGS"\" LDFLAGS=\""$LDFLAGS"\" "$@"
|
||||
|
||||
env PATH=$NDK/toolchains/$GCCPREFIX-$GCCVER/prebuilt/$MYARCH/bin:$LOCAL_PATH:$PATH \
|
||||
CFLAGS="$CFLAGS" \
|
||||
CXXFLAGS="$CFLAGS" \
|
||||
CXXFLAGS="$CXXFLAGS $CFLAGS" \
|
||||
LDFLAGS="$LDFLAGS" \
|
||||
CC="$NDK/toolchains/$GCCPREFIX-$GCCVER/prebuilt/$MYARCH/bin/$GCCPREFIX-gcc" \
|
||||
CXX="$NDK/toolchains/$GCCPREFIX-$GCCVER/prebuilt/$MYARCH/bin/$GCCPREFIX-g++" \
|
||||
|
||||
Reference in New Issue
Block a user