[zorg] r183702 - Added new lld builder, slave, LLDWinBuildFactory.

Galina Kistanova gkistanova at gmail.com
Mon Jun 10 15:22:01 PDT 2013


Author: gkistanova
Date: Mon Jun 10 17:22:01 2013
New Revision: 183702

URL: http://llvm.org/viewvc/llvm-project?rev=183702&view=rev
Log:
Added new lld builder, slave, LLDWinBuildFactory.

Modified:
    zorg/trunk/buildbot/osuosl/master/config/builders.py
    zorg/trunk/buildbot/osuosl/master/config/slaves.py
    zorg/trunk/zorg/buildbot/builders/LLDBuilder.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=183702&r1=183701&r2=183702&view=diff
==============================================================================
--- zorg/trunk/buildbot/osuosl/master/config/builders.py (original)
+++ zorg/trunk/buildbot/osuosl/master/config/builders.py Mon Jun 10 17:22:01 2013
@@ -599,6 +599,13 @@ def _get_lld_builders():
          'builddir':"lld-x86_64-darwin11",
          'factory': LLDBuilder.getLLDBuildFactory(),
          'category'   : 'lld'},
+
+        {'name': "lld-x86_64-win7",
+         'slavenames' :["as-bldslv4"],
+         'builddir':"lld-x86_64-win7",
+         'factory': LLDBuilder.getLLDWinBuildFactory(clean=False),
+         'category'   : 'lld'},
+
          ]
 
 # Sanitizer builders.

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=183702&r1=183701&r2=183702&view=diff
==============================================================================
--- zorg/trunk/buildbot/osuosl/master/config/slaves.py (original)
+++ zorg/trunk/buildbot/osuosl/master/config/slaves.py Mon Jun 10 17:22:01 2013
@@ -202,6 +202,9 @@ def get_build_slaves():
         # Ubuntu x86-64, 12x Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
         create_slave("sanitizer-buildbot1", properties={'jobs': 8}, max_builds=1),
 
+        # Windows 7 Professional x64
+        create_slave("as-bldslv4", properties={'jobs' : 2}, max_builds=1),
+
         # Defunct.
         # Pentium Dual CPU T3400 @ 2.1GHz
         #create_slave("dumitrescu1", properties={'jobs' : 2}, max_builds=1),

Modified: zorg/trunk/zorg/buildbot/builders/LLDBuilder.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/LLDBuilder.py?rev=183702&r1=183701&r2=183702&view=diff
==============================================================================
--- zorg/trunk/zorg/buildbot/builders/LLDBuilder.py (original)
+++ zorg/trunk/zorg/buildbot/builders/LLDBuilder.py Mon Jun 10 17:22:01 2013
@@ -3,7 +3,7 @@ import os
 import buildbot
 import buildbot.process.factory
 from buildbot.steps.source import SVN, Git
-from buildbot.steps.shell import Configure, ShellCommand
+from buildbot.steps.shell import Configure, ShellCommand, SetProperty
 from buildbot.process.properties import WithProperties
 
 def getLLDBuildFactory(
@@ -74,3 +74,91 @@ def getLLDBuildFactory(
                                workdir=llvm_objdir))
 
     return f
+
+
+def getLLDWinBuildFactory(
+           clean = True):
+
+    llvm_srcdir = "llvm.src"
+    llvm_objdir = "llvm.obj"
+
+    f = buildbot.process.factory.BuildFactory()
+
+    # Get LLVM and Lld
+    f.addStep(SVN(name='svn-llvm',
+                  mode='update',
+                  baseURL='http://llvm.org/svn/llvm-project/llvm/',
+                  defaultBranch='trunk',
+                  workdir=llvm_srcdir))
+    f.addStep(SVN(name='svn-lld',
+                  mode='update',
+                  baseURL='http://llvm.org/svn/llvm-project/lld/',
+                  defaultBranch='trunk',
+                  workdir='%s/tools/lld' % llvm_srcdir))
+
+    # Clean directory, if requested.
+    if clean:
+        f.addStep(ShellCommand(name="rm-llvm_objdir",
+                               command=["if", "exist", llvm_objdir,
+                                        "rmdir", "/S", "/Q", llvm_objdir],
+                               haltOnFailure=True,
+                               description=["rm build dir", "llvm"],
+                               workdir="."))
+
+    f.addStep(ShellCommand(name="create-build-dir",
+                           command=["if", "not", "exist", llvm_objdir,
+                                    "mkdir", llvm_objdir],
+                           haltOnFailure=True,
+                           description=["create build dir"],
+                           workdir="."))
+
+    # Is CMake configuration already done?
+    checkCMakeCommand = [
+        "dir", "CMakeCache.txt", ">", "NUL",
+        "&&", "echo", "Yes",
+        "||", "echo", "No", ">", "NUL"]
+
+    # Note: ShellCommand does not pass the params with special symbols right.
+    # The " ".join is a workaround for this bug.
+    f.addStep(SetProperty(name="CMake_done",
+                          workdir=llvm_objdir,
+                          command=WithProperties(" ".join(checkCMakeCommand)),
+                                   #"cmd", "/C",
+                                   #" ".join(checkCMakeCommand)],
+                          haltOnFailure=True,
+                          description=["check CMake_done"],
+                          property="CMake_done"))
+
+    # Create configuration files with cmake
+    cmakeCommand = [
+        "cmake",
+        "-DCMAKE_BUILD_TYPE=Release",
+        "-DLLVM_TARGETS_TO_BUILD=X86",
+        "../%s" % llvm_srcdir]
+
+    f.addStep(ShellCommand(
+        name="cmake-configure",
+        description=["cmake configure"],
+        haltOnFailure=True,
+        command=WithProperties(" ".join(cmakeCommand)),
+        workdir=llvm_objdir,
+        doStepIf=lambda step: step.build.getProperty("CMake_done") != "Yes"))
+
+    # Build Lld
+    f.addStep(ShellCommand(name="build_Lld",
+                               command=["msbuild",
+                                        #"/maxcpucount:1",
+                                        "/verbosity:minimal",
+                                        "/property:Configuration=Release",
+                                        "ALL_BUILD.vcxproj"],
+                               haltOnFailure=True,
+                               description=["build lld"],
+                               workdir=llvm_objdir))
+    # Test Lld
+    #f.addStep(ShellCommand(name="test_lld",
+    #                           command=["make", "lld-test"],
+    #                           haltOnFailure=True,
+    #                           description=["test lld"],
+    #                           workdir=llvm_objdir))
+
+    return f
\ No newline at end of file





More information about the llvm-commits mailing list