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

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

Issue 2317123004: Roll clang 280106:280836. (Closed)
Patch Set: linux Created 4 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 unified diff | Download patch
« no previous file with comments | « no previous file | 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 = '280106' 30 CLANG_REVISION = '280836'
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 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 DownloadAndUnpack(CDS_URL + '/tools/' + zip_name, LLVM_BUILD_TOOLS_DIR) 326 DownloadAndUnpack(CDS_URL + '/tools/' + zip_name, LLVM_BUILD_TOOLS_DIR)
327 os.environ['PATH'] = cmake_dir + os.pathsep + os.environ.get('PATH', '') 327 os.environ['PATH'] = cmake_dir + os.pathsep + os.environ.get('PATH', '')
328 328
329 329
330 def AddGnuWinToPath(): 330 def AddGnuWinToPath():
331 """Download some GNU win tools and add them to PATH.""" 331 """Download some GNU win tools and add them to PATH."""
332 if sys.platform != 'win32': 332 if sys.platform != 'win32':
333 return 333 return
334 334
335 gnuwin_dir = os.path.join(LLVM_BUILD_TOOLS_DIR, 'gnuwin') 335 gnuwin_dir = os.path.join(LLVM_BUILD_TOOLS_DIR, 'gnuwin')
336 GNUWIN_VERSION = '4' 336 GNUWIN_VERSION = '5'
337 GNUWIN_STAMP = os.path.join(gnuwin_dir, 'stamp') 337 GNUWIN_STAMP = os.path.join(gnuwin_dir, 'stamp')
338 if ReadStampFile(GNUWIN_STAMP) == GNUWIN_VERSION: 338 if ReadStampFile(GNUWIN_STAMP) == GNUWIN_VERSION:
339 print 'GNU Win tools already up to date.' 339 print 'GNU Win tools already up to date.'
340 else: 340 else:
341 zip_name = 'gnuwin-%s.zip' % GNUWIN_VERSION 341 zip_name = 'gnuwin-%s.zip' % GNUWIN_VERSION
342 DownloadAndUnpack(CDS_URL + '/tools/' + zip_name, LLVM_BUILD_TOOLS_DIR) 342 DownloadAndUnpack(CDS_URL + '/tools/' + zip_name, LLVM_BUILD_TOOLS_DIR)
343 WriteStampFile(GNUWIN_VERSION, GNUWIN_STAMP) 343 WriteStampFile(GNUWIN_VERSION, GNUWIN_STAMP)
344 344
345 os.environ['PATH'] = gnuwin_dir + os.pathsep + os.environ.get('PATH', '') 345 os.environ['PATH'] = gnuwin_dir + os.pathsep + os.environ.get('PATH', '')
346 346
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after
747 VERSION, 'include_sanitizer', 747 VERSION, 'include_sanitizer',
748 'sanitizer') 748 'sanitizer')
749 EnsureDirExists(aux_sanitizer_include_dir) 749 EnsureDirExists(aux_sanitizer_include_dir)
750 for _, _, files in os.walk(sanitizer_include_dir): 750 for _, _, files in os.walk(sanitizer_include_dir):
751 for f in files: 751 for f in files:
752 CopyFile(os.path.join(sanitizer_include_dir, f), 752 CopyFile(os.path.join(sanitizer_include_dir, f),
753 aux_sanitizer_include_dir) 753 aux_sanitizer_include_dir)
754 754
755 if args.with_android: 755 if args.with_android:
756 make_toolchain = os.path.join( 756 make_toolchain = os.path.join(
757 ANDROID_NDK_DIR, 'build', 'tools', 'make-standalone-toolchain.sh') 757 ANDROID_NDK_DIR, 'build', 'tools', 'make_standalone_toolchain.py')
758 for target_arch in ['aarch64', 'arm', 'i686']: 758 for target_arch in ['aarch64', 'arm', 'i686']:
759 # Make standalone Android toolchain for target_arch. 759 # Make standalone Android toolchain for target_arch.
760 toolchain_dir = os.path.join( 760 toolchain_dir = os.path.join(
761 LLVM_BUILD_DIR, 'android-toolchain-' + target_arch) 761 LLVM_BUILD_DIR, 'android-toolchain-' + target_arch)
762 RunCommand([ 762 RunCommand([
763 make_toolchain, 763 make_toolchain,
764 '--platform=android-' + ('21' if target_arch == 'aarch64' else '19'), 764 '--api=' + ('21' if target_arch == 'aarch64' else '19'),
765 '--install-dir="%s"' % toolchain_dir, 765 '--install-dir=%s' % toolchain_dir,
Nico 2016/09/08 19:57:08 python script has better quoting, "" no longer nee
766 '--system=linux-x86_64',
767 '--stl=stlport', 766 '--stl=stlport',
768 '--toolchain=' + { 767 '--arch=' + {
769 'aarch64': 'aarch64-linux-android-4.9', 768 'aarch64': 'arm64',
770 'arm': 'arm-linux-androideabi-4.9', 769 'arm': 'arm',
771 'i686': 'x86-4.9', 770 'i686': 'x86',
772 }[target_arch]]) 771 }[target_arch]])
773 # Android NDK r9d copies a broken unwind.h into the toolchain, see 772 # Android NDK r9d copies a broken unwind.h into the toolchain, see
774 # http://crbug.com/357890 773 # http://crbug.com/357890
775 for f in glob.glob(os.path.join(toolchain_dir, 'include/c++/*/unwind.h')): 774 for f in glob.glob(os.path.join(toolchain_dir, 'include/c++/*/unwind.h')):
776 os.remove(f) 775 os.remove(f)
777 776
778 # Build ASan runtime for Android in a separate build tree. 777 # Build ASan runtime for Android in a separate build tree.
779 build_dir = os.path.join(LLVM_BUILD_DIR, 'android-' + target_arch) 778 build_dir = os.path.join(LLVM_BUILD_DIR, 'android-' + target_arch)
780 if not os.path.exists(build_dir): 779 if not os.path.exists(build_dir):
781 os.mkdir(os.path.join(build_dir)) 780 os.mkdir(os.path.join(build_dir))
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
898 args.force_local_build = True 897 args.force_local_build = True
899 if 'OS=android' not in os.environ.get('GYP_DEFINES', ''): 898 if 'OS=android' not in os.environ.get('GYP_DEFINES', ''):
900 # Only build the Android ASan rt on ToT bots when targetting Android. 899 # Only build the Android ASan rt on ToT bots when targetting Android.
901 args.with_android = False 900 args.with_android = False
902 901
903 return UpdateClang(args) 902 return UpdateClang(args)
904 903
905 904
906 if __name__ == '__main__': 905 if __name__ == '__main__':
907 sys.exit(main()) 906 sys.exit(main())
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698