diff --git a/tools-webrtc/ios/client.webrtc/iOS32_Debug.json b/tools-webrtc/ios/client.webrtc/iOS32_Debug.json index 4f86af67a0..71ab117083 100644 --- a/tools-webrtc/ios/client.webrtc/iOS32_Debug.json +++ b/tools-webrtc/ios/client.webrtc/iOS32_Debug.json @@ -1,15 +1,14 @@ { "comments": [ - "Builder for 32-bit devices." + "Builder for 32-bit devices.", + "gn_args in this file is only read by the buildbot recipe; ", + "webrtc/build/mb_config.pyl contains the actual build configuration.", + "TODO(kjellander): remove gn_args when the recipe is updated." ], "xcode version": "8.0", "gn_args": [ - "goma_dir=\"$(goma_dir)\"", - "ios_enable_code_signing=false", - "is_component_build=false", "is_debug=true", "target_cpu=\"arm\"", - "target_os=\"ios\"", "use_goma=true" ], "additional_compile_targets": [ "all" ], diff --git a/tools-webrtc/ios/client.webrtc/iOS32_Release.json b/tools-webrtc/ios/client.webrtc/iOS32_Release.json index 1b5ba85d97..1fe57bc6ef 100644 --- a/tools-webrtc/ios/client.webrtc/iOS32_Release.json +++ b/tools-webrtc/ios/client.webrtc/iOS32_Release.json @@ -1,16 +1,14 @@ { "comments": [ - "Builder for 32-bit devices." + "Builder for 32-bit devices.", + "gn_args in this file is only read by the buildbot recipe; ", + "webrtc/build/mb_config.pyl contains the actual build configuration.", + "TODO(kjellander): remove gn_args when the recipe is updated." ], "xcode version": "8.0", "gn_args": [ - "goma_dir=\"$(goma_dir)\"", - "dcheck_always_on=true", - "ios_enable_code_signing=false", - "is_component_build=false", "is_debug=false", "target_cpu=\"arm\"", - "target_os=\"ios\"", "use_goma=true" ], "additional_compile_targets": [ "all" ], diff --git a/tools-webrtc/ios/client.webrtc/iOS32_Sim_Debug_(iOS_9.0).json b/tools-webrtc/ios/client.webrtc/iOS32_Sim_Debug_(iOS_9.0).json index b3c0028f59..f5b02fdd19 100644 --- a/tools-webrtc/ios/client.webrtc/iOS32_Sim_Debug_(iOS_9.0).json +++ b/tools-webrtc/ios/client.webrtc/iOS32_Sim_Debug_(iOS_9.0).json @@ -1,14 +1,14 @@ { "comments": [ - "Tests for 32-bit iOS simulators." + "Tests for 32-bit iOS simulators.", + "gn_args in this file is only read by the buildbot recipe; ", + "webrtc/build/mb_config.pyl contains the actual build configuration.", + "TODO(kjellander): remove gn_args when the recipe is updated." ], "xcode version": "8.0", "gn_args": [ - "goma_dir=\"$(goma_dir)\"", - "is_component_build=false", "is_debug=true", "target_cpu=\"x86\"", - "target_os=\"ios\"", "use_goma=true" ], "additional_compile_targets": [ "all" ], diff --git a/tools-webrtc/ios/client.webrtc/iOS64_Debug.json b/tools-webrtc/ios/client.webrtc/iOS64_Debug.json index 5d7b77bc3d..d8a69c93e4 100644 --- a/tools-webrtc/ios/client.webrtc/iOS64_Debug.json +++ b/tools-webrtc/ios/client.webrtc/iOS64_Debug.json @@ -1,15 +1,14 @@ { "comments": [ - "Builder for 64-bit devices." + "Builder for 64-bit devices.", + "gn_args in this file is only read by the buildbot recipe; ", + "webrtc/build/mb_config.pyl contains the actual build configuration.", + "TODO(kjellander): remove gn_args when the recipe is updated." ], "xcode version": "8.0", "gn_args": [ - "goma_dir=\"$(goma_dir)\"", - "ios_enable_code_signing=false", - "is_component_build=false", "is_debug=true", "target_cpu=\"arm64\"", - "target_os=\"ios\"", "use_goma=true" ], "additional_compile_targets": [ "all" ], diff --git a/tools-webrtc/ios/client.webrtc/iOS64_Release.json b/tools-webrtc/ios/client.webrtc/iOS64_Release.json index 71242ae740..1cc6e2ae02 100644 --- a/tools-webrtc/ios/client.webrtc/iOS64_Release.json +++ b/tools-webrtc/ios/client.webrtc/iOS64_Release.json @@ -1,16 +1,14 @@ { "comments": [ - "Builder for 64-bit devices." + "Builder for 64-bit devices.", + "gn_args in this file is only read by the buildbot recipe; ", + "webrtc/build/mb_config.pyl contains the actual build configuration.", + "TODO(kjellander): remove gn_args when the recipe is updated." ], "xcode version": "8.0", "gn_args": [ - "goma_dir=\"$(goma_dir)\"", - "dcheck_always_on=true", - "ios_enable_code_signing=false", - "is_component_build=false", "is_debug=false", "target_cpu=\"arm64\"", - "target_os=\"ios\"", "use_goma=true" ], "additional_compile_targets": [ "all" ], diff --git a/tools-webrtc/ios/client.webrtc/iOS64_Sim_Debug_(iOS_10.0).json b/tools-webrtc/ios/client.webrtc/iOS64_Sim_Debug_(iOS_10.0).json index ad87ca184e..5c4fb8b6ba 100644 --- a/tools-webrtc/ios/client.webrtc/iOS64_Sim_Debug_(iOS_10.0).json +++ b/tools-webrtc/ios/client.webrtc/iOS64_Sim_Debug_(iOS_10.0).json @@ -1,14 +1,14 @@ { "comments": [ - "Tests for 64-bit iOS simulators." + "Tests for 64-bit iOS simulators.", + "gn_args in this file is only read by the buildbot recipe; ", + "webrtc/build/mb_config.pyl contains the actual build configuration.", + "TODO(kjellander): remove gn_args when the recipe is updated." ], "xcode version": "8.0", "gn_args": [ - "goma_dir=\"$(goma_dir)\"", - "is_component_build=false", "is_debug=true", "target_cpu=\"x64\"", - "target_os=\"ios\"", "use_goma=true" ], "additional_compile_targets": [ "all" ], diff --git a/tools-webrtc/ios/client.webrtc/iOS64_Sim_Debug_(iOS_9.0).json b/tools-webrtc/ios/client.webrtc/iOS64_Sim_Debug_(iOS_9.0).json index d13fa95d36..ae82e87d78 100644 --- a/tools-webrtc/ios/client.webrtc/iOS64_Sim_Debug_(iOS_9.0).json +++ b/tools-webrtc/ios/client.webrtc/iOS64_Sim_Debug_(iOS_9.0).json @@ -1,14 +1,14 @@ { "comments": [ - "Tests for 64-bit iOS simulators." + "Tests for 64-bit iOS simulators.", + "gn_args in this file is only read by the buildbot recipe; ", + "webrtc/build/mb_config.pyl contains the actual build configuration.", + "TODO(kjellander): remove gn_args when the recipe is updated." ], "xcode version": "8.0", "gn_args": [ - "goma_dir=\"$(goma_dir)\"", - "is_component_build=false", "is_debug=true", "target_cpu=\"x64\"", - "target_os=\"ios\"", "use_goma=true" ], "additional_compile_targets": [ "all" ], diff --git a/tools-webrtc/ios/tryserver.webrtc/ios32_sim_ios9_dbg.json b/tools-webrtc/ios/tryserver.webrtc/ios32_sim_ios9_dbg.json index 6c4d698035..96c4964973 100644 --- a/tools-webrtc/ios/tryserver.webrtc/ios32_sim_ios9_dbg.json +++ b/tools-webrtc/ios/tryserver.webrtc/ios32_sim_ios9_dbg.json @@ -1,14 +1,14 @@ { "comments": [ - "Tests for 32-bit iOS simulators." + "Tests for 32-bit iOS simulators.", + "gn_args in this file is only read by the buildbot recipe; ", + "webrtc/build/mb_config.pyl contains the actual build configuration.", + "TODO(kjellander): remove gn_args when the recipe is updated." ], "xcode version": "8.0", "gn_args": [ - "goma_dir=\"$(goma_dir)\"", - "is_component_build=false", "is_debug=true", "target_cpu=\"x86\"", - "target_os=\"ios\"", "use_goma=true" ], "use_analyze": false, diff --git a/tools-webrtc/ios/tryserver.webrtc/ios64_sim_ios10_dbg.json b/tools-webrtc/ios/tryserver.webrtc/ios64_sim_ios10_dbg.json index 25573e89a8..432768e61a 100644 --- a/tools-webrtc/ios/tryserver.webrtc/ios64_sim_ios10_dbg.json +++ b/tools-webrtc/ios/tryserver.webrtc/ios64_sim_ios10_dbg.json @@ -1,14 +1,14 @@ { "comments": [ - "Tests for 64-bit iOS simulators." + "Tests for 64-bit iOS simulators.", + "gn_args in this file is only read by the buildbot recipe; ", + "webrtc/build/mb_config.pyl contains the actual build configuration.", + "TODO(kjellander): remove gn_args when the recipe is updated." ], "xcode version": "8.0", "gn_args": [ - "goma_dir=\"$(goma_dir)\"", - "is_component_build=false", "is_debug=true", "target_cpu=\"x64\"", - "target_os=\"ios\"", "use_goma=true" ], "use_analyze": false, diff --git a/tools-webrtc/ios/tryserver.webrtc/ios64_sim_ios9_dbg.json b/tools-webrtc/ios/tryserver.webrtc/ios64_sim_ios9_dbg.json index 0cabd24023..cf02f64f02 100644 --- a/tools-webrtc/ios/tryserver.webrtc/ios64_sim_ios9_dbg.json +++ b/tools-webrtc/ios/tryserver.webrtc/ios64_sim_ios9_dbg.json @@ -1,14 +1,14 @@ { "comments": [ - "Tests for 64-bit iOS simulators." + "Tests for 64-bit iOS simulators.", + "gn_args in this file is only read by the buildbot recipe; ", + "webrtc/build/mb_config.pyl contains the actual build configuration.", + "TODO(kjellander): remove gn_args when the recipe is updated." ], "xcode version": "8.0", "gn_args": [ - "goma_dir=\"$(goma_dir)\"", - "is_component_build=false", "is_debug=true", "target_cpu=\"x64\"", - "target_os=\"ios\"", "use_goma=true" ], "use_analyze": false, diff --git a/tools-webrtc/ios/tryserver.webrtc/ios_arm64_dbg.json b/tools-webrtc/ios/tryserver.webrtc/ios_arm64_dbg.json index 07e2e6e30c..f1287d1f36 100644 --- a/tools-webrtc/ios/tryserver.webrtc/ios_arm64_dbg.json +++ b/tools-webrtc/ios/tryserver.webrtc/ios_arm64_dbg.json @@ -1,15 +1,14 @@ { "comments": [ - "Builder for 64-bit devices." + "Builder for 64-bit devices.", + "gn_args in this file is only read by the buildbot recipe; ", + "webrtc/build/mb_config.pyl contains the actual build configuration.", + "TODO(kjellander): remove gn_args when the recipe is updated." ], "xcode version": "8.0", "gn_args": [ - "goma_dir=\"$(goma_dir)\"", - "ios_enable_code_signing=false", - "is_component_build=false", "is_debug=true", "target_cpu=\"arm64\"", - "target_os=\"ios\"", "use_goma=true" ], "use_analyze": false, diff --git a/tools-webrtc/ios/tryserver.webrtc/ios_arm64_rel.json b/tools-webrtc/ios/tryserver.webrtc/ios_arm64_rel.json index 1f346dd6e1..7645fd3b67 100644 --- a/tools-webrtc/ios/tryserver.webrtc/ios_arm64_rel.json +++ b/tools-webrtc/ios/tryserver.webrtc/ios_arm64_rel.json @@ -1,16 +1,14 @@ { "comments": [ - "Builder for 64-bit devices." + "Builder for 64-bit devices.", + "gn_args in this file is only read by the buildbot recipe; ", + "webrtc/build/mb_config.pyl contains the actual build configuration.", + "TODO(kjellander): remove gn_args when the recipe is updated." ], "xcode version": "8.0", "gn_args": [ - "goma_dir=\"$(goma_dir)\"", - "dcheck_always_on=true", - "ios_enable_code_signing=false", - "is_component_build=false", "is_debug=false", "target_cpu=\"arm64\"", - "target_os=\"ios\"", "use_goma=true" ], "use_analyze": false, diff --git a/tools-webrtc/ios/tryserver.webrtc/ios_dbg.json b/tools-webrtc/ios/tryserver.webrtc/ios_dbg.json index ea039ca420..bcba06f47b 100644 --- a/tools-webrtc/ios/tryserver.webrtc/ios_dbg.json +++ b/tools-webrtc/ios/tryserver.webrtc/ios_dbg.json @@ -1,15 +1,14 @@ { "comments": [ - "Builder for 32-bit devices." + "Builder for 32-bit devices.", + "gn_args in this file is only read by the buildbot recipe; ", + "webrtc/build/mb_config.pyl contains the actual build configuration.", + "TODO(kjellander): remove gn_args when the recipe is updated." ], "xcode version": "8.0", "gn_args": [ - "goma_dir=\"$(goma_dir)\"", - "ios_enable_code_signing=false", - "is_component_build=false", "is_debug=true", "target_cpu=\"arm\"", - "target_os=\"ios\"", "use_goma=true" ], "use_analyze": false, diff --git a/tools-webrtc/ios/tryserver.webrtc/ios_rel.json b/tools-webrtc/ios/tryserver.webrtc/ios_rel.json index 154a3ed92a..a8601d7f92 100644 --- a/tools-webrtc/ios/tryserver.webrtc/ios_rel.json +++ b/tools-webrtc/ios/tryserver.webrtc/ios_rel.json @@ -1,16 +1,14 @@ { "comments": [ - "Builder for 32-bit devices." + "Builder for 32-bit devices.", + "gn_args in this file is only read by the buildbot recipe; ", + "webrtc/build/mb_config.pyl contains the actual build configuration.", + "TODO(kjellander): remove gn_args when the recipe is updated." ], "xcode version": "8.0", "gn_args": [ - "goma_dir=\"$(goma_dir)\"", - "dcheck_always_on=true", - "ios_enable_code_signing=false", - "is_component_build=false", "is_debug=false", "target_cpu=\"arm\"", - "target_os=\"ios\"", "use_goma=true" ], "use_analyze": false, diff --git a/tools-webrtc/mb/mb.py b/tools-webrtc/mb/mb.py index ea7219877c..49f681f9dc 100755 --- a/tools-webrtc/mb/mb.py +++ b/tools-webrtc/mb/mb.py @@ -33,8 +33,8 @@ import urllib2 from collections import OrderedDict SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__)) -SRC_DIR = os.path.dirname(os.path.dirname(SCRIPT_DIR)) -sys.path = [os.path.join(SRC_DIR, 'build')] + sys.path +CHROMIUM_SRC_DIR = os.path.dirname(os.path.dirname(SCRIPT_DIR)) +sys.path = [os.path.join(CHROMIUM_SRC_DIR, 'build')] + sys.path import gn_helpers @@ -46,7 +46,7 @@ def main(args): class MetaBuildWrapper(object): def __init__(self): - self.src_dir = SRC_DIR + self.chromium_src_dir = CHROMIUM_SRC_DIR self.default_config = os.path.join(SCRIPT_DIR, 'mb_config.pyl') self.default_isolate_map = os.path.join(SCRIPT_DIR, 'gn_isolate_map.pyl') self.executable = sys.executable @@ -619,7 +619,7 @@ class MetaBuildWrapper(object): def ReadIOSBotConfig(self): if not self.args.master or not self.args.builder: return {} - path = self.PathJoin(self.src_dir, 'tools-webrtc', 'ios', + path = self.PathJoin(self.chromium_src_dir, 'ios', 'build', 'bots', self.args.master, self.args.builder + '.json') if not self.Exists(path): return {} @@ -921,7 +921,7 @@ class MetaBuildWrapper(object): '--isolate', self.ToSrcRelPath('%s/%s.isolate' % (build_dir, target)), ], - 'dir': self.src_dir, + 'dir': self.chromium_src_dir, 'version': 1, }, isolate_path + 'd.gen.json', @@ -966,7 +966,7 @@ class MetaBuildWrapper(object): else: subdir, exe = 'win', 'gn.exe' - gn_path = self.PathJoin(self.src_dir, 'buildtools', subdir, exe) + gn_path = self.PathJoin(self.chromium_src_dir, 'buildtools', subdir, exe) return [gn_path, subcommand, path] + list(args) @@ -1137,7 +1137,7 @@ class MetaBuildWrapper(object): return cmdline, extra_files def ToAbsPath(self, build_path, *comps): - return self.PathJoin(self.src_dir, + return self.PathJoin(self.chromium_src_dir, self.ToSrcRelPath(build_path), *comps) @@ -1145,7 +1145,7 @@ class MetaBuildWrapper(object): """Returns a relative path from the top of the repo.""" if path.startswith('//'): return path[2:].replace('/', self.sep) - return self.RelPath(path, self.src_dir) + return self.RelPath(path, self.chromium_src_dir) def ParseGYPConfigPath(self, path): rpath = self.ToSrcRelPath(path) @@ -1433,12 +1433,12 @@ class MetaBuildWrapper(object): def Call(self, cmd, env=None, buffer_output=True): if buffer_output: - p = subprocess.Popen(cmd, shell=False, cwd=self.src_dir, + p = subprocess.Popen(cmd, shell=False, cwd=self.chromium_src_dir, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env) out, err = p.communicate() else: - p = subprocess.Popen(cmd, shell=False, cwd=self.src_dir, + p = subprocess.Popen(cmd, shell=False, cwd=self.chromium_src_dir, env=env) p.wait() out = err = '' diff --git a/tools-webrtc/mb/mb_config.pyl b/tools-webrtc/mb/mb_config.pyl index c31ba195d0..623c1d3bb3 100644 --- a/tools-webrtc/mb/mb_config.pyl +++ b/tools-webrtc/mb/mb_config.pyl @@ -20,13 +20,13 @@ 'masters': { 'client.webrtc': { # iOS - 'iOS32 Debug': 'ios', - 'iOS32 Release': 'ios', - 'iOS64 Debug': 'ios', - 'iOS64 Release': 'ios', - 'iOS32 Sim Debug (iOS 9.0)': 'ios', - 'iOS64 Sim Debug (iOS 9.0)': 'ios', - 'iOS64 Sim Debug (iOS 10.0)': 'ios', + 'iOS32 Debug': 'ios_debug_static_bot_arm_device', + 'iOS32 Release': 'ios_release_bot_arm_device', + 'iOS64 Debug': 'ios_debug_static_bot_arm64_device', + 'iOS64 Release': 'ios_release_bot_arm64_device', + 'iOS32 Sim Debug (iOS 9.0)': 'ios_debug_static_bot_x86', + 'iOS64 Sim Debug (iOS 9.0)': 'ios_debug_static_bot_x64', + 'iOS64 Sim Debug (iOS 10.0)': 'ios_debug_static_bot_x64', # Mac 'Mac64 Debug': 'debug_bot_x64', @@ -105,13 +105,13 @@ }, 'tryserver.webrtc': { # iOS - 'ios_dbg': 'ios', - 'ios_rel': 'ios', - 'ios_arm64_dbg': 'ios', - 'ios_arm64_rel': 'ios', - 'ios32_sim_ios9_dbg': 'ios', - 'ios64_sim_ios9_dbg': 'ios', - 'ios64_sim_ios10_dbg': 'ios', + 'ios_dbg': 'ios_debug_static_bot_arm_device', + 'ios_rel': 'ios_release_bot_arm_device', + 'ios_arm64_dbg': 'ios_debug_static_bot_arm64_device', + 'ios_arm64_rel': 'ios_release_bot_arm64_device', + 'ios32_sim_ios9_dbg': 'ios_debug_static_bot_x86', + 'ios64_sim_ios9_dbg': 'ios_debug_static_bot_x64', + 'ios64_sim_ios10_dbg': 'ios_debug_static_bot_x64', # Mac 'mac_compile_dbg': 'debug_bot_x64', @@ -178,6 +178,26 @@ # A given config *may* be platform-specific but is not necessarily so (i.e., # we might have mac, win, and linux bots all using the 'release_bot' config). 'configs': { + # iOS + 'ios_debug_static_bot_arm64_device': [ + 'ios', 'gn', 'debug_static_bot', 'arm64', 'device' + ], + 'ios_release_bot_arm64_device': [ + 'ios', 'gn', 'release_bot', 'arm64', 'device' + ], + 'ios_debug_static_bot_arm_device': [ + 'ios', 'gn', 'debug_static_bot', 'arm', 'device' + ], + 'ios_release_bot_arm_device': [ + 'ios', 'gn', 'release_bot', 'arm', 'device' + ], + 'ios_debug_static_bot_x86': [ + 'ios', 'gn', 'debug_static_bot', 'x86' + ], + 'ios_debug_static_bot_x64': [ + 'ios', 'gn', 'debug_static_bot', 'x64' + ], + # Linux, Mac and Windows 'gcc_release_bot_x64': [ 'gn', 'gcc', 'release_bot', 'x64' @@ -225,13 +245,6 @@ 'memcheck', 'gn', 'openh264_release_bot', 'x64' ], - # iOS - # The 'ios' config is just used for auditing. iOS bots - # use the ios recipes and look up their GN arguments via files checked in - # under //tools-webrtc/ios/bots. It is an error to actually use one of these - # configs to generate the build files. - 'ios': [ 'error'], - # Windows 'win_clang_debug_bot_x86': [ 'gn', 'clang', 'openh264_debug_bot', 'x86', @@ -341,6 +354,10 @@ 'mixins': ['debug', 'static', 'minimal_symbols', 'goma'], }, + 'device': { + 'gn_args': 'ios_enable_code_signing=false', + }, + # This mixin is used to force configs that use it to fail. It # is used in two cases: when we have bots that we haven't looked # at yet and don't know whether they need MB or not, and for bots @@ -363,6 +380,10 @@ 'gn_args': 'use_goma=true', }, + 'ios': { + 'gn_args': 'target_os="ios"', + }, + 'libfuzzer': { 'gn_args': 'use_libfuzzer=true', }, diff --git a/tools-webrtc/mb/mb_unittest.py b/tools-webrtc/mb/mb_unittest.py index 67e1d7587d..f5c5bc272b 100755 --- a/tools-webrtc/mb/mb_unittest.py +++ b/tools-webrtc/mb/mb_unittest.py @@ -25,7 +25,7 @@ class FakeMBW(mb.MetaBuildWrapper): # Override vars for test portability. if win32: - self.src_dir = 'c:\\fake_src' + self.chromium_src_dir = 'c:\\fake_src' self.default_config = 'c:\\fake_src\\tools-webrtc\\mb\\mb_config.pyl' self.default_isolate_map = ('c:\\fake_src\\testing\\buildbot\\' 'gn_isolate_map.pyl') @@ -33,7 +33,7 @@ class FakeMBW(mb.MetaBuildWrapper): self.executable = 'c:\\python\\python.exe' self.sep = '\\' else: - self.src_dir = '/fake_src' + self.chromium_src_dir = '/fake_src' self.default_config = '/fake_src/tools-webrtc/mb/mb_config.pyl' self.default_isolate_map = '/fake_src/testing/buildbot/gn_isolate_map.pyl' self.executable = '/usr/bin/python'