Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

Commit 052ae84

Browse files
committed
[[ AndroidEnv ]] Make toolchain dir a configurable option
1 parent 2656db4 commit 052ae84

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

config.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ def process_env_options(opts):
148148
'TARGET_ARCH', 'PERL', 'ANDROID_NDK_VERSION', 'ANDROID_LIB_PATH',
149149
'ANDROID_NDK_PLATFORM_VERSION', 'ANDROID_PLATFORM',
150150
'ANDROID_SDK', 'ANDROID_NDK', 'ANDROID_BUILD_TOOLS', 'LTO',
151-
'ANDROID_TOOLCHAIN', 'ANDROID_API_VERSION',
151+
'ANDROID_TOOLCHAIN_DIR', 'ANDROID_TOOLCHAIN', 'ANDROID_API_VERSION',
152152
'AR', 'CC', 'CXX', 'LINK', 'OBJCOPY', 'OBJDUMP',
153153
'STRIP', 'JAVA_SDK', 'NODE_JS', 'BUILD_EDITION', 'CC_PREFIX', 'CROSS',
154154
'SYSROOT', 'AUX_SYSROOT', 'TRIPLE', 'MS_SPEECH_SDK5', 'QUICKTIME_SDK',
@@ -514,8 +514,11 @@ def validate_xcode_sdks(opts):
514514

515515
# We suggest some symlinks for Android toolchain components in the
516516
# INSTALL-android.md file. This checks if a directory is present
517-
def guess_android_tooldir(name):
518-
dir = os.path.join(os.path.expanduser('~'), 'android', 'toolchain', name)
517+
def guess_android_tooldir(toolchain, name):
518+
if toolchain is None:
519+
dir = os.path.join(os.path.expanduser('~'), 'android', 'toolchain', name)
520+
else:
521+
dir = os.path.join(toolchain, name)
519522
if os.path.isdir(dir):
520523
return dir
521524
return None
@@ -600,8 +603,11 @@ def validate_android_tools(opts):
600603
opts['ANDROID_NDK_VERSION'] = 'r15'
601604

602605
ndk_ver = opts['ANDROID_NDK_VERSION']
606+
607+
toolchain_dir = opts['ANDROID_TOOLCHAIN_DIR']
608+
603609
if opts['ANDROID_NDK'] is None:
604-
ndk = guess_android_tooldir('android-ndk')
610+
ndk = guess_android_tooldir(toolchain_dir, 'android-ndk')
605611
if ndk is None:
606612
error('Android NDK not found; set $ANDROID_NDK')
607613
opts['ANDROID_NDK'] = ndk
@@ -618,7 +624,7 @@ def validate_android_tools(opts):
618624
opts['ANDROID_PLATFORM'] = 'android-' + api_ver
619625

620626
if opts['ANDROID_SDK'] is None:
621-
sdk = guess_android_tooldir('android-sdk')
627+
sdk = guess_android_tooldir(toolchain_dir, 'android-sdk')
622628
if sdk is None:
623629
error('Android SDK not found; set $ANDROID_SDK')
624630
opts['ANDROID_SDK'] = sdk
@@ -630,7 +636,7 @@ def validate_android_tools(opts):
630636
opts['ANDROID_BUILD_TOOLS'] = tools
631637

632638
if opts['ANDROID_TOOLCHAIN'] is None:
633-
dir = guess_android_tooldir(guess_standalone_toolchain_dir_name(opts['TARGET_ARCH']))
639+
dir = guess_android_tooldir(toolchain_dir, guess_standalone_toolchain_dir_name(opts['TARGET_ARCH']))
634640
if dir is None:
635641
error('Android toolchain not found for architecture {}; set $ANDROID_TOOLCHAIN'.format(opts['TARGET_ARCH']))
636642
prefix = guess_compiler_prefix(opts['TARGET_ARCH'])

0 commit comments

Comments
 (0)