9 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 conf
.check_pkg('dbus-1', pkgvars
=['session_bus_services_dir'])
14 if Params
.g_options
.enable_pkg_config_dbus_service_dir
:
15 conf
.env
['DBUS_SERVICES_DIR'] = conf
.env
['DBUS-1_SESSION_BUS_SERVICES_DIR'][0]
17 conf
.env
['DBUS_SERVICES_DIR'] = os
.path
.normpath(conf
.env
['PREFIX'] + '/share/dbus-1/services')
19 conf
.check_tool('misc')
21 e
= conf
.create_header_configurator()
23 e
.define
= 'HAVE_EXPAT'
26 if conf
.is_defined('HAVE_EXPAT'):
27 conf
.env
['LIB_EXPAT'] = ['expat']
29 conf
.env
['BUILD_JACKDBUS'] = conf
.is_defined('HAVE_EXPAT') and conf
.is_defined('HAVE_DBUS_1')
31 # by default waf subst tool uses @VAR@ while scons legacy is ${VAR}
32 # so we use same template as scons for now
34 "Substitutes variables in a .in file"
36 m4_re
= re
.compile('\$\{(\w+)\}', re
.M
)
39 infile
= tsk
.m_inputs
[0].abspath(env
)
40 outfile
= tsk
.m_outputs
[0].abspath(env
)
42 file = open(infile
, 'r')
46 s
= m4_re
.sub(r
'%(\1)s', code
)
50 names
= m4_re
.findall(code
)
52 if env
[i
] and type(env
[i
]) is types
.ListType
:
53 dict[i
] = " ".join(env
[i
])
54 else: dict[i
] = env
[i
]
56 file = open(outfile
, 'w')
63 if bld
.env()["BUILD_JACKDBUS"] != True:
66 obj
= bld
.create_obj('cc', 'program')
67 if bld
.env()['IS_LINUX']:
68 sysdeps_dbus_include
= ['../linux', '../posix']
69 if bld
.env()['IS_MACOSX']:
70 sysdeps_dbus_include
= ['../macosx', '../posix']
72 obj
.includes
= sysdeps_dbus_include
+ ['.', '../', '../common', '../common/jack']
76 'controller_iface_configure.c',
77 'controller_iface_control.c',
78 'controller_iface_introspectable.c',
79 'controller_iface_patchbay.c',
80 'controller_iface_transport.c',
88 if bld
.env()['IS_LINUX']:
89 obj
.uselib
= 'PTHREAD DL RT DBUS-1 EXPAT'
90 if bld
.env()['IS_MACOSX']:
91 obj
.uselib
= 'PTHREAD DL DBUS-1 EXPAT'
92 obj
.uselib_local
= 'serverlib'
93 obj
.target
= 'jackdbus'
95 # process org.jackaudio.service.in -> org.jackaudio.service
96 obj
= bld
.create_obj('subst')
97 obj
.source
= 'org.jackaudio.service.in'
98 obj
.target
= 'org.jackaudio.service'
99 obj
.dict = {'BINDIR': bld
.env()['PREFIX'] + '/bin'}
100 obj
.inst_var
= bld
.env()['DBUS_SERVICES_DIR']
102 obj
.fun
= subst_func
# @VAR@ -> ${VAR}