[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