Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 # Script to install a Debian Wheezy sysroot for making official Google Chrome | 6 # Script to install a Debian Wheezy sysroot for making official Google Chrome |
| 7 # Linux builds. | 7 # Linux builds. |
| 8 # The sysroot is needed to make Chrome work for Debian Wheezy. | 8 # The sysroot is needed to make Chrome work for Debian Wheezy. |
| 9 # This script can be run manually but is more often run as part of gclient | 9 # This script can be run manually but is more often run as part of gclient |
| 10 # hooks. When run from hooks this script should be a no-op on non-linux | 10 # hooks. When run from hooks this script should be a no-op on non-linux |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 43 TARBALL_MIPS = 'debian_wheezy_mips_sysroot.tgz' | 43 TARBALL_MIPS = 'debian_wheezy_mips_sysroot.tgz' |
| 44 TARBALL_AMD64_SHA1SUM = '546f211d47a6544994bb6f7cf9800c3a73a12d3a' | 44 TARBALL_AMD64_SHA1SUM = '546f211d47a6544994bb6f7cf9800c3a73a12d3a' |
| 45 TARBALL_ARM_SHA1SUM = '457ee7165526846a8bef08f64c58db994481f159' | 45 TARBALL_ARM_SHA1SUM = '457ee7165526846a8bef08f64c58db994481f159' |
| 46 TARBALL_I386_SHA1SUM = '8d00eb9e60009ec23e7cb47c6ecbcf85b319e09e' | 46 TARBALL_I386_SHA1SUM = '8d00eb9e60009ec23e7cb47c6ecbcf85b319e09e' |
| 47 TARBALL_MIPS_SHA1SUM = '358d8fe133575c41354fa7fe5d9c591d199f6033' | 47 TARBALL_MIPS_SHA1SUM = '358d8fe133575c41354fa7fe5d9c591d199f6033' |
| 48 SYSROOT_DIR_AMD64 = 'debian_wheezy_amd64-sysroot' | 48 SYSROOT_DIR_AMD64 = 'debian_wheezy_amd64-sysroot' |
| 49 SYSROOT_DIR_ARM = 'debian_wheezy_arm-sysroot' | 49 SYSROOT_DIR_ARM = 'debian_wheezy_arm-sysroot' |
| 50 SYSROOT_DIR_I386 = 'debian_wheezy_i386-sysroot' | 50 SYSROOT_DIR_I386 = 'debian_wheezy_i386-sysroot' |
| 51 SYSROOT_DIR_MIPS = 'debian_wheezy_mips-sysroot' | 51 SYSROOT_DIR_MIPS = 'debian_wheezy_mips-sysroot' |
| 52 | 52 |
| 53 valid_archs = ('arm', 'i386', 'amd64', 'mips') | 53 ARCH_MAP = { |
| 54 'x86': 'i386', | |
| 55 'x64': 'amd64' | |
| 56 } | |
| 57 | |
| 58 valid_archs = ['arm', 'i386', 'amd64', 'mips'] + ARCH_MAP.keys() | |
|
Dirk Pranke
2015/12/02 22:55:44
why do we need to support both 'i386' and 'x86' ?
agrieve
2015/12/03 01:49:29
I didn't want to have to apply the mapping within
| |
| 54 | 59 |
| 55 | 60 |
| 56 def GetSha1(filename): | 61 def GetSha1(filename): |
| 57 sha1 = hashlib.sha1() | 62 sha1 = hashlib.sha1() |
| 58 with open(filename, 'rb') as f: | 63 with open(filename, 'rb') as f: |
| 59 while True: | 64 while True: |
| 60 # Read in 1mb chunks, so it doesn't all have to be loaded into memory. | 65 # Read in 1mb chunks, so it doesn't all have to be loaded into memory. |
| 61 chunk = f.read(1024*1024) | 66 chunk = f.read(1024*1024) |
| 62 if not chunk: | 67 if not chunk: |
| 63 break | 68 break |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 110 gyp_environment.SetEnvironment() | 115 gyp_environment.SetEnvironment() |
| 111 supplemental_includes = gyp_chromium.GetSupplementalFiles() | 116 supplemental_includes = gyp_chromium.GetSupplementalFiles() |
| 112 gyp_defines = gyp_chromium.GetGypVars(supplemental_includes) | 117 gyp_defines = gyp_chromium.GetGypVars(supplemental_includes) |
| 113 is_android = gyp_defines.get('OS') == 'android' | 118 is_android = gyp_defines.get('OS') == 'android' |
| 114 | 119 |
| 115 if (options.running_as_hook and (not is_android) and | 120 if (options.running_as_hook and (not is_android) and |
| 116 (gyp_defines.get('chromeos') or gyp_defines.get('use_sysroot') == '0')): | 121 (gyp_defines.get('chromeos') or gyp_defines.get('use_sysroot') == '0')): |
| 117 return 0 | 122 return 0 |
| 118 | 123 |
| 119 if options.arch: | 124 if options.arch: |
| 120 target_arch = options.arch | 125 target_arch = ARCH_MAP.get(options.arch, options.arch) |
| 121 else: | 126 else: |
| 122 target_arch = DetectArch(gyp_defines, is_android) | 127 target_arch = DetectArch(gyp_defines, is_android) |
| 123 if not target_arch: | 128 if not target_arch: |
| 124 print 'Unable to detect target architecture' | 129 print 'Unable to detect target architecture' |
| 125 return 1 | 130 return 1 |
| 126 | 131 |
| 127 if is_android: | 132 if is_android: |
| 128 # 32-bit Android builds require a 32-bit host sysroot for the v8 snapshot. | 133 # 32-bit Android builds require a 32-bit host sysroot for the v8 snapshot. |
| 129 if '64' not in target_arch: | 134 if '64' not in target_arch: |
| 130 ret = _InstallSysroot('i386') | 135 ret = _InstallSysroot('i386') |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 201 parser = optparse.OptionParser('usage: %prog [OPTIONS]') | 206 parser = optparse.OptionParser('usage: %prog [OPTIONS]') |
| 202 parser.add_option('--running-as-hook', action='store_true', | 207 parser.add_option('--running-as-hook', action='store_true', |
| 203 default=False, help='Used when running from gclient hooks.' | 208 default=False, help='Used when running from gclient hooks.' |
| 204 ' In this mode the sysroot will only ' | 209 ' In this mode the sysroot will only ' |
| 205 'be installed for official Linux ' | 210 'be installed for official Linux ' |
| 206 'builds or ARM Linux builds') | 211 'builds or ARM Linux builds') |
| 207 parser.add_option('--arch', type='choice', choices=valid_archs, | 212 parser.add_option('--arch', type='choice', choices=valid_archs, |
| 208 help='Sysroot architecture: %s' % ', '.join(valid_archs)) | 213 help='Sysroot architecture: %s' % ', '.join(valid_archs)) |
| 209 options, _ = parser.parse_args() | 214 options, _ = parser.parse_args() |
| 210 sys.exit(main()) | 215 sys.exit(main()) |
| OLD | NEW |