瀏覽代碼

Support Google Play 16 KB Page Size Requirement (#13470)
- See: https://developer.android.com/guide/practices/page-sizes#update-packaging
- Also, make min API uniform at 21 (from 16 and 23 in a few places)

Manual backport of dc2c83c3834f4eaa64698cc19cc80a3f21105e57

(cherry picked from commit 4b2aa3f102697b1ace7455c24c6c07f802c07476)

Anonymous Maarten 1 月之前
父節點
當前提交
e321995244
共有 3 個文件被更改,包括 8 次插入0 次删除
  1. 4 0
      Android.mk
  2. 3 0
      CMakeLists.txt
  3. 1 0
      test/CMakeLists.txt

+ 4 - 0
Android.mk

@@ -88,6 +88,10 @@ ifeq ($(NDK_DEBUG),1)
     cmd-strip :=
 endif
 
+# https://developer.android.com/guide/practices/page-sizes
+LOCAL_LDFLAGS += "-Wl,-z,max-page-size=16384"
+LOCAL_LDFLAGS += "-Wl,-z,common-page-size=16384"
+
 LOCAL_STATIC_LIBRARIES := cpufeatures
 
 include $(BUILD_SHARED_LIBRARY)

+ 3 - 0
CMakeLists.txt

@@ -1275,6 +1275,9 @@ if(ANDROID)
     set(HAVE_SDL_MISC TRUE)
   endif()
 
+  # https://developer.android.com/guide/practices/page-sizes
+  list(APPEND EXTRA_LDFLAGS_BUILD "-Wl,-z,max-page-size=16384" "-Wl,-z,common-page-size=16384")
+
   # SDL_spinlock.c Needs to be compiled in ARM mode.
   # There seems to be no better way currently to set the ARM mode.
   # see: https://issuetracker.google.com/issues/62264618

+ 1 - 0
test/CMakeLists.txt

@@ -40,6 +40,7 @@ macro(add_sdl_test_executable TARGET)
     list(APPEND SDLTEST_TARGETS ${TARGET})
     if(ANDROID)
         add_library(${TARGET} SHARED ${AST_UNPARSED_ARGUMENTS})
+        set_property(TARGET ${TARGET} APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-z,max-page-size=16384 -Wl,-z,common-page-size=16384")
     else()
         add_executable(${TARGET} ${AST_UNPARSED_ARGUMENTS})
     endif()