[zorg] r178430 - Added initial implementation of LibCXXBuilder. It is not setup on llvmlab yet.
Michael Gottesman
mgottesman at apple.com
Sat Mar 30 15:03:36 PDT 2013
Author: mgottesman
Date: Sat Mar 30 17:03:36 2013
New Revision: 178430
URL: http://llvm.org/viewvc/llvm-project?rev=178430&view=rev
Log:
Added initial implementation of LibCXXBuilder. It is not setup on llvmlab yet.
Added:
zorg/trunk/zorg/buildbot/builders/LibCXXBuilder.py
Added: zorg/trunk/zorg/buildbot/builders/LibCXXBuilder.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/LibCXXBuilder.py?rev=178430&view=auto
==============================================================================
--- zorg/trunk/zorg/buildbot/builders/LibCXXBuilder.py (added)
+++ zorg/trunk/zorg/buildbot/builders/LibCXXBuilder.py Sat Mar 30 17:03:36 2013
@@ -0,0 +1,63 @@
+
+import buildbot
+import buildbot.process.factory
+import buildbot.steps.shell
+import buildbot.steps.source as source
+import buildbot.process.properties as properties
+
+import zorg.buildbot.commands.LitTestCommand
+import zorg.buildbot.Artifacts
+import zorg.buildbot.PhasedBuilderUtils
+
+
+def libcxx():
+ f = buildbot.process.factory.BuildFactory()
+
+ # Grab the sources.
+ src_url = 'http://llvm.org/svn/llvm-project/libcxx/trunk'
+ f.addStep(source.SVN(name='pull.src', mode='full', repourl=src_url,
+ workdir='sources', method='fresh',
+ alwaysUseLatest=False, retry = (60, 5),
+ description='pull.src'))
+
+ # Find the build directory and grab the artifacts for our build.
+ f = zorg.buildbot.PhasedBuilderUtils.getBuildDir(f)
+ f = zorg.buildbot.Artifacts.GetCompilerArtifacts(f)
+
+ # Build libcxx.
+ CC = properties.WithProperties('%(builddir)s/host-compiler/bin/clang')
+ cxx_path = '%(builddir)s/host-compiler/bin/clang++'
+ CXX = properties.WithProperties(cxx_path)
+ HEADER_INCLUDE = \
+ properties.WithProperties('-I %(builddir)s/sources/include')
+ SOURCE_LIB = \
+ properties.WithProperties('%(builddir)s/sources/lib/libc++.1.dylib')
+
+ f.addStep(buildbot.steps.shell.ShellCommand(
+ name='build.libcxx', command=['./buildit'], haltOnFailure=True,
+ workdir='sources/lib',
+ env={ 'CC' : CC, 'CXX' : CXX, 'TRIPLE' : '-apple-'}))
+
+ # Install a copy of 'lit' in a virtualenv.
+ f.addStep(buildbot.steps.shell.ShellCommand(
+ name='venv.lit.make', command=[
+ '/usr/local/bin/virtualenv', 'lit.venv'],
+ workdir='.', haltOnFailure=True))
+ f.addStep(buildbot.steps.shell.ShellCommand(
+ name='venv.lit.install',
+ command=['lit.venv/bin/pip', 'install', 'lit'],
+ workdir='.', haltOnFailure=True))
+
+ # Run the tests.
+ f.addStep(zorg.buildbot.commands.LitTestCommand.LitTestCommand(
+ name='test.libcxx',
+ command=[
+ properties.WithProperties('%(builddir)s/lit.venv/bin/lit'),
+ '-v',
+ properties.WithProperties(
+ '--param=cxx_under_test=%s' % (cxx_path,)),
+ '--param=use_system_lib=true',
+ 'sources/test'],
+ workdir='.'))
+
+ return f
More information about the llvm-commits
mailing list