@@ -35,7 +35,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |||||
#define JackPlatformAdapter JackAlsaAdapter | #define JackPlatformAdapter JackAlsaAdapter | ||||
#endif | #endif | ||||
#if defined(__sun__) || defined(sun) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) | |||||
#if defined(__sun__) || defined(sun) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__GNU__) | |||||
#include "JackOSSAdapter.h" | #include "JackOSSAdapter.h" | ||||
#define JackPlatformAdapter JackOSSAdapter | #define JackPlatformAdapter JackOSSAdapter | ||||
#endif | #endif | ||||
@@ -55,7 +55,7 @@ JackMetadata::JackMetadata(bool isEngine) | |||||
JackMetadata::~JackMetadata() | JackMetadata::~JackMetadata() | ||||
{ | { | ||||
#if HAVE_DB | #if HAVE_DB | ||||
char dbpath[PATH_MAX + 1]; | |||||
char dbpath[JACK_PATH_MAX + 1]; | |||||
if (fDB) { | if (fDB) { | ||||
fDB->close (fDB, 0); | fDB->close (fDB, 0); | ||||
@@ -93,16 +93,16 @@ int JackMetadata::PropertyInit() | |||||
#if HAVE_DB | #if HAVE_DB | ||||
int ret; | int ret; | ||||
char dbpath[PATH_MAX + 1]; | |||||
char dbpath[JACK_PATH_MAX + 1]; | |||||
#ifdef WIN32 | #ifdef WIN32 | ||||
ret = GetTempPathA (PATH_MAX, fDBFilesDir); | |||||
if ((ret > PATH_MAX) || (ret == 0)) { | |||||
ret = GetTempPathA (JACK_PATH_MAX, fDBFilesDir); | |||||
if ((ret > JACK_PATH_MAX) || (ret == 0)) { | |||||
jack_error ("cannot get path for temp files"); | jack_error ("cannot get path for temp files"); | ||||
return -1; | return -1; | ||||
} | } | ||||
#else | #else | ||||
strncpy (fDBFilesDir, jack_server_dir, PATH_MAX); | |||||
strncpy (fDBFilesDir, jack_server_dir, JACK_PATH_MAX); | |||||
#endif | #endif | ||||
/* idempotent */ | /* idempotent */ | ||||
@@ -39,6 +39,8 @@ | |||||
#include <jack/uuid.h> | #include <jack/uuid.h> | ||||
#include "driver_interface.h" | |||||
#ifdef __cplusplus | #ifdef __cplusplus | ||||
extern "C" { | extern "C" { | ||||
#endif | #endif | ||||
@@ -89,7 +91,7 @@ class JackMetadata | |||||
DB* fDB; | DB* fDB; | ||||
DB_ENV* fDBenv; | DB_ENV* fDBenv; | ||||
const bool fIsEngine; | const bool fIsEngine; | ||||
char fDBFilesDir[PATH_MAX + 1]; | |||||
char fDBFilesDir[JACK_PATH_MAX + 1]; | |||||
#endif | #endif | ||||
int PropertyInit(); | int PropertyInit(); | ||||
@@ -33,6 +33,8 @@ def create_jack_process_obj(bld, target, sources, uselib=None, framework=None): | |||||
env_includes = ['../linux', '../posix', '../linux/alsa'] | env_includes = ['../linux', '../posix', '../linux/alsa'] | ||||
if bld.env['IS_FREEBSD']: | if bld.env['IS_FREEBSD']: | ||||
env_includes = ['../freebsd', '../posix', '../solaris/oss'] | env_includes = ['../freebsd', '../posix', '../solaris/oss'] | ||||
if bld.env['IS_HURD']: | |||||
env_includes = ['../gnu', '../posix', '../solaris/oss'] | |||||
if bld.env['IS_SUN']: | if bld.env['IS_SUN']: | ||||
env_includes = ['../solaris', '../posix', '../solaris/oss'] | env_includes = ['../solaris', '../posix', '../solaris/oss'] | ||||
if bld.env['IS_WINDOWS']: | if bld.env['IS_WINDOWS']: | ||||
@@ -41,7 +43,7 @@ def create_jack_process_obj(bld, target, sources, uselib=None, framework=None): | |||||
process.name = target | process.name = target | ||||
process.target = target | process.target = target | ||||
process.source = sources | process.source = sources | ||||
if bld.env['IS_LINUX'] or bld.env['IS_MACOSX'] or bld.env['IS_FREEBSD']: | |||||
if bld.env['IS_LINUX'] or bld.env['IS_MACOSX'] or bld.env['IS_FREEBSD'] or bld.env['IS_HURD']: | |||||
process.env.append_value('CPPFLAGS', '-fvisibility=hidden') | process.env.append_value('CPPFLAGS', '-fvisibility=hidden') | ||||
process.install_path = '${ADDON_DIR}/' | process.install_path = '${ADDON_DIR}/' | ||||
process.use = [uselib.name] | process.use = [uselib.name] | ||||
@@ -112,6 +114,20 @@ def build(bld): | |||||
] | ] | ||||
includes = ['../freebsd', '../posix'] + includes | includes = ['../freebsd', '../posix'] + includes | ||||
if bld.env['IS_HURD']: | |||||
common_libsources += [ | |||||
'JackDebugClient.cpp', | |||||
'timestamps.c', | |||||
'promiscuous.c', | |||||
'../posix/JackPosixThread.cpp', | |||||
'../posix/JackPosixProcessSync.cpp', | |||||
'../posix/JackPosixMutex.cpp', | |||||
'../posix/JackPosixSemaphore.cpp', | |||||
'../posix/JackSocket.cpp', | |||||
'../posix/JackPosixTime.c', | |||||
] | |||||
includes = ['../gnu', '../posix'] + includes | |||||
if bld.env['IS_SUN']: | if bld.env['IS_SUN']: | ||||
common_libsources += [ | common_libsources += [ | ||||
'JackDebugClient.cpp', | 'JackDebugClient.cpp', | ||||
@@ -202,6 +218,12 @@ def build(bld): | |||||
'../posix/JackPosixServerLaunch.cpp', | '../posix/JackPosixServerLaunch.cpp', | ||||
] | ] | ||||
if bld.env['IS_HURD']: | |||||
clientlib.source += [ | |||||
'../posix/JackSocketClientChannel.cpp', | |||||
'../posix/JackPosixServerLaunch.cpp', | |||||
] | |||||
if bld.env['IS_SUN']: | if bld.env['IS_SUN']: | ||||
clientlib.source += [ | clientlib.source += [ | ||||
'../posix/JackSocketClientChannel.cpp', | '../posix/JackSocketClientChannel.cpp', | ||||
@@ -234,6 +256,9 @@ def build(bld): | |||||
if bld.env['IS_FREEBSD']: | if bld.env['IS_FREEBSD']: | ||||
clientlib.env.append_value('CPPFLAGS', '-fvisibility=hidden') | clientlib.env.append_value('CPPFLAGS', '-fvisibility=hidden') | ||||
if bld.env['IS_HURD']: | |||||
clientlib.env.append_value('CPPFLAGS', '-fvisibility=hidden') | |||||
if bld.env['IS_MACOSX']: | if bld.env['IS_MACOSX']: | ||||
clientlib.env.append_value('CPPFLAGS', '-fvisibility=hidden') | clientlib.env.append_value('CPPFLAGS', '-fvisibility=hidden') | ||||
clientlib.env.append_value('LINKFLAGS', '-single_module') | clientlib.env.append_value('LINKFLAGS', '-single_module') | ||||
@@ -318,6 +343,14 @@ def build(bld): | |||||
'../posix/JackNetUnixSocket.cpp', | '../posix/JackNetUnixSocket.cpp', | ||||
] | ] | ||||
if bld.env['IS_HURD']: | |||||
serverlib.source += [ | |||||
'../posix/JackSocketServerChannel.cpp', | |||||
'../posix/JackSocketNotifyChannel.cpp', | |||||
'../posix/JackSocketServerNotifyChannel.cpp', | |||||
'../posix/JackNetUnixSocket.cpp', | |||||
] | |||||
if bld.env['IS_SUN']: | if bld.env['IS_SUN']: | ||||
serverlib.source += [ | serverlib.source += [ | ||||
'../posix/JackSocketServerChannel.cpp', | '../posix/JackSocketServerChannel.cpp', | ||||
@@ -411,6 +444,15 @@ def build(bld): | |||||
] | ] | ||||
netlib.env.append_value('CPPFLAGS', '-fvisibility=hidden') | netlib.env.append_value('CPPFLAGS', '-fvisibility=hidden') | ||||
if bld.env['IS_HURD']: | |||||
netlib.source += [ | |||||
'../posix/JackNetUnixSocket.cpp', | |||||
'../posix/JackPosixThread.cpp', | |||||
'../posix/JackPosixMutex.cpp', | |||||
'../linux/JackLinuxTime.c', | |||||
] | |||||
netlib.env.append_value('CPPFLAGS', '-fvisibility=hidden') | |||||
if bld.env['IS_SUN']: | if bld.env['IS_SUN']: | ||||
netlib.source += [ | netlib.source += [ | ||||
'../posix/JackNetUnixSocket.cpp', | '../posix/JackNetUnixSocket.cpp', | ||||
@@ -489,7 +531,7 @@ def build(bld): | |||||
process = create_jack_process_obj(bld, 'audioadapter', audio_adapter_sources, serverlib) | process = create_jack_process_obj(bld, 'audioadapter', audio_adapter_sources, serverlib) | ||||
process.use += ['ALSA', 'SAMPLERATE'] | process.use += ['ALSA', 'SAMPLERATE'] | ||||
if bld.env['BUILD_ADAPTER'] and (bld.env['IS_SUN'] or bld.env['IS_FREEBSD']): | |||||
if bld.env['BUILD_ADAPTER'] and (bld.env['IS_SUN'] or bld.env['IS_FREEBSD'] or bld.env['IS_HURD']): | |||||
audio_adapter_sources += ['../solaris/oss/JackOSSAdapter.cpp', 'memops.c'] | audio_adapter_sources += ['../solaris/oss/JackOSSAdapter.cpp', 'memops.c'] | ||||
process = create_jack_process_obj(bld, 'audioadapter', audio_adapter_sources, serverlib) | process = create_jack_process_obj(bld, 'audioadapter', audio_adapter_sources, serverlib) | ||||
process.use += 'SAMPLERATE' | process.use += 'SAMPLERATE' | ||||
@@ -53,6 +53,8 @@ def build(bld): | |||||
sysdeps_dbus_include = ['../linux', '../posix'] | sysdeps_dbus_include = ['../linux', '../posix'] | ||||
if bld.env['IS_FREEBSD']: | if bld.env['IS_FREEBSD']: | ||||
sysdeps_dbus_include = ['../freebsd', '../posix'] | sysdeps_dbus_include = ['../freebsd', '../posix'] | ||||
if bld.env['IS_HURD']: | |||||
sysdeps_dbus_include = ['../gnu', '../posix'] | |||||
if bld.env['IS_MACOSX']: | if bld.env['IS_MACOSX']: | ||||
sysdeps_dbus_include = ['../macosx', '../posix'] | sysdeps_dbus_include = ['../macosx', '../posix'] | ||||
@@ -85,6 +87,11 @@ def build(bld): | |||||
'../linux/uptime.c', | '../linux/uptime.c', | ||||
] | ] | ||||
obj.use += ['PTHREAD', 'EXECINFO', 'LIBSYSINFO', 'DBUS-1', 'EXPAT'] | obj.use += ['PTHREAD', 'EXECINFO', 'LIBSYSINFO', 'DBUS-1', 'EXPAT'] | ||||
if bld.env['IS_HURD']: | |||||
obj.source += [ | |||||
'../linux/uptime.c', | |||||
] | |||||
obj.use += ['PTHREAD', 'DL', 'RT', 'DBUS-1', 'EXPAT', 'STDC++'] | |||||
if bld.env['IS_MACOSX']: | if bld.env['IS_MACOSX']: | ||||
obj.source += [ | obj.source += [ | ||||
'../macosx/uptime.c', | '../macosx/uptime.c', | ||||
@@ -0,0 +1,32 @@ | |||||
/* | |||||
Copyright (C) 2004-2008 Grame | |||||
This program is free software; you can redistribute it and/or modify | |||||
it under the terms of the GNU Lesser General Public License as published by | |||||
the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. | |||||
You should have received a copy of the GNU Lesser General Public License | |||||
along with this program; if not, write to the Free Software | |||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |||||
*/ | |||||
#ifndef __JackAtomic_gnu__ | |||||
#define __JackAtomic_gnu__ | |||||
#include "JackTypes.h" | |||||
static inline char CAS(volatile UInt32 value, UInt32 newvalue, volatile void* addr) | |||||
{ | |||||
UInt32 val = value; | |||||
return __atomic_compare_exchange_n ((UInt32*)addr, &val, newvalue, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); | |||||
} | |||||
#endif | |||||
@@ -0,0 +1,85 @@ | |||||
/* | |||||
Copyright (C) 2004-2008 Grame | |||||
Copyright (C) 2018 Greg V | |||||
This program is free software; you can redistribute it and/or modify | |||||
it under the terms of the GNU Lesser General Public License as published by | |||||
the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. | |||||
You should have received a copy of the GNU Lesser General Public License | |||||
along with this program; if not, write to the Free Software | |||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |||||
*/ | |||||
#ifndef __JackPlatformPlug_gnu__ | |||||
#define __JackPlatformPlug_gnu__ | |||||
#define jack_server_dir "/tmp" | |||||
#define jack_client_dir "/tmp" | |||||
#define JACK_DEFAULT_DRIVER "oss" | |||||
namespace Jack | |||||
{ | |||||
struct JackRequest; | |||||
struct JackResult; | |||||
class JackPosixMutex; | |||||
class JackPosixThread; | |||||
class JackPosixSemaphore; | |||||
class JackSocketServerChannel; | |||||
class JackSocketClientChannel; | |||||
class JackSocketServerNotifyChannel; | |||||
class JackSocketNotifyChannel; | |||||
class JackClientSocket; | |||||
class JackNetUnixSocket; | |||||
} | |||||
/* __JackPlatformMutex__ */ | |||||
#include "JackPosixMutex.h" | |||||
namespace Jack {typedef JackPosixMutex JackMutex; } | |||||
/* __JackPlatformThread__ */ | |||||
#include "JackPosixThread.h" | |||||
namespace Jack { typedef JackPosixThread JackThread; } | |||||
/* __JackPlatformSynchro__ client activation */ | |||||
#include "JackPosixSemaphore.h" | |||||
namespace Jack { typedef JackPosixSemaphore JackSynchro; } | |||||
/* __JackPlatformChannelTransaction__ */ | |||||
#include "JackSocket.h" | |||||
namespace Jack { typedef JackClientSocket JackChannelTransaction; } | |||||
/* __JackPlatformProcessSync__ */ | |||||
#include "JackPosixProcessSync.h" | |||||
namespace Jack { typedef JackPosixProcessSync JackProcessSync; } | |||||
/* __JackPlatformServerChannel__ */ | |||||
#include "JackSocketServerChannel.h" | |||||
namespace Jack { typedef JackSocketServerChannel JackServerChannel; } | |||||
/* __JackPlatformClientChannel__ */ | |||||
#include "JackSocketClientChannel.h" | |||||
namespace Jack { typedef JackSocketClientChannel JackClientChannel; } | |||||
/* __JackPlatformServerNotifyChannel__ */ | |||||
#include "JackSocketServerNotifyChannel.h" | |||||
namespace Jack { typedef JackSocketServerNotifyChannel JackServerNotifyChannel; } | |||||
/* __JackPlatformNotifyChannel__ */ | |||||
#include "JackSocketNotifyChannel.h" | |||||
namespace Jack { typedef JackSocketNotifyChannel JackNotifyChannel; } | |||||
/* __JackPlatformNetSocket__ */ | |||||
#include "JackNetUnixSocket.h" | |||||
namespace Jack { typedef JackNetUnixSocket JackNetSocket; } | |||||
#endif |
@@ -0,0 +1 @@ | |||||
#include "../linux/driver.h" |
@@ -0,0 +1 @@ | |||||
#include "../linux/uptime.h" |
@@ -197,7 +197,9 @@ JackOSSAdapter::JackOSSAdapter(jack_nframes_t buffer_size, jack_nframes_t sample | |||||
void JackOSSAdapter::DisplayDeviceInfo() | void JackOSSAdapter::DisplayDeviceInfo() | ||||
{ | { | ||||
audio_buf_info info; | audio_buf_info info; | ||||
#ifdef SNDCTL_AUDIOINFO | |||||
oss_audioinfo ai_in, ai_out; | oss_audioinfo ai_in, ai_out; | ||||
#endif | |||||
memset(&info, 0, sizeof(audio_buf_info)); | memset(&info, 0, sizeof(audio_buf_info)); | ||||
int cap = 0; | int cap = 0; | ||||
@@ -208,6 +210,7 @@ void JackOSSAdapter::DisplayDeviceInfo() | |||||
if (fRWMode & kWrite) { | if (fRWMode & kWrite) { | ||||
#ifdef OSS_SYSINFO | |||||
oss_sysinfo si; | oss_sysinfo si; | ||||
if (ioctl(fOutFD, OSS_SYSINFO, &si) == -1) { | if (ioctl(fOutFD, OSS_SYSINFO, &si) == -1) { | ||||
jack_error("JackOSSAdapter::DisplayDeviceInfo OSS_SYSINFO failed : %s@%i, errno = %d", __FILE__, __LINE__, errno); | jack_error("JackOSSAdapter::DisplayDeviceInfo OSS_SYSINFO failed : %s@%i, errno = %d", __FILE__, __LINE__, errno); | ||||
@@ -219,6 +222,7 @@ void JackOSSAdapter::DisplayDeviceInfo() | |||||
jack_info("OSS numaudioengines %d", si.numaudioengines); | jack_info("OSS numaudioengines %d", si.numaudioengines); | ||||
jack_info("OSS numcards %d", si.numcards); | jack_info("OSS numcards %d", si.numcards); | ||||
} | } | ||||
#endif | |||||
jack_info("Output capabilities - %d channels : ", fPlaybackChannels); | jack_info("Output capabilities - %d channels : ", fPlaybackChannels); | ||||
jack_info("Output block size = %d", fOutputBufferSize); | jack_info("Output block size = %d", fOutputBufferSize); | ||||
@@ -246,6 +250,7 @@ void JackOSSAdapter::DisplayDeviceInfo() | |||||
if (fRWMode & kRead) { | if (fRWMode & kRead) { | ||||
#ifdef OSS_SYSINFO | |||||
oss_sysinfo si; | oss_sysinfo si; | ||||
if (ioctl(fInFD, OSS_SYSINFO, &si) == -1) { | if (ioctl(fInFD, OSS_SYSINFO, &si) == -1) { | ||||
jack_error("JackOSSAdapter::DisplayDeviceInfo OSS_SYSINFO failed : %s@%i, errno = %d", __FILE__, __LINE__, errno); | jack_error("JackOSSAdapter::DisplayDeviceInfo OSS_SYSINFO failed : %s@%i, errno = %d", __FILE__, __LINE__, errno); | ||||
@@ -257,6 +262,7 @@ void JackOSSAdapter::DisplayDeviceInfo() | |||||
jack_info("OSS numaudioengines %d", si.numaudioengines); | jack_info("OSS numaudioengines %d", si.numaudioengines); | ||||
jack_info("OSS numcards %d", si.numcards); | jack_info("OSS numcards %d", si.numcards); | ||||
} | } | ||||
#endif | |||||
jack_info("Input capabilities - %d channels : ", fCaptureChannels); | jack_info("Input capabilities - %d channels : ", fCaptureChannels); | ||||
jack_info("Input block size = %d", fInputBufferSize); | jack_info("Input block size = %d", fInputBufferSize); | ||||
@@ -282,6 +288,7 @@ void JackOSSAdapter::DisplayDeviceInfo() | |||||
} | } | ||||
} | } | ||||
#ifdef SNDCTL_AUDIOINFO | |||||
if (ioctl(fInFD, SNDCTL_AUDIOINFO, &ai_in) != -1) { | if (ioctl(fInFD, SNDCTL_AUDIOINFO, &ai_in) != -1) { | ||||
jack_info("Using audio engine %d = %s for input", ai_in.dev, ai_in.name); | jack_info("Using audio engine %d = %s for input", ai_in.dev, ai_in.name); | ||||
} | } | ||||
@@ -293,6 +300,7 @@ void JackOSSAdapter::DisplayDeviceInfo() | |||||
if (ai_in.rate_source != ai_out.rate_source) { | if (ai_in.rate_source != ai_out.rate_source) { | ||||
jack_info("Warning : input and output are not necessarily driven by the same clock!"); | jack_info("Warning : input and output are not necessarily driven by the same clock!"); | ||||
} | } | ||||
#endif | |||||
} | } | ||||
int JackOSSAdapter::OpenInput() | int JackOSSAdapter::OpenInput() | ||||
@@ -150,6 +150,7 @@ void JackOSSDriver::DisplayDeviceInfo() | |||||
if (fRWMode & kWrite) { | if (fRWMode & kWrite) { | ||||
#ifdef OSS_SYSINFO | |||||
oss_sysinfo si; | oss_sysinfo si; | ||||
if (ioctl(fOutFD, OSS_SYSINFO, &si) == -1) { | if (ioctl(fOutFD, OSS_SYSINFO, &si) == -1) { | ||||
jack_error("JackOSSDriver::DisplayDeviceInfo OSS_SYSINFO failed : %s@%i, errno = %d", __FILE__, __LINE__, errno); | jack_error("JackOSSDriver::DisplayDeviceInfo OSS_SYSINFO failed : %s@%i, errno = %d", __FILE__, __LINE__, errno); | ||||
@@ -161,6 +162,7 @@ void JackOSSDriver::DisplayDeviceInfo() | |||||
jack_info("OSS numaudioengines %d", si.numaudioengines); | jack_info("OSS numaudioengines %d", si.numaudioengines); | ||||
jack_info("OSS numcards %d", si.numcards); | jack_info("OSS numcards %d", si.numcards); | ||||
} | } | ||||
#endif | |||||
jack_info("Output capabilities - %d channels : ", fPlaybackChannels); | jack_info("Output capabilities - %d channels : ", fPlaybackChannels); | ||||
jack_info("Output block size = %d", fOutputBufferSize); | jack_info("Output block size = %d", fOutputBufferSize); | ||||
@@ -188,6 +190,7 @@ void JackOSSDriver::DisplayDeviceInfo() | |||||
if (fRWMode & kRead) { | if (fRWMode & kRead) { | ||||
#ifdef OSS_SYSINFO | |||||
oss_sysinfo si; | oss_sysinfo si; | ||||
if (ioctl(fInFD, OSS_SYSINFO, &si) == -1) { | if (ioctl(fInFD, OSS_SYSINFO, &si) == -1) { | ||||
jack_error("JackOSSDriver::DisplayDeviceInfo OSS_SYSINFO failed : %s@%i, errno = %d", __FILE__, __LINE__, errno); | jack_error("JackOSSDriver::DisplayDeviceInfo OSS_SYSINFO failed : %s@%i, errno = %d", __FILE__, __LINE__, errno); | ||||
@@ -199,6 +202,7 @@ void JackOSSDriver::DisplayDeviceInfo() | |||||
jack_info("OSS numaudioengines %d", si.numaudioengines); | jack_info("OSS numaudioengines %d", si.numaudioengines); | ||||
jack_info("OSS numcards %d", si.numcards); | jack_info("OSS numcards %d", si.numcards); | ||||
} | } | ||||
#endif | |||||
jack_info("Input capabilities - %d channels : ", fCaptureChannels); | jack_info("Input capabilities - %d channels : ", fCaptureChannels); | ||||
jack_info("Input block size = %d", fInputBufferSize); | jack_info("Input block size = %d", fInputBufferSize); | ||||
@@ -23,6 +23,8 @@ def build(bld): | |||||
prog.includes = ['..', '../linux', '../posix', '../common/jack', '../common'] | prog.includes = ['..', '../linux', '../posix', '../common/jack', '../common'] | ||||
if bld.env['IS_FREEBSD']: | if bld.env['IS_FREEBSD']: | ||||
prog.includes = ['..', '../freebsd', '../posix', '../common/jack', '../common'] | prog.includes = ['..', '../freebsd', '../posix', '../common/jack', '../common'] | ||||
if bld.env['IS_HURD']: | |||||
prog.includes = ['..', '../gnu', '../posix', '../common/jack', '../common'] | |||||
if bld.env['IS_SUN']: | if bld.env['IS_SUN']: | ||||
prog.includes = ['..', '../solaris', '../posix', '../common/jack', '../common'] | prog.includes = ['..', '../solaris', '../posix', '../common/jack', '../common'] | ||||
prog.source = test_program_sources | prog.source = test_program_sources | ||||
@@ -221,8 +221,9 @@ def detect_platform(conf): | |||||
# GNU/kFreeBSD and GNU/Hurd are treated as Linux | # GNU/kFreeBSD and GNU/Hurd are treated as Linux | ||||
platforms = [ | platforms = [ | ||||
# ('KEY, 'Human readable name', ['strings', 'to', 'check', 'for']) | # ('KEY, 'Human readable name', ['strings', 'to', 'check', 'for']) | ||||
('IS_LINUX', 'Linux', ['gnu0', 'gnukfreebsd', 'linux', 'posix']), | |||||
('IS_LINUX', 'Linux', ['gnukfreebsd', 'linux', 'posix']), | |||||
('IS_FREEBSD', 'FreeBSD', ['freebsd']), | ('IS_FREEBSD', 'FreeBSD', ['freebsd']), | ||||
('IS_HURD', 'GNU/Hurd',['gnu0']), | |||||
('IS_MACOSX', 'MacOS X', ['darwin']), | ('IS_MACOSX', 'MacOS X', ['darwin']), | ||||
('IS_SUN', 'SunOS', ['sunos']), | ('IS_SUN', 'SunOS', ['sunos']), | ||||
('IS_WINDOWS', 'Windows', ['cygwin', 'msys', 'win32']) | ('IS_WINDOWS', 'Windows', ['cygwin', 'msys', 'win32']) | ||||
@@ -548,6 +549,9 @@ def obj_add_includes(bld, obj): | |||||
if bld.env['IS_FREEBSD']: | if bld.env['IS_FREEBSD']: | ||||
obj.includes += ['freebsd', 'posix'] | obj.includes += ['freebsd', 'posix'] | ||||
if bld.env['IS_HURD']: | |||||
obj.includes += ['gnu', 'posix'] | |||||
if bld.env['IS_MACOSX']: | if bld.env['IS_MACOSX']: | ||||
obj.includes += ['macosx', 'posix'] | obj.includes += ['macosx', 'posix'] | ||||
@@ -579,6 +583,9 @@ def build_jackd(bld): | |||||
if bld.env['IS_FREEBSD']: | if bld.env['IS_FREEBSD']: | ||||
jackd.use += ['M', 'PTHREAD'] | jackd.use += ['M', 'PTHREAD'] | ||||
if bld.env['IS_HURD']: | |||||
jackd.use += ['DL', 'M', 'PTHREAD', 'RT', 'STDC++'] | |||||
if bld.env['IS_MACOSX']: | if bld.env['IS_MACOSX']: | ||||
jackd.use += ['DL', 'PTHREAD'] | jackd.use += ['DL', 'PTHREAD'] | ||||
jackd.framework = ['CoreFoundation'] | jackd.framework = ['CoreFoundation'] | ||||
@@ -810,6 +817,12 @@ def build_drivers(bld): | |||||
target='oss', | target='oss', | ||||
source=freebsd_oss_src) | source=freebsd_oss_src) | ||||
if bld.env['IS_HURD']: | |||||
create_driver_obj( | |||||
bld, | |||||
target='oss', | |||||
source=oss_src) | |||||
if bld.env['IS_SUN']: | if bld.env['IS_SUN']: | ||||
create_driver_obj( | create_driver_obj( | ||||
bld, | bld, | ||||
@@ -839,7 +852,7 @@ def build(bld): | |||||
build_drivers(bld) | build_drivers(bld) | ||||
if bld.env['IS_LINUX'] or bld.env['IS_FREEBSD']: | |||||
if bld.env['IS_LINUX'] or bld.env['IS_FREEBSD'] or bld.env['IS_HURD']: | |||||
bld.recurse('man') | bld.recurse('man') | ||||
bld.recurse('systemd') | bld.recurse('systemd') | ||||
if not bld.env['IS_WINDOWS'] and bld.env['BUILD_TESTS']: | if not bld.env['IS_WINDOWS'] and bld.env['BUILD_TESTS']: | ||||