Browse Source

Marc-Olivier Barre library related scons patch.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1951 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.71
sletz 17 years ago
parent
commit
0b972cbe87
7 changed files with 38 additions and 29 deletions
  1. +4
    -0
      ChangeLog
  2. +5
    -0
      SConstruct
  3. +3
    -0
      Todo
  4. +7
    -7
      common/SConscript
  5. +7
    -10
      example-clients/SConscript
  6. +11
    -11
      linux/SConscript
  7. +1
    -1
      macosx/SConscript

+ 4
- 0
ChangeLog View File

@@ -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 ??).


+ 5
- 0
SConstruct View File

@@ -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)


+ 3
- 0
Todo View File

@@ -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)


+ 7
- 7
common/SConscript View File

@@ -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')


+ 7
- 10
example-clients/SConscript View File

@@ -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')

+ 11
- 11
linux/SConscript View File

@@ -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 )

+ 1
- 1
macosx/SConscript View File

@@ -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 )


Loading…
Cancel
Save