gnome-python-desktop r489 - in trunk: . evolution gnomeapplet gnomedesktop gnomekeyring gnomeprint gtksourceview gtop mediaprofiles metacity nautilusburn rsvg totem wnck



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

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

Modified:
   trunk/ChangeLog
   trunk/evolution/wscript
   trunk/gnomeapplet/wscript
   trunk/gnomedesktop/wscript
   trunk/gnomekeyring/wscript
   trunk/gnomeprint/wscript
   trunk/gtksourceview/wscript
   trunk/gtop/ChangeLog
   trunk/gtop/wscript
   trunk/mediaprofiles/wscript
   trunk/metacity/wscript
   trunk/nautilusburn/wscript
   trunk/rsvg/wscript
   trunk/totem/wscript
   trunk/wnck/wscript
   trunk/wscript

Modified: trunk/evolution/wscript
==============================================================================
--- trunk/evolution/wscript	(original)
+++ trunk/evolution/wscript	Sat May 31 21:54:35 2008
@@ -5,15 +5,19 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_EVOLUTION_EBOOK'] = bool(conf.check_pkg(
-            'libebook-1.2 >= 1.4'
-            ' pygobject-2.0 gdk-pixbuf-2.0 pango',
-            destvar='EVOLUTION_EBOOK', mandatory=False))
-
-    conf.env['ENABLE_EVOLUTION_ECAL'] = bool(conf.check_pkg(
-            'libecal-1.2 >= 1.4'
-            ' pygobject-2.0 gdk-pixbuf-2.0 pango',
-            destvar='EVOLUTION_ECAL', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'evolution.ebook')
+    if 'evolution.ebook' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('libebook-1.2 >= 1.4'
+                          ' pygobject-2.0 gdk-pixbuf-2.0 pango',
+                          destvar='EVOLUTION_EBOOK', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'evolution.ebook')
+
+    conf.env.append_value('MODULES_AVAILABLE', 'evolution.ecal')
+    if 'evolution.ecal' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('libecal-1.2 >= 1.4'
+                          ' pygobject-2.0 gdk-pixbuf-2.0 pango',
+                          destvar='EVOLUTION_ECAL', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'evolution.ecal')            
 
 
 def codegen(bld, module):
@@ -42,7 +46,7 @@
     evolution_common.uselib = 'PYGTK'
     evolution_common.env.append_value('CCFLAGS', evolution_common.env['shlib_CCFLAGS'])
     
-    if bld.env()['ENABLE_EVOLUTION_EBOOK']:
+    if 'evolution.ebook' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'ebook')
         pyext = bld.create_pyext()
         pyext.includes = '.'
@@ -60,7 +64,7 @@
         pyext.inst_var = 'PYTHONDIR'
         pyext.inst_dir = os.path.join('gtk-2.0', 'evolution')
 
-    if bld.env()['ENABLE_EVOLUTION_ECAL']:
+    if 'evolution.ecal' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'ecal')
         pyext = bld.create_pyext()
         pyext.includes = '.'

Modified: trunk/gnomeapplet/wscript
==============================================================================
--- trunk/gnomeapplet/wscript	(original)
+++ trunk/gnomeapplet/wscript	Sat May 31 21:54:35 2008
@@ -5,9 +5,12 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_GNOMEAPPLET'] = bool(conf.check_pkg(
-            'libpanelapplet-2.0 >= 2.13.4 pygobject-2.0 ',
-            destvar='GNOMEAPPLET', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'gnomeapplet')
+    if 'gnomeapplet' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('libpanelapplet-2.0 >= 2.13.4 pygobject-2.0 ',
+                          destvar='GNOMEAPPLET', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'gnomeapplet')
+
 
 def codegen(bld, module):
     cmd = bld.create_obj('command-output')
@@ -32,7 +35,7 @@
 
 def build(bld):
     
-    if bld.env()['ENABLE_GNOMEAPPLET']:
+    if 'gnomeapplet' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'applet')
         pyext = bld.create_pyext()
         pyext.source = 'appletmodule.c applet.c'

Modified: trunk/gnomedesktop/wscript
==============================================================================
--- trunk/gnomedesktop/wscript	(original)
+++ trunk/gnomedesktop/wscript	Sat May 31 21:54:35 2008
@@ -5,9 +5,11 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_GNOMEDESKTOP'] = bool(conf.check_pkg(
-            'gnome-desktop-2.0 >= 2.10.0 pygobject-2.0 ',
-            destvar='GNOMEDESKTOP', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'gnomedesktop')
+    if 'gnomedesktop' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('gnome-desktop-2.0 >= 2.10.0 pygobject-2.0 ',
+                          destvar='GNOMEDESKTOP', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'gnomedesktop')
 
 def codegen(bld, module):
     cmd = bld.create_obj('command-output')
@@ -29,7 +31,7 @@
 
 def build(bld):
     
-    if bld.env()['ENABLE_GNOMEDESKTOP']:
+    if 'gnomedesktop' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, '_gnomedesktop')
         pyext = bld.create_pyext()
         pyext.source = '_gnomedesktopmodule.c _gnomedesktop.c'

Modified: trunk/gnomekeyring/wscript
==============================================================================
--- trunk/gnomekeyring/wscript	(original)
+++ trunk/gnomekeyring/wscript	Sat May 31 21:54:35 2008
@@ -5,14 +5,15 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_GNOMEKEYRING'] = bool(conf.check_pkg(
-            'gnome-keyring-1 >= 0.5.0 pygobject-2.0 ',
-            destvar='GNOMEKEYRING', mandatory=False))
-
-    if conf.check_pkg('gnome-keyring-1 >= 2.20.1', destvar='GNOMEKEYRING_2_20_1', mandatory=False):
-        conf.define('HAVE_KEYRING_2_20_1', 1)
-    else:
-        conf.undefine('HAVE_KEYRING_2_20_1')
+    conf.env.append_value('MODULES_AVAILABLE', 'gnomekeyring')
+    if 'gnomekeyring' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('gnome-keyring-1 >= 0.5.0 pygobject-2.0 ',
+                          destvar='GNOMEKEYRING', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'gnomekeyring')
+            if conf.check_pkg('gnome-keyring-1 >= 2.20.1', destvar='GNOMEKEYRING_2_20_1', mandatory=False):
+                conf.define('HAVE_KEYRING_2_20_1', 1)
+            else:
+                conf.undefine('HAVE_KEYRING_2_20_1')
 
 def codegen(bld, module):
     cmd = bld.create_obj('command-output')
@@ -35,7 +36,7 @@
 
 def build(bld):
     
-    if bld.env()['ENABLE_GNOMEKEYRING']:
+    if 'gnomekeyring' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'gnomekeyring')
         pyext = bld.create_pyext()
         pyext.source = 'gnomekeyringmodule.c gnomekeyring.c'

Modified: trunk/gnomeprint/wscript
==============================================================================
--- trunk/gnomeprint/wscript	(original)
+++ trunk/gnomeprint/wscript	Sat May 31 21:54:35 2008
@@ -5,13 +5,17 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_GNOMEPRINT'] = bool(conf.check_pkg(
-            'libgnomeprint-2.2 >= 2.2.0 pygobject-2.0 ',
-            destvar='GNOMEPRINT', mandatory=False))
-
-    conf.env['ENABLE_GNOMEPRINTUI'] = bool(conf.check_pkg(
-            'libgnomeprintui-2.2 >= 2.2.0 pygobject-2.0 ',
-            destvar='GNOMEPRINTUI', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'gnomeprint')
+    if 'gnomeprint' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('libgnomeprint-2.2 >= 2.2.0 pygobject-2.0 ',
+                          destvar='GNOMEPRINT', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'gnomeprint')
+
+    conf.env.append_value('MODULES_AVAILABLE', 'gnomeprint.ui')
+    if 'gnomeprint.ui' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('libgnomeprintui-2.2 >= 2.2.0 pygobject-2.0 ',
+                          destvar='GNOMEPRINTUI', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'gnomeprint.ui')
 
 def codegen(bld, module):
     cmd = bld.create_obj('command-output')
@@ -34,7 +38,7 @@
 
 def build(bld):
     
-    if bld.env()['ENABLE_GNOMEPRINT']:
+    if 'gnomeprint' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'print')
         pyext = bld.create_pyext()
         pyext.source = 'printmodule.c print.c art-gtype.c'
@@ -44,7 +48,7 @@
         pyext.inst_dir = os.path.join('gtk-2.0', 'gnomeprint')
         pyext.includes = '.'
 
-    if bld.env()['ENABLE_GNOMEPRINTUI']:
+    if 'gnomeprint.ui' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'printui')
         pyext = bld.create_pyext()
         pyext.source = 'printuimodule.c printui.c'

Modified: trunk/gtksourceview/wscript
==============================================================================
--- trunk/gtksourceview/wscript	(original)
+++ trunk/gtksourceview/wscript	Sat May 31 21:54:35 2008
@@ -5,9 +5,12 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_GTKSOURCEVIEW'] = bool(conf.check_pkg(
-            'gtksourceview-1.0 >= 1.1.90 pygobject-2.0 ',
-            destvar='GTKSOURCEVIEW', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'gtksourceview')
+    if 'gtksourceview' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('gtksourceview-1.0 >= 1.1.90 pygobject-2.0 ',
+                         destvar='GTKSOURCEVIEW', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'gtksourceview')
+        
 
 def codegen(bld, module):
     cmd = bld.create_obj('command-output')
@@ -30,7 +33,7 @@
 
 def build(bld):
     
-    if bld.env()['ENABLE_GTKSOURCEVIEW']:
+    if 'gtksourceview' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'gtksourceview')
         pyext = bld.create_pyext()
         pyext.source = 'gtksourceviewmodule.c gtksourceview.c'

Modified: trunk/gtop/wscript
==============================================================================
--- trunk/gtop/wscript	(original)
+++ trunk/gtop/wscript	Sat May 31 21:54:35 2008
@@ -3,13 +3,16 @@
 
 
 def configure(conf):
-    conf.env['ENABLE_GTOP'] = bool(conf.check_pkg(
-            'libgtop-2.0 >= 2.13.0 pygobject-2.0 ',
-            destvar='GTOP', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'gtop')
+    if 'gtop' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('libgtop-2.0 >= 2.13.0 pygobject-2.0 ',
+                          destvar='GTOP', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'gtop')
+
 
 def build(bld):
     
-    if bld.env()['ENABLE_GTOP']:
+    if 'gtop' in bld.env()['MODULES_TO_BUILD']:
         pyext = bld.create_pyext()
         pyext.source = 'gtop.c'
         pyext.target = 'gtop'

Modified: trunk/mediaprofiles/wscript
==============================================================================
--- trunk/mediaprofiles/wscript	(original)
+++ trunk/mediaprofiles/wscript	Sat May 31 21:54:35 2008
@@ -5,9 +5,12 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_MEDIAPROFILES'] = bool(conf.check_pkg(
-            'gnome-media-profiles >= 2.10.0 pygobject-2.0 ',
-            destvar='MEDIAPROFILES', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'mediaprofiles')
+    if 'mediaprofiles' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('gnome-media-profiles >= 2.10.0 pygobject-2.0 ',
+                          destvar='MEDIAPROFILES', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'mediaprofiles')
+
 
 def codegen(bld, module):
     cmd = bld.create_obj('command-output')
@@ -29,7 +32,7 @@
 
 def build(bld):
     
-    if bld.env()['ENABLE_MEDIAPROFILES']:
+    if 'mediaprofiles' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'mediaprofiles')
         pyext = bld.create_pyext()
         pyext.source = 'mediaprofilesmodule.c mediaprofiles.c'

Modified: trunk/metacity/wscript
==============================================================================
--- trunk/metacity/wscript	(original)
+++ trunk/metacity/wscript	Sat May 31 21:54:35 2008
@@ -14,12 +14,11 @@
                    dest='enable_metacity')
     
 def configure(conf):
-    if Params.g_options.enable_metacity:
-        conf.env['ENABLE_METACITY'] = bool(conf.check_pkg(
-                'libmetacity-private >= 2.19.8 pygobject-2.0 ',
-                destvar='METACITY', mandatory=False))
-    else:
-        conf.env['ENABLE_METACITY'] = False
+    conf.env.append_value('MODULES_AVAILABLE', 'metacity')
+    if 'metacity' in conf.env['ENABLE_MODULES'] or Params.g_options.enable_metacity:
+        if conf.check_pkg('libmetacity-private >= 2.19.8 pygobject-2.0 ',
+                          destvar='METACITY', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'metacity')
 
 def codegen(bld, module):
     cmd = bld.create_obj('command-output')
@@ -41,7 +40,7 @@
 
 def build(bld):
     
-    if bld.env()['ENABLE_METACITY']:
+    if 'metacity' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'metacity')
         pyext = bld.create_pyext()
         pyext.source = 'metacitymodule.c metacity.c'

Modified: trunk/nautilusburn/wscript
==============================================================================
--- trunk/nautilusburn/wscript	(original)
+++ trunk/nautilusburn/wscript	Sat May 31 21:54:35 2008
@@ -5,9 +5,12 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_NAUTILUSBURN'] = bool(conf.check_pkg(
-            'libnautilus-burn >= 2.15.3 pygobject-2.0 ',
-            destvar='NAUTILUSBURN', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'nautilusburn')
+    if 'nautilusburn' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('libnautilus-burn >= 2.15.3 pygobject-2.0 ',
+                          destvar='NAUTILUSBURN', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'nautilusburn')
+
 
 def codegen(bld, module):
     cmd = bld.create_obj('command-output')
@@ -29,7 +32,7 @@
 
 def build(bld):
     
-    if bld.env()['ENABLE_NAUTILUSBURN']:
+    if 'nautilusburn' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'nautilus_burn')
         pyext = bld.create_pyext()
         pyext.source = 'nb_module.c nautilus_burn.c nb_track.c'

Modified: trunk/rsvg/wscript
==============================================================================
--- trunk/rsvg/wscript	(original)
+++ trunk/rsvg/wscript	Sat May 31 21:54:35 2008
@@ -5,9 +5,11 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_RSVG'] = bool(conf.check_pkg(
-            'librsvg-2.0 >= 2.14 pycairo pygobject-2.0 ',
-            destvar='RSVG', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'rsvg')
+    if 'rsvg' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('librsvg-2.0 >= 2.14 pycairo pygobject-2.0 ',
+                          destvar='RSVG', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'rsvg')
 
 def codegen(bld, module):
     cmd = bld.create_obj('command-output')
@@ -29,7 +31,7 @@
 
 def build(bld):
     
-    if bld.env()['ENABLE_RSVG']:
+    if 'rsvg' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'rsvg')
         pyext = bld.create_pyext()
         pyext.source = 'rsvgmodule.c rsvg.c'

Modified: trunk/totem/wscript
==============================================================================
--- trunk/totem/wscript	(original)
+++ trunk/totem/wscript	Sat May 31 21:54:35 2008
@@ -5,9 +5,11 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_PLPARSER'] = bool(conf.check_pkg(
-            'totem-plparser >= 1.4 pygobject-2.0 ',
-            destvar='PLPARSER', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'totem.plparser')
+    if 'totem.plparser' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('totem-plparser >= 1.4 pygobject-2.0 ',
+                          destvar='PLPARSER', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'totem.plparser')
 
 def codegen(bld, module):
     cmd = bld.create_obj('command-output')
@@ -28,8 +30,8 @@
 
 
 def build(bld):
-    
-    if bld.env()['ENABLE_PLPARSER']:
+
+    if 'totem.plparser' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'plparser')
         pyext = bld.create_pyext()
         pyext.source = 'plparsermodule.c plparser.c'

Modified: trunk/wnck/wscript
==============================================================================
--- trunk/wnck/wscript	(original)
+++ trunk/wnck/wscript	Sat May 31 21:54:35 2008
@@ -5,9 +5,12 @@
 import Common
 
 def configure(conf):
-    conf.env['ENABLE_WNCK'] = bool(conf.check_pkg(
-            'libwnck-1.0 >= 2.20 pygobject-2.0',
-            destvar='WNCK', mandatory=False))
+    conf.env.append_value('MODULES_AVAILABLE', 'wnck')
+    if 'wnck' in conf.env['ENABLE_MODULES'] or 'all' in conf.env['ENABLE_MODULES']:
+        if conf.check_pkg('libwnck-1.0 >= 2.20 pygobject-2.0',
+                          destvar='WNCK', mandatory=False):
+            conf.env.append_value('MODULES_TO_BUILD', 'wnck')
+
 
 def codegen(bld, module):
     cmd = bld.create_obj('command-output')
@@ -29,7 +32,7 @@
 
 def build(bld):
     
-    if bld.env()['ENABLE_WNCK']:
+    if 'wnck' in bld.env()['MODULES_TO_BUILD']:
         codegen(bld, 'wnck')
         pyext = bld.create_pyext()
         pyext.env.append_value('CCDEFINES', 'WNCK_I_KNOW_THIS_IS_UNSTABLE')

Modified: trunk/wscript
==============================================================================
--- trunk/wscript	(original)
+++ trunk/wscript	Sat May 31 21:54:35 2008
@@ -29,6 +29,11 @@
     opt.tool_options('gnome')
     opt.sub_options('metacity')
 
+    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')
@@ -64,6 +69,8 @@
     conf.env['GNOME_PYTHON_ARG_TYPES_DIR'] = values['GNOME_PYTHON_ARGTYPESDIR']
 
     conf.env.append_value('CCDEFINES', 'HAVE_CONFIG_H')
+
+    conf.env['ENABLE_MODULES'] = Params.g_options.enable_modules.split(',')
     
     conf.sub_config('gnomekeyring')
     conf.sub_config('gnomeapplet')
@@ -79,6 +86,24 @@
     conf.sub_config('totem')
     conf.sub_config('wnck')
 
+    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]