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