1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
# -*- python -*-
# encoding: utf-8
import os
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))
def build(bld):
if bld.env()['ENABLE_GNOMEVFS']:
vfsdir = os.path.join('gtk-2.0', 'gnomevfs')
py = bld.create_obj('py')
py.inst_dir = vfsdir
py.source = "__init__.py"
pyext = bld.create_obj('cc', 'plugin', 'pyext')
pyext.source = '''
vfsmodule.c vfs-uri.c vfs-file-info.c vfs-dir-handle.c
vfs-handle.c vfs-xfer-progress-info.c vfs-context.c
vfs-async-handle.c vfs-volume.c vfs-drive.c vfs-volume-monitor.c
'''
pyext.target = '_gnomevfs'
pyext.uselib = 'GNOMEVFS'
pyext.env.append_value('CPPPATH', '../gnomevfs') # work around possible WAF bug
pyext.install_var = 'PYTHONDIR'
pyext.install_subdir = vfsdir
if bld.env()['ENABLE_GNOMEVFSBONOBO']:
pyext = bld.create_obj('cc', 'plugin', 'pyext')
pyext.source = 'vfsbonobomodule.c'
pyext.target = 'gnomevfsbonobo'
pyext.uselib = 'GNOMEVFSBONOBO'
pyext.env.append_value('CPPPATH', '../gnomevfs') # work around possible WAF bug
pyext.install_var = 'PYTHONDIR'
pyext.install_subdir = vfsdir
if bld.env()['ENABLE_GNOMEVFSMODULE']:
pyembed = bld.create_obj('cc', 'plugin', 'pyembed')
pyembed.source = 'gnome-vfs-python-method.c'
pyembed.target = 'pythonmethod'
pyembed.uselib = 'GNOMEVFSMODULE'
pyembed.env.append_value('CPPPATH', '../gnomevfs') # work around possible WAF bug
pyembed.install_var = 'LIBDIR'
pyembed.install_subdir = os.path.join('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'])
|