Revert of Desktop Chrome OS: Build with precise sysroot (patchset #2 id:40001 of https://codereview.chromium.org/2272273002/ )
Reason for revert: Caused webview_licenses failure: https://build.chromium.org/p/chromium.linux/builders/Android%20Tests/builds/31063 Original issue's description: > Desktop Chrome OS: Build with precise sysroot > > Build and link against the Ubuntu Precise amd64 sysroot on Desktop > Chrome OS instead of always using the system libraries. > > BUG=638394 > > Committed: https://crrev.com/c575bbcd130b38994e36b0a97bfe5ceea954a643 > Cr-Commit-Position: refs/heads/master@{#414564} TBR=dpranke@chromium.org,thomasanderson@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=638394 Review-Url: https://codereview.chromium.org/2285563002 Cr-Original-Commit-Position: refs/heads/master@{#414594} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: faa5e808ff90870b5b5b35c65e931eec5d6285cc
This commit is contained in:
Родитель
199c869b73
Коммит
8e4bff5b44
|
@ -44,31 +44,22 @@ if (is_linux && target_sysroot_dir != "") {
|
||||||
} else {
|
} else {
|
||||||
sysroot = ""
|
sysroot = ""
|
||||||
}
|
}
|
||||||
} else if (is_linux && use_sysroot) {
|
} else if (is_linux && !is_chromeos && use_sysroot) {
|
||||||
# By default build against a sysroot image downloaded from Cloud Storage
|
# By default build against a sysroot image downloaded from Cloud Storage
|
||||||
# during gclient runhooks.
|
# during gclient runhooks.
|
||||||
if (is_chromeos) {
|
if (current_cpu == "x64") {
|
||||||
# Regular ChromeOS builds use custom sysroots, but desktop ChromeOS (where
|
sysroot = "//build/linux/debian_wheezy_amd64-sysroot"
|
||||||
# we're building linux desktop binaries but using the ChromeOS UI and
|
} else if (current_cpu == "x86") {
|
||||||
# functionality where possible) needs to run on the buliders, which are
|
sysroot = "//build/linux/debian_wheezy_i386-sysroot"
|
||||||
# running precise. The precise build has a different set of dependencies
|
} else if (current_cpu == "mipsel") {
|
||||||
# from the wheezy build, so we cannot use the wheezy sysroot.
|
sysroot = "//build/linux/debian_wheezy_mips-sysroot"
|
||||||
sysroot = "//build/linux/ubuntu_precise_amd64-sysroot"
|
} else if (current_cpu == "arm") {
|
||||||
|
sysroot = "//build/linux/debian_wheezy_arm-sysroot"
|
||||||
|
} else if (current_cpu == "arm64") {
|
||||||
|
sysroot = "//build/linux/debian_jessie_arm64-sysroot"
|
||||||
} else {
|
} else {
|
||||||
if (current_cpu == "x64") {
|
# Any other builds don't use a sysroot.
|
||||||
sysroot = "//build/linux/debian_wheezy_amd64-sysroot"
|
sysroot = ""
|
||||||
} else if (current_cpu == "x86") {
|
|
||||||
sysroot = "//build/linux/debian_wheezy_i386-sysroot"
|
|
||||||
} else if (current_cpu == "mipsel") {
|
|
||||||
sysroot = "//build/linux/debian_wheezy_mips-sysroot"
|
|
||||||
} else if (current_cpu == "arm") {
|
|
||||||
sysroot = "//build/linux/debian_wheezy_arm-sysroot"
|
|
||||||
} else if (current_cpu == "arm64") {
|
|
||||||
sysroot = "//build/linux/debian_jessie_arm64-sysroot"
|
|
||||||
} else {
|
|
||||||
# Any other builds don't use a sysroot.
|
|
||||||
sysroot = ""
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sysroot != "") {
|
if (sysroot != "") {
|
||||||
|
|
|
@ -35,45 +35,26 @@ import gyp_environment
|
||||||
|
|
||||||
URL_PREFIX = 'https://commondatastorage.googleapis.com'
|
URL_PREFIX = 'https://commondatastorage.googleapis.com'
|
||||||
URL_PATH = 'chrome-linux-sysroot/toolchain'
|
URL_PATH = 'chrome-linux-sysroot/toolchain'
|
||||||
|
REVISION_AMD64 = '24f935a3d8cdfcdfbabd23928a42304b1ffc52ba'
|
||||||
SYSROOTS = {
|
REVISION_ARM = '24f935a3d8cdfcdfbabd23928a42304b1ffc52ba'
|
||||||
('Wheezy', 'amd64'): {
|
REVISION_ARM64 = '24f935a3d8cdfcdfbabd23928a42304b1ffc52ba'
|
||||||
'Revision' : '24f935a3d8cdfcdfbabd23928a42304b1ffc52ba',
|
REVISION_I386 = '24f935a3d8cdfcdfbabd23928a42304b1ffc52ba'
|
||||||
'Tarball' : 'debian_wheezy_amd64_sysroot.tgz',
|
REVISION_MIPS = '24f935a3d8cdfcdfbabd23928a42304b1ffc52ba'
|
||||||
'Sha1Sum' : 'a7f3df28b02799fbd7675c2ab24f1924c104c0ee',
|
TARBALL_AMD64 = 'debian_wheezy_amd64_sysroot.tgz'
|
||||||
'SysrootDir' : 'debian_wheezy_amd64-sysroot'
|
TARBALL_ARM = 'debian_wheezy_arm_sysroot.tgz'
|
||||||
},
|
TARBALL_ARM64 = 'debian_jessie_arm64_sysroot.tgz'
|
||||||
('Wheezy', 'arm'): {
|
TARBALL_I386 = 'debian_wheezy_i386_sysroot.tgz'
|
||||||
'Revision' : '24f935a3d8cdfcdfbabd23928a42304b1ffc52ba',
|
TARBALL_MIPS = 'debian_wheezy_mips_sysroot.tgz'
|
||||||
'Tarball' : 'debian_wheezy_arm_sysroot.tgz',
|
TARBALL_AMD64_SHA1SUM = 'a7f3df28b02799fbd7675c2ab24f1924c104c0ee'
|
||||||
'Sha1Sum' : '2df01b8173a363977daf04e176b8c7dba5b0b933',
|
TARBALL_ARM_SHA1SUM = '2df01b8173a363977daf04e176b8c7dba5b0b933'
|
||||||
'SysrootDir' : 'debian_wheezy_arm-sysroot'
|
TARBALL_ARM64_SHA1SUM = 'df9270e00c258e6cd80f8172b1bfa39aafc4756f'
|
||||||
},
|
TARBALL_I386_SHA1SUM = 'e2c7131fa5f711de28c37fd9442e77d32abfb3ff'
|
||||||
('Wheezy', 'i386'): {
|
TARBALL_MIPS_SHA1SUM = '22fe7b45b144691aeb515083025f0fceb131d724'
|
||||||
'Revision' : '24f935a3d8cdfcdfbabd23928a42304b1ffc52ba',
|
SYSROOT_DIR_AMD64 = 'debian_wheezy_amd64-sysroot'
|
||||||
'Tarball' : 'debian_wheezy_i386_sysroot.tgz',
|
SYSROOT_DIR_ARM = 'debian_wheezy_arm-sysroot'
|
||||||
'Sha1Sum' : 'e2c7131fa5f711de28c37fd9442e77d32abfb3ff',
|
SYSROOT_DIR_ARM64 = 'debian_jessie_arm64-sysroot'
|
||||||
'SysrootDir' : 'debian_wheezy_i386-sysroot'
|
SYSROOT_DIR_I386 = 'debian_wheezy_i386-sysroot'
|
||||||
},
|
SYSROOT_DIR_MIPS = 'debian_wheezy_mips-sysroot'
|
||||||
('Wheezy', 'mips'): {
|
|
||||||
'Revision' : '24f935a3d8cdfcdfbabd23928a42304b1ffc52ba',
|
|
||||||
'Tarball' : 'debian_wheezy_mips_sysroot.tgz',
|
|
||||||
'Sha1Sum' : '22fe7b45b144691aeb515083025f0fceb131d724',
|
|
||||||
'SysrootDir' : 'debian_wheezy_mips-sysroot'
|
|
||||||
},
|
|
||||||
('Jessie', 'arm64'): {
|
|
||||||
'Revision' : '24f935a3d8cdfcdfbabd23928a42304b1ffc52ba',
|
|
||||||
'Tarball' : 'debian_jessie_arm64_sysroot.tgz',
|
|
||||||
'Sha1Sum' : 'df9270e00c258e6cd80f8172b1bfa39aafc4756f',
|
|
||||||
'SysrootDir' : 'debian_jessie_arm64-sysroot'
|
|
||||||
},
|
|
||||||
('Precise', 'amd64'): {
|
|
||||||
'Revision' : '24f935a3d8cdfcdfbabd23928a42304b1ffc52ba',
|
|
||||||
'Tarball' : 'ubuntu_precise_amd64_sysroot.tgz',
|
|
||||||
'Sha1Sum' : '67985675e64e1d3cf6574088f36f89092ae9e86b',
|
|
||||||
'SysrootDir' : 'ubuntu_precise_amd64-sysroot'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
valid_archs = ('arm', 'arm64', 'i386', 'amd64', 'mips')
|
valid_archs = ('arm', 'arm64', 'i386', 'amd64', 'mips')
|
||||||
|
|
||||||
|
@ -104,8 +85,6 @@ def DetectHostArch():
|
||||||
return 'i386'
|
return 'i386'
|
||||||
elif detected_host_arch == 'arm':
|
elif detected_host_arch == 'arm':
|
||||||
return 'arm'
|
return 'arm'
|
||||||
elif detected_host_arch == 'arm64':
|
|
||||||
return 'arm64'
|
|
||||||
elif detected_host_arch == 'mips':
|
elif detected_host_arch == 'mips':
|
||||||
return 'mips'
|
return 'mips'
|
||||||
|
|
||||||
|
@ -143,23 +122,12 @@ def InstallDefaultSysroots():
|
||||||
This includes at least the sysroot for host architecture, and the 32-bit
|
This includes at least the sysroot for host architecture, and the 32-bit
|
||||||
sysroot for building the v8 snapshot image. It can also include the cross
|
sysroot for building the v8 snapshot image. It can also include the cross
|
||||||
compile sysroot for ARM/MIPS if cross compiling environment can be detected.
|
compile sysroot for ARM/MIPS if cross compiling environment can be detected.
|
||||||
|
|
||||||
Another reason we're installing this by default is so that developers can
|
|
||||||
compile and run on our supported platforms without having to worry about
|
|
||||||
flipping things back and forth and whether the sysroots have been downloaded
|
|
||||||
or not.
|
|
||||||
"""
|
"""
|
||||||
host_arch = DetectHostArch()
|
host_arch = DetectHostArch()
|
||||||
InstallDefaultSysrootForArch(host_arch)
|
InstallSysroot(host_arch)
|
||||||
|
|
||||||
if host_arch == 'amd64':
|
if host_arch == 'amd64':
|
||||||
InstallDefaultSysrootForArch('i386')
|
InstallSysroot('i386')
|
||||||
|
|
||||||
# Desktop Chromium OS builds require the precise sysroot.
|
|
||||||
# TODO(thomasanderson): only download this when the GN arg target_os
|
|
||||||
# == 'chromeos', when the functionality to perform the check becomes
|
|
||||||
# available.
|
|
||||||
InstallSysroot('Precise', 'amd64')
|
|
||||||
|
|
||||||
# Finally, if we can detect a non-standard target_arch such as ARM or
|
# Finally, if we can detect a non-standard target_arch such as ARM or
|
||||||
# MIPS, then install the sysroot too.
|
# MIPS, then install the sysroot too.
|
||||||
|
@ -167,7 +135,7 @@ def InstallDefaultSysroots():
|
||||||
# architecture.
|
# architecture.
|
||||||
target_arch = DetectTargetArch()
|
target_arch = DetectTargetArch()
|
||||||
if target_arch and target_arch not in (host_arch, 'i386'):
|
if target_arch and target_arch not in (host_arch, 'i386'):
|
||||||
InstallDefaultSysrootForArch(target_arch)
|
InstallSysroot(target_arch)
|
||||||
|
|
||||||
|
|
||||||
def main(args):
|
def main(args):
|
||||||
|
@ -187,37 +155,45 @@ def main(args):
|
||||||
if not options.arch:
|
if not options.arch:
|
||||||
print 'You much specify either --arch or --running-as-hook'
|
print 'You much specify either --arch or --running-as-hook'
|
||||||
return 1
|
return 1
|
||||||
InstallDefaultSysrootForArch(options.arch)
|
InstallSysroot(options.arch)
|
||||||
|
|
||||||
return 0
|
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:
|
|
||||||
raise Error('Unknown architecture: %s' % target_arch)
|
|
||||||
|
|
||||||
def InstallSysroot(target_platform, target_arch):
|
def InstallSysroot(target_arch):
|
||||||
# The sysroot directory should match the one specified in build/common.gypi.
|
# The sysroot directory should match the one specified in build/common.gypi.
|
||||||
# TODO(thestig) Consider putting this else where to avoid having to recreate
|
# TODO(thestig) Consider putting this else where to avoid having to recreate
|
||||||
# it on every build.
|
# it on every build.
|
||||||
linux_dir = os.path.dirname(SCRIPT_DIR)
|
linux_dir = os.path.dirname(SCRIPT_DIR)
|
||||||
|
debian_release = 'Wheezy'
|
||||||
if (target_platform, target_arch) not in SYSROOTS:
|
if target_arch == 'amd64':
|
||||||
raise Error('No sysroot for: %s %s' % (target_platform, target_arch))
|
sysroot = os.path.join(linux_dir, SYSROOT_DIR_AMD64)
|
||||||
sysroot_dict = SYSROOTS[(target_platform, target_arch)]
|
tarball_filename = TARBALL_AMD64
|
||||||
revision = sysroot_dict['Revision']
|
tarball_sha1sum = TARBALL_AMD64_SHA1SUM
|
||||||
tarball_filename = sysroot_dict['Tarball']
|
revision = REVISION_AMD64
|
||||||
tarball_sha1sum = sysroot_dict['Sha1Sum']
|
elif target_arch == 'arm':
|
||||||
sysroot = os.path.join(linux_dir, sysroot_dict['SysrootDir'])
|
sysroot = os.path.join(linux_dir, SYSROOT_DIR_ARM)
|
||||||
|
tarball_filename = TARBALL_ARM
|
||||||
|
tarball_sha1sum = TARBALL_ARM_SHA1SUM
|
||||||
|
revision = REVISION_ARM
|
||||||
|
elif target_arch == 'arm64':
|
||||||
|
debian_release = 'Jessie'
|
||||||
|
sysroot = os.path.join(linux_dir, SYSROOT_DIR_ARM64)
|
||||||
|
tarball_filename = TARBALL_ARM64
|
||||||
|
tarball_sha1sum = TARBALL_ARM64_SHA1SUM
|
||||||
|
revision = REVISION_ARM64
|
||||||
|
elif target_arch == 'i386':
|
||||||
|
sysroot = os.path.join(linux_dir, SYSROOT_DIR_I386)
|
||||||
|
tarball_filename = TARBALL_I386
|
||||||
|
tarball_sha1sum = TARBALL_I386_SHA1SUM
|
||||||
|
revision = REVISION_I386
|
||||||
|
elif target_arch == 'mips':
|
||||||
|
sysroot = os.path.join(linux_dir, SYSROOT_DIR_MIPS)
|
||||||
|
tarball_filename = TARBALL_MIPS
|
||||||
|
tarball_sha1sum = TARBALL_MIPS_SHA1SUM
|
||||||
|
revision = REVISION_MIPS
|
||||||
|
else:
|
||||||
|
raise Error('Unknown architecture: %s' % target_arch)
|
||||||
|
|
||||||
url = '%s/%s/%s/%s' % (URL_PREFIX, URL_PATH, revision, tarball_filename)
|
url = '%s/%s/%s/%s' % (URL_PREFIX, URL_PATH, revision, tarball_filename)
|
||||||
|
|
||||||
|
@ -226,11 +202,11 @@ def InstallSysroot(target_platform, target_arch):
|
||||||
with open(stamp) as s:
|
with open(stamp) as s:
|
||||||
if s.read() == url:
|
if s.read() == url:
|
||||||
print 'Debian %s %s root image already up to date: %s' % \
|
print 'Debian %s %s root image already up to date: %s' % \
|
||||||
(target_platform, target_arch, sysroot)
|
(debian_release, target_arch, sysroot)
|
||||||
return
|
return
|
||||||
|
|
||||||
print 'Installing Debian %s %s root image: %s' % \
|
print 'Installing Debian %s %s root image: %s' % \
|
||||||
(target_platform, target_arch, sysroot)
|
(debian_release, target_arch, sysroot)
|
||||||
if os.path.isdir(sysroot):
|
if os.path.isdir(sysroot):
|
||||||
shutil.rmtree(sysroot)
|
shutil.rmtree(sysroot)
|
||||||
os.mkdir(sysroot)
|
os.mkdir(sysroot)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче