Add support for gnu-libstc++-4.9 needed by recent NDK versions
The 4.9 version is the default one, people can still build using 4.8 with older NDK versions by setting the (optional) NDK_TARGET and NDK_TARGET_X86 environment variables.
This commit is contained in:
parent
6cf978b7d6
commit
a0fb5b5f95
|
@ -22,14 +22,15 @@ def get_opts():
|
||||||
return [
|
return [
|
||||||
('ANDROID_NDK_ROOT', 'the path to Android NDK', os.environ.get("ANDROID_NDK_ROOT", 0)),
|
('ANDROID_NDK_ROOT', 'the path to Android NDK', os.environ.get("ANDROID_NDK_ROOT", 0)),
|
||||||
('NDK_TOOLCHAIN', 'toolchain to use for the NDK',"arm-eabi-4.4.0"),
|
('NDK_TOOLCHAIN', 'toolchain to use for the NDK',"arm-eabi-4.4.0"),
|
||||||
('NDK_TARGET', 'toolchain to use for the NDK',"arm-linux-androideabi-4.8"),
|
('NDK_TARGET', 'toolchain to use for the NDK',os.environ.get("NDK_TARGET", "arm-linux-androideabi-4.9")),
|
||||||
('NDK_TARGET_X86', 'toolchain to use for the NDK x86',"x86-4.8"),
|
('NDK_TARGET_X86', 'toolchain to use for the NDK x86',os.environ.get("NDK_TARGET_X86", "x86-4.9")),
|
||||||
('ndk_platform', 'compile for platform: (android-<api> , example: android-15)',"android-15"),
|
('ndk_platform', 'compile for platform: (android-<api> , example: android-15)',"android-15"),
|
||||||
('android_arch', 'select compiler architecture: (armv7/armv6/x86)',"armv7"),
|
('android_arch', 'select compiler architecture: (armv7/armv6/x86)',"armv7"),
|
||||||
('android_neon','enable neon (armv7 only)',"yes"),
|
('android_neon','enable neon (armv7 only)',"yes"),
|
||||||
('android_stl','enable STL support in android port (for modules)',"no")
|
('android_stl','enable STL support in android port (for modules)',"no")
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def get_flags():
|
def get_flags():
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
@ -232,17 +233,18 @@ def configure(env):
|
||||||
#env.Append(LINKFLAGS=[env["ANDROID_NDK_ROOT"]+"/sources/cxx-stl/gnu-libstdc++/libs/armeabi/libstdc++.a"])
|
#env.Append(LINKFLAGS=[env["ANDROID_NDK_ROOT"]+"/sources/cxx-stl/gnu-libstdc++/libs/armeabi/libstdc++.a"])
|
||||||
else:
|
else:
|
||||||
|
|
||||||
env.Append(CPPPATH=[env["ANDROID_NDK_ROOT"]+"/sources/cxx-stl/gabi++/include"])
|
env.Append(CPPPATH=[env["ANDROID_NDK_ROOT"]+"/sources/cxx-stl/gnu-libstdc++/4.9/include"])
|
||||||
env.Append(CPPPATH=[env["ANDROID_NDK_ROOT"]+"/sources/cpufeatures"])
|
env.Append(CPPPATH=[env["ANDROID_NDK_ROOT"]+"/sources/cpufeatures"])
|
||||||
if env['android_arch']=='x86':
|
if env['android_arch']=='x86':
|
||||||
env.Append(LIBPATH=[env["ANDROID_NDK_ROOT"]+"/sources/cxx-stl/gabi++/libs/x86"])
|
env.Append(LIBPATH=[env["ANDROID_NDK_ROOT"]+"/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86"])
|
||||||
elif env["android_arch"]=="armv6":
|
elif env["android_arch"]=="armv6":
|
||||||
env.Append(LIBPATH=[env["ANDROID_NDK_ROOT"]+"/sources/cxx-stl/gabi++/libs/armeabi"])
|
env.Append(LIBPATH=[env["ANDROID_NDK_ROOT"]+"/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi"])
|
||||||
elif env["android_arch"]=="armv7":
|
elif env["android_arch"]=="armv7":
|
||||||
env.Append(LIBPATH=[env["ANDROID_NDK_ROOT"]+"/sources/cxx-stl/gabi++/libs/armeabi-v7a"])
|
env.Append(LIBPATH=[env["ANDROID_NDK_ROOT"]+"/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a"])
|
||||||
env.Append(LIBS=['gabi++_static'])
|
env.Append(LIBS=['gnustl_static'])
|
||||||
env.Append(CCFLAGS=["-fno-exceptions",'-DNO_SAFE_CAST'])
|
env.Append(CCFLAGS=["-fno-exceptions",'-DNO_SAFE_CAST'])
|
||||||
|
|
||||||
|
|
||||||
import methods
|
import methods
|
||||||
env.Append( BUILDERS = { 'GLSL120' : env.Builder(action = methods.build_legacygl_headers, suffix = 'glsl.h',src_suffix = '.glsl') } )
|
env.Append( BUILDERS = { 'GLSL120' : env.Builder(action = methods.build_legacygl_headers, suffix = 'glsl.h',src_suffix = '.glsl') } )
|
||||||
env.Append( BUILDERS = { 'GLSL' : env.Builder(action = methods.build_glsl_headers, suffix = 'glsl.h',src_suffix = '.glsl') } )
|
env.Append( BUILDERS = { 'GLSL' : env.Builder(action = methods.build_glsl_headers, suffix = 'glsl.h',src_suffix = '.glsl') } )
|
||||||
|
|
Loading…
Reference in New Issue