Fixed compiling for NDK r4b - note that I may have breaked some other compilation types
This commit is contained in:
@@ -530,7 +530,7 @@ mv -f project/src/Globals.java.1 project/src/Globals.java
|
||||
echo Patching project/jni/Settings.mk
|
||||
echo '# DO NOT EDIT THIS FILE - it is automatically generated, edit file SettingsTemplate.mk' > project/jni/Settings.mk
|
||||
cat project/jni/SettingsTemplate.mk | \
|
||||
sed "s/APP_MODULES := .*/APP_MODULES := application sdl-$LibSdlVersion sdl_main stlport jpeg png ogg flac vorbis freetype $CompiledLibraries/" | \
|
||||
sed "s/APP_MODULES := .*/APP_MODULES := application sdl-$LibSdlVersion sdl_main stlport jpeg png ogg flac vorbis freetype sdl_fake_stdout $CompiledLibraries/" | \
|
||||
sed "s/APP_ABI := .*/APP_ABI := $MultiABI/" | \
|
||||
sed "s/SDL_JAVA_PACKAGE_PATH := .*/SDL_JAVA_PACKAGE_PATH := $AppFullNameUnderscored/" | \
|
||||
sed "s^SDL_CURDIR_PATH := .*^SDL_CURDIR_PATH := $DataPath^" | \
|
||||
|
||||
@@ -23,9 +23,9 @@ endif
|
||||
|
||||
LOCAL_C_INCLUDES += $(foreach D, $(APP_SUBDIRS), $(LOCAL_PATH)/$(D)) \
|
||||
$(LOCAL_PATH)/../sdl-$(SDL_VERSION)/include \
|
||||
$(foreach L, $(COMPILED_LIBRARIES), $(LOCAL_PATH)/../$(L)/include)
|
||||
$(foreach L, $(COMPILED_LIBRARIES), $(LOCAL_PATH)/../$(L)/include) \
|
||||
|
||||
LOCAL_CFLAGS += -include SDL_android_printf.h
|
||||
LOCAL_CFLAGS += -include $(LOCAL_PATH)/../sdl_fake_stdout/include/SDL_android_printf.h
|
||||
|
||||
LOCAL_CFLAGS += $(APPLICATION_ADDITIONAL_CFLAGS)
|
||||
|
||||
@@ -43,38 +43,36 @@ LOCAL_SHARED_LIBRARIES := sdl-$(SDL_VERSION) $(filter-out $(APP_AVAILABLE_STATIC
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := $(filter $(APP_AVAILABLE_STATIC_LIBS), $(COMPILED_LIBRARIES))
|
||||
|
||||
LOCAL_STATIC_LIBRARIES += stlport
|
||||
LOCAL_STATIC_LIBRARIES += stlport sdl_fake_stdout
|
||||
|
||||
LOCAL_LDLIBS := -lGLESv1_CM -ldl -llog -lz
|
||||
|
||||
LOCAL_LDFLAGS := -Lobj/local/armeabi
|
||||
LOCAL_LDFLAGS := -Lobj/local/armeabi -Wl,-u,_SDL_ANDROID_initFakeStdout
|
||||
|
||||
LOCAL_LDFLAGS += $(APPLICATION_ADDITIONAL_LDFLAGS)
|
||||
|
||||
# Disabled for now 'till I not confirmed it
|
||||
LIBS_WITH_LONG_SYMBOLS := $(strip $(shell \
|
||||
for f in $(LOCAL_PATH)/../../obj/local/armeabi/*.so ; do \
|
||||
if echo $$f | grep "libapplication[.]so" > /dev/null ; then \
|
||||
continue ; \
|
||||
fi ; \
|
||||
if [ -e "$$f" ] ; then \
|
||||
if nm -g $$f | cut -c 12- | egrep '.{128}' > /dev/null ; then \
|
||||
echo $$f | grep -o 'lib[^/]*[.]so' ; \
|
||||
fi ; \
|
||||
fi ; \
|
||||
done \
|
||||
) )
|
||||
|
||||
#LIBS_WITH_LONG_SYMBOLS := $(strip $(shell \
|
||||
# for f in $(LOCAL_PATH)/../../obj/local/armeabi/*.so ; do \
|
||||
# if echo $$f | grep "libapplication[.]so" > /dev/null ; then \
|
||||
# continue ; \
|
||||
# fi ; \
|
||||
# if [ -e "$$f" ] ; then \
|
||||
# if nm -g $$f | cut -c 12- | egrep '.{128}' > /dev/null ; then \
|
||||
# echo $$f | grep -o 'lib[^/]*[.]so' ; \
|
||||
# fi ; \
|
||||
# fi ; \
|
||||
# done \
|
||||
#) )
|
||||
|
||||
#ifneq "$(LIBS_WITH_LONG_SYMBOLS)" ""
|
||||
#$(foreach F, $(LIBS_WITH_LONG_SYMBOLS), \
|
||||
#$(info Library $(F): abusing symbol names are: \
|
||||
#$(shell nm -g $(LOCAL_PATH)/../../obj/local/armeabi/$(F) | cut -c 12- | egrep '.{128}' ) ) \
|
||||
#$(info Library $(F) contains symbol names longer than 128 bytes, \
|
||||
#YOUR CODE WILL DEADLOCK WITHOUT ANY WARNING when you'll access such function - \
|
||||
#please make this library static to avoid problems. ) )
|
||||
#$(error Detected libraries with too long symbol names. Remove all files under project/obj/local/armeabi, make these libs static, and recompile)
|
||||
#endif
|
||||
ifneq "$(LIBS_WITH_LONG_SYMBOLS)" ""
|
||||
$(foreach F, $(LIBS_WITH_LONG_SYMBOLS), \
|
||||
$(info Library $(F): abusing symbol names are: \
|
||||
$(shell nm -g $(LOCAL_PATH)/../../obj/local/armeabi/$(F) | cut -c 12- | egrep '.{128}' ) ) \
|
||||
$(info Library $(F) contains symbol names longer than 128 bytes, \
|
||||
YOUR CODE WILL DEADLOCK WITHOUT ANY WARNING when you'll access such function - \
|
||||
please make this library static to avoid problems. ) )
|
||||
$(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))
|
||||
|
||||
@@ -22,8 +22,8 @@ AppTouchscreenKeyboardKeysAmount=0
|
||||
AppTouchscreenKeyboardKeysAmountAutoFire=0
|
||||
RedefinedKeysScreenKb="LCTRL M T H E C SPACE C S L"
|
||||
MultiABI=n
|
||||
AppVersionCode=225012
|
||||
AppVersionName="2250.12"
|
||||
AppVersionCode=225512
|
||||
AppVersionName="2255.12"
|
||||
CompiledLibraries="sdl_net sdl_mixer sdl_image sdl_ttf png intl"
|
||||
CustomBuildScript=n
|
||||
AppCflags='-finline-functions -O2 -DWITH_ZLIB -DWITH_MIXER -DWITH_XML -DWITH_IMAGE -DWITH_TTF -DWITH_AI=simple'
|
||||
|
||||
@@ -48,7 +48,7 @@ CFLAGS="-I$NDK/build/platforms/$PLATFORMVER/arch-arm/usr/include \
|
||||
-Wno-psabi -march=armv5te -mtune=xscale -msoft-float -mthumb -Os -O2 \
|
||||
-fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 \
|
||||
-Wa,--noexecstack -DNDEBUG -g \
|
||||
-include SDL_android_printf.h \
|
||||
-include $LOCAL_PATH/../sdl_fake_stdout/include/SDL_android_printf.h \
|
||||
-I$LOCAL_PATH/../sdl-1.2/include $STL_INCLUDE \
|
||||
`echo $APP_MODULES | sed \"s@\([-a-zA-Z0-9_.]\+\)@-I$LOCAL_PATH/../\1/include@g\"`"
|
||||
|
||||
@@ -62,7 +62,7 @@ $NDK/build/platforms/$PLATFORMVER/arch-arm/usr/lib/libm.so \
|
||||
-L$NDK/build/platforms/$PLATFORMVER/arch-arm/usr/lib \
|
||||
-lGLESv1_CM -ldl -llog -lz \
|
||||
-Wl,-rpath-link=$NDK/build/platforms/$PLATFORMVER/arch-arm/usr/lib \
|
||||
-L$LOCAL_PATH/../../obj/local/armeabi $STL_LIB"
|
||||
-L$LOCAL_PATH/../../obj/local/armeabi $STL_LIB -lsdl_fake_stdout -Wl,-u,_SDL_ANDROID_initFakeStdout"
|
||||
|
||||
env PATH=$NDK/build/prebuilt/$MYARCH/arm-eabi-$GCCVER/bin:$LOCAL_PATH:$PATH \
|
||||
CFLAGS="$CFLAGS" \
|
||||
|
||||
@@ -50,7 +50,7 @@ CFLAGS="\
|
||||
-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 \
|
||||
-I$NDK/platforms/$PLATFORMVER/arch-arm/usr/include -Wa,--noexecstack \
|
||||
-DANDROID -include SDL_android_printf.h \
|
||||
-DANDROID -include $LOCAL_PATH/../sdl_fake_stdout/include/SDL_android_printf.h \
|
||||
-DNDEBUG -O2 -g \
|
||||
-I$NDK/sources/cxx-stl/gnu-libstdc++/include \
|
||||
-I$NDK/sources/cxx-stl/gnu-libstdc++/libs/armeabi/include \
|
||||
@@ -71,7 +71,7 @@ $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++"
|
||||
-Wl,-rpath-link=$NDK/platforms/$PLATFORMVER/arch-arm/usr/lib -lsupc++ -lsdl_fake_stdout -Wl,-u,_SDL_ANDROID_initFakeStdout"
|
||||
|
||||
env PATH=$NDK/toolchains/$GCCPREFIX-$GCCVER/prebuilt/$MYARCH/bin:$LOCAL_PATH:$PATH \
|
||||
CFLAGS="$CFLAGS" \
|
||||
|
||||
@@ -1 +1 @@
|
||||
ufoai
|
||||
fheroes2
|
||||
@@ -1 +0,0 @@
|
||||
../../sdl-1.3/include/SDL_android_printf.h
|
||||
@@ -1 +0,0 @@
|
||||
../../../../sdl-1.3/src/video/android/SDL_fake_stdout.cpp
|
||||
@@ -229,7 +229,6 @@ JAVA_EXPORT_NAME(DemoRenderer_nativeInitJavaCallbacks) ( JNIEnv* env, jobject t
|
||||
JavaShowScreenKeyboard = (*JavaEnv)->GetMethodID(JavaEnv, JavaRendererClass, "showScreenKeyboard", "()V");
|
||||
|
||||
ANDROID_InitOSKeymap();
|
||||
SDL_ANDROID_initFakeStdout();
|
||||
}
|
||||
|
||||
int SDL_ANDROID_SetApplicationPutToBackgroundCallback(
|
||||
|
||||
@@ -53,7 +53,6 @@ extern void SDL_ANDROID_processMoveMouseWithKeyboard();
|
||||
extern int SDL_ANDROID_InsideVideoThread();
|
||||
extern SDL_VideoDevice *ANDROID_CreateDevice_1_3(int devindex);
|
||||
extern void SDL_ANDROID_ProcessDeferredEvents();
|
||||
extern void SDL_ANDROID_initFakeStdout();
|
||||
extern void SDL_ANDROID_WarpMouse(int x, int y);
|
||||
|
||||
#if SDL_VERSION_ATLEAST(1,3,0)
|
||||
|
||||
21
project/jni/sdl_fake_stdout/Android.mk
Normal file
21
project/jni/sdl_fake_stdout/Android.mk
Normal file
@@ -0,0 +1,21 @@
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := sdl_fake_stdout
|
||||
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../sdl-$(SDL_VERSION)/include
|
||||
LOCAL_CFLAGS :=
|
||||
|
||||
ifeq ($(CRYSTAX_TOOLCHAIN)$(NDK_R5_TOOLCHAIN),)
|
||||
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../stlport/stlport
|
||||
endif
|
||||
|
||||
LOCAL_CPP_EXTENSION := .cpp
|
||||
|
||||
LOCAL_SRC_FILES := SDL_fake_stdout.cpp
|
||||
|
||||
LOCAL_SHARED_LIBRARIES :=
|
||||
LOCAL_LDLIBS := -llog
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
@@ -24,6 +24,7 @@
|
||||
#define JAVA_EXPORT_NAME1(name,package) JAVA_EXPORT_NAME2(name,package)
|
||||
#define JAVA_EXPORT_NAME(name) JAVA_EXPORT_NAME1(name,SDL_JAVA_PACKAGE_PATH)
|
||||
|
||||
extern C_LINKAGE void SDL_ANDROID_initFakeStdout(void);
|
||||
|
||||
extern C_LINKAGE void
|
||||
JAVA_EXPORT_NAME(DemoRenderer_nativeInit) ( JNIEnv* env, jobject thiz, jstring jcurdir, jstring cmdline )
|
||||
@@ -86,7 +87,9 @@ JAVA_EXPORT_NAME(DemoRenderer_nativeInit) ( JNIEnv* env, jobject thiz, jstring
|
||||
|
||||
for( i = 0; i < argc; i++ )
|
||||
__android_log_print(ANDROID_LOG_INFO, "libSDL", "param %d = \"%s\"", i, argv[i]);
|
||||
|
||||
|
||||
SDL_ANDROID_initFakeStdout();
|
||||
|
||||
main( argc, argv );
|
||||
|
||||
};
|
||||
|
||||
@@ -9,7 +9,7 @@ LOCAL_CPP_EXTENSION := .cpp
|
||||
LOCAL_SRC_FILES := dummy.c
|
||||
else
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/stlport $(LOCAL_PATH)/src
|
||||
LOCAL_CFLAGS := -O3 -DANDROID_NO_COUT=1 -frtti -fexceptions
|
||||
LOCAL_CFLAGS := -O3 -DANDROID_NO_COUT=1
|
||||
|
||||
LOCAL_CPP_EXTENSION := .cpp
|
||||
LOCAL_SRC_FILES := $(addprefix src/,$(notdir $(wildcard $(LOCAL_PATH)/src/*.cpp $(LOCAL_PATH)/src/*.c)))
|
||||
|
||||
Reference in New Issue
Block a user