Commit d6aece7c authored by thakis's avatar thakis Committed by Commit bot

Revert of Add the ability to build Chrome tools to the Win Clang build script....

Revert of Add the ability to build Chrome tools to the Win Clang build script. (patchset #2 id:20001 of https://codereview.chromium.org/1068603002/)

Reason for revert:
Broke all bots on http://build.chromium.org/p/chromium.fyi/console?category=win%20clang , they fail with:

________ running 'C:\b\depot_tools\python276_bin\python.exe src/tools/clang/scripts/update.py --if-needed' in 'C:\b\build\slave\CrWinClang\build'
usage: update.py [-h] [--no-clobber] [--tools [TOOLS [TOOLS ...]]]
update.py: error: unrecognized arguments: --if-needed

Probably easy to fix (just add a dummy --if-needed parameter to argparse), but reverting to get that waterfall back to green.

Original issue's description:
> Add the ability to build Chrome tools to the Win Clang build script.
>
> BUG=424436,467287
>
> Committed: https://crrev.com/475949d9430b6a759ce759f2133dd3a1577d0d0b
> Cr-Commit-Position: refs/heads/master@{#324089}

TBR=hans@chromium.org,dcheng@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=424436,467287

Review URL: https://codereview.chromium.org/1063273002

Cr-Commit-Position: refs/heads/master@{#324138}
parent 533d7341
......@@ -6,7 +6,6 @@
"""Windows can't run .sh files, so this is a Python implementation of
update.sh. This script should replace update.sh on all platforms eventually."""
import argparse
import os
import re
import shutil
......@@ -31,7 +30,6 @@ if (re.search(r'\b(asan)=1', os.environ.get('GYP_DEFINES', '')) and
THIS_DIR = os.path.abspath(os.path.dirname(__file__))
CHROMIUM_DIR = os.path.abspath(os.path.join(THIS_DIR, '..', '..', '..'))
LLVM_DIR = os.path.join(CHROMIUM_DIR, 'third_party', 'llvm')
CHROME_TOOLS_SHIM_DIR = os.path.join(LLVM_DIR, 'tools', 'chrometools')
LLVM_BUILD_DIR = os.path.join(CHROMIUM_DIR, 'third_party', 'llvm-build',
'Release+Asserts')
COMPILER_RT_BUILD_DIR = os.path.join(LLVM_BUILD_DIR, '32bit-compiler-rt')
......@@ -131,32 +129,6 @@ def Checkout(name, url, dir):
RunCommand(command)
def DeleteChromeToolsShim():
shutil.rmtree(CHROME_TOOLS_SHIM_DIR)
def CreateChromeToolsShim():
"""Hooks the Chrome tools into the LLVM build.
Several Chrome tools have dependencies on LLVM/Clang libraries. The LLVM build
detects implicit tools in the tools subdirectory, so this helper install a
shim CMakeLists.txt that forwards to the real directory for the Chrome tools.
Note that the shim directory name intentionally has no - or _. The implicit
tool detection logic munges them in a weird way."""
assert not any(i in os.path.basename(CHROME_TOOLS_SHIM_DIR) for i in '-_')
os.mkdir(CHROME_TOOLS_SHIM_DIR)
with file(os.path.join(CHROME_TOOLS_SHIM_DIR, 'CMakeLists.txt'), 'w') as f:
f.write('# Automatically generated by tools/clang/scripts/update.py. ' +
'Do not edit.\n')
f.write('# Since tools/clang is located in another directory, use the \n')
f.write('# two arg version to specify where build artifacts go. CMake\n')
f.write('# disallows reuse of the same binary dir for multiple source\n')
f.write('# dirs, so the build artifacts need to go into a subdirectory.\n')
f.write('add_subdirectory(${CHROMIUM_TOOLS_SRC} ' +
'${CMAKE_CURRENT_BINARY_DIR}/a)\n')
def AddCMakeToPath():
"""Look for CMake and add it to PATH if it's not there already."""
try:
......@@ -209,39 +181,30 @@ def SubversionCmakeArg():
return ''
def UpdateClang(args):
def UpdateClang():
print 'Updating Clang to %s...' % (LLVM_WIN_REVISION)
if LLVM_WIN_REVISION != 'HEAD' and ReadStampFile() == LLVM_WIN_REVISION:
print 'Already up to date.'
return 0
AddCMakeToPath()
if args.clobber:
ClobberChromiumBuildFiles()
ClobberChromiumBuildFiles()
# Reset the stamp file in case the build is unsuccessful.
WriteStampFile('')
DeleteChromeToolsShim();
Checkout('LLVM', LLVM_REPO_URL + '/llvm/trunk', LLVM_DIR)
Checkout('Clang', LLVM_REPO_URL + '/cfe/trunk', CLANG_DIR)
Checkout('LLD', LLVM_REPO_URL + '/lld/trunk', LLD_DIR)
Checkout('compiler-rt', LLVM_REPO_URL + '/compiler-rt/trunk', COMPILER_RT_DIR)
CreateChromeToolsShim();
if not os.path.exists(LLVM_BUILD_DIR):
os.makedirs(LLVM_BUILD_DIR)
os.chdir(LLVM_BUILD_DIR)
cmake_args = ['-GNinja', '-DCMAKE_BUILD_TYPE=Release',
'-DLLVM_ENABLE_ASSERTIONS=ON', SubversionCmakeArg(),
'-DCHROMIUM_TOOLS_SRC=%s' % os.path.join(
CHROMIUM_DIR, 'tools', 'clang')]
if args.tools:
cmake_args.append('-DCHROMIUM_TOOLS=%s' % ';'.join(args.tools))
RunCommand(GetVSVersion().SetupScript('x64') +
['&&', 'cmake'] + cmake_args + [LLVM_DIR])
['&&', 'cmake', '-GNinja', '-DCMAKE_BUILD_TYPE=Release',
'-DLLVM_ENABLE_ASSERTIONS=ON', SubversionCmakeArg(), LLVM_DIR])
RunCommand(GetVSVersion().SetupScript('x64') + ['&&', 'ninja', 'all'])
# Do an x86 build of compiler-rt to get the 32-bit ASan run-time.
......@@ -250,7 +213,8 @@ def UpdateClang(args):
os.makedirs(COMPILER_RT_BUILD_DIR)
os.chdir(COMPILER_RT_BUILD_DIR)
RunCommand(GetVSVersion().SetupScript('x86') +
['&&', 'cmake'] + cmake_args + [LLVM_DIR])
['&&', 'cmake', '-GNinja', '-DCMAKE_BUILD_TYPE=Release',
'-DLLVM_ENABLE_ASSERTIONS=ON', LLVM_DIR])
RunCommand(GetVSVersion().SetupScript('x86') + ['&&', 'ninja', 'compiler-rt'])
# TODO(hans): Make this (and the .gypi and .isolate files) version number
......@@ -312,10 +276,7 @@ def main():
print 'Skipping Clang update (make_clang_dir= was set in GYP_DEFINES).'
return 0
parser = argparse.ArgumentParser(description='Build Clang.')
parser.add_argument('--no-clobber', dest='clobber', action='store_false')
parser.add_argument('--tools', nargs='*')
return UpdateClang(parser.parse_args())
return UpdateClang()
if __name__ == '__main__':
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment