--- a/plugin_pack.py Tue Apr 29 23:13:19 2008 -0400
+++ b/plugin_pack.py Wed Apr 30 03:51:33 2008 -0400
@@ -150,6 +150,7 @@
def print_names(self, list):
names.append(plugin.name)
@@ -199,6 +200,95 @@
print string.join(self.unique_dirs(), ' ')
commands['dist_dirs'] = dist_dirs
+ def build_dirs(self, args): + print 'build_dirs expects 2 arguments:' + print '\ta comma separated list of dependencies' + print '\ta comma separated list of plugins to build' + # store the external depedencies + externals = args[0].split(',') + # run through the provided dependencies, setting their dependencies to + # nothing since we know we already have them + # now run through the plugins adding their deps to the dictionary + for name in self.plugins.keys(): + plugin = self.plugins[name] + deps[plugin.provides] = plugin.depends + # run through the requested plugins and store their plugin instance in check + for provides in args[1].split(','): + for p in self.default_plugins(): + defaults.append(p.provides) + plugin = self.plugins[provides] + check.append(plugin.provides) + # convert our list of plugins to check into a set to remove dupes + # create our list of plugins to build + # now define a function to check our deps + def has_deps(provides): + # don't add anything to build more than once + dep_list = deps[provides] + # now check the dependencies + # make sure the provides isn't an external + if not provides in externals: + # everything checks out! + # check all the plugins we were told to for their dependencies + plugin = self.plugins[provides] + output['all'].append(plugin.directory) + print "%s" % (string.join(set(output['all']), ',')) + commands['build_dirs'] = build_dirs def config_file(self, args):
"""Outputs the contents for the file to be m4_include()'d from configure"""
uniqdirs = self.unique_dirs()