[zorg] r224726 - Added new Windows builder/slave for LLDB, with the following properties:
Galina Kistanova
gkistanova at gmail.com
Mon Dec 22 12:17:52 PST 2014
Author: gkistanova
Date: Mon Dec 22 14:17:51 2014
New Revision: 224726
URL: http://llvm.org/viewvc/llvm-project?rev=224726&view=rev
Log:
Added new Windows builder/slave for LLDB, with the following properties:
1) Only builds x86.
2) Only compiles, does not run tests.
3) Uses MSVC 2013 as the compiler, with the CMake / ninja generator.
Patch by Zachary Turner!
Modified:
zorg/trunk/buildbot/osuosl/master/config/builders.py
zorg/trunk/buildbot/osuosl/master/config/slaves.py
zorg/trunk/zorg/buildbot/builders/LLDBBuilder.py
Modified: zorg/trunk/buildbot/osuosl/master/config/builders.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/builders.py?rev=224726&r1=224725&r2=224726&view=diff
==============================================================================
--- zorg/trunk/buildbot/osuosl/master/config/builders.py (original)
+++ zorg/trunk/buildbot/osuosl/master/config/builders.py Mon Dec 22 14:17:51 2014
@@ -609,6 +609,40 @@ def _get_lldb_builders():
'factory': LLDBBuilder.getLLDBBuildFactory(triple=None, # use default
make='gmake',
extra_configure_args=['--enable-cxx11', '--enable-optimized', '--enable-assertions'])},
+ {'name': "lldb-x86-windows-msvc",
+ 'slavenames': ["zturner-win2008"],
+ 'builddir': "lldb-windows-x86",
+ 'factory': LLDBBuilder.getLLDBWindowsCMakeBuildFactory(triple=None, # use default
+ config=Debug,
+ # This sets up the environment to be identical to what would happen if you ran vcvarsall.bat
+ # which is a required step before invoking the compiler, linker, or for CMake to even be
+ # able to generate the relevant ninja.
+ env={
+ 'PATH': 'C:\\Program Files (x86)\\MSBuild\\12.0\\bin;' +
+ 'C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE\\;' +
+ 'C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\BIN;' +
+ 'C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\Tools;' +
+ 'C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319;' +
+ 'C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\VCPackages;' +
+ 'C:\\Program Files (x86)\\Windows Kits\\8.1\\bin\\x86;',
+ 'DevEnvDir': 'C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE\\',
+ 'ExtensionSdkDir': 'C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v8.1\\ExtensionSDKs\\',
+ 'Framework40Version': 'v4.0',
+ 'FrameworkDir': 'C:\\Windows\\Microsoft.NET\\Framework\\',
+ 'FrameworkDIR32': 'C:\\Windows\\Microsoft.NET\\Framework\\',
+ 'FrameworkVersion': 'v4.0.30319',
+ 'FrameworkVersion32': 'v4.0.30319',
+ 'INCLUDE': 'C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\INCLUDE;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\ATLMFC\\INCLUDE;C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\shared;C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\um;C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\winrt;',
+ 'LIB': 'C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\LIB;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\ATLMFC\\LIB;C:\\Program Files (x86)\\Windows Kits\\8.1\\lib\\winv6.3\\um\\x86;',
+ 'LIBPATH': 'C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\LIB;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\ATLMFC\\LIB;',
+ 'VCINSTALLDIR': 'C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\',
+ 'VisualStudioVersion': '12.0',
+ 'VSINSTALLDIR': 'C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\',
+ 'WindowsSdkDir': 'C:\\Program Files (x86)\\Windows Kits\\8.1\\',
+ 'WindowsSDK_ExecutablePath_x64': 'C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v8.1A\\bin\\NETFX 4.5.1 Tools\\x64\\',
+ 'WindowsSDK_ExecutablePath_x86': 'C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v8.1A\\bin\\NETFX 4.5.1 Tools\\',
+ }
+ )},
]
# Offline.
Modified: zorg/trunk/buildbot/osuosl/master/config/slaves.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/slaves.py?rev=224726&r1=224725&r2=224726&view=diff
==============================================================================
--- zorg/trunk/buildbot/osuosl/master/config/slaves.py (original)
+++ zorg/trunk/buildbot/osuosl/master/config/slaves.py Mon Dec 22 14:17:51 2014
@@ -169,6 +169,9 @@ def get_build_slaves():
create_slave('ericwf-buildslave2', properties={'jobs': 4}, max_builds=2),
# OS X 10.10 x86_64, Intel Core 2 Duo @ 2.40GHz
create_slave("ericwf-osx-slave", properties={'jobs': 2}, max_builds=1),
+
+ # Windows Server 2008 R2, Quad 2.6GHz Intel Xeon(R) 4GB RAM
+ create_slave("zturner-win2008", properties={'jobs': 4}, max_builds=1),
# Defunct.
# # GCC Compile Farm Slaves, see http://gcc.gnu.org/wiki/CompileFarm
Modified: zorg/trunk/zorg/buildbot/builders/LLDBBuilder.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/LLDBBuilder.py?rev=224726&r1=224725&r2=224726&view=diff
==============================================================================
--- zorg/trunk/zorg/buildbot/builders/LLDBBuilder.py (original)
+++ zorg/trunk/zorg/buildbot/builders/LLDBBuilder.py Mon Dec 22 14:17:51 2014
@@ -8,6 +8,84 @@ from buildbot.steps.shell import ShellCo
from buildbot.process.properties import WithProperties
from zorg.buildbot.commands.LitTestCommand import LitTestCommand
+# CMake Windows builds
+def getLLDBWindowsCMakeBuildFactory(
+ clean=True,
+ cmake='cmake',
+ jobs=None,
+
+ config='Release',
+
+ # Environmental variables for all steps.
+ env={},
+ extra_cmake_args=[]):
+
+ ############# PREPARING
+ f = buildbot.process.factory.BuildFactory()
+
+ # We *must* checkout at least Clang, LLVM, and LLDB. Once we add a step to run
+ # tests (e.g. ninja check-lldb), we will also need to add a step for LLD, since
+ # MSVC LD.EXE cannot link executables with DWARF debug info.
+ f.addStep(SVN(name='svn-llvm',
+ mode='update', baseURL='http://llvm.org/svn/llvm-project/llvm/',
+ defaultBranch='trunk',
+ workdir='llvm'))
+ f.addStep(SVN(name='svn-clang',
+ mode='update', baseURL='http://llvm.org/svn/llvm-project/cfe/',
+ defaultBranch='trunk',
+ workdir='llvm/tools/clang'))
+ f.addStep(SVN(name='svn-lldb',
+ mode='update', baseURL='http://llvm.org/svn/llvm-project/lldb/',
+ defaultBranch='trunk',
+ workdir='llvm/tools/lldb'))
+
+ # If jobs not defined, Ninja will choose a suitable value
+ jobs_cmd=[]
+ if jobs is not None:
+ jobs_cmd=["-j"+str(jobs)]
+ ninja_cmd=['ninja'] + jobs_cmd
+
+ # Global configurations
+ build_dir='build'
+
+ ############# CLEANING
+ if clean:
+ f.addStep(ShellCommand(name='clean',
+ command=['rmdir', '/S/Q', build_dir],
+ warnOnFailure=True,
+ description='Cleaning',
+ descriptionDone='clean',
+ workdir='.',
+ env=env))
+
+ # Use batch files instead of ShellCommand directly, Windows quoting is
+ # borked. FIXME: See buildbot ticket #595 and buildbot ticket #377.
+ f.addStep(batch_file_download.BatchFileDownload(name='cmakegen',
+ command=[cmake, "-G", "Ninja", "../llvm",
+ "-DCMAKE_BUILD_TYPE="+config,
+ # Need to use our custom built version of python
+ "-DPYTHON_LIBRARY=C:\\src\\python\\PCbuild\\python27_d.lib",
+ "-DPYTHON_INCLUDE_DIR=C:\\src\\python\\Include",
+ "-DPYTHON_EXECUTABLE=C:\\src\\python\\PCbuild\\python_d.exe"]
+ + extra_cmake_args,
+ workdir=build_dir))
+
+ f.addStep(ShellCommand(name='cmake',
+ command=['cmakegen.bat'],
+ haltOnFailure=True,
+ description='cmake gen',
+ workdir=build_dir,
+ env=env))
+
+ f.addStep(WarningCountingShellCommand(name='build',
+ command=ninja_cmd,
+ haltOnFailure=True,
+ description='ninja build',
+ workdir=build_dir,
+ env=env))
+
+ return f
+
def getLLDBBuildFactory(
triple,
outOfDir=False,
More information about the llvm-commits
mailing list