mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-03 23:21:15 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			58 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',
 | 
						|
    #'power_android.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"))
 |