[cig-commits] r7183 - cs/buildbot/trunk/buildbot

leif at geodynamics.org leif at geodynamics.org
Tue Jun 12 17:25:47 PDT 2007


Author: leif
Date: 2007-06-12 17:25:47 -0700 (Tue, 12 Jun 2007)
New Revision: 7183

Modified:
   cs/buildbot/trunk/buildbot/bs.py
   cs/buildbot/trunk/buildbot/config.py
Log:
Quick-and-dirty changes to that we can use shared MPICH on CITerra, as
required by PyLith.

Also: added a generous timeout for "make install".  You can actually
see a graphical representation of the GCC-4.1/binutils bug in the
PyLith waterfall display... the GCC-4.1 build takes at least 3x longer
than the other builds... 'Compress' is often still working on the last
build when a new build starts!  Anyway, linking is so glacially slow
in that column, even "make install" needs a 1-hour timeout.


Modified: cs/buildbot/trunk/buildbot/bs.py
===================================================================
--- cs/buildbot/trunk/buildbot/bs.py	2007-06-13 00:02:51 UTC (rev 7182)
+++ cs/buildbot/trunk/buildbot/bs.py	2007-06-13 00:25:47 UTC (rev 7183)
@@ -15,7 +15,7 @@
 
     def configureArgs(self, buildEnv, buildConfig, env, configureArgs, line):
         args = (
-            buildEnv.getConfigureArgs(self, env, buildConfig) +
+            buildEnv.getConfigureArgs(self, buildConfig) +
             configureArgs +
             line.project.configureArgs.get(self, [])
             )
@@ -95,6 +95,7 @@
               command=["make", "install"],
               workdir=workdir,
               env=env,
+              timeout=3600, # GCC-4.1/binutils bug makes even 'install' especially slow...
               ),
             s(step.Compile,
               description=["testing"] + desc,

Modified: cs/buildbot/trunk/buildbot/config.py
===================================================================
--- cs/buildbot/trunk/buildbot/config.py	2007-06-13 00:02:51 UTC (rev 7182)
+++ cs/buildbot/trunk/buildbot/config.py	2007-06-13 00:25:47 UTC (rev 7183)
@@ -1,7 +1,8 @@
 
 
 class BuildConfig(object):
-    def __init__(self, name, env, slaves=None, configureArgs=None, basedir=None):
+    def __init__(self, name, env, slaves=None, configureArgs=None, basedir=None,
+                 CPPFLAGS=None, LDFLAGS=None, LIBS=None):
         self.name = name
         self.env = env
 
@@ -18,6 +19,10 @@
         self.configureArgs = configureArgs or {}
         self.basedir = basedir or "%(HOME)s"
 
+        self.CPPFLAGS = CPPFLAGS or []
+        self.LDFLAGS = LDFLAGS or []
+        self.LIBS = LIBS or []
+
         return
 
 defaultConfigs = [BuildConfig("default", {"PYTHON": "python2.4"})]
@@ -65,16 +70,19 @@
     def configFilename(self, config):
         return self.configName(config).replace(' ', '_')
 
-    def getConfigureArgs(self, bs, env, config):
+    def getConfigureArgs(self, bs, config):
         from buildbot.bs import gnu, distutils, scons
+        gnu_extra = []
+        if config.LIBS:
+            gnu_extra.append(' '.join(config.LIBS))
         args = {
             gnu: [
-                "--prefix=%(PREFIX)s" % env,
-                "LDFLAGS=-L%(PREFIX)s/lib" % env,
-                "CPPFLAGS=-I%(PREFIX)s/include" % env,
-                ],
+                "--prefix=%(PREFIX)s",
+                "LDFLAGS=" + ' '.join(["-L%(PREFIX)s/lib"] + config.LDFLAGS),
+                "CPPFLAGS=" + ' '.join(["-I%(PREFIX)s/include"] + config.CPPFLAGS),
+                ] + gnu_extra,
             distutils: [
-                "--prefix=%(PREFIX)s" % env,
+                "--prefix=%(PREFIX)s",
                 ]
             }
         return args.get(bs, []) + config.configureArgs.get(bs, [])



More information about the cig-commits mailing list