Browse Source

Nedko Arnaudov FULL_MIMIC patch.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1953 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.71
sletz 17 years ago
parent
commit
dab58a35ef
16 changed files with 175 additions and 107 deletions
  1. +1
    -0
      ChangeLog
  2. +19
    -2
      SConstruct
  3. +63
    -24
      common/JackAPIWrapper.cpp
  4. +17
    -18
      common/JackDriverLoader.cpp
  5. +1
    -1
      common/JackError.c
  6. +7
    -7
      common/JackLibAPI.cpp
  7. +9
    -9
      common/JackServerAPI.cpp
  8. +1
    -1
      common/JackServerLaunch.cpp
  9. +1
    -1
      common/JackServerLaunch.h
  10. +13
    -12
      common/SConscript
  11. +2
    -2
      example-clients/SConscript
  12. +3
    -3
      linux/Makefile
  13. +10
    -5
      linux/SConscript
  14. +1
    -1
      linux/alsa/alsa_midi_impl.h
  15. +24
    -18
      macosx/Jackdmp.xcodeproj/project.pbxproj
  16. +3
    -3
      macosx/SConscript

+ 1
- 0
ChangeLog View File

@@ -22,6 +22,7 @@ Nedko Arnaudov
2008-03-12 Stephane Letz <letz@grame.fr> 2008-03-12 Stephane Letz <letz@grame.fr>
* Marc-Olivier Barre library related scons patch. * Marc-Olivier Barre library related scons patch.
* Nedko Arnaudov FULL_MIMIC patch.


2008-03-11 Stephane Letz <letz@grame.fr> 2008-03-11 Stephane Letz <letz@grame.fr>


+ 19
- 2
SConstruct View File

@@ -59,6 +59,7 @@ opts.AddOptions(
BoolOption('BUILD_EXAMPLES', 'Build the example clients in their directory', True), BoolOption('BUILD_EXAMPLES', 'Build the example clients in their directory', True),
BoolOption('INSTALL_EXAMPLES', 'Install the example clients in the BINDIR directory', True), BoolOption('INSTALL_EXAMPLES', 'Install the example clients in the BINDIR directory', True),
BoolOption('BUILD_DOXYGEN_DOCS', 'Build doxygen documentation', False), BoolOption('BUILD_DOXYGEN_DOCS', 'Build doxygen documentation', False),
BoolOption('FULL_MIMIC', 'Mimic jack-1.0 installation layout as much as possible', False),
) )


# #
@@ -167,15 +168,31 @@ else:
env.AppendUnique(CCFLAGS = ['-fPIC', '-DSOCKET_RPC_FIFO_SEMA', '-D__SMP__']) env.AppendUnique(CCFLAGS = ['-fPIC', '-DSOCKET_RPC_FIFO_SEMA', '-D__SMP__'])
env.AppendUnique(CFLAGS = ['-fPIC', '-DUSE_POSIX_SHM']) env.AppendUnique(CFLAGS = ['-fPIC', '-DUSE_POSIX_SHM'])


# used for alsa midi code, probably this define should be removed
env.AppendUnique(CFLAGS = ['-DJACKMP'])
env.AppendUnique(CPPFLAGS = ['-DJACKMP'])

env.Alias('install', env['LIBDIR']) env.Alias('install', env['LIBDIR'])
env.Alias('install', env['INCLUDEDIR']) env.Alias('install', env['INCLUDEDIR'])
env.Alias('install', env['BINDIR']) env.Alias('install', env['BINDIR'])


if env['FULL_MIMIC']:
env['SERVER'] = 'jackd'
env['CLIENTLIB'] = 'jack'
env['SERVERLIB'] = 'jackserver'
env['WRAPPERLIB'] = 'jackwrapper'
env['ADDON_DIR'] = env.subst(env['LIBDIR']) + "/jack"
else:
env['SERVER'] = 'jackdmp'
env['CLIENTLIB'] = 'jackmp'
env['SERVERLIB'] = 'jackservermp'
env['WRAPPERLIB'] = 'jackwrapper'
env['ADDON_DIR'] = env.subst(env['LIBDIR']) + "/jackmp"

# for config.h.in # for config.h.in
# TODO: Is that necessary ? # TODO: Is that necessary ?
env['ADDON_DIR']='%s' % env['PREFIX']
env['LIB_DIR']='lib' env['LIB_DIR']='lib'
env['JACK_LOCATION']='%s' % env['BINDIR']
env['JACK_LOCATION']=env.subst(env['BINDIR'])


# To have the top_srcdir as the doxygen-script is used from auto* # To have the top_srcdir as the doxygen-script is used from auto*
# TODO: Understand the previous comment # TODO: Understand the previous comment


+ 63
- 24
common/JackAPIWrapper.cpp View File

@@ -20,6 +20,13 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#include "types.h" #include "types.h"
#include "jack.h" #include "jack.h"
#include "JackExports.h" #include "JackExports.h"

// TODO
//#include "varargs.h"
//#include "JackTools.h"
//#include "JackConstants.h"
//#include "JackServerLaunch.h"

#include <dlfcn.h> #include <dlfcn.h>
#include <stdarg.h> #include <stdarg.h>
#include <stdio.h> #include <stdio.h>
@@ -206,6 +213,9 @@ extern "C"
} }
#endif #endif


// TODO
//using namespace Jack;

#define JACK_LIB "libjack.so.0.0" #define JACK_LIB "libjack.so.0.0"
#define JACKMP_LIB "libjackmp.so" #define JACKMP_LIB "libjackmp.so"


@@ -991,35 +1001,64 @@ EXPORT jack_status_t jack_internal_client_unload(jack_client_t* ext_client, jack
} }




typedef jack_client_t * (*jack_client_open_aux_fun_def)(const char *client_name, jack_options_t options, jack_status_t *status, va_list ap);
typedef jack_client_t * (*jack_client_open_aux_fun_def)(const char *ext_client_name, jack_options_t options, jack_status_t *status, va_list ap);
static jack_client_open_aux_fun_def jack_client_open_aux_fun = 0; static jack_client_open_aux_fun_def jack_client_open_aux_fun = 0;
EXPORT jack_client_t * jack_client_open(const char *client_name, jack_options_t options, jack_status_t *status, ...)
EXPORT jack_client_t * jack_client_open(const char *ext_client_name, jack_options_t options, jack_status_t *status, ...)
{ {
// TODO : in "autostart mode", has to load jackdrc file and figure out which server has to be started...
jack_log("jack_client_open"); jack_log("jack_client_open");
/*
va_list ap;
va_start (ap, status);
if (try_start_server(&va, options, status)) {
jack_error("jack server is not running or cannot be started");
JackLibGlobals::Destroy(); // jack library destruction
return 0;
}
// Library check...
if (open_library()) {
va_list ap;
va_start(ap, status);
jack_client_t* res = (*jack_client_open_aux_fun)(ext_client_name, options, status, ap);
va_end(ap);
return res;
} else {
va_end (ap);
*/
/*
jack_varargs_t va; // variable arguments
jack_status_t my_status;
char client_name[JACK_CLIENT_NAME_SIZE];
if (ext_client_name == NULL) {
jack_log("jack_client_open called with a NULL client_name");
return NULL;
}
JackTools::RewriteName(ext_client_name, client_name);

if (status == NULL) // no status from caller?
status = &my_status; // use local status word
*status = (jack_status_t)0;

// validate parameters
if ((options & ~JackOpenOptions)) {
int my_status1 = *status | (JackFailure | JackInvalidOption);
*status = (jack_status_t)my_status1;
return NULL;
}

// parse variable arguments
va_list ap;
va_start(ap, status);
jack_varargs_parse(options, ap, &va);
va_end(ap);
// Library check...
if (!open_library())
return 0;

va_list ap;
va_start(ap, status);
jack_client_t* res = (*jack_client_open_aux_fun)(client_name, options, status, ap);
va_end(ap);
return res;
if (start_server(va.server_name, options)) {
return NULL;
} else if (open_library()) {
va_list ap;
va_start(ap, status);
jack_client_t* res = (*jack_client_open_aux_fun)(ext_client_name, options, status, ap);
va_end(ap);
return res;
} else {
return NULL;
}
*/
return NULL;
}
} }


typedef jack_client_t * (*jack_client_new_fun_def)(const char *client_name); typedef jack_client_t * (*jack_client_new_fun_def)(const char *client_name);
@@ -1095,7 +1134,7 @@ static bool check_client(void* library)
// Try opening a client... // Try opening a client...
if ((client = (*jack_client_new_fun)("dummy"))) { // server is running.... if ((client = (*jack_client_new_fun)("dummy"))) { // server is running....
jack_log("check_client 1 %x", jack_client_close_fun);
jack_log("check_client 1 %x", jack_client_close_fun);
(*jack_client_close_fun)(client); (*jack_client_close_fun)(client);
jack_log("check_client 2"); jack_log("check_client 2");
return true; return true;


+ 17
- 18
common/JackDriverLoader.cpp View File

@@ -256,26 +256,21 @@ jack_drivers_get_descriptor (JSList * drivers, const char * sofile)
#endif #endif


int err; int err;
/*
char* driver_dir; char* driver_dir;
if ((driver_dir = getenv("JACK_DRIVER_DIR")) == 0) {
driver_dir = ADDON_DIR;
}
*/


if ((driver_dir = getenv("JACK_DRIVER_DIR")) == 0) {
// for WIN32 ADDON_DIR is defined in JackConstants.h as relative path
// for posix systems, it is absolute path of default driver dir
#ifdef WIN32 #ifdef WIN32
char* driver_dir = ADDON_DIR;
if (strcmp(ADDON_DIR, "") == 0) {
char temp_driver_dir1[512]; char temp_driver_dir1[512];
char temp_driver_dir2[512]; char temp_driver_dir2[512];
GetCurrentDirectory(512, temp_driver_dir1); GetCurrentDirectory(512, temp_driver_dir1);
sprintf(temp_driver_dir2, "%s/%s", temp_driver_dir1, ADDON_DIR); sprintf(temp_driver_dir2, "%s/%s", temp_driver_dir1, ADDON_DIR);
driver_dir = temp_driver_dir2; driver_dir = temp_driver_dir2;
}
#else #else
char driver_dir[512];
snprintf(driver_dir, sizeof(driver_dir) - 1, "%s/%s/jackmp", ADDON_DIR, LIB_DIR);
driver_dir = ADDON_DIR;
#endif #endif
}


filename = (char *)malloc(strlen (driver_dir) + 1 + strlen(sofile) + 1); filename = (char *)malloc(strlen (driver_dir) + 1 + strlen(sofile) + 1);
sprintf (filename, "%s/%s", driver_dir, sofile); sprintf (filename, "%s/%s", driver_dir, sofile);
@@ -346,7 +341,8 @@ jack_drivers_get_descriptor (JSList * drivers, const char * sofile)


EXPORT JSList * EXPORT JSList *
jack_drivers_load (JSList * drivers) { jack_drivers_load (JSList * drivers) {
char driver_dir[512];
char * driver_dir;
char driver_dir_storage[512];
char dll_filename[512]; char dll_filename[512];
WIN32_FIND_DATA filedata; WIN32_FIND_DATA filedata;
HANDLE file; HANDLE file;
@@ -354,9 +350,16 @@ jack_drivers_load (JSList * drivers) {
JSList * driver_list = NULL; JSList * driver_list = NULL;
jack_driver_desc_t * desc; jack_driver_desc_t * desc;


GetCurrentDirectory(512, driver_dir);
if ((driver_dir = getenv("JACK_DRIVER_DIR")) == 0) {
// for WIN32 ADDON_DIR is defined in JackConstants.h as relative path
GetCurrentDirectory(512, driver_dir_storage);
strcat(driver_dir_storage, "/");
strcat(driver_dir_storage, ADDON_DIR);
driver_dir = driver_dir_storage;
}

sprintf(dll_filename, "%s/*.dll", driver_dir);


sprintf(dll_filename, "%s/%s", ADDON_DIR, "*.dll");
file = (HANDLE )FindFirstFile(dll_filename, &filedata); file = (HANDLE )FindFirstFile(dll_filename, &filedata);


if (file == INVALID_HANDLE_VALUE) { if (file == INVALID_HANDLE_VALUE) {
@@ -400,14 +403,10 @@ jack_drivers_load (JSList * drivers) {
JSList * driver_list = NULL; JSList * driver_list = NULL;
jack_driver_desc_t * desc; jack_driver_desc_t * desc;


/*
char* driver_dir; char* driver_dir;
if ((driver_dir = getenv("JACK_DRIVER_DIR")) == 0) { if ((driver_dir = getenv("JACK_DRIVER_DIR")) == 0) {
driver_dir = ADDON_DIR;
driver_dir = ADDON_DIR;
} }
*/
char driver_dir[512];
snprintf(driver_dir, sizeof(driver_dir) - 1, "%s/%s/jackmp", ADDON_DIR, LIB_DIR);


/* search through the driver_dir and add get descriptors /* search through the driver_dir and add get descriptors
from the .so files in it */ from the .so files in it */


+ 1
- 1
common/JackError.c View File

@@ -79,7 +79,7 @@ EXPORT void jack_log(const char *fmt,...)
static void default_jack_error_callback(const char *desc) static void default_jack_error_callback(const char *desc)
{ {
fprintf(stderr, "%s\n", desc); fprintf(stderr, "%s\n", desc);
fflush(stdout);
fflush(stderr);
} }


static void default_jack_info_callback (const char *desc) static void default_jack_info_callback (const char *desc)


+ 7
- 7
common/JackLibAPI.cpp View File

@@ -61,6 +61,12 @@ EXPORT jack_client_t* jack_client_open_aux(const char* ext_client_name, jack_opt
JackClient* client; JackClient* client;
char client_name[JACK_CLIENT_NAME_SIZE]; char client_name[JACK_CLIENT_NAME_SIZE];


if (ext_client_name == NULL) {
jack_error("jack_client_open called with a NULL client_name");
return NULL;
}
jack_log("jack_client_open %s", ext_client_name);
JackTools::RewriteName(ext_client_name, client_name); JackTools::RewriteName(ext_client_name, client_name);


if (status == NULL) /* no status from caller? */ if (status == NULL) /* no status from caller? */
@@ -78,13 +84,7 @@ EXPORT jack_client_t* jack_client_open_aux(const char* ext_client_name, jack_opt
if (ap) if (ap)
jack_varargs_parse(options, ap, &va); jack_varargs_parse(options, ap, &va);


jack_log("jack_client_open %s", client_name);
if (client_name == NULL) {
jack_error("jack_client_open called with a NULL client_name");
return NULL;
}

JackLibGlobals::Init(); // jack library initialisation
JackLibGlobals::Init(); // jack library initialisation


#ifndef WIN32 #ifndef WIN32
if (try_start_server(&va, options, status)) { if (try_start_server(&va, options, status)) {


+ 9
- 9
common/JackServerAPI.cpp View File

@@ -62,8 +62,14 @@ EXPORT jack_client_t* jack_client_open_aux(const char* ext_client_name, jack_opt
jack_status_t my_status; jack_status_t my_status;
JackClient* client; JackClient* client;
char client_name[JACK_CLIENT_NAME_SIZE]; char client_name[JACK_CLIENT_NAME_SIZE];

JackTools::RewriteName(ext_client_name, client_name);
if (ext_client_name == NULL) {
jack_error("jack_client_open called with a NULL client_name");
return NULL;
}
jack_log("jack_client_open %s", ext_client_name);
JackTools::RewriteName(ext_client_name, client_name);


if (status == NULL) /* no status from caller? */ if (status == NULL) /* no status from caller? */
status = &my_status; /* use local status word */ status = &my_status; /* use local status word */
@@ -79,13 +85,7 @@ EXPORT jack_client_t* jack_client_open_aux(const char* ext_client_name, jack_opt
/* parse variable arguments */ /* parse variable arguments */
if (ap) if (ap)
jack_varargs_parse(options, ap, &va); jack_varargs_parse(options, ap, &va);
jack_log("jack_client_open %s", client_name);
if (client_name == NULL) {
jack_error("jack_client_open called with a NULL client_name");
return NULL;
}

if (!JackServerGlobals::Init()) { // jack server initialisation if (!JackServerGlobals::Init()) { // jack server initialisation
int my_status1 = (JackFailure | JackServerError); int my_status1 = (JackFailure | JackServerError);
*status = (jack_status_t)my_status1; *status = (jack_status_t)my_status1;


+ 1
- 1
common/JackServerLaunch.cpp View File

@@ -114,7 +114,7 @@ static void start_server_aux(const char* server_name)
fprintf(stderr, "exec of JACK server (command = \"%s\") failed: %s\n", command, strerror(errno)); fprintf(stderr, "exec of JACK server (command = \"%s\") failed: %s\n", command, strerror(errno));
} }


static int start_server(const char* server_name, jack_options_t options)
int start_server(const char* server_name, jack_options_t options)
{ {
if ((options & JackNoStartServer) || getenv("JACK_NO_START_SERVER")) { if ((options & JackNoStartServer) || getenv("JACK_NO_START_SERVER")) {
return 1; return 1;


+ 1
- 1
common/JackServerLaunch.h View File

@@ -23,9 +23,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


#include "varargs.h" #include "varargs.h"
#include "types.h" #include "types.h"
//#include "jack/types.h"


int server_connect(char* name); int server_connect(char* name);
int try_start_server(jack_varargs_t* va, jack_options_t options, jack_status_t* status); int try_start_server(jack_varargs_t* va, jack_options_t options, jack_status_t* status);
int start_server(const char* server_name, jack_options_t options);


#endif #endif

+ 13
- 12
common/SConscript View File

@@ -41,11 +41,6 @@ env.AppendUnique(CPPPATH=['#/linux','#/macosx'])
# A symlinking command for our libraries' names # A symlinking command for our libraries' names
symlinkcmd = 'ln -nsf $SOURCE.name $TARGET' symlinkcmd = 'ln -nsf $SOURCE.name $TARGET'


# Library names
clientlib_name = 'jackmp'
serverlib_name = 'jackservermp'
wrapperlib_name = 'jackwrapper'

# #
# Source files section # Source files section
# #
@@ -130,10 +125,11 @@ srcfiles_common_clientlib = [
'JackTools.cpp' 'JackTools.cpp'
] ]


srcfiles_common_wrapperlib = [
'JackAPIWrapper.cpp',
'ringbuffer.c'
]
if not env['FULL_MIMIC']:
srcfiles_common_wrapperlib = [
'JackAPIWrapper.cpp',
'ringbuffer.c'
]


jack_headers = [ jack_headers = [
'intclient.h', 'intclient.h',
@@ -153,14 +149,19 @@ jack_headers = [
# Libraries # Libraries
clientlib = env.SharedLibrary(env['CLIENTLIB'], srcfiles_common_clientlib) clientlib = env.SharedLibrary(env['CLIENTLIB'], srcfiles_common_clientlib)
serverlib = env.SharedLibrary(env['SERVERLIB'], srcfiles_common_serverlib) serverlib = env.SharedLibrary(env['SERVERLIB'], srcfiles_common_serverlib)
wrapperlib = env.SharedLibrary(env['WRAPPERLIB'], srcfiles_common_wrapperlib)
env.Install( env['LIBDIR'], [clientlib, serverlib, wrapperlib])
env.Install( env['LIBDIR'], [clientlib, serverlib])
if not env['FULL_MIMIC']:
wrapperlib = env.SharedLibrary(env['WRAPPERLIB'], srcfiles_common_wrapperlib)
env.Install( env['LIBDIR'], [wrapperlib])
env.Alias('install', env['LIBDIR']) env.Alias('install', env['LIBDIR'])


# Handle the way we name libraries on a POSIX system # 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 # 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': if env['PLATFORM'] == 'posix':
for lib_name, lib in [(env['CLIENTLIB'], clientlib), (env['SERVERLIB'], serverlib), (env['WRAPPERLIB'], wrapperlib)]:
libs = [(env['CLIENTLIB'], clientlib), (env['SERVERLIB'], serverlib)]
if not env['FULL_MIMIC']:
libs.append((env['WRAPPERLIB'], wrapperlib))
for lib_name, lib in libs:
env.Command('#/common/lib' + lib_name + '.so.0', lib, symlinkcmd) 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('#/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.0', env['LIBDIR'] + '/lib' + lib_name + '.so.0.0', symlinkcmd)


+ 2
- 2
example-clients/SConscript View File

@@ -74,5 +74,5 @@ if env['BUILD_EXAMPLES']:
for example_lib, example_lib_source in example_libs.items(): for example_lib, example_lib_source in example_libs.items():
lib = clientenv.SharedLibrary(example_lib, example_lib_source) lib = clientenv.SharedLibrary(example_lib, example_lib_source)
if clientenv['INSTALL_EXAMPLES']: if clientenv['INSTALL_EXAMPLES']:
clientenv.InstallAs(clientenv['LIBDIR'] + '/jackmp/' + example_lib + '.so', lib)
clientenv.Alias('install', clientenv['LIBDIR'] + '/jackmp/' + example_lib + '.so')
clientenv.InstallAs(clientenv['ADDON_DIR'] + '/' + example_lib + '.so', lib)
clientenv.Alias('install', clientenv['ADDON_DIR'] + '/' + example_lib + '.so')

+ 3
- 3
linux/Makefile View File

@@ -55,13 +55,13 @@ objects_linux_firewire := JackFFADODriver.o
objects_linux_dummy := JackDummyDriver.o objects_linux_dummy := JackDummyDriver.o


CFLAGS := -g -O3 -fPIC -DJACKMP -DUSE_POSIX_SHM $(addprefix -I, $(subprojects)) $(CFLAGS) CFLAGS := -g -O3 -fPIC -DJACKMP -DUSE_POSIX_SHM $(addprefix -I, $(subprojects)) $(CFLAGS)
CXXFLAGS := -g -O3 -fPIC -DJACKMP -DSOCKET_RPC_FIFO_SEMA -D__SMP__ -DADDON_DIR=\"$(prefix)\" -DLIB_DIR=\"$(libdir)\" -DJACK_LOCATION=\"$(prefix)/bin\" $(addprefix -I, $(subprojects)) $(CXXFLAGS)
CXXFLAGS := -g -O3 -fPIC -DJACKMP -DSOCKET_RPC_FIFO_SEMA -D__SMP__ -DADDON_DIR=\"$(prefix)/$(libdir)/jackmp\" -DLIB_DIR=\"$(libdir)\" -DJACK_LOCATION=\"$(prefix)/bin\" $(addprefix -I, $(subprojects)) $(CXXFLAGS)


#CFLAGS := -g -fPIC -DUSE_POSIX_SHM $(addprefix -I, $(subprojects)) $(CFLAGS) #CFLAGS := -g -fPIC -DUSE_POSIX_SHM $(addprefix -I, $(subprojects)) $(CFLAGS)
#CXXFLAGS := -g -fPIC -DSOCKET_RPC_FIFO_SEMA -D__SMP__ -DADDON_DIR=\"$(prefix)\" -DLIB_DIR=\"$(libdir)\" -DJACK_LOCATION=\"$(prefix)/bin\" $(addprefix -I, $(subprojects)) $(CXXFLAGS)
#CXXFLAGS := -g -fPIC -DSOCKET_RPC_FIFO_SEMA -D__SMP__ -DADDON_DIR=\"$(prefix)/$(libdir)/jackmp\" -DLIB_DIR=\"$(libdir)\" -DJACK_LOCATION=\"$(prefix)/bin\" $(addprefix -I, $(subprojects)) $(CXXFLAGS)


# Use this line to compile with POSIX names semaphore # Use this line to compile with POSIX names semaphore
#CXXFLAGS := -g -O3 -fPIC -DSOCKET_RPC_POSIX_SEMA -D__SMP__ -DADDON_DIR=\"$(prefix)\" -DLIB_DIR=\"$(libdir)\" -DJACK_LOCATION=\"$(prefix)/bin\" $(addprefix -I, $(subprojects)) $(CXXFLAGS)
#CXXFLAGS := -g -O3 -fPIC -DSOCKET_RPC_POSIX_SEMA -D__SMP__ -DADDON_DIR=\"$(prefix)/$(libdir)/jackmp\" -DLIB_DIR=\"$(libdir)\" -DJACK_LOCATION=\"$(prefix)/bin\" $(addprefix -I, $(subprojects)) $(CXXFLAGS)


all : $(TARGET_LINUX_SERVER_LIB) $(TARGET_LINUX_CLIENT_LIB) $(TARGET_LINUX_WRAPPER_LIB) \ all : $(TARGET_LINUX_SERVER_LIB) $(TARGET_LINUX_CLIENT_LIB) $(TARGET_LINUX_WRAPPER_LIB) \
$(TARGET_LINUX_SERVER) $(TARGET_LINUX_ALSA) $(TARGET_LINUX_DUMMY) \ $(TARGET_LINUX_SERVER) $(TARGET_LINUX_ALSA) $(TARGET_LINUX_DUMMY) \


+ 10
- 5
linux/SConscript View File

@@ -35,6 +35,9 @@ srcfiles_linux_server = ['#/common/Jackdmp.cpp']


srcfiles_linux_alsa = [ srcfiles_linux_alsa = [
'JackAlsaDriver.cpp', 'JackAlsaDriver.cpp',
'alsa_rawmidi.c',
'alsa_seqmidi.c',
'alsa_midi_jackmp.cpp',
'memops.c', 'memops.c',
'generic_hw.c', 'generic_hw.c',
'hdsp.c', 'hdsp.c',
@@ -58,26 +61,28 @@ serverenv = env.Copy()
serverenv.PrependUnique( LIBPATH=env['build_base'] ) serverenv.PrependUnique( LIBPATH=env['build_base'] )
serverenv.PrependUnique( LIBS=[env['SERVERLIB'], 'dl'] ) serverenv.PrependUnique( LIBS=[env['SERVERLIB'], 'dl'] )


server = serverenv.Program('jackdmp', srcfiles_linux_server)
server = serverenv.Program(env['SERVER'], srcfiles_linux_server)
serverenv.Install( env['BINDIR'], server ) serverenv.Install( env['BINDIR'], server )


driver_dir = env['ADDON_DIR'] + "/"

drv = serverenv.SharedLibrary( 'jack_dummy', srcfiles_linux_dummy ) drv = serverenv.SharedLibrary( 'jack_dummy', srcfiles_linux_dummy )
serverenv.InstallAs( env['LIBDIR'] + '/jackmp/jack_dummy.so', drv )
serverenv.InstallAs( driver_dir + "jack_dummy.so", drv )


if env['ENABLE_ALSA']: if env['ENABLE_ALSA']:
if not env.GetOption('clean'): if not env.GetOption('clean'):
serverenv.MergeFlags( env['ALSA_FLAGS'] ) serverenv.MergeFlags( env['ALSA_FLAGS'] )
drv = serverenv.SharedLibrary( 'jack_alsa', srcfiles_linux_alsa ) drv = serverenv.SharedLibrary( 'jack_alsa', srcfiles_linux_alsa )
serverenv.InstallAs( env['LIBDIR'] + '/jackmp/jack_alsa.so', drv )
serverenv.InstallAs( driver_dir + "jack_alsa.so", drv )


if env['ENABLE_FREEBOB']: if env['ENABLE_FREEBOB']:
if not env.GetOption('clean'): if not env.GetOption('clean'):
serverenv.MergeFlags( env['FREEBOB_FLAGS'] ) serverenv.MergeFlags( env['FREEBOB_FLAGS'] )
drv = serverenv.SharedLibrary( 'jack_freebob', srcfiles_linux_freebob ) drv = serverenv.SharedLibrary( 'jack_freebob', srcfiles_linux_freebob )
serverenv.InstallAs( env['LIBDIR'] + '/jackmp/jack_freebob.so', drv )
serverenv.InstallAs( driver_dir + "jack_freebob.so", drv )


if env['ENABLE_FIREWIRE']: if env['ENABLE_FIREWIRE']:
if not env.GetOption('clean'): if not env.GetOption('clean'):
serverenv.MergeFlags( env['FFADO_FLAGS'] ) serverenv.MergeFlags( env['FFADO_FLAGS'] )
drv = serverenv.SharedLibrary( 'jack_firewire', srcfiles_linux_ffado ) drv = serverenv.SharedLibrary( 'jack_firewire', srcfiles_linux_ffado )
serverenv.InstallAs( env['LIBDIR'] + '/jackmp/jack_firewire.so', drv )
serverenv.InstallAs( driver_dir + "jack_firewire.so", drv )

+ 1
- 1
linux/alsa/alsa_midi_impl.h View File

@@ -68,7 +68,7 @@ extern "C"
#if defined(STANDALONE) #if defined(STANDALONE)
#define MESSAGE(...) fprintf(stderr, __VA_ARGS__) #define MESSAGE(...) fprintf(stderr, __VA_ARGS__)
#elif defined(JACKMP) #elif defined(JACKMP)
#define MESSAGE(...) fprintf(stderr, __VA_ARGS__)
#define MESSAGE(...) fprintf(stderr, __VA_ARGS__) ; fprintf(stderr, "\n")
#else #else
#include <jack/messagebuffer.h> #include <jack/messagebuffer.h>
#endif #endif


+ 24
- 18
macosx/Jackdmp.xcodeproj/project.pbxproj View File

@@ -5838,7 +5838,7 @@
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)",
); );
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\""; OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"-framework", "-framework",
Carbon, Carbon,
@@ -5899,7 +5899,7 @@
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)",
); );
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\""; OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"-framework", "-framework",
Carbon, Carbon,
@@ -5952,7 +5952,7 @@
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)",
); );
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\""; OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"-framework", "-framework",
Carbon, Carbon,
@@ -6012,8 +6012,8 @@
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_2)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_2)",
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_3)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_3)",
); );
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_2 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_2 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_3 = "-DLIB_DIR=\\\"lib\\\""; OTHER_CPLUSPLUSFLAGS_QUOTED_3 = "-DLIB_DIR=\\\"lib\\\"";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"-framework", "-framework",
@@ -6074,8 +6074,8 @@
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_2)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_2)",
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_3)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_3)",
); );
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_2 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_2 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_3 = "-DLIB_DIR=\\\"lib\\\""; OTHER_CPLUSPLUSFLAGS_QUOTED_3 = "-DLIB_DIR=\\\"lib\\\"";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"-framework", "-framework",
@@ -6128,8 +6128,8 @@
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_2)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_2)",
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_3)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_3)",
); );
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_2 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_2 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_3 = "-DLIB_DIR=\\\"lib\\\""; OTHER_CPLUSPLUSFLAGS_QUOTED_3 = "-DLIB_DIR=\\\"lib\\\"";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"-framework", "-framework",
@@ -9330,7 +9330,7 @@
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)",
); );
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\""; OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"-framework", "-framework",
Carbon, Carbon,
@@ -9389,7 +9389,7 @@
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)",
); );
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\""; OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"-framework", "-framework",
Carbon, Carbon,
@@ -9440,7 +9440,7 @@
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)",
); );
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\""; OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"-framework", "-framework",
Carbon, Carbon,
@@ -9498,8 +9498,8 @@
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_2)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_2)",
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_3)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_3)",
); );
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_2 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_2 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_3 = "-DLIB_DIR=\\\"lib\\\""; OTHER_CPLUSPLUSFLAGS_QUOTED_3 = "-DLIB_DIR=\\\"lib\\\"";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"-framework", "-framework",
@@ -9558,8 +9558,8 @@
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_2)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_2)",
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_3)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_3)",
); );
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_2 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_2 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_3 = "-DLIB_DIR=\\\"lib\\\""; OTHER_CPLUSPLUSFLAGS_QUOTED_3 = "-DLIB_DIR=\\\"lib\\\"";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"-framework", "-framework",
@@ -9610,8 +9610,8 @@
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_2)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_2)",
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_3)", "$(OTHER_CPLUSPLUSFLAGS_QUOTED_3)",
); );
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_2 = "-DADDON_DIR=\\\"/usr/local\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_1 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_2 = "-DADDON_DIR=\\\"/usr/local/lib/jackmp\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_3 = "-DLIB_DIR=\\\"lib\\\""; OTHER_CPLUSPLUSFLAGS_QUOTED_3 = "-DLIB_DIR=\\\"lib\\\"";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"-framework", "-framework",
@@ -11577,6 +11577,12 @@
INFOPLIST_FILE = "Jackwrapper-Info.plist"; INFOPLIST_FILE = "Jackwrapper-Info.plist";
INSTALL_PATH = "$(HOME)/Library/Frameworks"; INSTALL_PATH = "$(HOME)/Library/Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.4; MACOSX_DEPLOYMENT_TARGET = 10.4;
OTHER_CPLUSPLUSFLAGS = (
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1)",
"$(OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_2)",
);
OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_1 = "-DJACK_LOCATION=\\\"/usr/local/bin\\\"";
OTHER_CPLUSPLUSFLAGS_QUOTED_FOR_TARGET_2 = "-DADDON_DIR=\\\"/usr/local/lib/jackdmp\\\"";
OTHER_LDFLAGS = ( OTHER_LDFLAGS = (
"-framework", "-framework",
Carbon, Carbon,


+ 3
- 3
macosx/SConscript View File

@@ -46,11 +46,11 @@ serverenv = env.Copy()
serverenv.PrependUnique( LIBPATH=env['build_base'] ) serverenv.PrependUnique( LIBPATH=env['build_base'] )
serverenv.PrependUnique( LIBS=[env['SERVERLIB'], 'dl'] ) serverenv.PrependUnique( LIBS=[env['SERVERLIB'], 'dl'] )


server = serverenv.Program('jackdmp', srcfiles_macosx_server)
server = serverenv.Program(env['SERVER'], srcfiles_macosx_server)
serverenv.Install( env['BINDIR'], server ) serverenv.Install( env['BINDIR'], server )


drv = serverenv.SharedLibrary( 'jack_dummy', srcfiles_macosx_dummy ) drv = serverenv.SharedLibrary( 'jack_dummy', srcfiles_macosx_dummy )
serverenv.InstallAs( env['LIBDIR']+ '/jackmp/jack_dummy.so', drv )
serverenv.InstallAs( env['ADDON_DIR']+ '/jack_dummy.so', drv )


drv = serverenv.SharedLibrary( 'jack_coreaudio', srcfiles_macosx_coreaudio ) drv = serverenv.SharedLibrary( 'jack_coreaudio', srcfiles_macosx_coreaudio )
serverenv.InstallAs( env['LIBDIR']+ '/jackmp/jack_coreaudio.so', drv )
serverenv.InstallAs( env['ADDON_DIR']+ '/jack_coreaudio.so', drv )

Loading…
Cancel
Save