From 5a1c0f98d55c8c97a178f21fa6617034411c38af Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 14 Apr 2021 16:07:31 +0100 Subject: [PATCH] Add zalsa configure flag, enabled by default if possible Signed-off-by: falkTX --- tools/wscript | 28 ++++++++++++++++++++++++---- wscript | 5 +++++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/tools/wscript b/tools/wscript index 0fc90289..304b26d8 100644 --- a/tools/wscript +++ b/tools/wscript @@ -19,8 +19,9 @@ example_tools = { } def configure(conf): - conf.env['BUILD_EXAMPLE_ALSA_IO'] = conf.env['SAMPLERATE'] and conf.env['BUILD_DRIVER_ALSA'] - conf.env['BUILD_EXAMPLE_CLIENT_TRANSPORT'] = conf.env['READLINE'] + conf.env['BUILD_TOOL_ALSA_IO'] = conf.env['SAMPLERATE'] and conf.env['BUILD_DRIVER_ALSA'] + conf.env['BUILD_TOOL_CLIENT_TRANSPORT'] = conf.env['READLINE'] + conf.env['BUILD_TOOL_ZALSA'] = conf.env['ZALSA'] def build(bld): if bld.env['IS_LINUX']: @@ -50,7 +51,7 @@ def build(bld): prog.target = example_tool - if bld.env['BUILD_EXAMPLE_CLIENT_TRANSPORT']: + if bld.env['BUILD_TOOL_CLIENT_TRANSPORT']: prog = bld(features = 'c cprogram') prog.includes = os_incdir + ['../common/jack', '../common'] prog.source = 'transport.c' @@ -74,7 +75,7 @@ def build(bld): prog.target = 'jack_netsource' prog.defines = ['HAVE_CONFIG_H'] - if bld.env['IS_LINUX'] and bld.env['BUILD_EXAMPLE_ALSA_IO']: + if bld.env['IS_LINUX'] and bld.env['BUILD_TOOL_ALSA_IO']: prog = bld(features = 'c cprogram') prog.includes = os_incdir + ['../common/jack', '../common'] prog.source = ['alsa_in.c', '../common/memops.c'] @@ -89,6 +90,25 @@ def build(bld): prog.use = ['clientlib', 'ALSA', 'SAMPLERATE', 'M'] prog.target = 'alsa_out' + if bld.env['IS_LINUX'] and bld.env['BUILD_TOOL_ZALSA']: + prog = bld(features = ['cxx', 'cxxshlib']) + prog.defines = ['HAVE_CONFIG_H','SERVER_SIDE','APPNAME="zalsa_in"','VERSION="0.4.0"'] + prog.install_path = '${ADDON_DIR}/' + prog.includes = os_incdir + ['../common/jack', '../common', 'zalsa'] + prog.source = ['zalsa/zita-a2j.cc', 'zalsa/alsathread.cc', 'zalsa/jackclient.cc', 'zalsa/pxthread.cc', 'zalsa/lfqueue.cc'] + prog.target = 'zita-a2j' + prog.use = ['ZITA-ALSA-PCMI', 'ZITA-RESAMPLER', 'ALSA', 'M', 'RT', 'serverlib'] + prog.env['cxxshlib_PATTERN'] = '%s.so' + + prog = bld(features = ['cxx', 'cxxshlib']) + prog.defines = ['HAVE_CONFIG_H','SERVER_SIDE','APPNAME="zalsa_out"','VERSION="0.4.0"'] + prog.install_path = '${ADDON_DIR}/' + prog.includes = os_incdir + ['../common/jack', '../common', 'zalsa'] + prog.source = ['zalsa/zita-j2a.cc', 'zalsa/alsathread.cc', 'zalsa/jackclient.cc', 'zalsa/pxthread.cc', 'zalsa/lfqueue.cc'] + prog.target = 'zita-j2a' + prog.use = ['ZITA-ALSA-PCMI', 'ZITA-RESAMPLER', 'ALSA', 'M', 'RT', 'serverlib'] + prog.env['cxxshlib_PATTERN'] = '%s.so' + if not bld.env['IS_WINDOWS']: bld.symlink_as('${PREFIX}/bin/jack_disconnect', 'jack_connect') bld.install_files('${PREFIX}/bin', 'jack_control', chmod=0o755) diff --git a/wscript b/wscript index dfd02f4b..86a42302 100644 --- a/wscript +++ b/wscript @@ -174,6 +174,11 @@ def options(opt): help='Use Berkeley DB (metadata)') db.check(header_name='db.h') db.check(lib='db') + zalsa = opt.add_auto_option( + 'zalsa', + help='Build internal zita-a2j/j2a client') + zalsa.check(lib='zita-alsa-pcmi') + zalsa.check(lib='zita-resampler') # dbus options opt.recurse('dbus')