| OLD | NEW |
| 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 # Do NOT CHANGE this if you don't know what you're doing -- see | 26 # Do NOT CHANGE this if you don't know what you're doing -- see |
| 27 # https://chromium.googlesource.com/chromium/src/+/master/docs/updating_clang.md | 27 # https://chromium.googlesource.com/chromium/src/+/master/docs/updating_clang.md |
| 28 # Reverting problematic clang rolls is safe, though. | 28 # Reverting problematic clang rolls is safe, though. |
| 29 CLANG_REVISION = '266460' | 29 CLANG_REVISION = '267383' |
| 30 | 30 |
| 31 use_head_revision = 'LLVM_FORCE_HEAD_REVISION' in os.environ | 31 use_head_revision = 'LLVM_FORCE_HEAD_REVISION' in os.environ |
| 32 if use_head_revision: | 32 if use_head_revision: |
| 33 CLANG_REVISION = 'HEAD' | 33 CLANG_REVISION = 'HEAD' |
| 34 | 34 |
| 35 # This is incremented when pushing a new build of Clang at the same revision. | 35 # This is incremented when pushing a new build of Clang at the same revision. |
| 36 CLANG_SUB_REVISION=1 | 36 CLANG_SUB_REVISION=1 |
| 37 | 37 |
| 38 PACKAGE_VERSION = "%s-%s" % (CLANG_REVISION, CLANG_SUB_REVISION) | 38 PACKAGE_VERSION = "%s-%s" % (CLANG_REVISION, CLANG_SUB_REVISION) |
| 39 | 39 |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 317 DownloadAndUnpack(CDS_URL + '/tools/' + zip_name, LLVM_BUILD_TOOLS_DIR) | 317 DownloadAndUnpack(CDS_URL + '/tools/' + zip_name, LLVM_BUILD_TOOLS_DIR) |
| 318 os.environ['PATH'] = cmake_dir + os.pathsep + os.environ.get('PATH', '') | 318 os.environ['PATH'] = cmake_dir + os.pathsep + os.environ.get('PATH', '') |
| 319 | 319 |
| 320 | 320 |
| 321 def AddGnuWinToPath(): | 321 def AddGnuWinToPath(): |
| 322 """Download some GNU win tools and add them to PATH.""" | 322 """Download some GNU win tools and add them to PATH.""" |
| 323 if sys.platform != 'win32': | 323 if sys.platform != 'win32': |
| 324 return | 324 return |
| 325 | 325 |
| 326 gnuwin_dir = os.path.join(LLVM_BUILD_TOOLS_DIR, 'gnuwin') | 326 gnuwin_dir = os.path.join(LLVM_BUILD_TOOLS_DIR, 'gnuwin') |
| 327 GNUWIN_VERSION = '1' | 327 GNUWIN_VERSION = '3' |
| 328 GNUWIN_STAMP = os.path.join(gnuwin_dir, 'stamp') | 328 GNUWIN_STAMP = os.path.join(gnuwin_dir, 'stamp') |
| 329 if ReadStampFile(GNUWIN_STAMP) == GNUWIN_VERSION: | 329 if ReadStampFile(GNUWIN_STAMP) == GNUWIN_VERSION: |
| 330 print 'GNU Win tools already up to date.' | 330 print 'GNU Win tools already up to date.' |
| 331 else: | 331 else: |
| 332 zip_name = 'gnuwin-%s.zip' % GNUWIN_VERSION | 332 zip_name = 'gnuwin-%s.zip' % GNUWIN_VERSION |
| 333 DownloadAndUnpack(CDS_URL + '/tools/' + zip_name, LLVM_BUILD_TOOLS_DIR) | 333 DownloadAndUnpack(CDS_URL + '/tools/' + zip_name, LLVM_BUILD_TOOLS_DIR) |
| 334 WriteStampFile(GNUWIN_VERSION, GNUWIN_STAMP) | 334 WriteStampFile(GNUWIN_VERSION, GNUWIN_STAMP) |
| 335 | 335 |
| 336 os.environ['PATH'] = gnuwin_dir + os.pathsep + os.environ.get('PATH', '') | 336 os.environ['PATH'] = gnuwin_dir + os.pathsep + os.environ.get('PATH', '') |
| 337 | 337 |
| (...skipping 531 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 869 args.force_local_build = True | 869 args.force_local_build = True |
| 870 if 'OS=android' not in os.environ.get('GYP_DEFINES', ''): | 870 if 'OS=android' not in os.environ.get('GYP_DEFINES', ''): |
| 871 # Only build the Android ASan rt on ToT bots when targetting Android. | 871 # Only build the Android ASan rt on ToT bots when targetting Android. |
| 872 args.with_android = False | 872 args.with_android = False |
| 873 | 873 |
| 874 return UpdateClang(args) | 874 return UpdateClang(args) |
| 875 | 875 |
| 876 | 876 |
| 877 if __name__ == '__main__': | 877 if __name__ == '__main__': |
| 878 sys.exit(main()) | 878 sys.exit(main()) |
| OLD | NEW |