diff options
Diffstat (limited to 'tools/build_third_party.py')
-rwxr-xr-x | tools/build_third_party.py | 66 |
1 files changed, 15 insertions, 51 deletions
diff --git a/tools/build_third_party.py b/tools/build_third_party.py index e5c2885dc..87ed04783 100755 --- a/tools/build_third_party.py +++ b/tools/build_third_party.py @@ -10,58 +10,22 @@ import os from os.path import join import subprocess +from util import run, remove_and_symlink root_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) third_party_path = join(root_path, "third_party") - -def main(): - try: - os.makedirs(third_party_path) - except: - pass - os.chdir(third_party_path) - remove_and_symlink(join("..", "gclient_config.py"), ".gclient") - remove_and_symlink(join("..", "package.json"), "package.json") - remove_and_symlink(join("..", "yarn.lock"), "yarn.lock") - remove_and_symlink(join("v8", "third_party", "googletest"), "googletest") - remove_and_symlink(join("v8", "third_party", "jinja2"), "jinja2") - remove_and_symlink(join("v8", "third_party", "llvm-build"), "llvm-build") - remove_and_symlink(join("v8", "third_party", "markupsafe"), "markupsafe") - run(["gclient", "sync", "--no-history"]) - run(["yarn"]) - - -def run(args): - print " ".join(args) - env = os.environ.copy() - subprocess.check_call(args, env=env) - - -def remove_and_symlink(target, name): - try: - os.unlink(name) - except: - pass - os.symlink(target, name) - - -def symlink(target, name, target_is_dir=False): - if os.name == "nt": - import ctypes - CreateSymbolicLinkW = ctypes.windll.kernel32.CreateSymbolicLinkW - CreateSymbolicLinkW.restype = ctypes.c_ubyte - CreateSymbolicLinkW.argtypes = (ctypes.c_wchar_p, ctypes.c_wchar_p, - ctypes.c_uint32) - - flags = 0x02 # SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE - if (target_is_dir): - flags |= 0x01 # SYMBOLIC_LINK_FLAG_DIRECTORY - if not CreateSymbolicLinkW(name, target, flags): - raise ctypes.WinError() - else: - os.symlink(target, name) - - -if '__main__' == __name__: - main() +try: + os.makedirs(third_party_path) +except: + pass +os.chdir(third_party_path) +remove_and_symlink(join("..", "gclient_config.py"), ".gclient") +remove_and_symlink(join("..", "package.json"), "package.json") +remove_and_symlink(join("..", "yarn.lock"), "yarn.lock") +remove_and_symlink(join("v8", "third_party", "googletest"), "googletest") +remove_and_symlink(join("v8", "third_party", "jinja2"), "jinja2") +remove_and_symlink(join("v8", "third_party", "llvm-build"), "llvm-build") +remove_and_symlink(join("v8", "third_party", "markupsafe"), "markupsafe") +run(["gclient", "sync", "--no-history"]) +run(["yarn"]) |