mirror of
https://github.com/godotengine/godot.git
synced 2026-01-06 10:11:57 +03:00
Android: Replace deprecated distutils LooseVersion usage
(cherry picked from commit 9e9ea714ad)
This commit is contained in:
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
import shutil
|
import shutil
|
||||||
from compat import open_utf8
|
from compat import open_utf8
|
||||||
from distutils.version import LooseVersion
|
|
||||||
from detect import get_ndk_version
|
from detect import get_ndk_version
|
||||||
|
|
||||||
Import('env')
|
Import('env')
|
||||||
@@ -167,10 +166,16 @@ if lib_arch_dir != '':
|
|||||||
else: # release_debug, debug
|
else: # release_debug, debug
|
||||||
lib_type_dir = 'debug'
|
lib_type_dir = 'debug'
|
||||||
|
|
||||||
|
# HACK: Replaced use of now obsoleted distutils.version.LooseVersion with this simple method,
|
||||||
|
# which isn't bullet proof but should be sufficient here with "x.y.z" parameters.
|
||||||
|
# Alternatives imply adding more dependencies.
|
||||||
|
def version_tuple(v):
|
||||||
|
return tuple(map(int, (v.split("."))))
|
||||||
|
|
||||||
out_dir = '#platform/android/java/libs/' + lib_type_dir + '/' + lib_arch_dir
|
out_dir = '#platform/android/java/libs/' + lib_type_dir + '/' + lib_arch_dir
|
||||||
env_android.Command(out_dir + '/libgodot_android.so', '#bin/libgodot' + env['SHLIBSUFFIX'], Move("$TARGET", "$SOURCE"))
|
env_android.Command(out_dir + '/libgodot_android.so', '#bin/libgodot' + env['SHLIBSUFFIX'], Move("$TARGET", "$SOURCE"))
|
||||||
ndk_version = get_ndk_version(env["ANDROID_NDK_ROOT"])
|
ndk_version = get_ndk_version(env["ANDROID_NDK_ROOT"])
|
||||||
if ndk_version != None and LooseVersion(ndk_version) >= LooseVersion("15.0.4075724"):
|
if ndk_version != None and version_tuple(ndk_version) >= version_tuple("15.0.4075724"):
|
||||||
if env['android_stl'] == 'yes':
|
if env['android_stl'] == 'yes':
|
||||||
stl_lib_path = str(env['ANDROID_NDK_ROOT']) + '/sources/cxx-stl/llvm-libc++/libs/' + lib_arch_dir + '/libc++_shared.so'
|
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"))
|
env_android.Command(out_dir + '/libc++_shared.so', stl_lib_path, Copy("$TARGET", "$SOURCE"))
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
import string
|
import string
|
||||||
import platform
|
import platform
|
||||||
from distutils.version import LooseVersion
|
|
||||||
|
|
||||||
def is_active():
|
def is_active():
|
||||||
return True
|
return True
|
||||||
@@ -193,8 +192,14 @@ def configure(env):
|
|||||||
|
|
||||||
lib_sysroot = env["ANDROID_NDK_ROOT"] + "/platforms/" + env['ndk_platform'] + "/" + env['ARCH']
|
lib_sysroot = env["ANDROID_NDK_ROOT"] + "/platforms/" + env['ndk_platform'] + "/" + env['ARCH']
|
||||||
|
|
||||||
|
# HACK: Replaced use of now obsoleted distutils.version.LooseVersion with this simple method,
|
||||||
|
# which isn't bullet proof but should be sufficient here with "x.y.z" parameters.
|
||||||
|
# Alternatives imply adding more dependencies.
|
||||||
|
def version_tuple(v):
|
||||||
|
return tuple(map(int, (v.split("."))))
|
||||||
|
|
||||||
ndk_version = get_ndk_version(env["ANDROID_NDK_ROOT"])
|
ndk_version = get_ndk_version(env["ANDROID_NDK_ROOT"])
|
||||||
if ndk_version != None and LooseVersion(ndk_version) >= LooseVersion("15.0.4075724"):
|
if ndk_version != None and version_tuple(ndk_version) >= version_tuple("15.0.4075724"):
|
||||||
print("Using NDK unified headers")
|
print("Using NDK unified headers")
|
||||||
sysroot = env["ANDROID_NDK_ROOT"] + "/sysroot"
|
sysroot = env["ANDROID_NDK_ROOT"] + "/sysroot"
|
||||||
env.Append(CPPFLAGS=["--sysroot="+sysroot])
|
env.Append(CPPFLAGS=["--sysroot="+sysroot])
|
||||||
@@ -251,9 +256,9 @@ def configure(env):
|
|||||||
if (sys.platform.startswith("darwin")):
|
if (sys.platform.startswith("darwin")):
|
||||||
env['SHLIBSUFFIX'] = '.so'
|
env['SHLIBSUFFIX'] = '.so'
|
||||||
|
|
||||||
if ndk_version != None and LooseVersion(ndk_version) >= LooseVersion("15.0.4075724"):
|
if ndk_version != None and version_tuple(ndk_version) >= version_tuple("15.0.4075724"):
|
||||||
if env['android_stl'] == 'yes':
|
if env['android_stl'] == 'yes':
|
||||||
if LooseVersion(ndk_version) >= LooseVersion("17.1.4828580"):
|
if version_tuple(ndk_version) >= version_tuple("17.1.4828580"):
|
||||||
env.Append(LINKFLAGS=['-Wl,--exclude-libs,libgcc.a','-Wl,--exclude-libs,libatomic.a','-nostdlib++'])
|
env.Append(LINKFLAGS=['-Wl,--exclude-libs,libgcc.a','-Wl,--exclude-libs,libatomic.a','-nostdlib++'])
|
||||||
else:
|
else:
|
||||||
env.Append(LINKFLAGS=[env["ANDROID_NDK_ROOT"] +"/sources/cxx-stl/llvm-libc++/libs/"+arch_subpath+"/libandroid_support.a"])
|
env.Append(LINKFLAGS=[env["ANDROID_NDK_ROOT"] +"/sources/cxx-stl/llvm-libc++/libs/"+arch_subpath+"/libandroid_support.a"])
|
||||||
|
|||||||
Reference in New Issue
Block a user