parent
5965d5bbec
commit
598a94abfc
|
|
@ -194,9 +194,9 @@ These commands show how to compile wheels for the supported Android ABIs:
|
|||
```bash
|
||||
export ANDROID_SDK_ROOT=/home/rdb/local/android
|
||||
python3.8 makepanda/makepanda.py --everything --outputdir built-droid-arm64 --arch arm64 --target android-21 --threads 6 --wheel
|
||||
python3.8 makepanda/makepanda.py --everything --outputdir built-droid-armv7a --arch armv7a --target android-19 --threads 6 --wheel
|
||||
python3.8 makepanda/makepanda.py --everything --outputdir built-droid-armv7a --arch arm --target android-21 --threads 6 --wheel
|
||||
python3.8 makepanda/makepanda.py --everything --outputdir built-droid-x86_64 --arch x86_64 --target android-21 --threads 6 --wheel
|
||||
python3.8 makepanda/makepanda.py --everything --outputdir built-droid-x86 --arch x86 --target android-19 --threads 6 --wheel
|
||||
python3.8 makepanda/makepanda.py --everything --outputdir built-droid-x86 --arch x86 --target android-21 --threads 6 --wheel
|
||||
```
|
||||
|
||||
It is now possible to use the generated wheels with `build_apps`, as explained
|
||||
|
|
|
|||
|
|
@ -485,6 +485,8 @@ elif not CrossCompiling():
|
|||
else:
|
||||
if target_arch == 'amd64':
|
||||
target_arch = 'x86_64'
|
||||
if target_arch == 'arm' and target == 'android':
|
||||
target_arch = 'armv7a'
|
||||
PLATFORM = '{0}-{1}'.format(target, target_arch)
|
||||
|
||||
|
||||
|
|
@ -1371,10 +1373,10 @@ def CompileCxx(obj,src,opts):
|
|||
cmd += ' -gcc-toolchain ' + SDK["ANDROID_GCC_TOOLCHAIN"].replace('\\', '/')
|
||||
cmd += ' -ffunction-sections -funwind-tables'
|
||||
cmd += ' -target ' + SDK["ANDROID_TRIPLE"]
|
||||
if arch == 'armv7a':
|
||||
if arch in ('armv7a', 'arm'):
|
||||
cmd += ' -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16'
|
||||
elif arch == 'arm':
|
||||
cmd += ' -march=armv5te -mtune=xscale -msoft-float'
|
||||
#elif arch == 'arm':
|
||||
# cmd += ' -march=armv5te -mtune=xscale -msoft-float'
|
||||
elif arch == 'mips':
|
||||
cmd += ' -mips32'
|
||||
elif arch == 'mips64':
|
||||
|
|
@ -1897,7 +1899,7 @@ def CompileLink(dll, obj, opts):
|
|||
cmd += ' -gcc-toolchain ' + SDK["ANDROID_GCC_TOOLCHAIN"].replace('\\', '/')
|
||||
cmd += " -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now"
|
||||
cmd += ' -target ' + SDK["ANDROID_TRIPLE"]
|
||||
if arch == 'armv7a':
|
||||
if arch in ('armv7a', 'arm'):
|
||||
cmd += " -march=armv7-a -Wl,--fix-cortex-a8"
|
||||
elif arch == 'mips':
|
||||
cmd += ' -mips32'
|
||||
|
|
|
|||
|
|
@ -357,11 +357,11 @@ def SetTarget(target, arch=None):
|
|||
|
||||
elif target == 'android' or target.startswith('android-'):
|
||||
if arch is None:
|
||||
# If compiling on Android, default to same architecture. Otherwise, arm.
|
||||
# If compiling on Android, default to same architecture.
|
||||
if host == 'android':
|
||||
arch = host_arch
|
||||
else:
|
||||
arch = 'armv7a'
|
||||
exit('Specify an Android architecture using --arch')
|
||||
|
||||
if arch == 'aarch64':
|
||||
arch = 'arm64'
|
||||
|
|
@ -371,12 +371,9 @@ def SetTarget(target, arch=None):
|
|||
target, _, api = target.partition('-')
|
||||
if api:
|
||||
ANDROID_API = int(api)
|
||||
elif arch in ('mips64', 'arm64', 'x86_64'):
|
||||
# 64-bit platforms were introduced in Android 21.
|
||||
ANDROID_API = 21
|
||||
else:
|
||||
# Default to the lowest API level still supported by Google.
|
||||
ANDROID_API = 19
|
||||
ANDROID_API = 21
|
||||
|
||||
# Determine the prefix for our gcc tools, eg. arm-linux-androideabi-gcc
|
||||
global ANDROID_ABI, ANDROID_TRIPLE
|
||||
|
|
@ -1422,6 +1419,9 @@ def GetThirdpartyDir():
|
|||
elif (target == 'android'):
|
||||
THIRDPARTYDIR = base + "/android-libs-%s/" % (target_arch)
|
||||
|
||||
if target_arch == 'armv7a' and not os.path.isdir(THIRDPARTYDIR):
|
||||
THIRDPARTYDIR = base + "/android-libs-arm/"
|
||||
|
||||
elif (target == 'emscripten'):
|
||||
THIRDPARTYDIR = base + "/emscripten-libs/"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue