git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1951 0c269be4-1314-0410-8aa9-9f06e86f4224tags/0.71
@@ -19,6 +19,10 @@ Nedko Arnaudov | |||
Jackdmp changes log | |||
--------------------------- | |||
2008-03-12 Stephane Letz <letz@grame.fr> | |||
* Marc-Olivier Barre library related scons patch. | |||
2008-03-11 Stephane Letz <letz@grame.fr> | |||
* Fix engine real-time notification (was broken since ??). | |||
@@ -87,6 +87,11 @@ env = Environment(tools=['default', 'scanreplace', 'pkgconfig', 'doxygen'], tool | |||
Help('To build jackdmp you can set different options as listed below. You have to specify them only once, scons will save the latest values you set and re-use then. To really undo your settings and return to the factory defaults, remove the .sconsign.dblite and options.cache files from your BUILDDIR directory.') | |||
Help(opts.GenerateHelpText(env)) | |||
# Set the lib names | |||
env['CLIENTLIB'] = 'jackmp' | |||
env['SERVERLIB'] = 'jackservermp' | |||
env['WRAPPERLIB'] = 'jackwrapper' | |||
# make sure the necessary dirs exist | |||
if not os.path.isdir('cache/' + build_base): | |||
os.makedirs('cache/' + build_base) | |||
@@ -2,6 +2,9 @@ | |||
Jackdmp Todo list | |||
--------------------- | |||
2008-03-12 : Do not start the client RT thread if no callback or thread routine has been setup (no use of jack_set_process_callback or jack_set_process_thread). This require change in the server to avoid signaling the client in this case. | |||
2008-02-07 : Pipelining idea: | |||
- cut the driver buffer size in n slices : clients see the divided value, server deal with the driver value, some clients may want to keep the driver buffer size (non pipelining) | |||
@@ -39,7 +39,7 @@ env.AppendUnique(LIBS=['rt', 'pthread']) | |||
env.AppendUnique(CPPPATH=['#/linux','#/macosx']) | |||
# A symlinking command for our libraries' names | |||
symlinkcmd = 'cd $TARGET.dir && rm -f $TARGET.name && ln -s $SOURCE.name $TARGET.name' | |||
symlinkcmd = 'ln -nsf $SOURCE.name $TARGET' | |||
# Library names | |||
clientlib_name = 'jackmp' | |||
@@ -151,18 +151,18 @@ jack_headers = [ | |||
# | |||
# Libraries | |||
clientlib = env.SharedLibrary(clientlib_name, srcfiles_common_clientlib) | |||
serverlib = env.SharedLibrary(serverlib_name, srcfiles_common_serverlib) | |||
wrapperlib = env.SharedLibrary(wrapperlib_name, srcfiles_common_wrapperlib) | |||
clientlib = env.SharedLibrary(env['CLIENTLIB'], srcfiles_common_clientlib) | |||
serverlib = env.SharedLibrary(env['SERVERLIB'], srcfiles_common_serverlib) | |||
wrapperlib = env.SharedLibrary(env['WRAPPERLIB'], srcfiles_common_wrapperlib) | |||
env.Install( env['LIBDIR'], [clientlib, serverlib, wrapperlib]) | |||
env.Alias('install', env['LIBDIR']) | |||
# Handle the way we name libraries on a POSIX system | |||
# TODO: this is not quite clean yet. changing the library version is a pain we'll need a nicer loop and a config value somewhere | |||
if env['PLATFORM'] == 'posix': | |||
for lib_name, lib in [(clientlib_name, clientlib), (serverlib_name, serverlib), (wrapperlib_name, wrapperlib)]: | |||
env.Command('lib' + lib_name + '.so.0', lib, symlinkcmd) | |||
env.Command('lib' + lib_name + '.so', 'lib'+lib_name+'.so.0', symlinkcmd) | |||
for lib_name, lib in [(env['CLIENTLIB'], clientlib), (env['SERVERLIB'], serverlib), (env['WRAPPERLIB'], wrapperlib)]: | |||
env.Command('#/common/lib' + lib_name + '.so.0', lib, symlinkcmd) | |||
env.Command('#/common/lib' + lib_name + '.so', '#/common/lib'+lib_name+'.so.0', symlinkcmd) | |||
env.Command(env['LIBDIR'] + '/lib' + lib_name + '.so.0', env['LIBDIR'] + '/lib' + lib_name + '.so.0.0', symlinkcmd) | |||
env.Command(env['LIBDIR'] + '/lib' + lib_name + '.so', env['LIBDIR'] + '/lib' + lib_name + '.so.0', symlinkcmd) | |||
env.Alias('install', env['LIBDIR'] + '/lib' + lib_name + '.so.0') | |||
@@ -52,16 +52,13 @@ example_libs = { | |||
# Libraries to link | |||
extra_libs = {} | |||
for example_program in example_programs: | |||
extra_libs[example_program] = ['jackservermp', 'dl'] | |||
extra_libs[example_program] = [env['CLIENTLIB']] | |||
# Replace library listing for some special cases | |||
extra_libs['jack_load'] = ['jackmp'] | |||
extra_libs['jack_unload'] = ['jackmp'] | |||
# TODO: we need to really test for READLINE... | |||
# TODO: we need to really test for READLINE... pkgconfig ? | |||
env['HAS_READLINE']=True | |||
if env['HAS_READLINE']: | |||
extra_libs['jack_transport'] = ['readline', 'jackservermp', 'dl'] | |||
example_programs['jack_transport'] = 'transport.c' | |||
extra_libs['jack_transport'] = ['readline', env['CLIENTLIB']] | |||
# | |||
# Build/install section | |||
@@ -75,7 +72,7 @@ if env['BUILD_EXAMPLES']: | |||
if env['INSTALL_EXAMPLES']: | |||
clientenv.Install(env['BINDIR'], example_program) | |||
for example_lib, example_lib_source in example_libs.items(): | |||
clientenv.SharedLibrary(example_lib, example_lib_source) | |||
# TODO: Not working yet. Do we even intend to install a test library ? | |||
# if env['INSTALL_EXAMPLES']: | |||
# clientenv.Install(env['LIBDIR'], example_client_lib) | |||
lib = clientenv.SharedLibrary(example_lib, example_lib_source) | |||
if clientenv['INSTALL_EXAMPLES']: | |||
clientenv.InstallAs(clientenv['LIBDIR'] + '/jackmp/' + example_lib + '.so', lib) | |||
clientenv.Alias('install', clientenv['LIBDIR'] + '/jackmp/' + example_lib + '.so') |
@@ -25,7 +25,7 @@ from string import Template | |||
Import( 'env' ) | |||
# paths where include files can be found | |||
env.AppendUnique( CPPPATH=["#/", "#/common", "#/common/jack", "#/linux"] ) | |||
env.AppendUnique( CPPPATH=['#/', '#/common', '#/common/jack', '#/linux'] ) | |||
# | |||
# Define the source files | |||
@@ -56,28 +56,28 @@ srcfiles_linux_dummy = ['#/common/JackDummyDriver.cpp'] | |||
# build the server and its backends | |||
serverenv = env.Copy() | |||
serverenv.PrependUnique( LIBPATH=env['build_base'] ) | |||
serverenv.PrependUnique( LIBS=["jackservermp", "dl"] ) | |||
serverenv.PrependUnique( LIBS=[env['SERVERLIB'], 'dl'] ) | |||
server = serverenv.Program("jackdmp", srcfiles_linux_server) | |||
server = serverenv.Program('jackdmp', srcfiles_linux_server) | |||
serverenv.Install( env['BINDIR'], server ) | |||
drv = serverenv.SharedLibrary( "jack_dummy", srcfiles_linux_dummy ) | |||
serverenv.InstallAs( env['LIBDIR']+ "/jackmp/jack_dummy.so", drv ) | |||
drv = serverenv.SharedLibrary( 'jack_dummy', srcfiles_linux_dummy ) | |||
serverenv.InstallAs( env['LIBDIR'] + '/jackmp/jack_dummy.so', drv ) | |||
if env['ENABLE_ALSA']: | |||
if not env.GetOption('clean'): | |||
serverenv.MergeFlags( env['ALSA_FLAGS'] ) | |||
drv = serverenv.SharedLibrary( "jack_alsa", srcfiles_linux_alsa ) | |||
serverenv.InstallAs( env['LIBDIR']+ "/jackmp/jack_alsa.so", drv ) | |||
drv = serverenv.SharedLibrary( 'jack_alsa', srcfiles_linux_alsa ) | |||
serverenv.InstallAs( env['LIBDIR'] + '/jackmp/jack_alsa.so', drv ) | |||
if env['ENABLE_FREEBOB']: | |||
if not env.GetOption('clean'): | |||
serverenv.MergeFlags( env['FREEBOB_FLAGS'] ) | |||
drv = serverenv.SharedLibrary( "jack_freebob", srcfiles_linux_freebob ) | |||
serverenv.InstallAs( env['LIBDIR']+ "/jackmp/jack_freebob.so", drv ) | |||
drv = serverenv.SharedLibrary( 'jack_freebob', srcfiles_linux_freebob ) | |||
serverenv.InstallAs( env['LIBDIR'] + '/jackmp/jack_freebob.so', drv ) | |||
if env['ENABLE_FIREWIRE']: | |||
if not env.GetOption('clean'): | |||
serverenv.MergeFlags( env['FFADO_FLAGS'] ) | |||
drv = serverenv.SharedLibrary( "jack_firewire", srcfiles_linux_ffado ) | |||
serverenv.InstallAs( env['LIBDIR']+ "/jackmp/jack_firewire.so", drv ) | |||
drv = serverenv.SharedLibrary( 'jack_firewire', srcfiles_linux_ffado ) | |||
serverenv.InstallAs( env['LIBDIR'] + '/jackmp/jack_firewire.so', drv ) |
@@ -44,7 +44,7 @@ srcfiles_macosx_dummy = ['#/common/JackDummyDriver.cpp'] | |||
# build the server and its backends | |||
serverenv = env.Copy() | |||
serverenv.PrependUnique( LIBPATH=env['build_base'] ) | |||
serverenv.PrependUnique( LIBS=['jackdmp', 'dl'] ) | |||
serverenv.PrependUnique( LIBS=[env['SERVERLIB'], 'dl'] ) | |||
server = serverenv.Program('jackdmp', srcfiles_macosx_server) | |||
serverenv.Install( env['BINDIR'], server ) | |||