|
@@ -27,54 +27,142 @@ Import( 'env' ) |
|
|
# paths where include files can be found |
|
|
# paths where include files can be found |
|
|
env.AppendUnique( CPPPATH=["#/", "#/common", "#/common/jack"] ) |
|
|
env.AppendUnique( CPPPATH=["#/", "#/common", "#/common/jack"] ) |
|
|
|
|
|
|
|
|
#HACK: this should not be here ideally |
|
|
|
|
|
|
|
|
# HACK: this should not be here ideally |
|
|
env.AppendUnique( CPPPATH=["#/linux","#/macosx"] ) |
|
|
env.AppendUnique( CPPPATH=["#/linux","#/macosx"] ) |
|
|
|
|
|
|
|
|
|
|
|
# a symlinking command |
|
|
|
|
|
symlinkcmd = 'cd $TARGET.dir && rm -f -v $TARGET.name && ln -v -s $SOURCE.name $TARGET.name' |
|
|
|
|
|
|
|
|
# |
|
|
# |
|
|
# Define the source files |
|
|
# Define the source files |
|
|
# |
|
|
# |
|
|
|
|
|
|
|
|
srcfiles_common_serverlib = env.Split( '\ |
|
|
|
|
|
JackActivationCount.cpp JackAPI.cpp JackAudioDriver.cpp JackClient.cpp JackConnectionManager.cpp \ |
|
|
|
|
|
JackDriver.cpp JackEngine.cpp JackEngineControl.cpp JackError.c JackExternalClient.cpp JackFrameTimer.cpp \ |
|
|
|
|
|
JackFreewheelDriver.cpp JackGlobalsServer.cpp JackGraphManager.cpp JackInternalClient.cpp JackPort.cpp JackPosixSemaphore.cpp \ |
|
|
|
|
|
JackPosixThread.cpp JackFifo.cpp JackLoopbackDriver.cpp JackPortType.cpp JackAudioPort.cpp JackMidiPort.cpp JackMidiAPI.cpp \ |
|
|
|
|
|
JackServer.cpp JackShmMem.cpp JackThreadedDriver.cpp shm.c JackSocket.cpp JackSocketServerChannel.cpp JackSocketNotifyChannel.cpp \ |
|
|
|
|
|
JackSocketServerNotifyChannel.cpp JackTime.c JackServerAPI.cpp JackGlobals.cpp JackDriverLoader.cpp JackDebugClient.cpp \ |
|
|
|
|
|
JackTransportEngine.cpp JackServerGlobals.cpp JackServerLaunch.cpp timestamps.c JackTools.cpp ringbuffer.c \ |
|
|
|
|
|
') |
|
|
|
|
|
|
|
|
|
|
|
srcfiles_common_clientlib = env.Split( '\ |
|
|
|
|
|
JackActivationCount.cpp JackAPI.cpp JackClient.cpp JackConnectionManager.cpp ringbuffer.c JackServerLaunch.cpp\ |
|
|
|
|
|
JackError.c JackFrameTimer.cpp JackGlobalsClient.cpp JackGraphManager.cpp JackLibClient.cpp JackLibAPI.cpp JackPort.cpp JackPosixSemaphore.cpp \ |
|
|
|
|
|
JackFifo.cpp JackPortType.cpp JackAudioPort.cpp JackMidiPort.cpp JackMidiAPI.cpp JackEngineControl.cpp JackPosixThread.cpp JackShmMem.cpp \ |
|
|
|
|
|
shm.c JackSocket.cpp JackSocketClientChannel.cpp JackTime.c JackGlobals.cpp JackDebugClient.cpp JackTransportEngine.cpp timestamps.c JackTools.cpp \ |
|
|
|
|
|
') |
|
|
|
|
|
|
|
|
|
|
|
srcfiles_common_wrapperlib = ['JackAPIWrapper.cpp', 'ringbuffer.c'] |
|
|
|
|
|
|
|
|
|
|
|
jack_headers = env.Split( 'intclient.h jack.h midiport.h ringbuffer.h \ |
|
|
|
|
|
statistics.h thread.h transport.h types.h') |
|
|
|
|
|
|
|
|
srcfiles_common_serverlib = [ |
|
|
|
|
|
'JackActivationCount.cpp', |
|
|
|
|
|
'JackAPI.cpp', |
|
|
|
|
|
'JackAudioDriver.cpp', |
|
|
|
|
|
'JackClient.cpp', |
|
|
|
|
|
'JackConnectionManager.cpp', |
|
|
|
|
|
'JackDriver.cpp', |
|
|
|
|
|
'JackEngine.cpp', |
|
|
|
|
|
'JackEngineControl.cpp', |
|
|
|
|
|
'JackError.c', |
|
|
|
|
|
'JackExternalClient.cpp', |
|
|
|
|
|
'JackFrameTimer.cpp', |
|
|
|
|
|
'JackFreewheelDriver.cpp', |
|
|
|
|
|
'JackGlobalsServer.cpp', |
|
|
|
|
|
'JackGraphManager.cpp', |
|
|
|
|
|
'JackInternalClient.cpp', |
|
|
|
|
|
'JackPort.cpp', |
|
|
|
|
|
'JackPosixSemaphore.cpp', |
|
|
|
|
|
'JackPosixThread.cpp', |
|
|
|
|
|
'JackFifo.cpp', |
|
|
|
|
|
'JackLoopbackDriver.cpp', |
|
|
|
|
|
'JackPortType.cpp', |
|
|
|
|
|
'JackAudioPort.cpp', |
|
|
|
|
|
'JackMidiPort.cpp', |
|
|
|
|
|
'JackMidiAPI.cpp', |
|
|
|
|
|
'JackServer.cpp', |
|
|
|
|
|
'JackShmMem.cpp', |
|
|
|
|
|
'JackThreadedDriver.cpp', |
|
|
|
|
|
'shm.c', |
|
|
|
|
|
'JackSocket.cpp', |
|
|
|
|
|
'JackSocketServerChannel.cpp', |
|
|
|
|
|
'JackSocketNotifyChannel.cpp', |
|
|
|
|
|
'JackSocketServerNotifyChannel.cpp', |
|
|
|
|
|
'JackTime.c', |
|
|
|
|
|
'JackServerAPI.cpp', |
|
|
|
|
|
'JackGlobals.cpp', |
|
|
|
|
|
'JackDriverLoader.cpp', |
|
|
|
|
|
'JackDebugClient.cpp', |
|
|
|
|
|
'JackTransportEngine.cpp', |
|
|
|
|
|
'JackServerGlobals.cpp', |
|
|
|
|
|
'JackServerLaunch.cpp', |
|
|
|
|
|
'timestamps.c', |
|
|
|
|
|
'JackTools.cpp', |
|
|
|
|
|
'ringbuffer.c' |
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
srcfiles_common_clientlib = [ |
|
|
|
|
|
'JackActivationCount.cpp', |
|
|
|
|
|
'JackAPI.cpp', |
|
|
|
|
|
'JackClient.cpp', |
|
|
|
|
|
'JackConnectionManager.cpp', |
|
|
|
|
|
'ringbuffer.c', |
|
|
|
|
|
'JackServerLaunch.cpp', |
|
|
|
|
|
'JackError.c', |
|
|
|
|
|
'JackFrameTimer.cpp', |
|
|
|
|
|
'JackGlobalsClient.cpp', |
|
|
|
|
|
'JackGraphManager.cpp', |
|
|
|
|
|
'JackLibClient.cpp', |
|
|
|
|
|
'JackLibAPI.cpp', |
|
|
|
|
|
'JackPort.cpp', |
|
|
|
|
|
'JackPosixSemaphore.cpp', |
|
|
|
|
|
'JackFifo.cpp', |
|
|
|
|
|
'JackPortType.cpp', |
|
|
|
|
|
'JackAudioPort.cpp', |
|
|
|
|
|
'JackMidiPort.cpp', |
|
|
|
|
|
'JackMidiAPI.cpp', |
|
|
|
|
|
'JackEngineControl.cpp', |
|
|
|
|
|
'JackPosixThread.cpp', |
|
|
|
|
|
'JackShmMem.cpp', |
|
|
|
|
|
'shm.c', |
|
|
|
|
|
'JackSocket.cpp', |
|
|
|
|
|
'JackSocketClientChannel.cpp', |
|
|
|
|
|
'JackTime.c', |
|
|
|
|
|
'JackGlobals.cpp', |
|
|
|
|
|
'JackDebugClient.cpp', |
|
|
|
|
|
'JackTransportEngine.cpp', |
|
|
|
|
|
'timestamps.c', |
|
|
|
|
|
'JackTools.cpp' |
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
srcfiles_common_wrapperlib = [ |
|
|
|
|
|
'JackAPIWrapper.cpp', |
|
|
|
|
|
'ringbuffer.c' |
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
jack_headers = [ |
|
|
|
|
|
'intclient.h', |
|
|
|
|
|
'jack.h', |
|
|
|
|
|
'midiport.h', |
|
|
|
|
|
'ringbuffer.h', |
|
|
|
|
|
'statistics.h', |
|
|
|
|
|
'thread.h', |
|
|
|
|
|
'transport.h', |
|
|
|
|
|
'types.h' |
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
# |
|
|
# |
|
|
# Start building |
|
|
# Start building |
|
|
# |
|
|
# |
|
|
|
|
|
|
|
|
#pkgconfig = env.ScanReplace( "libjackmp.pc.in" ) |
|
|
|
|
|
#env.Install( env['libdir'] + '/pkgconfig', pkgconfig ) |
|
|
|
|
|
|
|
|
|
|
|
env.AppendUnique( LIBS=["rt", "pthread"] ) |
|
|
env.AppendUnique( LIBS=["rt", "pthread"] ) |
|
|
|
|
|
|
|
|
# build the common stuff |
|
|
# build the common stuff |
|
|
clientlib = env.SharedLibrary( "jackmp", srcfiles_common_clientlib ) |
|
|
|
|
|
env.Install( "$libdir", clientlib ) |
|
|
|
|
|
serverlib = env.SharedLibrary( "jackdmp", srcfiles_common_serverlib ) |
|
|
|
|
|
env.Install( "$libdir", serverlib ) |
|
|
|
|
|
wrapperlib = env.SharedLibrary( "jackwrapper", srcfiles_common_wrapperlib ) |
|
|
|
|
|
env.Install( "$libdir", wrapperlib ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if env['PLATFORM'] == 'posix': |
|
|
|
|
|
env.AppendUnique( SHLIBSUFFIX=".0.0" ) |
|
|
|
|
|
clientlib_name = "jackmp" |
|
|
|
|
|
serverlib_name = "jackservermp" |
|
|
|
|
|
wrapperlib_name = "jackwrapper" |
|
|
|
|
|
clientlib = env.SharedLibrary( clientlib_name, srcfiles_common_clientlib ) |
|
|
|
|
|
serverlib = env.SharedLibrary( serverlib_name, srcfiles_common_serverlib ) |
|
|
|
|
|
wrapperlib = env.SharedLibrary( wrapperlib_name, srcfiles_common_wrapperlib ) |
|
|
|
|
|
env.Install( env['libdir'], [clientlib, serverlib, wrapperlib]) |
|
|
|
|
|
env.Alias("install", env['libdir']) |
|
|
|
|
|
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) |
|
|
|
|
|
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') |
|
|
|
|
|
env.Alias("install", env['libdir'] + '/lib' + lib_name + '.so') |
|
|
|
|
|
|
|
|
# install the headers |
|
|
# install the headers |
|
|
|
|
|
for header in jack_headers: |
|
|
|
|
|
env.Install(env['includedir'] + '/jack', 'jack/' + header) |
|
|
|
|
|
env.Alias("install", env['includedir']) |
|
|
#if env['JACK_FLAGS']: |
|
|
#if env['JACK_FLAGS']: |
|
|
#jack_include_dir = env['JACK_INCLUDEDIR'] |
|
|
#jack_include_dir = env['JACK_INCLUDEDIR'] |
|
|
#if 'install' in COMMAND_LINE_TARGETS and os.path.isdir( jack_include_dir ): |
|
|
#if 'install' in COMMAND_LINE_TARGETS and os.path.isdir( jack_include_dir ): |
|
@@ -85,20 +173,12 @@ env.Install( "$libdir", wrapperlib ) |
|
|
#print "moving old jack includes to %s..." % jack_old_includes_dir |
|
|
#print "moving old jack includes to %s..." % jack_old_includes_dir |
|
|
#env.Command(jack_old_includes_dir, jack_include_dir, Move("$TARGET", "$SOURCE")) |
|
|
#env.Command(jack_old_includes_dir, jack_include_dir, Move("$TARGET", "$SOURCE")) |
|
|
|
|
|
|
|
|
for header in jack_headers: |
|
|
|
|
|
env.Alias("install", env.Install( env['includedir'] + '/jack', 'jack/' + header )) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# install the libs |
|
|
# install the libs |
|
|
env.Alias("install", env.Install(env['libdir'], serverlib)) |
|
|
|
|
|
env.Alias("install", env.Install(env['libdir'], clientlib)) |
|
|
|
|
|
env.Alias("install", env.Install(env['libdir'], wrapperlib)) |
|
|
|
|
|
#jack_libdir = env['JACK_LIBDIR'] |
|
|
#jack_libdir = env['JACK_LIBDIR'] |
|
|
#libjackdmp_location = env['libdir'] + '/libjackmp.so' |
|
|
#libjackdmp_location = env['libdir'] + '/libjackmp.so' |
|
|
#if 'install' in COMMAND_LINE_TARGETS and os.path.isdir( jack_libdir ): |
|
|
#if 'install' in COMMAND_LINE_TARGETS and os.path.isdir( jack_libdir ): |
|
|
|
|
|
|
|
|
#if env.GetOption('clean'): |
|
|
#if env.GetOption('clean'): |
|
|
##note: is this executed before the actual uninstall? |
|
|
|
|
|
|
|
|
#note: is this executed before the actual uninstall? |
|
|
#lib_files = glob.glob(jack_libdir + '/libjack.so.*.up') |
|
|
#lib_files = glob.glob(jack_libdir + '/libjack.so.*.up') |
|
|
#for old_name in lib_files: |
|
|
#for old_name in lib_files: |
|
|
#new_name = old_name[:-3] |
|
|
#new_name = old_name[:-3] |
|
@@ -109,10 +189,9 @@ env.Alias("install", env.Install(env['libdir'], wrapperlib)) |
|
|
#lib_files = glob.glob(jack_libdir + '/libjack.so.*') |
|
|
#lib_files = glob.glob(jack_libdir + '/libjack.so.*') |
|
|
#env.Alias("install", env.Install(env['libdir'], serverlib)) |
|
|
#env.Alias("install", env.Install(env['libdir'], serverlib)) |
|
|
#env.Alias("install", env.Install(env['libdir'], clientlib)) |
|
|
#env.Alias("install", env.Install(env['libdir'], clientlib)) |
|
|
|
|
|
|
|
|
#for old_name in lib_files: |
|
|
#for old_name in lib_files: |
|
|
#new_name = old_name + '.up' |
|
|
#new_name = old_name + '.up' |
|
|
#print "moving old jack lib %s to %s..." % (old_name, new_name) |
|
|
#print "moving old jack lib %s to %s..." % (old_name, new_name) |
|
|
#env.Command(new_name, old_name, Move("$TARGET", "$SOURCE")) |
|
|
#env.Command(new_name, old_name, Move("$TARGET", "$SOURCE")) |
|
|
#print " linking to %s..." % (libjackdmp_location) |
|
|
#print " linking to %s..." % (libjackdmp_location) |
|
|
#env.Command(old_name, libjackdmp_location, "ln -s $TARGET $SOURCE") |
|
|
|
|
|
|
|
|
#env.Command(old_name, libjackdmp_location, "ln -s $TARGET $SOURCE") |