Merge branch 'master' into port_register_notification_defer
[jack2.git] / dbus / wscript
blobe23e67b0c30fc566efefe0187fa32cde12a493bb
1 #! /usr/bin/env python
2 # encoding: utf-8
4 import os.path
5 import Options
6 import re # subst_func
7 import Logs
9 def set_options(opt):
10 opt.add_option('--enable-pkg-config-dbus-service-dir', action='store_true', default=False, help='force D-Bus service install dir to be one returned by pkg-config')
12 def configure(conf):
13 if not conf.check_cfg(package='dbus-1', atleast_version='1.0.0', args='--cflags --libs'):
14 return
16 dbus_dir = conf.check_cfg(package='dbus-1', args='--variable=session_bus_services_dir')
17 if not dbus_dir:
18 return
20 dbus_dir = dbus_dir.strip()
21 conf.env['DBUS_SERVICES_DIR_REAL'] = dbus_dir
23 if Options.options.enable_pkg_config_dbus_service_dir:
24 conf.env['DBUS_SERVICES_DIR'] = dbus_dir
25 else:
26 conf.env['DBUS_SERVICES_DIR'] = os.path.normpath(conf.env['PREFIX'] + '/share/dbus-1/services')
28 conf.check_tool('misc')
30 conf.check(header_name='expat.h', define_name="HAVE_EXPAT")
32 if conf.is_defined('HAVE_EXPAT'):
33 conf.env['LIB_EXPAT'] = ['expat']
35 conf.env['BUILD_JACKDBUS1'] = conf.is_defined('HAVE_EXPAT') and conf.is_defined('HAVE_DBUS_1')
38 def build(bld):
40 if bld.env['BUILD_JACKDBUS1'] != True:
41 return
43 obj = bld.new_task_gen('cc', 'program')
44 if bld.env['IS_LINUX']:
45 sysdeps_dbus_include = ['../linux', '../posix']
46 if bld.env['IS_MACOSX']:
47 sysdeps_dbus_include = ['../macosx', '../posix']
49 obj.includes = sysdeps_dbus_include + ['.', '../', '../common', '../common/jack']
50 obj.source = [
51 'jackdbus.c',
52 'controller.c',
53 'controller_iface_configure.c',
54 'controller_iface_control.c',
55 'controller_iface_introspectable.c',
56 'controller_iface_patchbay.c',
57 'controller_iface_transport.c',
58 'xml.c',
59 'xml_expat.c',
60 #'xml_libxml.c',
61 #'xml_nop.c',
62 'xml_write_raw.c',
63 'sigsegv.c',
64 'reserve.c',
66 if bld.env['IS_LINUX']:
67 obj.uselib = 'PTHREAD DL RT DBUS-1 EXPAT'
68 if bld.env['IS_MACOSX']:
69 obj.uselib = 'PTHREAD DL DBUS-1 EXPAT'
70 obj.uselib_local = 'serverlib'
71 obj.target = 'jackdbus'
73 # process org.jackaudio.service.in -> org.jackaudio.service
74 import misc
75 obj = bld.new_task_gen('subst')
76 obj.source = 'org.jackaudio.service.in'
77 obj.target = 'org.jackaudio.service'
78 obj.dict = {'BINDIR': bld.env['PREFIX'] + '/bin'}
79 obj.install_path = '${DBUS_SERVICES_DIR}/'
80 obj.fun = misc.subst_func