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

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


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
> 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




More information about the llvm-commits mailing list