Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2943)

Unified Diff: buildbot/scripts/slave/compile.py

Issue 3390027: Add a clang/mac bot to the FYI waterfall. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/
Patch Set: rebase Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « buildbot/master.chromium.fyi/slaves.cfg ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: buildbot/scripts/slave/compile.py
===================================================================
--- buildbot/scripts/slave/compile.py (revision 60688)
+++ buildbot/scripts/slave/compile.py (working copy)
@@ -37,13 +37,20 @@
def main_xcode(options, args):
"""Interprets options, clobbers object files, and calls xcodebuild.
"""
+ compiler = options.compiler
+ assert compiler in (None, 'clang')
+
# Note: this clobbers all targets, not just Debug or Release.
+ build_output_dir = os.path.join(os.path.dirname(options.build_dir),
+ 'xcodebuild')
+ if compiler == 'clang':
+ build_output_dir = os.path.join(os.path.dirname(options.build_dir),
+ 'clang')
+
if options.clobber:
- build_output_dir = os.path.join(os.path.dirname(options.build_dir),
- 'xcodebuild')
chromium_utils.RemoveDirectory(build_output_dir)
- # If the project isn't in args, add all.xcodeproj so simplify configuration.
+ # If the project isn't in args, add all.xcodeproj to simplify configuration.
command = ['xcodebuild', '-configuration', options.target]
# TODO(mmoss) Support the old 'args' usage until we're confident the master is
@@ -96,6 +103,15 @@
env['DISTCC_HOSTS'] = 'dummy,cpp,lzo'
command.insert(0, "pump")
+ if compiler == 'clang':
+ env['CC'] = 'clang++'
+ env['DSTROOT'] = os.path.abspath(build_output_dir)
+ env['OBJROOT'] = os.path.join(env['DSTROOT'], 'obj')
+ env['SYMROOT'] = os.path.join(env['DSTROOT'], 'sym')
+
+ if options.xcode_target:
+ command.extend(['-target', options.xcode_target])
+
# Add on any remaining args
command.extend(args)
@@ -465,6 +481,10 @@
# For linux to arm cross compile.
option_parser.add_option('', '--crosstool', default=None,
help='optional path to crosstool toolset')
+ if chromium_utils.IsMac():
+ # Mac only.
+ option_parser.add_option('', '--xcode-target', default=None,
+ help='Target from the xcodeproj file')
options, args = option_parser.parse_args()
« no previous file with comments | « buildbot/master.chromium.fyi/slaves.cfg ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698