diff options
Diffstat (limited to 'lldb/scripts/Xcode/build-llvm.py')
-rwxr-xr-x | lldb/scripts/Xcode/build-llvm.py | 59 |
1 files changed, 28 insertions, 31 deletions
diff --git a/lldb/scripts/Xcode/build-llvm.py b/lldb/scripts/Xcode/build-llvm.py index 792f92558b4..15b6a6b8c50 100755 --- a/lldb/scripts/Xcode/build-llvm.py +++ b/lldb/scripts/Xcode/build-llvm.py @@ -6,6 +6,7 @@ import fnmatch import os import platform import re +import repo import subprocess import sys @@ -17,42 +18,38 @@ from lldbbuild import * def LLVM_HASH_INCLUDES_DIFFS(): return False -# The use of "x = "..."; return x" here is important because tooling looks for -# it with regexps. Only change how this works if you know what you are doing. - - -def LLVM_REF(): - llvm_ref = "master" - return llvm_ref - +# For use with Xcode-style builds -def CLANG_REF(): - clang_ref = "master" - return clang_ref +def process_vcs(vcs): + return { + "svn": VCS.svn, + "git": VCS.git + }[vcs] -# For use with Xcode-style builds +def process_root(name): + return { + "llvm": llvm_source_path(), + "clang": clang_source_path(), + "ninja": ninja_source_path() + }[name] +def process_repo(r): + return { + 'name': r["name"], + 'vcs': process_vcs(r["vcs"]), + 'root': process_root(r["name"]), + 'url': r["url"], + 'ref': r["ref"] + } def XCODE_REPOSITORIES(): - return [ - {'name': "llvm", - 'vcs': VCS.git, - 'root': llvm_source_path(), - 'url': "http://llvm.org/git/llvm.git", - 'ref': LLVM_REF()}, - - {'name': "clang", - 'vcs': VCS.git, - 'root': clang_source_path(), - 'url': "http://llvm.org/git/clang.git", - 'ref': CLANG_REF()}, - - {'name': "ninja", - 'vcs': VCS.git, - 'root': ninja_source_path(), - 'url': "https://github.com/ninja-build/ninja.git", - 'ref': "master"} - ] + identifier = repo.identifier() + if identifier == None: + sys.exit("Couldn't identify the current branch") + set = repo.find(identifier) + if set == None: + sys.exit("Couldn't find a repository set for the current branch") + return [process_repo(r) for r in set] def get_c_compiler(): |