| Index: build/mac_toolchain.py
|
| diff --git a/build/mac_toolchain.py b/build/mac_toolchain.py
|
| index 30c417324d75960a8b98de6a53715b81ea05864e..bec92a9e01b364848d25d4375d4574e617fbc713 100755
|
| --- a/build/mac_toolchain.py
|
| +++ b/build/mac_toolchain.py
|
| @@ -24,15 +24,36 @@ import tempfile
|
| import urllib2
|
|
|
| # This can be changed after running /build/package_mac_toolchain.py.
|
| -TOOLCHAIN_REVISION = '5B1008'
|
| -TOOLCHAIN_SUB_REVISION = 3
|
| -TOOLCHAIN_VERSION = '%s-%s' % (TOOLCHAIN_REVISION, TOOLCHAIN_SUB_REVISION)
|
| +MAC_TOOLCHAIN_VERSION = '5B1008'
|
| +MAC_TOOLCHAIN_SUB_REVISION = 3
|
| +MAC_TOOLCHAIN_VERSION = '%s-%s' % (MAC_TOOLCHAIN_VERSION,
|
| + MAC_TOOLCHAIN_SUB_REVISION)
|
| +IOS_TOOLCHAIN_VERSION = '8B62'
|
| +IOS_TOOLCHAIN_SUB_REVISION = 1
|
| +IOS_TOOLCHAIN_VERSION = '%s-%s' % (IOS_TOOLCHAIN_VERSION,
|
| + IOS_TOOLCHAIN_SUB_REVISION)
|
| +
|
| +# Absolute path to src/ directory.
|
| +REPO_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
| +
|
| +# Absolute path to a file with gclient solutions.
|
| +GCLIENT_CONFIG = os.path.join(os.path.dirname(REPO_ROOT), '.gclient')
|
|
|
| BASE_DIR = os.path.abspath(os.path.dirname(__file__))
|
| TOOLCHAIN_BUILD_DIR = os.path.join(BASE_DIR, 'mac_files', 'Xcode.app')
|
| STAMP_FILE = os.path.join(BASE_DIR, 'mac_files', 'toolchain_build_revision')
|
| TOOLCHAIN_URL = 'gs://chrome-mac-sdk/'
|
|
|
| +def IsIOSPlatform():
|
| + try:
|
| + env = {}
|
| + execfile(GCLIENT_CONFIG, env, env)
|
| + if 'ios' in env.get('target_os', []):
|
| + return True
|
| + except:
|
| + pass
|
| + return False
|
| +
|
|
|
| def ReadStampFile():
|
| """Return the contents of the stamp file, or '' if it doesn't exist."""
|
| @@ -172,10 +193,18 @@ def main():
|
| print 'Using local toolchain.'
|
| return 0
|
|
|
| - toolchain_revision = os.environ.get('MAC_TOOLCHAIN_REVISION',
|
| - TOOLCHAIN_VERSION)
|
| - if ReadStampFile() == toolchain_revision:
|
| - print 'Toolchain (%s) is already up to date.' % toolchain_revision
|
| + if IsIOSPlatform():
|
| + default_version = IOS_TOOLCHAIN_VERSION
|
| + toolchain_filename = 'ios-toolchain-%s.tgz'
|
| + else:
|
| + default_version = MAC_TOOLCHAIN_VERSION
|
| + toolchain_filename = 'toolchain-%s.tgz'
|
| +
|
| + toolchain_version = os.environ.get('MAC_TOOLCHAIN_REVISION',
|
| + default_version)
|
| +
|
| + if ReadStampFile() == toolchain_version:
|
| + print 'Toolchain (%s) is already up to date.' % toolchain_version
|
| AcceptLicense()
|
| return 0
|
|
|
| @@ -186,18 +215,18 @@ def main():
|
| # Reset the stamp file in case the build is unsuccessful.
|
| WriteStampFile('')
|
|
|
| - toolchain_file = '%s.tgz' % toolchain_revision
|
| + toolchain_file = '%s.tgz' % toolchain_version
|
| toolchain_full_url = TOOLCHAIN_URL + toolchain_file
|
|
|
| - print 'Updating toolchain to %s...' % toolchain_revision
|
| + print 'Updating toolchain to %s...' % toolchain_version
|
| try:
|
| - toolchain_file = 'toolchain-%s.tgz' % toolchain_revision
|
| + toolchain_file = toolchain_filename % toolchain_version
|
| toolchain_full_url = TOOLCHAIN_URL + toolchain_file
|
| DownloadAndUnpack(toolchain_full_url, TOOLCHAIN_BUILD_DIR)
|
| AcceptLicense()
|
|
|
| - print 'Toolchain %s unpacked.' % toolchain_revision
|
| - WriteStampFile(toolchain_revision)
|
| + print 'Toolchain %s unpacked.' % toolchain_version
|
| + WriteStampFile(toolchain_version)
|
| return 0
|
| except Exception as e:
|
| print 'Failed to download toolchain %s.' % toolchain_file
|
|
|