gnome-python r642 - in trunk: . bonobo docs/gnomevfs gconf gnome gnomecanvas gnomevfs
- From: gjc svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-python r642 - in trunk: . bonobo docs/gnomevfs gconf gnome gnomecanvas gnomevfs
- Date: Sat, 3 Jan 2009 22:52:59 +0000 (UTC)
Author: gjc
Date: Sat Jan 3 22:52:59 2009
New Revision: 642
URL: http://svn.gnome.org/viewvc/gnome-python?rev=642&view=rev
Log:
Experimental support for waf 1.5.x
Modified:
trunk/ (props changed)
trunk/README
trunk/bonobo/wscript
trunk/docs/gnomevfs/wscript
trunk/gconf/wscript
trunk/gnome/wscript
trunk/gnomecanvas/wscript
trunk/gnomevfs/wscript
trunk/wscript
Modified: trunk/README
==============================================================================
--- trunk/README (original)
+++ trunk/README Sat Jan 3 22:52:59 2009
@@ -0,0 +1,7 @@
+GnomePython: Python bindings for a few GNOME Developer Platform libraries.
+
+Note: this branch requires a special branch of WAF: https://code.launchpad.net/~gjc/waf/cmd
+This WAF version can be retrieved by this command:
+
+$ bzr co lp:~gjc/waf/cmd waf-cmd
+
Modified: trunk/bonobo/wscript
==============================================================================
--- trunk/bonobo/wscript (original)
+++ trunk/bonobo/wscript Sat Jan 3 22:52:59 2009
@@ -2,89 +2,79 @@
# encoding: utf-8
import os
-import Common
def configure(conf):
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):
+ if conf.pkg_check_modules('BONOBO',
+ 'libbonobo-2.0 >= 2.8.0 pygobject-2.0 pyorbit-2 >= 2.0.1',
+ 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):
+ if conf.pkg_check_modules('BONOBOUI',
+ 'libbonoboui-2.0 >= 2.8.0 pygobject-2.0 pyorbit-2 >= 2.0.1',
+ mandatory=False):
conf.env.append_value('MODULES_TO_BUILD', 'bonobo.ui')
-def codegen(bld, module):
- cmd = bld.create_obj('command-output')
- cmd.command = bld.env()['CODEGEN']
- cmd.command_is_external = True
- cmd.prio = 5
- cmd.argv = [
- '--py_ssize_t-clean',
- '--load-types', cmd.input_file('bonobo-arg-types.py'),
- '--register', os.path.join(cmd.env['PYGTK_DEFSDIR'], 'pango-types.defs'),
- '--register', os.path.join(cmd.env['PYGTK_DEFSDIR'], 'gdk-types.defs'),
- '--register', os.path.join(cmd.env['PYGTK_DEFSDIR'], 'gtk-types.defs'),
- '--register', cmd.input_file('../gnome/gnome-types.defs'),
- '--register', cmd.input_file('../gnomecanvas/canvas.defs'),
- '--register', cmd.input_file('bonobo-types.defs'),
- '--prefix', 'py'+module,
- '--override', cmd.input_file("%s.override" % module),
- cmd.input_file("%s.defs" % module),
- ]
- cmd.stdout = '%s.c' % module
- return cmd
-
def build(bld):
+ env = bld.env
- if 'bonobo' in bld.env()['MODULES_TO_BUILD']:
- py = bld.create_obj('py')
- py.inst_dir = os.path.join('gtk-2.0', 'bonobo')
+ if 'bonobo' in bld.env['MODULES_TO_BUILD']:
+ py = bld.new_task_gen('py')
+ py.install_path = '${PYTHONDIR}/gtk-2.0/bonobo'
py.source = "__init__.py"
- codegen(bld, 'bonobo')
+ bld.codegen('bonobo', local_load_types=['bonobo-arg-types.py'],
+ local_register=['../gnome/gnome-types.defs',
+ '../gnomecanvas/canvas.defs',
+ 'bonobo-types.defs'],
+ register=[os.path.join(env['PYGTK_DEFSDIR'], 'pango-types.defs'),
+ os.path.join(env['PYGTK_DEFSDIR'], 'gdk-types.defs'),
+ os.path.join(env['PYGTK_DEFSDIR'], 'gtk-types.defs')])
+
pyext = bld.create_pyext()
pyext.source = 'bonobomodule.c bonobo.c bonobo-arg.c pybonobo.c'
pyext.target = '_bonobo'
pyext.uselib = 'BONOBO'
pyext.includes = '.'
- pyext.inst_var = 'PYTHONDIR'
- pyext.inst_dir = os.path.join('gtk-2.0', 'bonobo')
+ pyext.install_path = '${PYTHONDIR}/gtk-2.0/bonobo'
- defsdir = Common.install_files('DATADIR', os.path.join('pygtk', '2.0', 'defs'),
- ['bonobo.defs',
- 'bonobo-types.defs',
- ])
+ defsdir = bld.install_files('${DATADIR}/pygtk/2.0/defs',
+ ['bonobo.defs',
+ 'bonobo-types.defs',
+ ])
pyext = bld.create_pyext()
pyext.source = 'activationmodule.c'
pyext.target = 'activation'
pyext.uselib = 'BONOBO'
pyext.includes = '.'
- pyext.inst_var = 'PYTHONDIR'
- pyext.inst_dir = os.path.join('gtk-2.0', 'bonobo')
+ pyext.install_path = '${PYTHONDIR}/gtk-2.0/bonobo'
- if 'bonobo.ui' in bld.env()['MODULES_TO_BUILD']:
- codegen(bld, 'bonoboui')
+ if 'bonobo.ui' in bld.env['MODULES_TO_BUILD']:
+ bld.codegen('bonoboui', local_load_types=['bonobo-arg-types.py'],
+ local_register=['../gnome/gnome-types.defs',
+ '../gnomecanvas/canvas.defs',
+ 'bonobo-types.defs'],
+ register=[os.path.join(env['PYGTK_DEFSDIR'], 'pango-types.defs'),
+ os.path.join(env['PYGTK_DEFSDIR'], 'gdk-types.defs'),
+ os.path.join(env['PYGTK_DEFSDIR'], 'gtk-types.defs')])
pyext = bld.create_pyext()
pyext.source = 'bonobouimodule.c bonoboui.c'
pyext.target = 'ui'
pyext.uselib = 'BONOBOUI'
pyext.includes = '.'
- pyext.inst_var = 'PYTHONDIR'
- pyext.inst_dir = os.path.join('gtk-2.0', 'bonobo')
+ pyext.install_path = '${PYTHONDIR}/gtk-2.0/bonobo'
- defsdir = Common.install_files('DATADIR', os.path.join('pygtk', '2.0', 'defs'),
- ['bonoboui.defs',
- 'bonoboui-types.defs',
- ])
+ defsdir = bld.install_files('${DATADIR}/pygtk/2.0/defs',
+ ['bonoboui.defs',
+ 'bonoboui-types.defs',
+ ])
- Common.install_files('DATADIR', os.path.join('pygtk', '2.0', 'argtypes'),
- 'bonobo-arg-types.py')
+ bld.install_files('${DATADIR}/pygtk/2.0/argtypes', 'bonobo-arg-types.py')
Modified: trunk/docs/gnomevfs/wscript
==============================================================================
--- trunk/docs/gnomevfs/wscript (original)
+++ trunk/docs/gnomevfs/wscript Sat Jan 3 22:52:59 2009
@@ -1,46 +1,40 @@
# -*- python -*-
import os
-import Common
import glob
def configure(conf):
conf.find_program('xsltproc', var='XSLTPROC')
def build(bld):
+ env = bld.env
reference_doc_name = 'pygnomevfs'
- d = bld.m_curdirnode.find_dir('html').abspath()
- if bld.env()['XSLTPROC'] and not os.path.exists(os.path.join(d, 'index.html')):
+ d = bld.path.find_dir('html').abspath()
+ if env['XSLTPROC'] and not os.path.exists(os.path.join(d, 'index.html')):
doc_module = 'pygnomevfs'
- html_dir = os.path.join(bld.env()['DATADIR'], 'gtk-doc', 'html')
+ html_dir = os.path.join(bld.env['DATADIR'], 'gtk-doc', 'html')
target_dir = os.path.join('html_dir', reference_doc_name)
reference_main_file = 'gnomevfs-classes.xml'
- cmd = bld.create_obj('command-output')
- cmd.hidden_outputs = ['html/index.html']
- cmd.command = bld.env()['XSLTPROC']
- cmd.command_is_external = True
- cmd.argv = ['--nonet', '--xinclude',
- '-o', cmd.output_dir('html', template='%s/'),
- '--stringparam', 'gtkdoc.bookname', reference_doc_name,
- '--stringparam', 'gtkdoc.version', bld.env()['VERSION'],
- '--stringparam', 'chunker.output.encoding', 'UTF-8',
- cmd.input_file('../ref-html-style.xsl'),
- cmd.input_file(reference_main_file),
- ]
- cmd.prio = 100
-
- cmd = bld.create_obj('command-output')
- cmd.prio = 110
- cmd.hidden_inputs = ['html/index.html']
- cmd.hidden_outputs = ['html/gnomevfs-class-reference.html']
- cmd.command = 'gtkdoc-fixxref'
- cmd.command_is_external = True
- cmd.argv = [cmd.input_dir('html', template='--module-dir=%s'),
- ('--html-dir=%s' % html_dir)]
-
- html_files = glob.glob(os.path.join(bld.m_curdirnode.find_dir('html').abspath(bld.env()), '*'))
- html_files += glob.glob(os.path.join(bld.m_curdirnode.find_dir('html').abspath(), '*'))
- Common.install_files('DATADIR', os.path.join('gtk-doc', 'html', reference_doc_name),
- html_files)
+ cmd = bld.new_task_gen('command',
+ target='html/index.html',
+ source='../ref-html-style.xsl gnomevfs-classes.xml',
+ command=(
+ '${XSLTPROC} --nonet --xinclude -o ${TGT[0].parent}/'
+ ' --stringparam gtkdoc.bookname pygnomevfs'
+ ' --stringparam gtkdoc.version ${VERSION}'
+ ' --stringparam chunker.output.encoding UTF-8'
+ ' ${SRC[0]} ${SRC[1]}'))
+
+ cmd = bld.new_task_gen('command',
+ target='html/gnomevfs-class-reference.html',
+ source='html/index.html',
+ command='gtkdoc-fixxref --module-dir=${TGT[0].parent} --html-dir=${HTMLDIR}',
+ variables=dict(HTMLDIR=html_dir))
+
+ # install html files from either the build dir or the source dir, whichever is found
+ html_files = glob.glob(os.path.join(bld.path.find_dir('html').abspath(env), '*'))
+ html_files += glob.glob(os.path.join(bld.path.find_dir('html').abspath(), '*'))
+ bld.install_files('${DATADIR}/gtk-doc/html/%s' % reference_doc_name,
+ html_files)
Modified: trunk/gconf/wscript
==============================================================================
--- trunk/gconf/wscript (original)
+++ trunk/gconf/wscript Sat Jan 3 22:52:59 2009
@@ -2,46 +2,28 @@
# encoding: utf-8
import os
-import Common
def configure(conf):
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):
+ if conf.pkg_check_modules('GCONF', 'gconf-2.0 >= 2.12 pygobject-2.0',
+ mandatory=False):
conf.env.append_value('MODULES_TO_BUILD', 'gconf')
-def codegen(bld, module):
- cmd = bld.create_obj('command-output')
- cmd.command = bld.env()['CODEGEN']
- cmd.command_is_external = True
- cmd.prio = 5
- cmd.argv = [
- '--py_ssize_t-clean',
- '--load-types', cmd.input_file('gconf-arg-types.py'),
- '--prefix', 'py'+module,
- '--override', cmd.input_file("%s.override" % module),
- cmd.input_file("%s.defs" % module),
- ]
- cmd.stdout = '%s.c' % module
- return cmd
-
-
def build(bld):
- if 'gconf' in bld.env()['MODULES_TO_BUILD']:
- codegen(bld, 'gconf')
+ if 'gconf' in bld.env['MODULES_TO_BUILD']:
+ bld.codegen('gconf', local_load_types=['gconf-arg-types.py'])
pyext = bld.create_pyext()
pyext.source = 'gconfmodule.c gconf.c gconf-fixes.c gconf-types.c'
pyext.target = 'gconf'
pyext.uselib = 'GCONF'
pyext.includes = '.'
- pyext.inst_var = 'PYTHONDIR'
- pyext.inst_dir = 'gtk-2.0'
+ pyext.install_path = '${PYTHONDIR}/gtk-2.0'
- Common.install_files('DATADIR', os.path.join('pygtk', '2.0', 'defs'),
- ['gconf.defs'])
+ bld.install_files('${DATADIR}/pygtk/2.0/defs',
+ ['gconf.defs'])
- Common.install_files('DATADIR', os.path.join('pygtk', '2.0', 'argtypes'),
- 'gconf-arg-types.py')
+ bld.install_files('${DATADIR}/pygtk/2.0/argtypes',
+ 'gconf-arg-types.py')
Modified: trunk/gnome/wscript
==============================================================================
--- trunk/gnome/wscript (original)
+++ trunk/gnome/wscript Sat Jan 3 22:52:59 2009
@@ -2,76 +2,67 @@
# encoding: utf-8
import os
-import Common
def configure(conf):
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):
+ if conf.pkg_check_modules('GNOME',
+ 'libgnome-2.0 >= 2.8.0 pygobject-2.0',
+ 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):
+ if conf.pkg_check_modules('GNOMEUI',
+ 'libgnomeui-2.0 >= 2.8.0 pygobject-2.0',
+ mandatory=False):
conf.env.append_value('MODULES_TO_BUILD', 'gnome.ui')
-def codegen(bld, module):
- cmd = bld.create_obj('command-output')
- cmd.command = bld.env()['CODEGEN']
- cmd.command_is_external = True
- cmd.prio = 5
- cmd.argv = [
- '--py_ssize_t-clean',
- '--load-types', cmd.input_file('../bonobo/bonobo-arg-types.py'),
- '--register', os.path.join(cmd.env['PYGTK_DEFSDIR'], 'pango-types.defs'),
- '--register', os.path.join(cmd.env['PYGTK_DEFSDIR'], 'gdk-types.defs'),
- '--register', os.path.join(cmd.env['PYGTK_DEFSDIR'], 'gtk-types.defs'),
- '--register', cmd.input_file('../bonobo/bonobo-types.defs'),
- '--register', cmd.input_file('../bonobo/bonoboui-types.defs'),
- '--prefix', 'py'+module,
- '--override', cmd.input_file("%s.override" % module),
- cmd.input_file("%s.defs" % module),
- ]
- cmd.stdout = '%s.c' % module
- return cmd
-
-
def build(bld):
+ env = bld.env
- if 'gnome' in bld.env()['MODULES_TO_BUILD']:
- py = bld.create_obj('py')
- py.inst_dir = os.path.join('gtk-2.0', 'gnome')
+ if 'gnome' in bld.env['MODULES_TO_BUILD']:
+ py = bld.new_task_gen('py')
+ py.install_path = '${PYTHONDIR}/gtk-2.0/gnome'
py.source = "__init__.py canvas.py vfs.py"
- codegen(bld, 'gnome')
+ bld.codegen('gnome', local_load_types=['../bonobo/bonobo-arg-types.py'],
+ local_register=['gnome-types.defs',
+ '../gnomecanvas/canvas.defs',
+ '../bonobo/bonobo-types.defs'],
+ register=[os.path.join(env['PYGTK_DEFSDIR'], 'pango-types.defs'),
+ os.path.join(env['PYGTK_DEFSDIR'], 'gdk-types.defs'),
+ os.path.join(env['PYGTK_DEFSDIR'], 'gtk-types.defs')],
+ prefix='pygnome')
pyext = bld.create_pyext()
pyext.source = 'gnomemodule.c gnome.c'
pyext.target = '_gnome'
pyext.uselib = 'GNOME'
- pyext.inst_var = 'PYTHONDIR'
- pyext.inst_dir = os.path.join('gtk-2.0', 'gnome')
+ pyext.install_path = '${PYTHONDIR}/gtk-2.0/gnome'
- defsdir = Common.install_files('DATADIR', os.path.join('pygtk', '2.0', 'defs'),
- ['gnome.defs',
- 'gnome-types.defs',
- ])
+ bld.install_files('${DATADIR}/pygtk/2.0/defs',
+ ['gnome.defs',
+ 'gnome-types.defs',
+ ])
- if 'gnome.ui' in bld.env()['MODULES_TO_BUILD']:
- codegen(bld, 'ui')
+ if 'gnome.ui' in bld.env['MODULES_TO_BUILD']:
+ bld.codegen('ui', local_load_types=['../bonobo/bonobo-arg-types.py'],
+ local_register=['gnome-types.defs',
+ '../gnomecanvas/canvas.defs',
+ '../bonobo/bonobo-types.defs'],
+ register=[os.path.join(env['PYGTK_DEFSDIR'], 'pango-types.defs'),
+ os.path.join(env['PYGTK_DEFSDIR'], 'gdk-types.defs'),
+ os.path.join(env['PYGTK_DEFSDIR'], 'gtk-types.defs')],
+ prefix='pyui')
pyext = bld.create_pyext()
pyext.source = 'uimodule.c ui.c'
pyext.target = 'ui'
pyext.uselib = 'GNOMEUI'
pyext.includes = '. ../gnomevfs'
- pyext.inst_var = 'PYTHONDIR'
- pyext.inst_dir = os.path.join('gtk-2.0', 'gnome')
+ pyext.install_path = '${PYTHONDIR}/gtk-2.0/gnome'
-
- defsdir = Common.install_files('DATADIR', os.path.join('pygtk', '2.0', 'defs'),
- ['ui.defs',
- ])
+ bld.install_files('${DATADIR}/pygtk/2.0/defs', 'ui.defs')
Modified: trunk/gnomecanvas/wscript
==============================================================================
--- trunk/gnomecanvas/wscript (original)
+++ trunk/gnomecanvas/wscript Sat Jan 3 22:52:59 2009
@@ -2,49 +2,33 @@
# encoding: utf-8
import os
-import Common
def configure(conf):
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):
+ if conf.pkg_check_modules('GNOMECANVAS', 'libgnomecanvas-2.0 >= 2.8.0 pygobject-2.0 ',
+ mandatory=False):
conf.env.append_value('MODULES_TO_BUILD', 'gnomecanvas')
-def codegen(bld, module):
- cmd = bld.create_obj('command-output')
- cmd.command = bld.env()['CODEGEN']
- cmd.command_is_external = True
- cmd.prio = 5
- cmd.argv = [
- '--py_ssize_t-clean',
- '--load-types', cmd.input_file('../bonobo/bonobo-arg-types.py'),
- '--register', os.path.join(cmd.env['PYGTK_DEFSDIR'], 'pango-types.defs'),
- '--register', os.path.join(cmd.env['PYGTK_DEFSDIR'], 'gdk-types.defs'),
- '--register', os.path.join(cmd.env['PYGTK_DEFSDIR'], 'gtk-types.defs'),
- '--register', cmd.input_file('../bonobo/bonobo-types.defs'),
- '--register', cmd.input_file('../bonobo/bonoboui-types.defs'),
- '--prefix', 'py'+module,
- '--override', cmd.input_file("%s.override" % module),
- cmd.input_file("%s.defs" % module),
- ]
- cmd.stdout = '%s.c' % module
- return cmd
-
-
def build(bld):
-
- if 'gnomecanvas' in bld.env()['MODULES_TO_BUILD']:
- codegen(bld, 'canvas')
+ env = bld.env
+ if 'gnomecanvas' in env['MODULES_TO_BUILD']:
+ bld.codegen('canvas', local_load_types=['../bonobo/bonobo-arg-types.py'],
+ local_register=['../gnome/gnome-types.defs',
+ 'canvas.defs',
+ '../bonobo/bonobo-types.defs'],
+ register=[os.path.join(env['PYGTK_DEFSDIR'], 'pango-types.defs'),
+ os.path.join(env['PYGTK_DEFSDIR'], 'gdk-types.defs'),
+ os.path.join(env['PYGTK_DEFSDIR'], 'gtk-types.defs')])
+
pyext = bld.create_pyext()
pyext.source = 'canvasmodule.c canvas.c'
pyext.target = 'gnomecanvas'
pyext.uselib = 'GNOMECANVAS'
- pyext.inst_var = 'PYTHONDIR'
- pyext.inst_dir = 'gtk-2.0'
+ pyext.install_path = '${PYTHONDIR}/gtk-2.0'
- defsdir = Common.install_files('DATADIR', os.path.join('pygtk', '2.0', 'defs'),
- ['canvas.defs'])
+ bld.install_files('${DATADIR}/pygtk/2.0/defs',
+ ['canvas.defs'])
Modified: trunk/gnomevfs/wscript
==============================================================================
--- trunk/gnomevfs/wscript (original)
+++ trunk/gnomevfs/wscript Sat Jan 3 22:52:59 2009
@@ -2,7 +2,6 @@
# encoding: utf-8
import os
-import Common
def configure(conf):
conf.env.append_value('MODULES_AVAILABLE', 'gnomevfs')
@@ -10,30 +9,29 @@
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):
+ if conf.pkg_check_modules('GNOMEVFS', 'gnome-vfs-2.0 >= 2.14 pygobject-2.0',
+ 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):
+ if conf.pkg_check_modules('GNOMEVFSBONOBO', 'gnome-vfs-2.0 >= 2.14 bonobo-activation-2.0 >= 2.8.0'
+ ' pyorbit-2 >= 2.0.1 pygobject-2.0',
+ 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):
+ if conf.pkg_check_modules('GNOMEVFSMODULE', 'gnome-vfs-module-2.0 >= 2.14 bonobo-activation-2.0 >= 2.8.0'
+ ' pyorbit-2 >= 2.0.1 pygobject-2.0',
+ mandatory=False):
conf.env.append_value('MODULES_TO_BUILD', 'gnomevfs.module')
def build(bld):
- if 'gnomevfs' in bld.env()['MODULES_TO_BUILD']:
- vfsdir = os.path.join('gtk-2.0', 'gnomevfs')
-
- py = bld.create_obj('py')
- py.inst_dir = vfsdir
+ if 'gnomevfs' in bld.env['MODULES_TO_BUILD']:
+ vfsdir = '${PYTHONDIR}/gtk-2.0/gnomevfs'
+ py = bld.new_task_gen('py')
+ py.install_path = vfsdir
py.source = "__init__.py"
pyext = bld.create_pyext()
@@ -45,30 +43,27 @@
pyext.target = '_gnomevfs'
pyext.uselib = 'GNOMEVFS'
pyext.includes = '.'
- pyext.inst_var = 'PYTHONDIR'
- pyext.inst_dir = vfsdir
+ pyext.install_path = vfsdir
- if 'gnomevfs.bonobo' in bld.env()['MODULES_TO_BUILD']:
+ if 'gnomevfs.bonobo' in bld.env['MODULES_TO_BUILD']:
pyext = bld.create_pyext()
pyext.source = 'vfsbonobomodule.c'
pyext.target = 'gnomevfsbonobo'
pyext.uselib = 'GNOMEVFSBONOBO'
pyext.includes = '.'
- pyext.inst_var = 'PYTHONDIR'
- pyext.inst_dir = vfsdir
+ pyext.install_path = vfsdir
- if 'gnomevfs.module' in bld.env()['MODULES_TO_BUILD']:
- pyembed = bld.create_obj('cc', 'shlib', 'pyembed')
+ if 'gnomevfs.module' in bld.env['MODULES_TO_BUILD']:
+ pyembed = bld.new_task_gen('cc', 'shlib', 'pyembed')
pyembed.mac_bundle = True
pyembed.source = 'gnome-vfs-python-method.c'
pyembed.target = 'pythonmethod'
pyembed.uselib = 'GNOMEVFSMODULE'
pyembed.includes = '.'
- pyembed.inst_var = 'LIBDIR'
- pyembed.inst_dir = os.path.join('gnome-vfs-2.0', 'modules')
+ pyembed.install_path = '${LIBDIR}/gnome-vfs-2.0/modules'
vfsmethoddir = os.path.join(pyembed.env['LIBDIR'], 'gnome-vfs-2.0', 'modules')
pyembed.env.append_value('CCDEFINES', 'GNOME_VFS_PYTHON_DIR="\\"%s\\""' % vfsmethoddir)
- Common.install_files('PREFIX', os.path.join('include', 'gnome-python-2.0'),
- ['pygnomevfs.h', 'pygnomevfsbonobo.h'])
+ bld.install_files('${PREFIX}/include/gnome-python-2.0',
+ ['pygnomevfs.h', 'pygnomevfsbonobo.h'])
Modified: trunk/wscript
==============================================================================
--- trunk/wscript (original)
+++ trunk/wscript Sat Jan 3 22:52:59 2009
@@ -1,7 +1,9 @@
# -*- python -*-
-import Params
-Params.g_autoconfig = True
+import Options
+Options.autoconfig = True
+
+import Build
VERSION = '2.22.3'
APPNAME = 'gnome-python'
@@ -37,6 +39,8 @@
conf.check_tool('compiler_cc')
conf.check_tool('gnome')
conf.check_tool('python')
+ conf.check_tool('command')
+ conf.check_tool('pkgconfig')
if sys.platform == 'darwin':
conf.check_tool('osx')
@@ -56,9 +60,8 @@
conf.define('PYGTK_REQUIRED_MINOR_VERSION', pygtk_version[1])
conf.define('PYGTK_REQUIRED_MICRO_VERSION', pygtk_version[2])
- values = conf.check_pkg('pygtk-2.0', destvar='PYGTK', vnum='.'.join([str(x) for x in pygtk_version]),
- pkgvars=['defsdir'], mandatory=True)
- conf.env['PYGTK_DEFSDIR'] = values['PYGTK_DEFSDIR']
+ conf.pkg_check_modules('PYGTK', 'pygtk-2.0 >= %s' % ('.'.join([str(x) for x in pygtk_version]),))
+ conf.env['PYGTK_DEFSDIR'] = conf.pkg_check_module_variable('pygtk-2.0', 'defsdir')
if not conf.find_program('pygobject-codegen-2.0', var='CODEGEN'):
if not conf.find_program('pygtk-codegen-2.0', var='CODEGEN'):
@@ -66,7 +69,7 @@
conf.env.append_value('CCDEFINES', 'HAVE_CONFIG_H')
- conf.env['ENABLE_MODULES'] = Params.g_options.enable_modules.split(',')
+ conf.env['ENABLE_MODULES'] = Options.options.enable_modules.split(',')
conf.sub_config('bonobo')
conf.sub_config('gnome')
@@ -79,7 +82,7 @@
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)
+ Logs.warn("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']:
@@ -94,35 +97,63 @@
print "\t%s" % m
conf.write_config_header('config.h')
+
-def build(bld):
- ## cater for WAF API change between 1.3 and 1.4
- waf_version = [int (s) for s in Params.g_version.split('.')]
- if waf_version >= [1,4]:
- def create_pyext(bld):
- return bld.create_obj('cc', 'shlib', 'pyext')
+def codegen(bld, module, local_load_types=(), register=(), local_register=(), prefix=None):
+ cmd = bld.new_task_gen('command',
+ source=['%s.defs' % module, '%s.override' % module],
+ target=['%s.c' % module])
+ cmd.command = ['${CODEGEN}']
+ cmd.command.append('--py_ssize_t-clean')
+
+ for load in local_load_types:
+ cmd.source.append(load)
+ cmd.command.extend(['--load-types', '${SRC[%i]}' % (len(cmd.source)-1)])
+
+ for reg in local_register:
+ cmd.source.append(reg)
+ cmd.command.extend(['--register', '${SRC[%i]}' % (len(cmd.source)-1)])
+
+ for reg in register:
+ cmd.command.extend(['--register', reg])
+
+ if prefix:
+ cmd.command.extend(['--prefix', prefix])
else:
- def create_pyext(bld):
- return bld.create_obj('cc', 'plugin', 'pyext')
+ cmd.command.extend(['--prefix', 'py'+module])
+
+ cmd.command.extend(['--override', "${SRC[1]}",
+ '${SRC[0]}',
+ '>', '${TGT[0]}'])
+
+ return cmd
+
+
+def build(bld):
+
+ # Attach the 'codegen' method to the build context
+ bld.codegen = types.MethodType(codegen, bld)
+
+ def create_pyext(bld):
+ return bld.new_task_gen('cc', 'shlib', 'pyext')
bld.create_pyext = types.MethodType(create_pyext, bld)
## generate and install the .pc file
- obj=bld.create_obj('subst')
+ obj = bld.new_task_gen('subst')
obj.source = 'gnome-python-2.0.pc.in'
obj.target = 'gnome-python-2.0.pc'
obj.dict = {
'VERSION': VERSION,
- 'prefix': bld.env()['PREFIX'],
- 'exec_prefix': bld.env()['PREFIX'],
- 'libdir': bld.env()['LIBDIR'],
- 'includedir': os.path.join(bld.env()['PREFIX'], 'include'),
- 'datadir': bld.env()['DATADIR'],
- 'datarootdir': bld.env()['DATADIR'],
+ 'prefix': bld.env['PREFIX'],
+ 'exec_prefix': bld.env['PREFIX'],
+ 'libdir': bld.env['LIBDIR'],
+ 'includedir': os.path.join(bld.env['PREFIX'], 'include'),
+ 'datadir': bld.env['DATADIR'],
+ 'datarootdir': bld.env['DATADIR'],
}
obj.fun = misc.subst_func
- obj.inst_var = 'LIBDIR'
- obj.inst_dir = 'pkgconfig'
+ obj.install_path = '${LIBDIR}/pkgconfig'
## subdirs
bld.add_subdirs('bonobo')
@@ -134,9 +165,8 @@
def shutdown():
- env = Params.g_build.env_of_name('default')
-
- if Params.g_commands['check']:
+ env = Build.bld.env
+ if Options.commands['check']:
_run_tests(env)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]