gnome-python r628 - in trunk: . bonobo gconf gnome gnomecanvas gnomevfs



Author: gjc
Date: Sat May 31 21:17:17 2008
New Revision: 628
URL: http://svn.gnome.org/viewvc/gnome-python?rev=628&view=rev

Log:
Add --enable-modules option to the WAF build

Modified:
   trunk/ChangeLog
   trunk/bonobo/wscript
   trunk/gconf/wscript
   trunk/gnome/wscript
   trunk/gnomecanvas/wscript
   trunk/gnomevfs/wscript
   trunk/wscript

Modified: trunk/bonobo/wscript
==============================================================================
--- trunk/bonobo/wscript	(original)
+++ trunk/bonobo/wscript	Sat May 31 21:17:17 2008
@@ -5,12 +5,18 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_BONOBO'] = bool(conf.check_pkg(
-            'libbonobo-2.0 >= 2.8.0 pygobject-2.0 pyorbit-2 >= 2.0.1',
-            destvar='BONOBO', mandatory=False))
-    conf.env['ENABLE_BONOBOUI'] = bool(conf.check_pkg(
-            'libbonoboui-2.0 >= 2.8.0 pygobject-2.0 pyorbit-2 >= 2.0.1',
-            destvar='BONOBOUI', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'bonobo')
+    conf.env.append_value('MODULES_AVAILABLE', 'bonobo.ui')
+
+    if 'bonobo' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('libbonobo-2.0 >= 2.8.0 pygobject-2.0 pyorbit-2 >= 2.0.1',
+                          destvar='BONOBO', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'bonobo')
+
+    if 'bonobo.ui' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('libbonoboui-2.0 >= 2.8.0 pygobject-2.0 pyorbit-2 >= 2.0.1',
+                          destvar='BONOBOUI', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'bonobo.ui')
 
 def codegen(bld, module):
     cmd = bld.create_obj('command-output')
@@ -36,7 +42,7 @@
 
 def build(bld):
     
-    if bld.env()['ENABLE_BONOBO']:
+    if 'bonobo' in bld.env()['MODULES_TO_BUILD']:
         py = bld.create_obj('py')
         py.inst_dir = os.path.join('gtk-2.0', 'bonobo')
         py.source = "__init__.py"
@@ -64,7 +70,7 @@
         pyext.inst_dir = os.path.join('gtk-2.0', 'bonobo')
 
     
-    if bld.env()['ENABLE_BONOBOUI']:
+    if 'bonobo.ui' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'bonoboui')
 
         pyext = bld.create_pyext()

Modified: trunk/gconf/wscript
==============================================================================
--- trunk/gconf/wscript	(original)
+++ trunk/gconf/wscript	Sat May 31 21:17:17 2008
@@ -5,9 +5,12 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_GCONF'] = bool(conf.check_pkg(
-            'gconf-2.0 >= 2.12 pygobject-2.0',
-            destvar='GCONF', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'gconf')
+    if 'gconf' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('gconf-2.0 >= 2.12 pygobject-2.0',
+                          destvar='GCONF', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'gconf')
+
 
 def codegen(bld, module):
     cmd = bld.create_obj('command-output')
@@ -27,7 +30,7 @@
 
 def build(bld):
     
-    if bld.env()['ENABLE_GCONF']:
+    if 'gconf' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'gconf')
         pyext = bld.create_pyext()
         pyext.source = 'gconfmodule.c gconf.c gconf-fixes.c gconf-types.c'

Modified: trunk/gnome/wscript
==============================================================================
--- trunk/gnome/wscript	(original)
+++ trunk/gnome/wscript	Sat May 31 21:17:17 2008
@@ -5,10 +5,17 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_GNOME'] = bool(conf.check_pkg('libgnome-2.0 >= 2.8.0 pygobject-2.0',
-                                                   destvar='GNOME', mandatory=False))
-    conf.env['ENABLE_GNOMEUI'] = bool(conf.check_pkg('libgnomeui-2.0 >= 2.8.0 pygobject-2.0',
-                                                     destvar='GNOMEUI', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'gnome')
+    conf.env.append_value('MODULES_AVAILABLE', 'gnome.ui')
+    if 'gnome' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('libgnome-2.0 >= 2.8.0 pygobject-2.0',
+                          destvar='GNOME', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'gnome')
+
+    if 'gnome.ui' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('libgnomeui-2.0 >= 2.8.0 pygobject-2.0',
+                          destvar='GNOMEUI', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'gnome.ui')
 
 def codegen(bld, module):
     cmd = bld.create_obj('command-output')
@@ -33,7 +40,7 @@
 
 def build(bld):
     
-    if bld.env()['ENABLE_GNOME']:
+    if 'gnome' in bld.env()['MODULES_TO_BUILD']:
         py = bld.create_obj('py')
         py.inst_dir = os.path.join('gtk-2.0', 'gnome')
         py.source = "__init__.py canvas.py vfs.py"
@@ -53,7 +60,7 @@
                                         ])
 
     
-    if bld.env()['ENABLE_GNOMEUI']:
+    if 'gnome.ui' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'ui')
 
         pyext = bld.create_pyext()

Modified: trunk/gnomecanvas/wscript
==============================================================================
--- trunk/gnomecanvas/wscript	(original)
+++ trunk/gnomecanvas/wscript	Sat May 31 21:17:17 2008
@@ -5,9 +5,13 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_CANVAS'] = bool(conf.check_pkg(
-            'libgnomecanvas-2.0 >= 2.8.0 pygobject-2.0 ',
-            destvar='GNOMECANVAS', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'gnomecanvas')
+    
+    if 'gnomecanvas' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('libgnomecanvas-2.0 >= 2.8.0 pygobject-2.0 ',
+                          destvar='GNOMECANVAS', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'gnomecanvas')
+
 
 def codegen(bld, module):
     cmd = bld.create_obj('command-output')
@@ -32,7 +36,7 @@
 
 def build(bld):
     
-    if bld.env()['ENABLE_CANVAS']:
+    if 'gnomecanvas' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'canvas')
         pyext = bld.create_pyext()
         pyext.source = 'canvasmodule.c canvas.c'

Modified: trunk/gnomevfs/wscript
==============================================================================
--- trunk/gnomevfs/wscript	(original)
+++ trunk/gnomevfs/wscript	Sat May 31 21:17:17 2008
@@ -5,22 +5,31 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_GNOMEVFS'] = bool(conf.check_pkg(
-            'gnome-vfs-2.0 >= 2.14 pygobject-2.0',
-            destvar='GNOMEVFS', mandatory=False))
-
-    conf.env['ENABLE_GNOMEVFSBONOBO'] = bool(conf.check_pkg(
-            'gnome-vfs-2.0 >= 2.14 bonobo-activation-2.0 >= 2.8.0 pyorbit-2 >= 2.0.1 pygobject-2.0',
-            destvar='GNOMEVFSBONOBO', mandatory=False))
-
-    conf.env['ENABLE_GNOMEVFSMODULE'] = bool(conf.check_pkg(
-            'gnome-vfs-module-2.0 >= 2.14 bonobo-activation-2.0 >= 2.8.0 pyorbit-2 >= 2.0.1 pygobject-2.0',
-            destvar='GNOMEVFSMODULE', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'gnomevfs')
+    conf.env.append_value('MODULES_AVAILABLE', 'gnomevfs.bonobo')
+    conf.env.append_value('MODULES_AVAILABLE', 'gnomevfs.module')
+
+    if 'gnomevfs' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('gnome-vfs-2.0 >= 2.14 pygobject-2.0',
+                          destvar='GNOMEVFS', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'gnomevfs')
+
+    if 'gnomevfs.bonobo' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('gnome-vfs-2.0 >= 2.14 bonobo-activation-2.0 >= 2.8.0'
+                          ' pyorbit-2 >= 2.0.1 pygobject-2.0',
+                          destvar='GNOMEVFSBONOBO', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'gnomevfs.bonobo')
+
+    if 'gnomevfs.module' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('gnome-vfs-module-2.0 >= 2.14 bonobo-activation-2.0 >= 2.8.0'
+                          ' pyorbit-2 >= 2.0.1 pygobject-2.0',
+                          destvar='GNOMEVFSMODULE', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'gnomevfs.module')
 
 
 def build(bld):
     
-    if bld.env()['ENABLE_GNOMEVFS']:
+    if 'gnomevfs' in bld.env()['MODULES_TO_BUILD']:
         vfsdir = os.path.join('gtk-2.0', 'gnomevfs')
 
         py = bld.create_obj('py')
@@ -39,7 +48,7 @@
         pyext.inst_var = 'PYTHONDIR'
         pyext.inst_dir = vfsdir
 
-    if bld.env()['ENABLE_GNOMEVFSBONOBO']:
+    if 'gnomevfs.bonobo' in bld.env()['MODULES_TO_BUILD']:
         pyext = bld.create_pyext()
         pyext.source = 'vfsbonobomodule.c'
         pyext.target = 'gnomevfsbonobo'
@@ -48,7 +57,7 @@
         pyext.inst_var = 'PYTHONDIR'
         pyext.inst_dir = vfsdir
 
-    if bld.env()['ENABLE_GNOMEVFSMODULE']:
+    if 'gnomevfs.module' in bld.env()['MODULES_TO_BUILD']:
         pyembed = bld.create_obj('cc', 'plugin', 'pyembed')
         pyembed.source = 'gnome-vfs-python-method.c'
         pyembed.target = 'pythonmethod'

Modified: trunk/wscript
==============================================================================
--- trunk/wscript	(original)
+++ trunk/wscript	Sat May 31 21:17:17 2008
@@ -26,6 +26,11 @@
     opt.tool_options('compiler_cc')
     opt.tool_options('gnome')
 
+    opt.add_option('--enable-modules',
+                   help=('Enable only the specified modules.'),
+                   type="string", default='all', metavar="MODULES_LIST (comma separated)",
+                   dest='enable_modules')
+
 
 def configure(conf):
     conf.check_tool('misc')
@@ -53,6 +58,7 @@
 
     conf.env.append_value('CCDEFINES', 'HAVE_CONFIG_H')
 
+    conf.env['ENABLE_MODULES'] = Params.g_options.enable_modules.split(',')
     
     conf.sub_config('bonobo')
     conf.sub_config('gnome')
@@ -61,6 +67,24 @@
     conf.sub_config('gnomevfs')
     conf.sub_config('docs/gnomevfs')
 
+    for module in conf.env['ENABLE_MODULES']:
+        if module == 'all':
+            continue
+        if module not in conf.env['MODULES_AVAILABLE']:
+            Params.warning("Requested module %r is not available in this source tree." % module)
+    if conf.env['MODULES_TO_BUILD']:
+        print "** The following modules will be built:"
+        for m in conf.env['MODULES_TO_BUILD']:
+            print "\t%s" % m
+
+    not_built = list(conf.env['MODULES_AVAILABLE'])
+    for mod in conf.env['MODULES_TO_BUILD']:
+        not_built.remove(mod)
+    if not_built:
+        print "** The following modules will NOT be built:"
+        for m in not_built:
+            print "\t%s" % m
+
     conf.write_config_header('config.h')
 
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]