| Index: build/linux/sysroot_scripts/install-sysroot.py
|
| diff --git a/build/linux/sysroot_scripts/install-sysroot.py b/build/linux/sysroot_scripts/install-sysroot.py
|
| index d79c12bbbbcef46057e6be67da92b5654d528709..c8e88ee0a8ab2b4edf35ec6201e57caae8d9da65 100755
|
| --- a/build/linux/sysroot_scripts/install-sysroot.py
|
| +++ b/build/linux/sysroot_scripts/install-sysroot.py
|
| @@ -6,16 +6,17 @@
|
| """Install Debian sysroots for building chromium.
|
| """
|
|
|
| -# The sysroot is needed to ensure that binaries will run on Debian Wheezy,
|
| -# the oldest supported linux distribution. For ARM64 linux, we have Debian
|
| -# Jessie sysroot as Jessie is the first version with ARM64 support. This script
|
| -# can be run manually but is more often run as part of gclient hooks. When run
|
| -# from hooks this script is a no-op on non-linux platforms.
|
| -
|
| -# The sysroot image could be constructed from scratch based on the current
|
| -# state or Debian Wheezy/Jessie but for consistency we currently use a
|
| -# pre-built root image. The image will normally need to be rebuilt every time
|
| -# chrome's build dependencies are changed.
|
| +# The sysroot is needed to ensure that binaries that get built will run on
|
| +# the oldest stable version of Debian that we currently support.
|
| +# This script can be run manually but is more often run as part of gclient
|
| +# hooks. When run from hooks this script is a no-op on non-linux platforms.
|
| +
|
| +# The sysroot image could be constructed from scratch based on the current state
|
| +# of the Debian archive but for consistency we use a pre-built root image (we
|
| +# don't want upstream changes to Debian to effect the chromium build until we
|
| +# choose to pull them in). The images will normally need to be rebuilt every
|
| +# time chrome's build dependencies are changed but should also be updated
|
| +# periodically to include upstream security fixes from Debian.
|
|
|
| import hashlib
|
| import json
|
| @@ -134,14 +135,6 @@ def InstallDefaultSysroots(host_arch):
|
| if target_arch and target_arch not in (host_arch, 'i386'):
|
| InstallDefaultSysrootForArch(target_arch)
|
|
|
| - # Desktop Linux ozone builds require libxkbcommon* which is not
|
| - # available in Wheezy.
|
| - # TODO(thomasanderson): Remove this once the Jessie sysroot is used
|
| - # by default.
|
| - gyp_defines = gyp_chromium.GetGypVars(gyp_chromium.GetSupplementalFiles())
|
| - if gyp_defines.get('use_ozone') == '1':
|
| - InstallSysroot('Jessie', 'amd64')
|
| -
|
|
|
| def main(args):
|
| parser = optparse.OptionParser('usage: %prog [OPTIONS]', description=__doc__)
|
| @@ -150,6 +143,9 @@ def main(args):
|
| ' Installs default sysroot images.')
|
| parser.add_option('--arch', type='choice', choices=VALID_ARCHS,
|
| help='Sysroot architecture: %s' % ', '.join(VALID_ARCHS))
|
| + parser.add_option('--all', action='store_true',
|
| + help='Install all sysroot images (useful when updating the'
|
| + ' images)')
|
| options, _ = parser.parse_args(args)
|
| if options.running_as_hook and not sys.platform.startswith('linux'):
|
| return 0
|
| @@ -160,27 +156,23 @@ def main(args):
|
| if host_arch in ['ppc','s390']:
|
| return 0
|
| InstallDefaultSysroots(host_arch)
|
| - else:
|
| - if not options.arch:
|
| - print 'You much specify either --arch or --running-as-hook'
|
| - return 1
|
| + elif options.arch:
|
| InstallDefaultSysrootForArch(options.arch)
|
| + elif options.all:
|
| + for arch in VALID_ARCHS:
|
| + InstallDefaultSysrootForArch(arch)
|
| + else:
|
| + print 'You much specify either --arch, --all or --running-as-hook'
|
| + return 1
|
|
|
| return 0
|
|
|
| +
|
| def InstallDefaultSysrootForArch(target_arch):
|
| - if target_arch == 'amd64':
|
| - InstallSysroot('Wheezy', 'amd64')
|
| - elif target_arch == 'arm':
|
| - InstallSysroot('Wheezy', 'arm')
|
| - elif target_arch == 'arm64':
|
| - InstallSysroot('Jessie', 'arm64')
|
| - elif target_arch == 'i386':
|
| - InstallSysroot('Wheezy', 'i386')
|
| - elif target_arch == 'mips':
|
| - InstallSysroot('Wheezy', 'mips')
|
| - else:
|
| + if target_arch not in VALID_ARCHS:
|
| raise Error('Unknown architecture: %s' % target_arch)
|
| + InstallSysroot('Jessie', target_arch)
|
| +
|
|
|
| def InstallSysroot(target_platform, target_arch):
|
| # The sysroot directory should match the one specified in build/common.gypi.
|
|
|