diff --git a/linux/dbus/wscript b/linux/dbus/wscript index 893c40cf..4979b48e 100644 --- a/linux/dbus/wscript +++ b/linux/dbus/wscript @@ -1,9 +1,50 @@ #! /usr/bin/env python # encoding: utf-8 +import Constants +import Params +from Configure import g_maxlen +#g_maxlen = 40 + +def display_msg(msg, status = None, color = None): + sr = msg + global g_maxlen + g_maxlen = max(g_maxlen, len(msg)) + if status: + print "%s :" % msg.ljust(g_maxlen), + Params.pprint(color, status) + else: + print "%s" % msg.ljust(g_maxlen) + +def display_feature(msg, build): + if build: + display_msg(msg, "yes", 'GREEN') + else: + display_msg(msg, "no", 'YELLOW') + +def configure(conf): + conf.check_pkg('dbus-1') + + e = conf.create_header_configurator() + e.name = 'expat.h' + e.define = 'HAVE_EXPAT' + e.run() + + if conf.is_defined('HAVE_EXPAT'): + conf.env['LIB_EXPAT'] = ['expat'] + + build_jackdbus = False; + if conf.is_defined('HAVE_EXPAT') and conf.is_defined('HAVE_DBUS_1'): + build_jackdbus = True + conf.env['BUILD_JACKDBUS'] = build_jackdbus + display_feature('Build D-Bus JACK (jackdbus)', build_jackdbus) + def build(bld): - obj = bld.create_obj('cpp', 'program') - #obj.features.append('cc') + if bld.env()["BUILD_JACKDBUS"] != True: + return + + obj = bld.create_obj('cc', 'program') + obj.includes = ['.', '../../common', '../../common/jack'] obj.source = [ 'jackdbus.c', 'controller.c', @@ -19,10 +60,6 @@ def build(bld): 'xml_write_raw.c', 'sigsegv.c', ] - obj.includes = '.' - obj.uselib = 'DBUS-1' - #obj.uselib_local = 'tony john testshlib' # 'tony john peter' # look for 'peter' above - obj.target = 'jackdbus_dyn_linked' - -def configure(conf): - conf.check_pkg('dbus-1', mandatory=True) + obj.uselib = 'PTHREAD DL RT DBUS-1 EXPAT' + obj.uselib_local = 'serverlib' + obj.target = 'jackdbus' diff --git a/wscript b/wscript index 2e2dadd6..48fcb83c 100644 --- a/wscript +++ b/wscript @@ -2,6 +2,7 @@ # encoding: utf-8 import Params +import commands VERSION='1.9.0' APPNAME='jack' @@ -10,29 +11,33 @@ APPNAME='jack' srcdir = '.' blddir = 'build' +def fetch_svn_revision(path): + cmd = "LANG= " + cmd += "svnversion " + cmd += path + return commands.getoutput(cmd) + def set_options(opt): # options provided by the modules opt.tool_options('compiler_cxx') opt.tool_options('compiler_cc') - #opt.add_option('--dbus', action='store_true', default=False, help='Compile D-Bus JACK') - def configure(conf): conf.check_tool('compiler_cxx') conf.check_tool('compiler_cc') - #if Params.g_options['dbus']: - # conf.sub_config('linux/dbus') + conf.sub_config('linux/dbus') conf.env['LIB_PTHREAD'] = ['pthread'] conf.env['LIB_DL'] = ['dl'] conf.env['LIB_RT'] = ['rt'] - conf.define('ADDON_DIR', '/blabla') + conf.define('ADDON_DIR', conf.env['PREFIX'] + '/lib/jack') conf.define('JACK_LOCATION', conf.env['PREFIX'] + '/bin') conf.define('SOCKET_RPC_FIFO_SEMA', 1) conf.define('__SMP__', 1) conf.define('USE_POSIX_SHM', 1) + conf.define('JACK_SVNREVISION', fetch_svn_revision('.')) conf.write_config_header('config.h') #print Params.g_options @@ -40,8 +45,7 @@ def configure(conf): def build(bld): # process subfolders from here - bld.add_subdirs([ - 'common', - 'linux', -# 'linux/dbus', - ]) + bld.add_subdirs('common') + bld.add_subdirs('linux') + + bld.add_subdirs('linux/dbus')