Fixes for NDK r5b and r5-crystax.beta3
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
>
|
||||
<application android:label="@string/app_name"
|
||||
android:icon="@drawable/icon"
|
||||
android:debuggable="true"
|
||||
>
|
||||
<activity android:name=".MainActivity"
|
||||
android:label="@string/app_name"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
APP_PROJECT_PATH := $(call my-dir)/..
|
||||
|
||||
APP_STL := gnustl_static
|
||||
APP_CFLAGS := -O2 -DNDEBUG -g # arm-linux-androideabi-4.4.3 crashes in -O0 mode on SDL sources
|
||||
|
||||
include jni/Settings.mk
|
||||
|
||||
|
||||
@@ -45,6 +45,11 @@ echo $APP_MODULES | xargs -n 1 echo | while read LIB ; do
|
||||
done
|
||||
)
|
||||
|
||||
if [ -n "$CRYSTAX_WCHAR" ]; then
|
||||
CRYSTAX_WCHAR_INCLUDE=-I$NDK/sources/wchar-support/include
|
||||
CRYSTAX_WCHAR_LIB="$NDK/sources/wchar-support/libs/armeabi/libwchar_static.a"
|
||||
fi
|
||||
|
||||
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 \
|
||||
@@ -55,7 +60,8 @@ CFLAGS="\
|
||||
-I$NDK/sources/cxx-stl/gnu-libstdc++/include \
|
||||
-I$NDK/sources/cxx-stl/gnu-libstdc++/libs/armeabi/include \
|
||||
-I$LOCAL_PATH/../sdl-1.2/include \
|
||||
`echo $APP_MODULES | sed \"s@\([-a-zA-Z0-9_.]\+\)@-I$LOCAL_PATH/../\1/include@g\"`"
|
||||
`echo $APP_MODULES | sed \"s@\([-a-zA-Z0-9_.]\+\)@-I$LOCAL_PATH/../\1/include@g\"` \
|
||||
$CRYSTAX_WCHAR_INCLUDE"
|
||||
|
||||
LDFLAGS="\
|
||||
-fexceptions -frtti \
|
||||
@@ -71,7 +77,8 @@ $NDK/platforms/$PLATFORMVER/arch-arm/usr/lib/libz.so \
|
||||
$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib/libstdc++.a \
|
||||
-L$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib \
|
||||
-L$LOCAL_PATH/../../obj/local/armeabi -Wl,--no-undefined -Wl,-z,noexecstack \
|
||||
-Wl,-rpath-link=$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib -lsupc++ -lsdl_fake_stdout -Wl,-u,_SDL_ANDROID_initFakeStdout"
|
||||
-Wl,-rpath-link=$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib -lsupc++ -lsdl_fake_stdout -Wl,-u,_SDL_ANDROID_initFakeStdout \
|
||||
$CRYSTAX_WCHAR_LIB"
|
||||
|
||||
env PATH=$NDK/toolchains/$GCCPREFIX-$GCCVER/prebuilt/$MYARCH/bin:$LOCAL_PATH:$PATH \
|
||||
CFLAGS="$CFLAGS" \
|
||||
|
||||
@@ -13,8 +13,12 @@ LOCAL_PATH=`dirname $0`
|
||||
LOCAL_PATH=`cd $LOCAL_PATH && pwd`
|
||||
|
||||
SCRIPT=setEnvironment-r4b.sh
|
||||
if [ -n "`echo $NDK | grep android-ndk-r5b`" ]; then
|
||||
CRYSTAX_WCHAR=
|
||||
if [ -n "`echo $NDK | grep 'android-ndk-r5b\|android-ndk-r5-crystax-1.beta3'`" ]; then
|
||||
SCRIPT=setEnvironment-r5b.sh
|
||||
if [ -n "`echo $NDK | grep 'android-ndk-r5-crystax-1.beta3'`" ]; then
|
||||
CRYSTAX_WCHAR=1
|
||||
fi
|
||||
fi
|
||||
|
||||
$LOCAL_PATH/$SCRIPT "$@"
|
||||
env CRYSTAX_WCHAR=$CRYSTAX_WCHAR $LOCAL_PATH/$SCRIPT "$@"
|
||||
|
||||
@@ -13,28 +13,28 @@ Index: global.h
|
||||
//filesystem version 3 causes problems (and it's default as of boost 1.46)
|
||||
#define BOOST_FILESYSTEM_VERSION 2
|
||||
typedef boost::uint64_t ui64; //unsigned int 64 bits (8 bytes)
|
||||
@@ -623,7 +627,25 @@
|
||||
@@ -622,8 +626,25 @@
|
||||
public:
|
||||
CLogger& operator<<(std::ostream& (*fun)(std::ostream&))
|
||||
{
|
||||
+#ifdef ANDROID
|
||||
+ std::ostringstream os;
|
||||
+ os << fun;
|
||||
+ int loglevel = ANDROID_LOG_INFO;
|
||||
+ switch(lvl) {
|
||||
+ case 0: loglevel = ANDROID_LOG_INFO; break;
|
||||
+ case 1: loglevel = ANDROID_LOG_FATAL; break;
|
||||
+ case 2: loglevel = ANDROID_LOG_ERROR; break;
|
||||
+ case 3: loglevel = ANDROID_LOG_WARN; break;
|
||||
+ case 4: loglevel = ANDROID_LOG_INFO; break;
|
||||
+ case 5: loglevel = ANDROID_LOG_DEBUG; break;
|
||||
+ case 6: case -2: loglevel = ANDROID_LOG_VERBOSE; break;
|
||||
+ };
|
||||
+ __android_log_print(loglevel, "VCMI", "%s", os.str().c_str());
|
||||
+#endif
|
||||
if(lvl < CONSOLE_LOGGING_LEVEL)
|
||||
+ {
|
||||
+#ifdef ANDROID
|
||||
+ std::ostringstream os;
|
||||
+ os << fun;
|
||||
+ int loglevel = ANDROID_LOG_INFO;
|
||||
+ switch(lvl) {
|
||||
+ case 0: loglevel = ANDROID_LOG_INFO; break;
|
||||
+ case 1: loglevel = ANDROID_LOG_FATAL; break;
|
||||
+ case 2: loglevel = ANDROID_LOG_ERROR; break;
|
||||
+ case 3: loglevel = ANDROID_LOG_WARN; break;
|
||||
+ case 4: loglevel = ANDROID_LOG_INFO; break;
|
||||
+ case 5: loglevel = ANDROID_LOG_DEBUG; break;
|
||||
+ case 6: case -2: loglevel = ANDROID_LOG_VERBOSE; break;
|
||||
+ };
|
||||
+ __android_log_print(loglevel, "VCMI", "%s", os.str().c_str());
|
||||
+#else
|
||||
std::cout << fun;
|
||||
+#endif
|
||||
+ }
|
||||
if((lvl < FILE_LOGGING_LEVEL) && logfile)
|
||||
*logfile << fun;
|
||||
|
||||
@@ -3,9 +3,7 @@ LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := $(notdir $(LOCAL_PATH))
|
||||
#ifeq ($(LOCAL_MODULE),boost)
|
||||
#$(error Do not use "boost" as dependency, use boost_filesystem, boost_iostreams etc)
|
||||
#endif
|
||||
ifneq ($(LOCAL_MODULE),boost)
|
||||
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
|
||||
|
||||
@@ -22,3 +20,5 @@ $(abspath $(LOCAL_PATH)/../../obj/local/armeabi-v7a/lib$(LOCAL_MODULE).a): $(LOC
|
||||
.PHONY: OVERRIDE_CUSTOM_LIB
|
||||
OVERRIDE_CUSTOM_LIB:
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
@@ -3,9 +3,7 @@ LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := $(notdir $(LOCAL_PATH))
|
||||
#ifeq ($(LOCAL_MODULE),ffmpeg)
|
||||
#$(error Do not use "ffmpeg" as dependency, use avformat, swscale etc)
|
||||
#endif
|
||||
ifneq ($(LOCAL_MODULE),ffmpeg)
|
||||
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
|
||||
|
||||
@@ -22,3 +20,5 @@ $(abspath $(LOCAL_PATH)/../../obj/local/armeabi-v7a/lib$(LOCAL_MODULE).so): $(LO
|
||||
.PHONY: OVERRIDE_CUSTOM_LIB
|
||||
OVERRIDE_CUSTOM_LIB:
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user