It was initially implemented in #5871 for Godot 3.0, but never really completed or thoroughly tested for most platforms. It then stayed in limbo and nobody seems really keen to finish it, so it's better to remove it in 4.0, and re-add eventually (possibly with a different API) if there's demand and an implementation confirmed working on all platforms. Closes #8770.
57 lines
1.8 KiB
Python
57 lines
1.8 KiB
Python
#!/usr/bin/env python
|
|
|
|
from detect import get_ndk_version
|
|
from distutils.version import LooseVersion
|
|
|
|
Import('env')
|
|
|
|
android_files = [
|
|
'os_android.cpp',
|
|
'file_access_android.cpp',
|
|
'audio_driver_opensl.cpp',
|
|
'file_access_jandroid.cpp',
|
|
'dir_access_jandroid.cpp',
|
|
'thread_jandroid.cpp',
|
|
'net_socket_android.cpp',
|
|
'audio_driver_jandroid.cpp',
|
|
'java_godot_lib_jni.cpp',
|
|
'java_class_wrapper.cpp',
|
|
'java_godot_wrapper.cpp',
|
|
'java_godot_io_wrapper.cpp',
|
|
]
|
|
|
|
env_android = env.Clone()
|
|
|
|
android_objects = []
|
|
for x in android_files:
|
|
android_objects.append(env_android.SharedObject(x))
|
|
|
|
env_thirdparty = env_android.Clone()
|
|
env_thirdparty.disable_warnings()
|
|
android_objects.append(env_thirdparty.SharedObject('#thirdparty/misc/ifaddrs-android.cc'))
|
|
|
|
lib = env_android.add_shared_library("#bin/libgodot", [android_objects], SHLIBSUFFIX=env["SHLIBSUFFIX"])
|
|
|
|
lib_arch_dir = ''
|
|
if env['android_arch'] == 'armv7':
|
|
lib_arch_dir = 'armeabi-v7a'
|
|
elif env['android_arch'] == 'arm64v8':
|
|
lib_arch_dir = 'arm64-v8a'
|
|
elif env['android_arch'] == 'x86':
|
|
lib_arch_dir = 'x86'
|
|
elif env['android_arch'] == 'x86_64':
|
|
lib_arch_dir = 'x86_64'
|
|
else:
|
|
print('WARN: Architecture not suitable for embedding into APK; keeping .so at \\bin')
|
|
|
|
if lib_arch_dir != '':
|
|
if env['target'] == 'release':
|
|
lib_type_dir = 'release'
|
|
else: # release_debug, debug
|
|
lib_type_dir = 'debug'
|
|
|
|
out_dir = '#platform/android/java/lib/libs/' + lib_type_dir + '/' + lib_arch_dir
|
|
env_android.Command(out_dir + '/libgodot_android.so', '#bin/libgodot' + env['SHLIBSUFFIX'], Move("$TARGET", "$SOURCE"))
|
|
|
|
stl_lib_path = str(env['ANDROID_NDK_ROOT']) + '/sources/cxx-stl/llvm-libc++/libs/' + lib_arch_dir + '/libc++_shared.so'
|
|
env_android.Command(out_dir + '/libc++_shared.so', stl_lib_path, Copy("$TARGET", "$SOURCE"))
|