[cig-commits] commit: Updating.

Mercurial hg at geodynamics.org
Mon Nov 24 11:22:52 PST 2008


changeset:   46:66b9c8ef0ed1
user:        LukeHodkinson
date:        Fri Mar 07 02:13:19 2008 +0000
files:       config/SConfig/Package.py config/SConfig/SConscript
description:
Updating.


diff -r 8010bcdea4fb -r 66b9c8ef0ed1 config/SConfig/Package.py
--- a/config/SConfig/Package.py	Fri Mar 07 01:55:06 2008 +0000
+++ b/config/SConfig/Package.py	Fri Mar 07 02:13:19 2008 +0000
@@ -141,11 +141,6 @@ class Package(object):
         self.ctx = configure_context
         self.configured = True
 
-        # If we have shared libraries enabled, we must ensure the dynamic loader
-        # package is included.
-        if self.require_shared:
-            self.pkg_dl = self.dependency(SConfig.packages.dl)
-
         # Process dependencies first.
         result = self.process_dependencies()
         if not result[0]:
@@ -194,8 +189,12 @@ class Package(object):
         return self.result
 
     def dependency(self, package_module, required=True):
+        if self.configured:
+            print 'Error: Cannot add a dependency during configuration.'
+            self.env.Exit()
         pkg = self.env.Package(package_module, self.opts)
-        self.deps += [(pkg, required)]
+        if pkg not in [d[0] for d in self.deps]:
+            self.deps += [(pkg, required)]
         return pkg
 
     def process_dependencies(self):
diff -r 8010bcdea4fb -r 66b9c8ef0ed1 config/SConfig/SConscript
--- a/config/SConfig/SConscript	Fri Mar 07 01:55:06 2008 +0000
+++ b/config/SConfig/SConscript	Fri Mar 07 02:13:19 2008 +0000
@@ -55,6 +55,11 @@ def configure_packages(env, options=None
 def configure_packages(env, options=None, output='config.cfg'):
     sconf = Configure(env, custom_tests={'CheckPackages': CheckPackages})
 
+    # Add dependencies needed for shared libraries.
+    for pkg in env.package_list:
+        if pkg.require_shared:
+            pkg.pkg_dl = pkg.dependency(SConfig.packages.dl)
+
     # Update dependencies and requirements.
     pkgs_rem = list(env.package_list)
     while len(pkgs_rem):



More information about the CIG-COMMITS mailing list