git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1726 0c269be4-1314-0410-8aa9-9f06e86f4224tags/0.69
@@ -0,0 +1,313 @@ | |||
# | |||
# Copyright (C) 2007 Arnold Krille | |||
# Copyright (C) 2007 Pieter Palmers | |||
# | |||
# This file originally was part of FFADO | |||
# | |||
# This program is free software: you can redistribute it and/or modify | |||
# it under the terms of the GNU General Public License as published by | |||
# the Free Software Foundation, either version 3 of the License, or | |||
# (at your option) any later version. | |||
# | |||
# This program is distributed in the hope that it will be useful, | |||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
# GNU General Public License for more details. | |||
# | |||
# You should have received a copy of the GNU General Public License | |||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
# | |||
import os | |||
import glob | |||
from string import Template | |||
Import( 'env' ) | |||
# paths where include files can be found | |||
env.AppendUnique( CPPPATH=["#/", "#/common", "#/common/jack"] ) | |||
# | |||
# 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 \ | |||
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 \ | |||
') | |||
# FIXME: this is not pretty | |||
srcfiles_common_serverlib.append('#/example-clients/internal_metro.cpp') | |||
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') | |||
# | |||
# Start building | |||
# | |||
#pkgconfig = env.ScanReplace( "libjackmp.pc.in" ) | |||
#env.Install( env['libdir'] + '/pkgconfig', pkgconfig ) | |||
env.AppendUnique( LIBS=["rt", "pthread"] ) | |||
# 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 ) | |||
# install the headers | |||
#if env['JACK_FLAGS']: | |||
#jack_include_dir = env['JACK_INCLUDEDIR'] | |||
#if 'install' in COMMAND_LINE_TARGETS and os.path.isdir( jack_include_dir ): | |||
#if env.GetOption('clean'): | |||
#pass | |||
#else: | |||
#jack_old_includes_dir = env['includedir'] + '/jack_up' | |||
#print "moving old jack includes to %s..." % jack_old_includes_dir | |||
#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 | |||
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'] | |||
#libjackdmp_location = env['libdir'] + '/libjackmp.so' | |||
#if 'install' in COMMAND_LINE_TARGETS and os.path.isdir( jack_libdir ): | |||
#if env.GetOption('clean'): | |||
##note: is this executed before the actual uninstall? | |||
#lib_files = glob.glob(jack_libdir + '/libjack.so.*.up') | |||
#for old_name in lib_files: | |||
#new_name = old_name[:-3] | |||
#print "restoring old jack lib %s to %s..." % (old_name, new_name) | |||
#env.Command(Delete(new_name)) | |||
#env.Command(new_name, old_name, Move("$TARGET", "$SOURCE")) | |||
#else: | |||
#lib_files = glob.glob(jack_libdir + '/libjack.so.*') | |||
#env.Alias("install", env.Install(env['libdir'], serverlib)) | |||
#env.Alias("install", env.Install(env['libdir'], clientlib)) | |||
#for old_name in lib_files: | |||
#new_name = old_name + '.up' | |||
#print "moving old jack lib %s to %s..." % (old_name, new_name) | |||
#env.Command(new_name, old_name, Move("$TARGET", "$SOURCE")) | |||
#print " linking to %s..." % (libjackdmp_location) | |||
#env.Command(old_name, libjackdmp_location, "ln -s $TARGET $SOURCE") | |||
# | |||
# Copyright (C) 2007 Arnold Krille | |||
# Copyright (C) 2007 Pieter Palmers | |||
# | |||
# This file originally was part of FFADO | |||
# | |||
# This program is free software: you can redistribute it and/or modify | |||
# it under the terms of the GNU General Public License as published by | |||
# the Free Software Foundation, either version 3 of the License, or | |||
# (at your option) any later version. | |||
# | |||
# This program is distributed in the hope that it will be useful, | |||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
# GNU General Public License for more details. | |||
# | |||
# You should have received a copy of the GNU General Public License | |||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
# | |||
import os | |||
import glob | |||
from string import Template | |||
Import( 'env' ) | |||
# paths where include files can be found | |||
env.AppendUnique( CPPPATH=["#/", "#/common", "#/common/jack"] ) | |||
# | |||
# 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 \ | |||
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 \ | |||
') | |||
# FIXME: this is not pretty | |||
srcfiles_common_serverlib.append('#/example-clients/internal_metro.cpp') | |||
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') | |||
# | |||
# Start building | |||
# | |||
#pkgconfig = env.ScanReplace( "libjackmp.pc.in" ) | |||
#env.Install( env['libdir'] + '/pkgconfig', pkgconfig ) | |||
env.AppendUnique( LIBS=["rt", "pthread"] ) | |||
# 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 ) | |||
# install the headers | |||
#if env['JACK_FLAGS']: | |||
#jack_include_dir = env['JACK_INCLUDEDIR'] | |||
#if 'install' in COMMAND_LINE_TARGETS and os.path.isdir( jack_include_dir ): | |||
#if env.GetOption('clean'): | |||
#pass | |||
#else: | |||
#jack_old_includes_dir = env['includedir'] + '/jack_up' | |||
#print "moving old jack includes to %s..." % jack_old_includes_dir | |||
#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 | |||
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'] | |||
#libjackdmp_location = env['libdir'] + '/libjackmp.so' | |||
#if 'install' in COMMAND_LINE_TARGETS and os.path.isdir( jack_libdir ): | |||
#if env.GetOption('clean'): | |||
##note: is this executed before the actual uninstall? | |||
#lib_files = glob.glob(jack_libdir + '/libjack.so.*.up') | |||
#for old_name in lib_files: | |||
#new_name = old_name[:-3] | |||
#print "restoring old jack lib %s to %s..." % (old_name, new_name) | |||
#env.Command(Delete(new_name)) | |||
#env.Command(new_name, old_name, Move("$TARGET", "$SOURCE")) | |||
#else: | |||
#lib_files = glob.glob(jack_libdir + '/libjack.so.*') | |||
#env.Alias("install", env.Install(env['libdir'], serverlib)) | |||
#env.Alias("install", env.Install(env['libdir'], clientlib)) | |||
#for old_name in lib_files: | |||
#new_name = old_name + '.up' | |||
#print "moving old jack lib %s to %s..." % (old_name, new_name) | |||
#env.Command(new_name, old_name, Move("$TARGET", "$SOURCE")) | |||
#print " linking to %s..." % (libjackdmp_location) | |||
#env.Command(old_name, libjackdmp_location, "ln -s $TARGET $SOURCE") | |||
# -*- python -*- | |||
import os | |||
import os.path | |||
import glob | |||
#Import('env') | |||
#CPPPATH = ['macosx', 'common'] | |||
objects_common_server_lib=Split(""" | |||
JackActivationCount.cpp | |||
JackAPI.cpp | |||
JackAudioDriver.cpp | |||
JackClient.cpp | |||
JackConnectionManager.cpp | |||
JackDriver.cpp | |||
JackEngine.cpp | |||
JackEngineTiming.cpp | |||
JackError.cpp | |||
JackExternalClient.cpp | |||
JackFrameTimer.cpp | |||
JackFreewheelDriver.o | |||
JackGlobalsServer.cpp | |||
JackGraphManager.cpp | |||
JackInternalClient.cpp | |||
JackPort.cpp | |||
JackPosixSemaphore.cpp | |||
JackPosixThread.cpp | |||
JackFifo.cpp | |||
JackLoopbackDriver.cpp | |||
JackServer.cpp | |||
JackShmMem.cpp | |||
JackThreadedDriver.cpp | |||
shm.c | |||
JackSocket.cpp | |||
JackSocketServerChannel.cpp | |||
JackSocketNotifyChannel.cpp | |||
JackSocketServerNotifyChannel.cpp | |||
JackTime.cpp | |||
JackServerAPI.cpp | |||
JackGlobals.cpp | |||
JackDriverLoader.cpp | |||
internal_metro.cpp | |||
JackDebugClient.cpp | |||
JackTransportEngine.cpp | |||
JackServerGlobals.o | |||
""") | |||
objects_common_client_lib =Split(""" | |||
JackActivationCount.cpp | |||
JackAPI.cpp | |||
JackClient.cpp | |||
JackConnectionManager.cpp | |||
ringbuffer.cpp | |||
JackError.cpp | |||
JackFrameTimer.cpp | |||
JackGlobalsClient.cpp | |||
JackGraphManager.cpp | |||
JackLibClient.cpp | |||
JackLibAPI.cpp | |||
JackPort.cpp | |||
JackPosixSemaphore.cpp | |||
JackFifo.cpp | |||
JackPosixThread.cpp | |||
JackShmMem.cpp | |||
shm.c | |||
JackSocket.cpp | |||
JackSocketClientChannel.cpp | |||
JackTime.cpp | |||
JackGlobals.cpp | |||
JackDebugClient.cpp | |||
JackTransportEngine.cpp | |||
""") | |||
SharedLibrary('libjackdmp', objects_common_server_lib, CPPPATH = ['.','../macosx','jack'], CXXFLAGS=["-O3"]) | |||
SharedLibrary('libjackmp', objects_common_client_lib, CPPPATH = ['.','../macosx','jack'], CXXFLAGS=["-O3"]) |
@@ -0,0 +1,172 @@ | |||
# | |||
# Copyright (C) 2007 Arnold Krille | |||
# Copyright (C) 2007 Pieter Palmers | |||
# | |||
# This file originates from FFADO (www.ffado.org) | |||
# | |||
# This program is free software: you can redistribute it and/or modify | |||
# it under the terms of the GNU General Public License as published by | |||
# the Free Software Foundation, either version 3 of the License, or | |||
# (at your option) any later version. | |||
# | |||
# This program is distributed in the hope that it will be useful, | |||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
# GNU General Public License for more details. | |||
# | |||
# You should have received a copy of the GNU General Public License | |||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
# | |||
import os | |||
from string import Template | |||
Import( 'env' ) | |||
# paths where include files can be found | |||
env.AppendUnique( CPPPATH=["#/", "#/common"] ) | |||
# | |||
# Define the source files | |||
# | |||
example_client_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", | |||
} | |||
example_client_libs = { | |||
"inprocess" : "inprocess.c", | |||
} | |||
# link extra libs? | |||
extra_libs = {} | |||
for example_client_program in example_client_programs.keys(): | |||
extra_libs[example_client_program] = ["jackdmp", "dl"] | |||
# special cases | |||
extra_libs["jack_load"] = ["jackmp"] | |||
extra_libs["jack_unload"] = ["jackmp"] | |||
env['HAS_READLINE']=True | |||
if env['HAS_READLINE']: | |||
extra_libs["jack_transport"] = ["readline", "jackdmp", "dl"] | |||
example_client_programs["jack_transport"] = "transport.c" | |||
# | |||
# Start building | |||
# | |||
# build the example clients | |||
if env['BUILD_EXAMPLES']: | |||
clientenv = env.Copy() | |||
clientenv.PrependUnique( LIBPATH=env['build_base'] ) | |||
for example_client_program in example_client_programs.keys(): | |||
clientenv.Program(target=example_client_program, | |||
source=env.Split( example_client_programs[example_client_program]), | |||
LIBS=extra_libs[example_client_program] ) | |||
if env['INSTALL_EXAMPLES']: | |||
clientenv.Install( "$bindir", example_client_program ) | |||
for example_client_lib in example_client_libs.keys(): | |||
clientenv.SharedLibrary(target=example_client_lib, | |||
source=env.Split( example_client_libs[example_client_lib] ) ) | |||
if env['INSTALL_EXAMPLES']: | |||
#clientenv.Install( "$libdir", example_client_lib ) | |||
pass | |||
# | |||
# Copyright (C) 2007 Arnold Krille | |||
# Copyright (C) 2007 Pieter Palmers | |||
# | |||
# This file originates from FFADO (www.ffado.org) | |||
# | |||
# This program is free software: you can redistribute it and/or modify | |||
# it under the terms of the GNU General Public License as published by | |||
# the Free Software Foundation, either version 3 of the License, or | |||
# (at your option) any later version. | |||
# | |||
# This program is distributed in the hope that it will be useful, | |||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
# GNU General Public License for more details. | |||
# | |||
# You should have received a copy of the GNU General Public License | |||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
# | |||
import os | |||
from string import Template | |||
Import( 'env' ) | |||
# paths where include files can be found | |||
env.AppendUnique( CPPPATH=["#/", "#/common"] ) | |||
# | |||
# Define the source files | |||
# | |||
example_client_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", | |||
} | |||
example_client_libs = { | |||
"inprocess" : "inprocess.c", | |||
} | |||
# link extra libs? | |||
extra_libs = {} | |||
for example_client_program in example_client_programs.keys(): | |||
extra_libs[example_client_program] = ["jackdmp", "dl"] | |||
# special cases | |||
extra_libs["jack_load"] = ["jackmp"] | |||
extra_libs["jack_unload"] = ["jackmp"] | |||
env['HAS_READLINE']=True | |||
if env['HAS_READLINE']: | |||
extra_libs["jack_transport"] = ["readline", "jackdmp", "dl"] | |||
example_client_programs["jack_transport"] = "transport.c" | |||
# | |||
# Start building | |||
# | |||
# build the example clients | |||
if env['BUILD_EXAMPLES']: | |||
clientenv = env.Copy() | |||
clientenv.PrependUnique( LIBPATH=env['build_base'] ) | |||
for example_client_program in example_client_programs.keys(): | |||
clientenv.Program(target=example_client_program, | |||
source=env.Split( example_client_programs[example_client_program]), | |||
LIBS=extra_libs[example_client_program] ) | |||
if env['INSTALL_EXAMPLES']: | |||
clientenv.Install( "$bindir", example_client_program ) | |||
for example_client_lib in example_client_libs.keys(): | |||
clientenv.SharedLibrary(target=example_client_lib, | |||
source=env.Split( example_client_libs[example_client_lib] ) ) | |||
if env['INSTALL_EXAMPLES']: | |||
#clientenv.Install( "$libdir", example_client_lib ) | |||
pass |
@@ -0,0 +1,156 @@ | |||
# | |||
# Copyright (C) 2007 Arnold Krille | |||
# Copyright (C) 2007 Pieter Palmers | |||
# | |||
# This file originates from FFADO (www.ffado.org) | |||
# | |||
# This program is free software: you can redistribute it and/or modify | |||
# it under the terms of the GNU General Public License as published by | |||
# the Free Software Foundation, either version 3 of the License, or | |||
# (at your option) any later version. | |||
# | |||
# This program is distributed in the hope that it will be useful, | |||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
# GNU General Public License for more details. | |||
# | |||
# You should have received a copy of the GNU General Public License | |||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
# | |||
import os | |||
from string import Template | |||
Import( 'env' ) | |||
# paths where include files can be found | |||
env.AppendUnique( CPPPATH=["#/", "#/common", "#/common/jack", "#/linux"] ) | |||
# | |||
# Define the source files | |||
# | |||
srcfiles_linux_server = ['#/common/Jackdmp.cpp'] | |||
srcfiles_linux_alsa = env.Split( '\ | |||
JackAlsaDriver.cpp memops.c generic_hw.c hdsp.c hammerfall.c ice1712.c') | |||
for i in range(len(srcfiles_linux_alsa)): | |||
srcfiles_linux_alsa[i] = 'alsa/%s' % srcfiles_linux_alsa[i] | |||
srcfiles_linux_freebob = ['freebob/JackFreebobDriver.cpp'] | |||
srcfiles_linux_ffado = ['firewire/JackFFADODriver.cpp'] | |||
srcfiles_linux_dummy = ['#/common/JackDummyDriver.cpp'] | |||
# | |||
# Start building | |||
# | |||
#pkgconfig = env.ScanReplace( "libjackmp.pc.in" ) | |||
#env.Install( env['libdir'] + '/pkgconfig', pkgconfig ) | |||
# build the server and its backends | |||
serverenv = env.Copy() | |||
serverenv.PrependUnique( LIBPATH=env['build_base'] ) | |||
serverenv.PrependUnique( LIBS=["jackdmp", "dl"] ) | |||
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 ) | |||
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 ) | |||
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 ) | |||
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 ) | |||
# | |||
# Copyright (C) 2007 Arnold Krille | |||
# Copyright (C) 2007 Pieter Palmers | |||
# | |||
# This file originates from FFADO (www.ffado.org) | |||
# | |||
# This program is free software: you can redistribute it and/or modify | |||
# it under the terms of the GNU General Public License as published by | |||
# the Free Software Foundation, either version 3 of the License, or | |||
# (at your option) any later version. | |||
# | |||
# This program is distributed in the hope that it will be useful, | |||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
# GNU General Public License for more details. | |||
# | |||
# You should have received a copy of the GNU General Public License | |||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
# | |||
import os | |||
from string import Template | |||
Import( 'env' ) | |||
# paths where include files can be found | |||
env.AppendUnique( CPPPATH=["#/", "#/common", "#/common/jack", "#/linux"] ) | |||
# | |||
# Define the source files | |||
# | |||
srcfiles_linux_server = ['#/common/Jackdmp.cpp'] | |||
srcfiles_linux_alsa = env.Split( '\ | |||
JackAlsaDriver.cpp memops.c generic_hw.c hdsp.c hammerfall.c ice1712.c') | |||
for i in range(len(srcfiles_linux_alsa)): | |||
srcfiles_linux_alsa[i] = 'alsa/%s' % srcfiles_linux_alsa[i] | |||
srcfiles_linux_freebob = ['freebob/JackFreebobDriver.cpp'] | |||
srcfiles_linux_ffado = ['firewire/JackFFADODriver.cpp'] | |||
srcfiles_linux_dummy = ['#/common/JackDummyDriver.cpp'] | |||
# | |||
# Start building | |||
# | |||
#pkgconfig = env.ScanReplace( "libjackmp.pc.in" ) | |||
#env.Install( env['libdir'] + '/pkgconfig', pkgconfig ) | |||
# build the server and its backends | |||
serverenv = env.Copy() | |||
serverenv.PrependUnique( LIBPATH=env['build_base'] ) | |||
serverenv.PrependUnique( LIBS=["jackdmp", "dl"] ) | |||
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 ) | |||
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 ) | |||
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 ) | |||
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 ) |
@@ -0,0 +1,104 @@ | |||
# | |||
# Copyright (C) 2007 Arnold Krille | |||
# Copyright (C) 2007 Pieter Palmers | |||
# | |||
# This file originates from FFADO (www.ffado.org) | |||
# | |||
# This program is free software: you can redistribute it and/or modify | |||
# it under the terms of the GNU General Public License as published by | |||
# the Free Software Foundation, either version 3 of the License, or | |||
# (at your option) any later version. | |||
# | |||
# This program is distributed in the hope that it will be useful, | |||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
# GNU General Public License for more details. | |||
# | |||
# You should have received a copy of the GNU General Public License | |||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
# | |||
import os | |||
from string import Template | |||
Import( 'env' ) | |||
# paths where include files can be found | |||
env.AppendUnique( CPPPATH=["#/", "#/common"] ) | |||
# | |||
# Define the source files | |||
# | |||
test_programs = { | |||
"synchroClient" : "testSynchroClient.cpp #/common/JackPosixSemaphore.cpp #/common/JackPosixThread.cpp #/common/JackError.c #/common/JackFifo.cpp", | |||
"synchroServer" : "testSynchroServer.cpp #/common/JackPosixSemaphore.cpp #/common/JackPosixThread.cpp #/common/JackError.c #/common/JackFifo.cpp", | |||
"synchroServerClient" : "testSynchroServerClient.cpp #/common/JackPosixSemaphore.cpp #/common/JackPosixThread.cpp #/common/JackError.c #/common/JackFifo.cpp #/common/JackPthreadCond.cpp", | |||
"testSem" : "testSem.cpp #/common/JackPosixSemaphore.cpp #/common/JackPosixThread.cpp #/common/JackError.c #/common/JackFifo.cpp", | |||
"jack_test" : "jack_test.cpp", | |||
} | |||
# | |||
# Start building | |||
# | |||
# build the tests | |||
testenv = env.Copy() | |||
testenv.PrependUnique( LIBPATH=env['build_base'] ) | |||
testenv.PrependUnique( LIBS="jackmp" ) | |||
for test_program in test_programs.keys(): | |||
testenv.Program(target=test_program, | |||
source=env.Split( test_programs[test_program] ) ) | |||
# | |||
# Copyright (C) 2007 Arnold Krille | |||
# Copyright (C) 2007 Pieter Palmers | |||
# | |||
# This file originates from FFADO (www.ffado.org) | |||
# | |||
# This program is free software: you can redistribute it and/or modify | |||
# it under the terms of the GNU General Public License as published by | |||
# the Free Software Foundation, either version 3 of the License, or | |||
# (at your option) any later version. | |||
# | |||
# This program is distributed in the hope that it will be useful, | |||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
# GNU General Public License for more details. | |||
# | |||
# You should have received a copy of the GNU General Public License | |||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
# | |||
import os | |||
from string import Template | |||
Import( 'env' ) | |||
# paths where include files can be found | |||
env.AppendUnique( CPPPATH=["#/", "#/common"] ) | |||
# | |||
# Define the source files | |||
# | |||
test_programs = { | |||
"synchroClient" : "testSynchroClient.cpp #/common/JackPosixSemaphore.cpp #/common/JackPosixThread.cpp #/common/JackError.c #/common/JackFifo.cpp", | |||
"synchroServer" : "testSynchroServer.cpp #/common/JackPosixSemaphore.cpp #/common/JackPosixThread.cpp #/common/JackError.c #/common/JackFifo.cpp", | |||
"synchroServerClient" : "testSynchroServerClient.cpp #/common/JackPosixSemaphore.cpp #/common/JackPosixThread.cpp #/common/JackError.c #/common/JackFifo.cpp #/common/JackPthreadCond.cpp", | |||
"testSem" : "testSem.cpp #/common/JackPosixSemaphore.cpp #/common/JackPosixThread.cpp #/common/JackError.c #/common/JackFifo.cpp", | |||
"jack_test" : "jack_test.cpp", | |||
} | |||
# | |||
# Start building | |||
# | |||
# build the tests | |||
testenv = env.Copy() | |||
testenv.PrependUnique( LIBPATH=env['build_base'] ) | |||
testenv.PrependUnique( LIBS="jackmp" ) | |||
for test_program in test_programs.keys(): | |||
testenv.Program(target=test_program, | |||
source=env.Split( test_programs[test_program] ) ) |