diff --git a/example-clients/wscript b/example-clients/wscript index fbf8999e..b9158965 100644 --- a/example-clients/wscript +++ b/example-clients/wscript @@ -2,33 +2,20 @@ # encoding: utf-8 example_programs = { - 'jack_freewheel' : 'freewheel.c', - 'jack_connect' : 'connect.c', - 'jack_lsp' : 'lsp.c', 'jack_metro' : 'metro.c', 'jack_midiseq' : 'midiseq.c', 'jack_midisine' : 'midisine.c', 'jack_showtime' : 'showtime.c', 'jack_simple_client' : 'simple_client.c', 'jack_zombie' : 'zombie.c', - 'jack_load' : 'ipload.c', - 'jack_unload' : 'ipunload.c', 'jack_showtime' : 'showtime.c', - 'jack_alias' : 'alias.c', - 'jack_bufsize' : 'bufsize.c', - 'jack_wait' : 'wait.c', - 'jack_samplerate' : 'samplerate.c', - 'jack_evmon' : 'evmon.c', - 'jack_monitor_client' : 'monitor_client.c', 'jack_thru' : 'thru_client.c', 'jack_cpu_load' : 'cpu_load.c', 'jack_simple_session_client' : 'simple_session_client.c', - 'jack_session_notify' : 'session_notify.c', 'jack_server_control' : 'server_control.cpp', 'jack_net_slave' : 'netslave.c', 'jack_net_master' : 'netmaster.c', 'jack_latent_client' : 'latent_client.c', - 'jack_midi_dump' : 'midi_dump.c', 'jack_midi_latency_test' : 'midi_latency_test.c' } @@ -94,21 +81,6 @@ def build(bld): prog.target = example_program - if bld.env['BUILD_EXAMPLE_CLIENT_TRANSPORT']: - prog = bld(features = 'c cprogram') - prog.includes = os_incdir + ['../common/jack', '../common'] - prog.source = 'transport.c' - prog.use = ['clientlib'] - if bld.env['IS_MACOSX']: - prog.env.append_value("CPPFLAGS", "-mmacosx-version-min=10.4 -arch i386 -arch ppc -arch x86_64") - #prog.env.append_value("LINKFLAGS", "-arch i386 -arch ppc -arch x86_64") - prog.env.append_value("LINKFLAGS", "") - if bld.env['IS_LINUX']: - prog.use += ['RT', 'READLINE'] - if bld.env['IS_MACOSX']: - prog.use += ['READLINE'] - prog.target = 'jack_transport' - if bld.env['BUILD_EXAMPLE_CLIENT_REC']: prog = bld(features = 'c cprogram') prog.includes = os_incdir + ['../common/jack', '../common'] @@ -127,30 +99,6 @@ def build(bld): prog.uselib = ['SNDFILE'] prog.target = 'jack_rec' - if bld.env['IS_LINUX'] or bld.env['IS_MACOSX']: - prog = bld(features = 'c cprogram') - prog.includes = os_incdir + ['.', '..', '../common/jack', '../common'] - prog.source = ['netsource.c', '../common/netjack_packet.c'] - prog.env.append_value("CFLAGS", "-DNO_JACK_ERROR") - prog.use = ['CELT', 'SAMPLERATE', 'OPUS', 'M', 'clientlib'] - prog.target = 'jack_netsource' - prog.defines = ['HAVE_CONFIG_H'] - - if bld.env['IS_LINUX'] and bld.env['BUILD_EXAMPLE_ALSA_IO']: - prog = bld(features = 'c cprogram') - prog.includes = os_incdir + ['../common/jack', '../common'] - prog.source = ['alsa_in.c', '../common/memops.c'] - prog.env.append_value("CFLAGS", "-DNO_JACK_ERROR") - prog.use = ['clientlib', 'ALSA', 'SAMPLERATE', 'M'] - prog.target = 'alsa_in' - - prog = bld(features = 'c cprogram') - prog.includes = os_incdir + ['../common/jack', '../common'] - prog.source = ['alsa_out.c', '../common/memops.c'] - prog.env.append_value("CFLAGS", "-DNO_JACK_ERROR") - prog.use = ['clientlib', 'ALSA', 'SAMPLERATE', 'M'] - prog.target = 'alsa_out' - for example_lib, example_lib_source in list(example_libs.items()): lib = bld(features = 'c cshlib') if not bld.env['IS_WINDOWS']: diff --git a/example-clients/alias.c b/tools-jack2/alias.c similarity index 100% rename from example-clients/alias.c rename to tools-jack2/alias.c diff --git a/example-clients/alsa_in.c b/tools-jack2/alsa_in.c similarity index 100% rename from example-clients/alsa_in.c rename to tools-jack2/alsa_in.c diff --git a/example-clients/alsa_out.c b/tools-jack2/alsa_out.c similarity index 100% rename from example-clients/alsa_out.c rename to tools-jack2/alsa_out.c diff --git a/example-clients/bufsize.c b/tools-jack2/bufsize.c similarity index 100% rename from example-clients/bufsize.c rename to tools-jack2/bufsize.c diff --git a/example-clients/connect.c b/tools-jack2/connect.c similarity index 100% rename from example-clients/connect.c rename to tools-jack2/connect.c diff --git a/example-clients/evmon.c b/tools-jack2/evmon.c similarity index 100% rename from example-clients/evmon.c rename to tools-jack2/evmon.c diff --git a/example-clients/freewheel.c b/tools-jack2/freewheel.c similarity index 100% rename from example-clients/freewheel.c rename to tools-jack2/freewheel.c diff --git a/example-clients/ipload.c b/tools-jack2/ipload.c similarity index 100% rename from example-clients/ipload.c rename to tools-jack2/ipload.c diff --git a/example-clients/ipunload.c b/tools-jack2/ipunload.c similarity index 100% rename from example-clients/ipunload.c rename to tools-jack2/ipunload.c diff --git a/example-clients/lsp.c b/tools-jack2/lsp.c similarity index 100% rename from example-clients/lsp.c rename to tools-jack2/lsp.c diff --git a/example-clients/midi_dump.c b/tools-jack2/midi_dump.c similarity index 100% rename from example-clients/midi_dump.c rename to tools-jack2/midi_dump.c diff --git a/example-clients/monitor_client.c b/tools-jack2/monitor_client.c similarity index 100% rename from example-clients/monitor_client.c rename to tools-jack2/monitor_client.c diff --git a/example-clients/netsource.c b/tools-jack2/netsource.c similarity index 100% rename from example-clients/netsource.c rename to tools-jack2/netsource.c diff --git a/example-clients/samplerate.c b/tools-jack2/samplerate.c similarity index 100% rename from example-clients/samplerate.c rename to tools-jack2/samplerate.c diff --git a/example-clients/session_notify.c b/tools-jack2/session_notify.c similarity index 100% rename from example-clients/session_notify.c rename to tools-jack2/session_notify.c diff --git a/example-clients/transport.c b/tools-jack2/transport.c similarity index 100% rename from example-clients/transport.c rename to tools-jack2/transport.c diff --git a/example-clients/tw.c b/tools-jack2/tw.c similarity index 100% rename from example-clients/tw.c rename to tools-jack2/tw.c diff --git a/example-clients/wait.c b/tools-jack2/wait.c similarity index 100% rename from example-clients/wait.c rename to tools-jack2/wait.c diff --git a/tools-jack2/wscript b/tools-jack2/wscript new file mode 100644 index 00000000..fbf8999e --- /dev/null +++ b/tools-jack2/wscript @@ -0,0 +1,172 @@ +#! /usr/bin/env python +# encoding: utf-8 + +example_programs = { + 'jack_freewheel' : 'freewheel.c', + 'jack_connect' : 'connect.c', + 'jack_lsp' : 'lsp.c', + 'jack_metro' : 'metro.c', + 'jack_midiseq' : 'midiseq.c', + 'jack_midisine' : 'midisine.c', + 'jack_showtime' : 'showtime.c', + 'jack_simple_client' : 'simple_client.c', + 'jack_zombie' : 'zombie.c', + 'jack_load' : 'ipload.c', + 'jack_unload' : 'ipunload.c', + 'jack_showtime' : 'showtime.c', + 'jack_alias' : 'alias.c', + 'jack_bufsize' : 'bufsize.c', + 'jack_wait' : 'wait.c', + 'jack_samplerate' : 'samplerate.c', + 'jack_evmon' : 'evmon.c', + 'jack_monitor_client' : 'monitor_client.c', + 'jack_thru' : 'thru_client.c', + 'jack_cpu_load' : 'cpu_load.c', + 'jack_simple_session_client' : 'simple_session_client.c', + 'jack_session_notify' : 'session_notify.c', + 'jack_server_control' : 'server_control.cpp', + 'jack_net_slave' : 'netslave.c', + 'jack_net_master' : 'netmaster.c', + 'jack_latent_client' : 'latent_client.c', + 'jack_midi_dump' : 'midi_dump.c', + 'jack_midi_latency_test' : 'midi_latency_test.c' + } + +example_libs = { + 'inprocess' : 'inprocess.c', + } + +def configure(conf): + e = conf.check_cc(header_name='sndfile.h', define_name="HAVE_SNDFILE") + + if conf.is_defined('HAVE_SNDFILE'): + conf.env['LIB_SNDFILE'] = ['sndfile'] + + conf.check_cfg(package='celt', atleast_version='0.5.0', args='--cflags --libs', mandatory=False) + + e = conf.check_cc(lib='readline', define_name="HAVE_READLINE", mandatory=False) + + # define_name="HAVE_READLINE" has no effect, LIB_READLINE is defined if readline is available + #if conf.is_defined('HAVE_READLINE'): + # conf.env['LIB_READLINE'] = ['readline'] + + conf.env['BUILD_EXAMPLE_CLIENT_TRANSPORT'] = bool(conf.env['LIB_READLINE']) + + conf.env['BUILD_EXAMPLE_CLIENT_REC'] = conf.is_defined('HAVE_SNDFILE') + + conf.env['BUILD_EXAMPLE_ALSA_IO'] = conf.is_defined('HAVE_SAMPLERATE') and conf.env['BUILD_DRIVER_ALSA'] + +def build(bld): + if bld.env['IS_LINUX']: + os_incdir = ['../linux', '../posix'] + if bld.env['IS_MACOSX']: + os_incdir = ['../macosx', '../posix'] + if bld.env['IS_SUN']: + os_incdir = ['../solaris', '../posix'] + if bld.env['IS_WINDOWS']: + os_incdir = ['../windows'] + for example_program, example_program_source in list(example_programs.items()): + if example_program == 'jack_server_control': + use = ['serverlib', 'STDC++'] + elif example_program == 'jack_net_slave': + if not bld.env['BUILD_NETLIB']: + continue + use = ['netlib'] + elif example_program == 'jack_net_master': + if not bld.env['BUILD_NETLIB']: + continue + use = ['netlib'] + else: + use = ['clientlib'] + + prog = bld(features='c cprogram') + prog.includes = os_incdir + ['../common/jack', '../common'] + prog.source = example_program_source + prog.use = use + if bld.env['IS_MACOSX']: + prog.env.append_value("CPPFLAGS", "-mmacosx-version-min=10.4 -arch i386 -arch ppc -arch x86_64") + #prog.env.append_value("LINKFLAGS", "-arch i386 -arch ppc -arch x86_64") + prog.env.append_value("LINKFLAGS", "") + if bld.env['IS_LINUX']: + prog.use += ['RT', 'M'] + if bld.env['IS_SUN']: + prog.use += ['M'] + + prog.target = example_program + + if bld.env['BUILD_EXAMPLE_CLIENT_TRANSPORT']: + prog = bld(features = 'c cprogram') + prog.includes = os_incdir + ['../common/jack', '../common'] + prog.source = 'transport.c' + prog.use = ['clientlib'] + if bld.env['IS_MACOSX']: + prog.env.append_value("CPPFLAGS", "-mmacosx-version-min=10.4 -arch i386 -arch ppc -arch x86_64") + #prog.env.append_value("LINKFLAGS", "-arch i386 -arch ppc -arch x86_64") + prog.env.append_value("LINKFLAGS", "") + if bld.env['IS_LINUX']: + prog.use += ['RT', 'READLINE'] + if bld.env['IS_MACOSX']: + prog.use += ['READLINE'] + prog.target = 'jack_transport' + + if bld.env['BUILD_EXAMPLE_CLIENT_REC']: + prog = bld(features = 'c cprogram') + prog.includes = os_incdir + ['../common/jack', '../common'] + prog.source = 'capture_client.c' + prog.use = ['clientlib'] + if bld.env['IS_MACOSX']: + prog.env.append_value("CPPFLAGS", "-mmacosx-version-min=10.4 -arch i386 -arch ppc -arch x86_64") + #prog.env.append_value("LINKFLAGS", "-arch i386 -arch ppc -arch x86_64") + prog.env.append_value("LINKFLAGS", "") + prog.use += ['SNDFILE'] + if bld.env['IS_LINUX']: + prog.use += ['RT', 'SNDFILE'] + if bld.env['IS_SUN']: + prog.use += ['RT', 'SNDFILE'] + if bld.env['IS_WINDOWS']: + prog.uselib = ['SNDFILE'] + prog.target = 'jack_rec' + + if bld.env['IS_LINUX'] or bld.env['IS_MACOSX']: + prog = bld(features = 'c cprogram') + prog.includes = os_incdir + ['.', '..', '../common/jack', '../common'] + prog.source = ['netsource.c', '../common/netjack_packet.c'] + prog.env.append_value("CFLAGS", "-DNO_JACK_ERROR") + prog.use = ['CELT', 'SAMPLERATE', 'OPUS', 'M', 'clientlib'] + prog.target = 'jack_netsource' + prog.defines = ['HAVE_CONFIG_H'] + + if bld.env['IS_LINUX'] and bld.env['BUILD_EXAMPLE_ALSA_IO']: + prog = bld(features = 'c cprogram') + prog.includes = os_incdir + ['../common/jack', '../common'] + prog.source = ['alsa_in.c', '../common/memops.c'] + prog.env.append_value("CFLAGS", "-DNO_JACK_ERROR") + prog.use = ['clientlib', 'ALSA', 'SAMPLERATE', 'M'] + prog.target = 'alsa_in' + + prog = bld(features = 'c cprogram') + prog.includes = os_incdir + ['../common/jack', '../common'] + prog.source = ['alsa_out.c', '../common/memops.c'] + prog.env.append_value("CFLAGS", "-DNO_JACK_ERROR") + prog.use = ['clientlib', 'ALSA', 'SAMPLERATE', 'M'] + prog.target = 'alsa_out' + + for example_lib, example_lib_source in list(example_libs.items()): + lib = bld(features = 'c cshlib') + if not bld.env['IS_WINDOWS']: + lib.env['cshlib_PATTERN'] = '%s.so' + lib.includes = os_incdir + ['../common/jack', '../common'] + lib.target = example_lib + lib.source = example_lib_source + if bld.env['IS_MACOSX']: + lib.env.append_value("CPPFLAGS", "-mmacosx-version-min=10.4 -arch i386 -arch ppc -arch x86_64") + #lib.env.append_value("LINKFLAGS", "-arch i386 -arch ppc -arch x86_64") + lib.env.append_value("LINKFLAGS", "") + if bld.env['IS_SUN']: + lib.env.append_value("LINKFLAGS", "-lm") + lib.use = 'serverlib' + lib.install_path = '${ADDON_DIR}/' + + if not bld.env['IS_WINDOWS']: + bld.symlink_as('${PREFIX}/bin/jack_disconnect', 'jack_connect') + bld.install_files('${PREFIX}/bin', 'jack_control', chmod=0o755)