| 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 cStringIO | |
| 12 import distutils.spawn | 11 import distutils.spawn |
| 13 import glob | 12 import glob |
| 14 import os | 13 import os |
| 15 import pipes | 14 import pipes |
| 16 import re | 15 import re |
| 17 import shutil | 16 import shutil |
| 18 import subprocess | 17 import subprocess |
| 19 import stat | 18 import stat |
| 20 import sys | 19 import sys |
| 21 import tarfile | 20 import tarfile |
| 22 import tempfile | 21 import tempfile |
| 23 import time | |
| 24 import urllib2 | 22 import urllib2 |
| 25 import zipfile | 23 import zipfile |
| 26 | 24 |
| 27 # Do NOT CHANGE this if you don't know what you're doing -- see | 25 # Do NOT CHANGE this if you don't know what you're doing -- see |
| 28 # https://code.google.com/p/chromium/wiki/UpdatingClang | 26 # https://code.google.com/p/chromium/wiki/UpdatingClang |
| 29 # Reverting problematic clang rolls is safe, though. | 27 # Reverting problematic clang rolls is safe, though. |
| 30 CLANG_REVISION = '254049' | 28 CLANG_REVISION = '254793' |
| 31 | 29 |
| 32 use_head_revision = 'LLVM_FORCE_HEAD_REVISION' in os.environ | 30 use_head_revision = 'LLVM_FORCE_HEAD_REVISION' in os.environ |
| 33 if use_head_revision: | 31 if use_head_revision: |
| 34 CLANG_REVISION = 'HEAD' | 32 CLANG_REVISION = 'HEAD' |
| 35 | 33 |
| 36 # This is incremented when pushing a new build of Clang at the same revision. | 34 # This is incremented when pushing a new build of Clang at the same revision. |
| 37 CLANG_SUB_REVISION=1 | 35 CLANG_SUB_REVISION=1 |
| 38 | 36 |
| 39 PACKAGE_VERSION = "%s-%s" % (CLANG_REVISION, CLANG_SUB_REVISION) | 37 PACKAGE_VERSION = "%s-%s" % (CLANG_REVISION, CLANG_SUB_REVISION) |
| 40 | 38 |
| (...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 509 binutils_incdir = '' | 507 binutils_incdir = '' |
| 510 if sys.platform.startswith('linux'): | 508 if sys.platform.startswith('linux'): |
| 511 binutils_incdir = os.path.join(BINUTILS_DIR, 'Linux_x64/Release/include') | 509 binutils_incdir = os.path.join(BINUTILS_DIR, 'Linux_x64/Release/include') |
| 512 | 510 |
| 513 # If building at head, define a macro that plugins can use for #ifdefing | 511 # If building at head, define a macro that plugins can use for #ifdefing |
| 514 # out code that builds at head, but not at CLANG_REVISION or vice versa. | 512 # out code that builds at head, but not at CLANG_REVISION or vice versa. |
| 515 if use_head_revision: | 513 if use_head_revision: |
| 516 cflags += ['-DLLVM_FORCE_HEAD_REVISION'] | 514 cflags += ['-DLLVM_FORCE_HEAD_REVISION'] |
| 517 cxxflags += ['-DLLVM_FORCE_HEAD_REVISION'] | 515 cxxflags += ['-DLLVM_FORCE_HEAD_REVISION'] |
| 518 | 516 |
| 519 # Pin MSan to the old ABI. | |
| 520 # TODO(eugenis): Remove when MSan migrates to new ABI (crbug.com/560589). | |
| 521 cxxflags += [ '-DMSAN_LINUX_X86_64_OLD_MAPPING' ] | |
| 522 | |
| 523 CreateChromeToolsShim() | 517 CreateChromeToolsShim() |
| 524 | 518 |
| 525 deployment_env = None | 519 deployment_env = None |
| 526 if deployment_target: | 520 if deployment_target: |
| 527 deployment_env = os.environ.copy() | 521 deployment_env = os.environ.copy() |
| 528 deployment_env['MACOSX_DEPLOYMENT_TARGET'] = deployment_target | 522 deployment_env['MACOSX_DEPLOYMENT_TARGET'] = deployment_target |
| 529 | 523 |
| 530 cmake_args = [] | 524 cmake_args = [] |
| 531 # TODO(thakis): Unconditionally append this to base_cmake_args instead once | 525 # TODO(thakis): Unconditionally append this to base_cmake_args instead once |
| 532 # compiler-rt can build with clang-cl on Windows (http://llvm.org/PR23698) | 526 # compiler-rt can build with clang-cl on Windows (http://llvm.org/PR23698) |
| (...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 782 args.force_local_build = True | 776 args.force_local_build = True |
| 783 if 'OS=android' not in os.environ.get('GYP_DEFINES', ''): | 777 if 'OS=android' not in os.environ.get('GYP_DEFINES', ''): |
| 784 # Only build the Android ASan rt on ToT bots when targetting Android. | 778 # Only build the Android ASan rt on ToT bots when targetting Android. |
| 785 args.with_android = False | 779 args.with_android = False |
| 786 | 780 |
| 787 return UpdateClang(args) | 781 return UpdateClang(args) |
| 788 | 782 |
| 789 | 783 |
| 790 if __name__ == '__main__': | 784 if __name__ == '__main__': |
| 791 sys.exit(main()) | 785 sys.exit(main()) |
| OLD | NEW |