Fixed bug 2839 - No way to create pre-built libraries for Android
Mark Callow README-android says to copy or link the SDL source tree to the jni folder in your Android project. It is not desirable to have to compile SDL with every application; furthermore the Android NDK has support for prebuilt libraries. Attached is script (to be put in build-scripts) that builds the Android version of the libraries. The script builds both the existing SDL2 module and a new SDL2_main module. This is a static library containing the code from src/main/android/SDL_android_main.c. Also attached is a patch for Android.mk adding this module. Note that when building an application's native .so using this prebuilt libSDL2main, you must use a link option, such as --whole-archive, that forces inclusion of the code in the .so because the functions in SDL_android_main are called only from Java.
This commit is contained in:
parent
464da7e89c
commit
6cfc67f5ef
2 changed files with 94 additions and 0 deletions
20
Android.mk
20
Android.mk
|
@ -67,3 +67,23 @@ LOCAL_LDLIBS :=
|
|||
LOCAL_EXPORT_LDLIBS := -Wl,--undefined=Java_org_libsdl_app_SDLActivity_nativeInit -ldl -lGLESv1_CM -lGLESv2 -llog -landroid
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
###########################
|
||||
#
|
||||
# SDL main static library
|
||||
#
|
||||
###########################
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
|
||||
|
||||
LOCAL_MODULE := SDL2_main
|
||||
|
||||
LOCAL_MODULE_FILENAME := libSDL2main
|
||||
|
||||
LOCAL_SRC_FILES := $(LOCAL_PATH)/src/main/android/SDL_android_main.c
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue