<div dir="ltr"><div>Hi Rick,</div><div><br></div>Sorry for forcing you to merge.<div><div><br></div><div>Agree, using raw strings for Windows paths everywhere we have to have them is more clean and easier to read.<br></div><div><br></div><div>As of the Windows envs, I'm not even sure we need to merge them for the builder. So far it seems more clean to require the VS envs and paths to be set correctly for the buildslave account locally on a slave.</div><div><br></div><div>Thanks</div><div><br></div><div>Galina</div><div><br></div><div><br></div><div><br></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 22, 2014 at 1:44 PM, Rick Foos <span dir="ltr"><<a href="mailto:rfoos@codeaurora.org" target="_blank">rfoos@codeaurora.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Hi Galina,<br>
<br>
ack, and I fixed all the merge conflicts with mine :)<br>
<br>
I have an alternate way to the long windows env string. Doing a set
on the host and using slave2env creates a dictionary off all the
host variables. That way it works on any windows slave you have set
up correctly.<br>
<br>
If you must do windows environment variables, you will live a lot
easier if you use raw strings:<br>
<br>
{<br>
'PATH': r'C:\Program Files (x86)\MSBuild\12.0\bin;'<br>
r'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE;'<br>
r'C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN;'<br>
r'C:\Program Files (x86)\Microsoft Visual Studio
12.0\Common7\Tools;'<br>
r'C:\Windows\Microsoft.NET\Framework\v4.0.30319;'<br>
r'C:\Program Files (x86)\Microsoft Visual Studio
12.0\VC\VCPackages;'<br>
r'C:\Program Files (x86)\Windows Kits\8.1\bin\x86;',<br>
}<span class="HOEnZb"><font color="#888888"><br>
<br>
-rick</font></span><div><div class="h5"><br>
<div>On 12/22/2014 03:33 PM, Galina
Kistanova wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>
<div>
<div>
<div>Hi Rick,<br>
<br>
</div>
I reverted this revision. Need more attention.<br>
</div>
<br>
</div>
Thanks<br>
<br>
</div>
Galina<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Dec 22, 2014 at 1:24 PM, Rick
Foos <span dir="ltr"><<a href="mailto:rfoos@codeaurora.org" target="_blank">rfoos@codeaurora.org</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Galina,
Zachary,<br>
I'm getting a checkconfig error. Should Debug be a string in
builders.py?<br>
<br>
- config=Debug environment to be identical to what would
happen if you ran vcvarsall.bat<br>
+ config='Debug' environment to be identical to what would
happen if you ran vcvarsall.bat<br>
<br>
<br>
File "buildbot/osuosl/master/config/builders.py", line
654, in _get_lldb_builders<br>
config=Debug,<br>
exceptions.NameError: global name 'Debug' is not defined<br>
Configuration Errors:<br>
error while parsing config file: global name 'Debug' is
not defined (traceback in logfile)
<div>
<div><br>
<br>
On 12/22/2014 02:17 PM, Galina Kistanova wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Author: gkistanova<br>
Date: Mon Dec 22 14:17:51 2014<br>
New Revision: 224726<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=224726&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=224726&view=rev</a><br>
Log:<br>
Added new Windows builder/slave for LLDB, with the
following properties:<br>
1) Only builds x86.<br>
2) Only compiles, does not run tests.<br>
3) Uses MSVC 2013 as the compiler, with the CMake /
ninja generator.<br>
<br>
Patch by Zachary Turner!<br>
<br>
Modified:<br>
zorg/trunk/buildbot/osuosl/master/config/builders.py<br>
zorg/trunk/buildbot/osuosl/master/config/slaves.py<br>
zorg/trunk/zorg/buildbot/builders/LLDBBuilder.py<br>
<br>
Modified: zorg/trunk/buildbot/osuosl/master/config/builders.py<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/builders.py?rev=224726&r1=224725&r2=224726&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/builders.py?rev=224726&r1=224725&r2=224726&view=diff</a><br>
==============================================================================<br>
--- zorg/trunk/buildbot/osuosl/master/config/builders.py
(original)<br>
+++ zorg/trunk/buildbot/osuosl/master/config/builders.py
Mon Dec 22 14:17:51 2014<br>
@@ -609,6 +609,40 @@ def _get_lldb_builders():<br>
'factory': LLDBBuilder.getLLDBBuildFactory(triple=None,
# use default<br>
make='gmake',<br>
extra_configure_args=['--enable-cxx11',
'--enable-optimized', '--enable-assertions'])},<br>
+ {'name': "lldb-x86-windows-msvc",<br>
+ 'slavenames': ["zturner-win2008"],<br>
+ 'builddir': "lldb-windows-x86",<br>
+ 'factory': LLDBBuilder.getLLDBWindowsCMakeBuildFactory(triple=None,
# use default<br>
+
config=Debug,<br>
+
# This sets up the environment to be
identical to what would happen if you ran
vcvarsall.bat<br>
+
# which is a required step before invoking
the compiler, linker, or for CMake to even be<br>
+
# able to generate the relevant ninja.<br>
+
env={<br>
+
'PATH': 'C:\\Program Files
(x86)\\MSBuild\\12.0\\bin;' +<br>
+
'C:\\Program Files
(x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE\\;'
+<br>
+
'C:\\Program Files
(x86)\\Microsoft Visual Studio 12.0\\VC\\BIN;' +<br>
+
'C:\\Program Files
(x86)\\Microsoft Visual Studio 12.0\\Common7\\Tools;'
+<br>
+
'C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319;'
+<br>
+
'C:\\Program Files
(x86)\\Microsoft Visual Studio 12.0\\VC\\VCPackages;'
+<br>
+
'C:\\Program Files
(x86)\\Windows Kits\\8.1\\bin\\x86;',<br>
+
'DevEnvDir': 'C:\\Program Files
(x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE\\',<br>
+
'ExtensionSdkDir': 'C:\\Program Files
(x86)\\Microsoft SDKs\\Windows\\v8.1\\ExtensionSDKs\\',<br>
+
'Framework40Version': 'v4.0',<br>
+
'FrameworkDir':
'C:\\Windows\\Microsoft.NET\\Framework\\',<br>
+
'FrameworkDIR32':
'C:\\Windows\\Microsoft.NET\\Framework\\',<br>
+
'FrameworkVersion': 'v4.0.30319',<br>
+
'FrameworkVersion32': 'v4.0.30319',<br>
+
'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;',<br>
+
'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;',<br>
+
'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;',<br>
+
'VCINSTALLDIR': 'C:\\Program Files
(x86)\\Microsoft Visual Studio 12.0\\VC\\',<br>
+
'VisualStudioVersion': '12.0',<br>
+
'VSINSTALLDIR': 'C:\\Program Files
(x86)\\Microsoft Visual Studio 12.0\\',<br>
+
'WindowsSdkDir': 'C:\\Program Files
(x86)\\Windows Kits\\8.1\\',<br>
+
'WindowsSDK_ExecutablePath_x64':
'C:\\Program Files (x86)\\Microsoft
SDKs\\Windows\\v8.1A\\bin\\NETFX 4.5.1 Tools\\x64\\',<br>
+
'WindowsSDK_ExecutablePath_x86':
'C:\\Program Files (x86)\\Microsoft
SDKs\\Windows\\v8.1A\\bin\\NETFX 4.5.1 Tools\\',<br>
+
}<br>
+
)},<br>
]<br>
# Offline.<br>
<br>
Modified: zorg/trunk/buildbot/osuosl/master/config/slaves.py<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/slaves.py?rev=224726&r1=224725&r2=224726&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/slaves.py?rev=224726&r1=224725&r2=224726&view=diff</a><br>
==============================================================================<br>
--- zorg/trunk/buildbot/osuosl/master/config/slaves.py
(original)<br>
+++ zorg/trunk/buildbot/osuosl/master/config/slaves.py
Mon Dec 22 14:17:51 2014<br>
@@ -169,6 +169,9 @@ def get_build_slaves():<br>
create_slave('ericwf-buildslave2',
properties={'jobs': 4}, max_builds=2),<br>
# OS X 10.10 x86_64, Intel Core 2 Duo @
2.40GHz<br>
create_slave("ericwf-osx-slave",
properties={'jobs': 2}, max_builds=1),<br>
+<br>
+ # Windows Server 2008 R2, Quad 2.6GHz Intel
Xeon(R) 4GB RAM<br>
+ create_slave("zturner-win2008",
properties={'jobs': 4}, max_builds=1),<br>
# Defunct.<br>
# # GCC Compile Farm Slaves, see <a href="http://gcc.gnu.org/wiki/CompileFarm" target="_blank">http://gcc.gnu.org/wiki/CompileFarm</a><br>
<br>
Modified: zorg/trunk/zorg/buildbot/builders/LLDBBuilder.py<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/LLDBBuilder.py?rev=224726&r1=224725&r2=224726&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/LLDBBuilder.py?rev=224726&r1=224725&r2=224726&view=diff</a><br>
==============================================================================<br>
--- zorg/trunk/zorg/buildbot/builders/LLDBBuilder.py
(original)<br>
+++ zorg/trunk/zorg/buildbot/builders/LLDBBuilder.py
Mon Dec 22 14:17:51 2014<br>
@@ -8,6 +8,84 @@ from buildbot.steps.shell import
ShellCo<br>
from buildbot.process.properties import
WithProperties<br>
from zorg.buildbot.commands.LitTestCommand import
LitTestCommand<br>
+# CMake Windows builds<br>
+def getLLDBWindowsCMakeBuildFactory(<br>
+ clean=True,<br>
+ cmake='cmake',<br>
+ jobs=None,<br>
+<br>
+ config='Release',<br>
+<br>
+ # Environmental variables for all steps.<br>
+ env={},<br>
+ extra_cmake_args=[]):<br>
+<br>
+ ############# PREPARING<br>
+ f = buildbot.process.factory.BuildFactory()<br>
+<br>
+ # We *must* checkout at least Clang, LLVM, and
LLDB. Once we add a step to run<br>
+ # tests (e.g. ninja check-lldb), we will also
need to add a step for LLD, since<br>
+ # MSVC LD.EXE cannot link executables with DWARF
debug info.<br>
+ f.addStep(SVN(name='svn-llvm',<br>
+ mode='update', baseURL='<a href="http://llvm.org/svn/llvm-project/llvm/" target="_blank">http://llvm.org/svn/llvm-project/llvm/</a>',<br>
+ defaultBranch='trunk',<br>
+ workdir='llvm'))<br>
+ f.addStep(SVN(name='svn-clang',<br>
+ mode='update', baseURL='<a href="http://llvm.org/svn/llvm-project/cfe/" target="_blank">http://llvm.org/svn/llvm-project/cfe/</a>',<br>
+ defaultBranch='trunk',<br>
+ workdir='llvm/tools/clang'))<br>
+ f.addStep(SVN(name='svn-lldb',<br>
+ mode='update', baseURL='<a href="http://llvm.org/svn/llvm-project/lldb/" target="_blank">http://llvm.org/svn/llvm-project/lldb/</a>',<br>
+ defaultBranch='trunk',<br>
+ workdir='llvm/tools/lldb'))<br>
+<br>
+ # If jobs not defined, Ninja will choose a
suitable value<br>
+ jobs_cmd=[]<br>
+ if jobs is not None:<br>
+ jobs_cmd=["-j"+str(jobs)]<br>
+ ninja_cmd=['ninja'] + jobs_cmd<br>
+<br>
+ # Global configurations<br>
+ build_dir='build'<br>
+<br>
+ ############# CLEANING<br>
+ if clean:<br>
+ f.addStep(ShellCommand(name='clean',<br>
+ command=['rmdir',
'/S/Q', build_dir],<br>
+ warnOnFailure=True,<br>
+
description='Cleaning',<br>
+
descriptionDone='clean',<br>
+ workdir='.',<br>
+ env=env))<br>
+<br>
+ # Use batch files instead of ShellCommand
directly, Windows quoting is<br>
+ # borked. FIXME: See buildbot ticket #595 and
buildbot ticket #377.<br>
+ f.addStep(batch_file_download.BatchFileDownload(name='cmakegen',<br>
+ command=[cmake, "-G",
"Ninja", "../llvm",<br>
+
"-DCMAKE_BUILD_TYPE="+config,<br>
+ # Need to
use our custom built version of python<br>
+
"-DPYTHON_LIBRARY=C:\\src\\python\\PCbuild\\python27_d.lib",<br>
+
"-DPYTHON_INCLUDE_DIR=C:\\src\\python\\Include",<br>
+
"-DPYTHON_EXECUTABLE=C:\\src\\python\\PCbuild\\python_d.exe"]<br>
+ +
extra_cmake_args,<br>
+ workdir=build_dir))<br>
+<br>
+ f.addStep(ShellCommand(name='cmake',<br>
+ command=['cmakegen.bat'],<br>
+ haltOnFailure=True,<br>
+ description='cmake gen',<br>
+ workdir=build_dir,<br>
+ env=env))<br>
+<br>
+ f.addStep(WarningCountingShellCommand(name='build',<br>
+
command=ninja_cmd,<br>
+
haltOnFailure=True,<br>
+
description='ninja build',<br>
+
workdir=build_dir,<br>
+ env=env))<br>
+<br>
+ return f<br>
+<br>
def getLLDBBuildFactory(<br>
triple,<br>
outOfDir=False,<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote>
<br>
</div>
</div>
<span><font color="#888888">
-- <br>
Rick Foos<br>
Qualcomm Innovation Center, Inc.<br>
Qualcomm Innovation Center, Inc. is a member of Code
Aurora Forum, a Linux Foundation Collaborative Project</font></span>
<div>
<div><br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
<pre cols="72">--
Rick Foos
Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project</pre>
</div></div></div>
</blockquote></div><br></div>