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

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

Issue 2708203002: Roll clang 289944:295762. (Closed)
Patch Set: cros Created 3 years, 9 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 | « chrome/browser/chromeos/login/session/user_session_manager.h ('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 = '289944' 30 CLANG_REVISION = '295793'
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=2 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
41 # Path constants. (All of these should be absolute paths.) 41 # Path constants. (All of these should be absolute paths.)
42 THIS_DIR = os.path.abspath(os.path.dirname(__file__)) 42 THIS_DIR = os.path.abspath(os.path.dirname(__file__))
43 CHROMIUM_DIR = os.path.abspath(os.path.join(THIS_DIR, '..', '..', '..')) 43 CHROMIUM_DIR = os.path.abspath(os.path.join(THIS_DIR, '..', '..', '..'))
44 THIRD_PARTY_DIR = os.path.join(CHROMIUM_DIR, 'third_party') 44 THIRD_PARTY_DIR = os.path.join(CHROMIUM_DIR, 'third_party')
45 LLVM_DIR = os.path.join(THIRD_PARTY_DIR, 'llvm') 45 LLVM_DIR = os.path.join(THIRD_PARTY_DIR, 'llvm')
46 LLVM_BOOTSTRAP_DIR = os.path.join(THIRD_PARTY_DIR, 'llvm-bootstrap') 46 LLVM_BOOTSTRAP_DIR = os.path.join(THIRD_PARTY_DIR, 'llvm-bootstrap')
47 LLVM_BOOTSTRAP_INSTALL_DIR = os.path.join(THIRD_PARTY_DIR, 47 LLVM_BOOTSTRAP_INSTALL_DIR = os.path.join(THIRD_PARTY_DIR,
(...skipping 16 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 = '4.0.0' 74 VERSION = '5.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 775 matching lines...) Expand 10 before | Expand all | Expand 10 after
860 if args.lto_gold_plugin and not sys.platform.startswith('linux'): 860 if args.lto_gold_plugin and not sys.platform.startswith('linux'):
861 print '--lto-gold-plugin is only effective on Linux. Ignoring the option.' 861 print '--lto-gold-plugin is only effective on Linux. Ignoring the option.'
862 args.lto_gold_plugin = False 862 args.lto_gold_plugin = False
863 863
864 if args.if_needed: 864 if args.if_needed:
865 # TODO(thakis): Can probably remove this and --if-needed altogether. 865 # TODO(thakis): Can probably remove this and --if-needed altogether.
866 if re.search(r'\b(make_clang_dir)=', os.environ.get('GYP_DEFINES', '')): 866 if re.search(r'\b(make_clang_dir)=', os.environ.get('GYP_DEFINES', '')):
867 print 'Skipping Clang update (make_clang_dir= was set in GYP_DEFINES).' 867 print 'Skipping Clang update (make_clang_dir= was set in GYP_DEFINES).'
868 return 0 868 return 0
869 869
870 if use_head_revision:
871 # TODO(hans): Trunk was updated; remove after the next roll.
872 global VERSION
873 VERSION = '5.0.0'
874
875 global CLANG_REVISION, PACKAGE_VERSION 870 global CLANG_REVISION, PACKAGE_VERSION
876 if args.print_revision: 871 if args.print_revision:
877 if use_head_revision or args.llvm_force_head_revision: 872 if use_head_revision or args.llvm_force_head_revision:
878 print GetSvnRevision(LLVM_DIR) 873 print GetSvnRevision(LLVM_DIR)
879 else: 874 else:
880 print PACKAGE_VERSION 875 print PACKAGE_VERSION
881 return 0 876 return 0
882 877
883 if args.print_clang_version: 878 if args.print_clang_version:
884 sys.stdout.write(VERSION) 879 sys.stdout.write(VERSION)
(...skipping 13 matching lines...) Expand all
898 args.force_local_build = True 893 args.force_local_build = True
899 if 'OS=android' not in os.environ.get('GYP_DEFINES', ''): 894 if 'OS=android' not in os.environ.get('GYP_DEFINES', ''):
900 # Only build the Android ASan rt on ToT bots when targetting Android. 895 # Only build the Android ASan rt on ToT bots when targetting Android.
901 args.with_android = False 896 args.with_android = False
902 897
903 return UpdateClang(args) 898 return UpdateClang(args)
904 899
905 900
906 if __name__ == '__main__': 901 if __name__ == '__main__':
907 sys.exit(main()) 902 sys.exit(main())
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/session/user_session_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698