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

Side by Side Diff: tools/clang/scripts/update.py

Issue 2220793002: Roll clang 274369:277962. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 277962 Created 4 years, 4 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 unified diff | Download patch
« no previous file with comments | « build/toolchain/toolchain.gni ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """This script is used to download prebuilt clang binaries. 6 """This script is used to download prebuilt clang binaries.
7 7
8 It is also used by package.py to build the prebuilt clang binaries.""" 8 It is also used by package.py to build the prebuilt clang binaries."""
9 9
10 import argparse 10 import argparse
11 import distutils.spawn 11 import distutils.spawn
12 import glob 12 import glob
13 import os 13 import os
14 import pipes 14 import pipes
15 import re 15 import re
16 import shutil 16 import shutil
17 import subprocess 17 import subprocess
18 import stat 18 import stat
19 import sys 19 import sys
20 import tarfile 20 import tarfile
21 import tempfile 21 import tempfile
22 import time 22 import time
23 import urllib2 23 import urllib2
24 import zipfile 24 import zipfile
25 25
26 26
27 # Do NOT CHANGE this if you don't know what you're doing -- see 27 # Do NOT CHANGE this if you don't know what you're doing -- see
28 # https://chromium.googlesource.com/chromium/src/+/master/docs/updating_clang.md 28 # https://chromium.googlesource.com/chromium/src/+/master/docs/updating_clang.md
29 # Reverting problematic clang rolls is safe, though. 29 # Reverting problematic clang rolls is safe, though.
30 CLANG_REVISION = '274369' 30 CLANG_REVISION = '277962'
31 31
32 use_head_revision = 'LLVM_FORCE_HEAD_REVISION' in os.environ 32 use_head_revision = 'LLVM_FORCE_HEAD_REVISION' in os.environ
33 if use_head_revision: 33 if use_head_revision:
34 CLANG_REVISION = 'HEAD' 34 CLANG_REVISION = 'HEAD'
35 35
36 # This is incremented when pushing a new build of Clang at the same revision. 36 # This is incremented when pushing a new build of Clang at the same revision.
37 CLANG_SUB_REVISION=1 37 CLANG_SUB_REVISION=1
38 38
39 PACKAGE_VERSION = "%s-%s" % (CLANG_REVISION, CLANG_SUB_REVISION) 39 PACKAGE_VERSION = "%s-%s" % (CLANG_REVISION, CLANG_SUB_REVISION)
40 40
(...skipping 23 matching lines...) Expand all
64 LIBCXXABI_DIR = os.path.join(LLVM_DIR, 'projects', 'libcxxabi') 64 LIBCXXABI_DIR = os.path.join(LLVM_DIR, 'projects', 'libcxxabi')
65 LLVM_BUILD_TOOLS_DIR = os.path.abspath( 65 LLVM_BUILD_TOOLS_DIR = os.path.abspath(
66 os.path.join(LLVM_DIR, '..', 'llvm-build-tools')) 66 os.path.join(LLVM_DIR, '..', 'llvm-build-tools'))
67 STAMP_FILE = os.path.normpath( 67 STAMP_FILE = os.path.normpath(
68 os.path.join(LLVM_DIR, '..', 'llvm-build', 'cr_build_revision')) 68 os.path.join(LLVM_DIR, '..', 'llvm-build', 'cr_build_revision'))
69 BINUTILS_DIR = os.path.join(THIRD_PARTY_DIR, 'binutils') 69 BINUTILS_DIR = os.path.join(THIRD_PARTY_DIR, 'binutils')
70 BINUTILS_BIN_DIR = os.path.join(BINUTILS_DIR, BINUTILS_DIR, 70 BINUTILS_BIN_DIR = os.path.join(BINUTILS_DIR, BINUTILS_DIR,
71 'Linux_x64', 'Release', 'bin') 71 'Linux_x64', 'Release', 'bin')
72 BFD_PLUGINS_DIR = os.path.join(BINUTILS_DIR, 'Linux_x64', 'Release', 72 BFD_PLUGINS_DIR = os.path.join(BINUTILS_DIR, 'Linux_x64', 'Release',
73 'lib', 'bfd-plugins') 73 'lib', 'bfd-plugins')
74 VERSION = '3.9.0' 74 VERSION = '4.0.0'
75 ANDROID_NDK_DIR = os.path.join( 75 ANDROID_NDK_DIR = os.path.join(
76 CHROMIUM_DIR, 'third_party', 'android_tools', 'ndk') 76 CHROMIUM_DIR, 'third_party', 'android_tools', 'ndk')
77 77
78 # URL for pre-built binaries. 78 # URL for pre-built binaries.
79 CDS_URL = os.environ.get('CDS_CLANG_BUCKET_OVERRIDE', 79 CDS_URL = os.environ.get('CDS_CLANG_BUCKET_OVERRIDE',
80 'https://commondatastorage.googleapis.com/chromium-browser-clang') 80 'https://commondatastorage.googleapis.com/chromium-browser-clang')
81 81
82 LLVM_REPO_URL='https://llvm.org/svn/llvm-project' 82 LLVM_REPO_URL='https://llvm.org/svn/llvm-project'
83 if 'LLVM_REPO_URL' in os.environ: 83 if 'LLVM_REPO_URL' in os.environ:
84 LLVM_REPO_URL = os.environ['LLVM_REPO_URL'] 84 LLVM_REPO_URL = os.environ['LLVM_REPO_URL']
(...skipping 762 matching lines...) Expand 10 before | Expand all | Expand 10 after
847 # clang previously downloaded, keep it up to date. 847 # clang previously downloaded, keep it up to date.
848 # If you don't want this, delete third_party/llvm-build on your machine. 848 # If you don't want this, delete third_party/llvm-build on your machine.
849 if os.path.isdir(LLVM_BUILD_DIR): 849 if os.path.isdir(LLVM_BUILD_DIR):
850 is_clang_required = True 850 is_clang_required = True
851 if not is_clang_required: 851 if not is_clang_required:
852 return 0 852 return 0
853 if re.search(r'\b(make_clang_dir)=', os.environ.get('GYP_DEFINES', '')): 853 if re.search(r'\b(make_clang_dir)=', os.environ.get('GYP_DEFINES', '')):
854 print 'Skipping Clang update (make_clang_dir= was set in GYP_DEFINES).' 854 print 'Skipping Clang update (make_clang_dir= was set in GYP_DEFINES).'
855 return 0 855 return 0
856 856
857 if use_head_revision:
858 # TODO(hans): Remove after the next roll.
859 global VERSION
860 VERSION = '4.0.0'
861
862 global CLANG_REVISION, PACKAGE_VERSION 857 global CLANG_REVISION, PACKAGE_VERSION
863 if args.print_revision: 858 if args.print_revision:
864 if use_head_revision or args.llvm_force_head_revision: 859 if use_head_revision or args.llvm_force_head_revision:
865 print GetSvnRevision(LLVM_DIR) 860 print GetSvnRevision(LLVM_DIR)
866 else: 861 else:
867 print PACKAGE_VERSION 862 print PACKAGE_VERSION
868 return 0 863 return 0
869 864
870 if args.print_clang_version: 865 if args.print_clang_version:
871 sys.stdout.write(VERSION) 866 sys.stdout.write(VERSION)
(...skipping 13 matching lines...) Expand all
885 args.force_local_build = True 880 args.force_local_build = True
886 if 'OS=android' not in os.environ.get('GYP_DEFINES', ''): 881 if 'OS=android' not in os.environ.get('GYP_DEFINES', ''):
887 # Only build the Android ASan rt on ToT bots when targetting Android. 882 # Only build the Android ASan rt on ToT bots when targetting Android.
888 args.with_android = False 883 args.with_android = False
889 884
890 return UpdateClang(args) 885 return UpdateClang(args)
891 886
892 887
893 if __name__ == '__main__': 888 if __name__ == '__main__':
894 sys.exit(main()) 889 sys.exit(main())
OLDNEW
« no previous file with comments | « build/toolchain/toolchain.gni ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698