mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2026-01-01 03:12:16 +08:00
Roll chromium_revision to same as webrtc to resolve build issue on ios.
This CL mimics https://codereview.webrtc.org/1145343009/ which updated set_links for ios. R=harryjin@google.com BUG=libyuv:456 TESTED=try bots Review URL: https://webrtc-codereview.appspot.com/50309004.
This commit is contained in:
parent
2dd0e9c2d1
commit
ef8cb9b0db
2
DEPS
2
DEPS
@ -6,7 +6,7 @@ vars = {
|
||||
|
||||
# Roll the Chromium Git hash to pick up newer versions of all the
|
||||
# dependencies and tools linked to in setup_links.py.
|
||||
'chromium_revision': 'a209d7314b5ac6d7cbeb51de87417b8a1531ad2f',
|
||||
'chromium_revision': '441009c0b2454f93adf9d30a42eaaf466b1673a8',
|
||||
}
|
||||
|
||||
hooks = [
|
||||
|
||||
@ -1,20 +1,19 @@
|
||||
#!/usr/bin/env python
|
||||
# Copyright 2014 The LibYuv Project Authors. All rights reserved.
|
||||
# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license
|
||||
# that can be found in the LICENSE file in the root of the source
|
||||
# tree. An additional intellectual property rights grant can be found
|
||||
# in the file PATENTS. All contributing project authors may
|
||||
# in the file PATENTS. All contributing project authors may
|
||||
# be found in the AUTHORS file in the root of the source tree.
|
||||
|
||||
"""Setup links to a Chromium checkout for Libyuv.
|
||||
"""Setup links to a Chromium checkout for WebRTC.
|
||||
|
||||
Libyuv shares a lot of dependencies and build tools with Chromium.
|
||||
WebRTC standalone shares a lot of dependencies and build tools with Chromium.
|
||||
To do this, many of the paths of a Chromium checkout is emulated by creating
|
||||
symlinks to files and directories. This script handles the setup of symlinks to
|
||||
achieve this.
|
||||
|
||||
It's a modified copy of the similar script that lives in WebRTC.
|
||||
It also handles cleanup of the legacy Subversion-based approach that was used
|
||||
before Chrome switched over their master repo from Subversion to Git.
|
||||
"""
|
||||
@ -38,28 +37,70 @@ DIRECTORIES = [
|
||||
'google_apis', # Needed by build/common.gypi.
|
||||
'net',
|
||||
'testing',
|
||||
'third_party/android_testrunner',
|
||||
'third_party/android_tools',
|
||||
'third_party/binutils',
|
||||
'third_party/boringssl',
|
||||
'third_party/colorama',
|
||||
'third_party/drmemory',
|
||||
'third_party/expat',
|
||||
'third_party/icu',
|
||||
'third_party/instrumented_libraries',
|
||||
'third_party/jsoncpp',
|
||||
'third_party/libjpeg',
|
||||
'third_party/libjpeg_turbo',
|
||||
'third_party/libsrtp',
|
||||
'third_party/libudev',
|
||||
'third_party/libvpx',
|
||||
'third_party/libyuv',
|
||||
'third_party/llvm-build',
|
||||
'third_party/nss',
|
||||
'third_party/ocmock',
|
||||
'third_party/openmax_dl',
|
||||
'third_party/opus',
|
||||
'third_party/protobuf',
|
||||
'third_party/sqlite',
|
||||
'third_party/syzygy',
|
||||
'third_party/usrsctp',
|
||||
'third_party/yasm',
|
||||
'tools/android',
|
||||
'third_party/zlib',
|
||||
'tools/clang',
|
||||
'tools/generate_library_loader',
|
||||
'tools/gn',
|
||||
'tools/gyp',
|
||||
'tools/memory',
|
||||
'tools/protoc_wrapper',
|
||||
'tools/python',
|
||||
'tools/swarming_client',
|
||||
'tools/valgrind',
|
||||
'tools/vim',
|
||||
'tools/win',
|
||||
]
|
||||
|
||||
from sync_chromium import get_target_os_list
|
||||
target_os = get_target_os_list()
|
||||
if 'android' in target_os:
|
||||
DIRECTORIES += [
|
||||
'base',
|
||||
'third_party/android_platform',
|
||||
'third_party/android_testrunner',
|
||||
'third_party/android_tools',
|
||||
'third_party/appurify-python',
|
||||
'third_party/ashmem',
|
||||
'third_party/jsr-305',
|
||||
'third_party/junit',
|
||||
'third_party/libevent',
|
||||
'third_party/libxml',
|
||||
'third_party/mockito',
|
||||
'third_party/modp_b64',
|
||||
'third_party/requests',
|
||||
'third_party/robolectric',
|
||||
'tools/android',
|
||||
'tools/grit',
|
||||
'tools/relocation_packer'
|
||||
]
|
||||
if 'ios' in target_os:
|
||||
DIRECTORIES.append('third_party/class-dump')
|
||||
|
||||
FILES = {
|
||||
'.gn': None,
|
||||
'tools/find_depot_tools.py': None,
|
||||
'third_party/BUILD.gn': None,
|
||||
}
|
||||
@ -134,7 +175,7 @@ class Remove(Action):
|
||||
else:
|
||||
log('Removing %s: %s', filesystem_type, self._path)
|
||||
|
||||
def doit(self, _links_db):
|
||||
def doit(self, _):
|
||||
os.remove(self._path)
|
||||
|
||||
|
||||
@ -150,7 +191,7 @@ class Rmtree(Action):
|
||||
else:
|
||||
logging.warn('Removing directory: %s', self._path)
|
||||
|
||||
def doit(self, _links_db):
|
||||
def doit(self, _):
|
||||
if sys.platform.startswith('win'):
|
||||
# shutil.rmtree() doesn't work on Windows if any of the directories are
|
||||
# read-only, which svn repositories are.
|
||||
@ -165,7 +206,7 @@ class Makedirs(Action):
|
||||
self._priority = 1
|
||||
self._path = path
|
||||
|
||||
def doit(self, _links_db):
|
||||
def doit(self, _):
|
||||
try:
|
||||
os.makedirs(self._path)
|
||||
except OSError as e:
|
||||
@ -221,7 +262,7 @@ if sys.platform.startswith('win'):
|
||||
os.symlink = symlink
|
||||
|
||||
|
||||
class LibyuvLinkSetup():
|
||||
class WebRTCLinkSetup(object):
|
||||
def __init__(self, links_db, force=False, dry_run=False, prompt=False):
|
||||
self._force = force
|
||||
self._dry_run = dry_run
|
||||
@ -270,7 +311,7 @@ class LibyuvLinkSetup():
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||
|
||||
Because chromium/src is transitioning to Git (from SVN), we needed to
|
||||
change the way that the Libyuv standalone checkout works. Instead of
|
||||
change the way that the WebRTC standalone checkout works. Instead of
|
||||
individually syncing subdirectories of Chromium in SVN, we're now
|
||||
syncing Chromium (and all of its DEPS, as defined by its own DEPS file),
|
||||
into the `chromium/src` directory.
|
||||
@ -315,7 +356,8 @@ class LibyuvLinkSetup():
|
||||
if not self._dry_run:
|
||||
if os.path.exists(link_path):
|
||||
if sys.platform.startswith('win') and os.path.isdir(link_path):
|
||||
subprocess.check_call(['rmdir', '/q', link_path], shell=True)
|
||||
subprocess.check_call(['rmdir', '/q', '/s', link_path],
|
||||
shell=True)
|
||||
else:
|
||||
os.remove(link_path)
|
||||
del self._links_db[source]
|
||||
@ -444,7 +486,7 @@ def main():
|
||||
logging.error('On Windows, you now need to have administrator '
|
||||
'privileges for the shell running %s (or '
|
||||
'`gclient sync|runhooks`).\nPlease start another command '
|
||||
'prompt as Administrator and try again.' % sys.argv[0])
|
||||
'prompt as Administrator and try again.', sys.argv[0])
|
||||
return 1
|
||||
|
||||
if not os.path.exists(CHROMIUM_CHECKOUT):
|
||||
@ -454,7 +496,7 @@ def main():
|
||||
|
||||
links_database = _initialize_database(LINKS_DB)
|
||||
try:
|
||||
symlink_creator = LibyuvLinkSetup(links_database, options.force,
|
||||
symlink_creator = WebRTCLinkSetup(links_database, options.force,
|
||||
options.dry_run, options.prompt)
|
||||
symlink_creator.CleanupLinks()
|
||||
if not options.clean_only:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user