[zorg] r224726 - Added new Windows builder/slave for LLDB, with the following properties:

Rick Foos rfoos at codeaurora.org
Mon Dec 22 13:44:13 PST 2014


Hi Galina,

ack, and I fixed all the merge conflicts with mine :)

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.

If you must do windows environment variables, you will live a lot easier 
if you use raw strings:

{
'PATH': r'C:\Program Files (x86)\MSBuild\12.0\bin;'
r'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE;'
r'C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN;'
r'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools;'
r'C:\Windows\Microsoft.NET\Framework\v4.0.30319;'
r'C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\VCPackages;'
r'C:\Program Files (x86)\Windows Kits\8.1\bin\x86;',
}

-rick
On 12/22/2014 03:33 PM, Galina Kistanova wrote:
> Hi Rick,
>
> I reverted this revision. Need more attention.
>
> Thanks
>
> Galina
>
> On Mon, Dec 22, 2014 at 1:24 PM, Rick Foos <rfoos at codeaurora.org 
> <mailto:rfoos at codeaurora.org>> wrote:
>
>     Hi Galina, Zachary,
>     I'm getting a checkconfig error. Should Debug be a string in
>     builders.py?
>
>     - config=Debug environment to be identical to what would happen if
>     you ran vcvarsall.bat
>     + config='Debug' environment to be identical to what would happen
>     if you ran vcvarsall.bat
>
>
>       File "buildbot/osuosl/master/config/builders.py", line 654, in
>     _get_lldb_builders
>         config=Debug,
>     exceptions.NameError: global name 'Debug' is not defined
>     Configuration Errors:
>       error while parsing config file: global name 'Debug' is not
>     defined (traceback in logfile)
>
>
>     On 12/22/2014 02:17 PM, Galina Kistanova wrote:
>
>         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,
>
>
>         _______________________________________________
>         llvm-commits mailing list
>         llvm-commits at cs.uiuc.edu <mailto:llvm-commits at cs.uiuc.edu>
>         http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
>     -- 
>     Rick Foos
>     Qualcomm Innovation Center, Inc.
>     Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
>     a Linux Foundation Collaborative Project
>
>
>     _______________________________________________
>     llvm-commits mailing list
>     llvm-commits at cs.uiuc.edu <mailto:llvm-commits at cs.uiuc.edu>
>     http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>

-- 
Rick Foos
Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141222/9de2b6ec/attachment.html>


More information about the llvm-commits mailing list