diff options
Diffstat (limited to 'common/wscript')
-rw-r--r-- | common/wscript | 154 |
1 files changed, 93 insertions, 61 deletions
diff --git a/common/wscript b/common/wscript index bc23ced1..178d4c1d 100644 --- a/common/wscript +++ b/common/wscript @@ -1,9 +1,9 @@ #! /usr/bin/python3 # encoding: utf-8 -import re import os + def configure(conf): conf.env['BUILD_NETLIB'] = conf.env['SAMPLERATE'] conf.env['BUILD_ADAPTER'] = conf.env['SAMPLERATE'] @@ -11,17 +11,20 @@ def configure(conf): if conf.env['IS_WINDOWS']: try: conf.check(header_name='regex.h', lib='regex', uselib_store='REGEX', define_name='HAVE_REGEX_H') - except: + except Exception: conf.check(header_name='tre/regex.h', lib='tre', uselib_store='REGEX', define_name='HAVE_TRE_REGEX_H') conf.check(header_name='winsock2.h', lib='ws2_32', uselib_store='WS2_32', define_name='HAVE_WINSOCK2_H') - conf.check(header_name=['windows.h', 'mmsystem.h'], lib='winmm', uselib_store='WINMM', define_name='HAVE_MMSYSTEM_H') + conf.check( + header_name=['windows.h', 'mmsystem.h'], lib='winmm', uselib_store='WINMM', define_name='HAVE_MMSYSTEM_H' + ) conf.check(header_name=['windows.h', 'psapi.h'], lib='psapi', uselib_store='PSAPI', define_name='HAVE_PSAPI_H') -def create_jack_process_obj(bld, target, sources, uselib = None, framework = None): - process = bld(features = ['cxx', 'cxxshlib']) + +def create_jack_process_obj(bld, target, sources, uselib=None, framework=None): + process = bld(features=['cxx', 'cxxshlib']) if not bld.env['IS_WINDOWS']: process.env['cxxshlib_PATTERN'] = '%s.so' - process.defines = ['HAVE_CONFIG_H','SERVER_SIDE'] + process.defines = ['HAVE_CONFIG_H', 'SERVER_SIDE'] if bld.env['IS_MACOSX']: if framework: process.framework = framework @@ -35,15 +38,16 @@ def create_jack_process_obj(bld, target, sources, uselib = None, framework = Non if bld.env['IS_WINDOWS']: env_includes = ['../windows', '../windows/portaudio'] process.includes = ['.'] + env_includes + ['jack', '..'] - process.name = target - process.target = target - process.source = sources + process.name = target + process.target = target + process.source = sources if bld.env['IS_LINUX'] or bld.env['IS_MACOSX'] or bld.env['IS_FREEBSD']: process.env.append_value('CPPFLAGS', '-fvisibility=hidden') process.install_path = '${ADDON_DIR}/' process.use = [uselib.name] return process + def build(bld): common_libsources = [ 'JackActivationCount.cpp', @@ -113,13 +117,13 @@ def build(bld): 'JackDebugClient.cpp', 'timestamps.c', 'promiscuous.c', - '../posix/JackPosixThread.cpp', - '../posix/JackFifo.cpp', - '../posix/JackPosixProcessSync.cpp', - '../posix/JackPosixMutex.cpp', - '../posix/JackSocket.cpp', - '../solaris/JackSolarisTime.c', - ] + '../posix/JackPosixThread.cpp', + '../posix/JackFifo.cpp', + '../posix/JackPosixProcessSync.cpp', + '../posix/JackPosixMutex.cpp', + '../posix/JackSocket.cpp', + '../solaris/JackSolarisTime.c', + ] includes = ['../solaris', '../posix'] + includes uselib.append('RT') @@ -147,7 +151,7 @@ def build(bld): '../windows/JackWinThread.cpp', '../windows/JackWinTime.c', ] - includes = ['../windows' ] + includes + includes = ['../windows'] + includes libsuffix = "64" if (bld.env['DEST_CPU'] == "x86_64" and not bld.variant) else "" buildbindir = os.path.join('..', bld.path.get_bld().srcpath().rstrip(bld.path.srcpath())) staticbuild = bool('BUILD_STATIC' in bld.env and bld.env['BUILD_STATIC']) @@ -159,7 +163,7 @@ def build(bld): else: libsuffix = "" - clientlib = bld(features = ['c', 'cxx', 'cxxshlib', 'cshlib']) + clientlib = bld(features=['c', 'cxx', 'cxxshlib', 'cshlib']) if bld.env['IS_MACOSX']: clientlib.framework = ['CoreAudio', 'Accelerate'] clientlib.defines = 'HAVE_CONFIG_H' @@ -243,10 +247,10 @@ def build(bld): # we don't want to build other stuff in this variant return - serverlib = bld(features = ['c', 'cxx', 'cxxshlib', 'cshlib']) + serverlib = bld(features=['c', 'cxx', 'cxxshlib', 'cshlib']) if bld.env['IS_MACOSX']: serverlib.framework = ['CoreAudio', 'CoreFoundation', 'Accelerate'] - serverlib.defines = ['HAVE_CONFIG_H','SERVER_SIDE'] + serverlib.defines = ['HAVE_CONFIG_H', 'SERVER_SIDE'] serverlib.includes = includes serverlib.name = 'serverlib' serverlib.target = 'jackserver'+libsuffix @@ -358,10 +362,10 @@ def build(bld): serverlib.env.append_value('LINKFLAGS', '-lnsl -lsocket') if bld.env['BUILD_NETLIB']: - netlib = bld(features = ['c', 'cxx', 'cxxshlib', 'cshlib']) + netlib = bld(features=['c', 'cxx', 'cxxshlib', 'cshlib']) if bld.env['IS_MACOSX']: - netlib.framework = ['CoreAudio'] - netlib.defines = ['HAVE_CONFIG_H','SERVER_SIDE'] + netlib.framework = ['CoreAudio'] + netlib.defines = ['HAVE_CONFIG_H', 'SERVER_SIDE'] netlib.includes = includes netlib.name = 'netlib' netlib.target = 'jacknet'+libsuffix @@ -391,24 +395,49 @@ def build(bld): 'ringbuffer.c'] if bld.env['IS_LINUX']: - netlib.source += ['../posix/JackNetUnixSocket.cpp','../posix/JackPosixThread.cpp', '../posix/JackPosixMutex.cpp', '../linux/JackLinuxTime.c'] + 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_FREEBSD']: - netlib.source += ['../posix/JackNetUnixSocket.cpp','../posix/JackPosixThread.cpp', '../posix/JackPosixMutex.cpp', '../linux/JackLinuxTime.c'] + 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']: - netlib.source += ['../posix/JackNetUnixSocket.cpp','../posix/JackPosixThread.cpp', '../posix/JackPosixMutex.cpp', '../solaris/JackSolarisTime.c'] + netlib.source += [ + '../posix/JackNetUnixSocket.cpp', + '../posix/JackPosixThread.cpp', + '../posix/JackPosixMutex.cpp', + '../solaris/JackSolarisTime.c', + ] netlib.env.append_value('CPPFLAGS', '-fvisibility=hidden') - if bld.env['IS_MACOSX']: - netlib.source += ['../posix/JackNetUnixSocket.cpp','../posix/JackPosixThread.cpp', '../posix/JackPosixMutex.cpp', '../macosx/JackMachThread.mm', '../macosx/JackMachTime.c'] + netlib.source += [ + '../posix/JackNetUnixSocket.cpp', + '../posix/JackPosixThread.cpp', + '../posix/JackPosixMutex.cpp', + '../macosx/JackMachThread.mm', + '../macosx/JackMachTime.c', + ] netlib.env.append_value('LINKFLAGS', '-single_module') if bld.env['IS_WINDOWS']: - netlib.source += ['../windows/JackNetWinSocket.cpp','../windows/JackWinThread.cpp', '../windows/JackMMCSS.cpp', '../windows/JackWinTime.c'] + netlib.source += [ + '../windows/JackNetWinSocket.cpp', + '../windows/JackWinThread.cpp', + '../windows/JackMMCSS.cpp', + '../windows/JackWinTime.c', + ] if bld.env['IS_MACOSX']: netlib.cnum = bld.env['JACK_API_VERSION'] @@ -441,45 +470,48 @@ def build(bld): ] if bld.env['BUILD_ADAPTER'] and bld.env['IS_MACOSX']: - audio_adapter_sources += ['../macosx/coreaudio/JackCoreAudioAdapter.mm'] - process = create_jack_process_obj(bld, - 'audioadapter', - audio_adapter_sources, - serverlib, - framework = [ - 'CoreAudio', - 'AudioUnit', - 'AudioToolbox', - 'CoreServices' - ] - ) - process.use += ['SAMPLERATE'] + audio_adapter_sources += ['../macosx/coreaudio/JackCoreAudioAdapter.mm'] + process = create_jack_process_obj( + bld, + 'audioadapter', + audio_adapter_sources, + serverlib, + framework=[ + 'CoreAudio', + 'AudioUnit', + 'AudioToolbox', + 'CoreServices', + ] + ) + process.use += ['SAMPLERATE'] if bld.env['BUILD_ADAPTER'] and bld.env['IS_LINUX'] and bld.env['BUILD_DRIVER_ALSA']: - audio_adapter_sources += ['../linux/alsa/JackAlsaAdapter.cpp'] - process = create_jack_process_obj(bld, 'audioadapter', audio_adapter_sources, serverlib) - process.use += ['ALSA', 'SAMPLERATE'] + audio_adapter_sources += ['../linux/alsa/JackAlsaAdapter.cpp'] + process = create_jack_process_obj(bld, 'audioadapter', audio_adapter_sources, serverlib) + process.use += ['ALSA', 'SAMPLERATE'] if bld.env['BUILD_ADAPTER'] and (bld.env['IS_SUN'] or bld.env['IS_FREEBSD']): - audio_adapter_sources += ['../solaris/oss/JackOSSAdapter.cpp', 'memops.c'] - process = create_jack_process_obj(bld, 'audioadapter', audio_adapter_sources, serverlib) - process.use += 'SAMPLERATE' + audio_adapter_sources += ['../solaris/oss/JackOSSAdapter.cpp', 'memops.c'] + process = create_jack_process_obj(bld, 'audioadapter', audio_adapter_sources, serverlib) + process.use += 'SAMPLERATE' if bld.env['BUILD_ADAPTER'] and bld.env['IS_WINDOWS']: - audio_adapter_sources += ['../windows/portaudio/JackPortAudioAdapter.cpp', '../windows/portaudio/JackPortAudioDevices.cpp'] - process = create_jack_process_obj(bld, 'audioadapter', audio_adapter_sources, serverlib) - process.use += ['SAMPLERATE', 'PORTAUDIO'] - + audio_adapter_sources += [ + '../windows/portaudio/JackPortAudioAdapter.cpp', + '../windows/portaudio/JackPortAudioDevices.cpp', + ] + process = create_jack_process_obj(bld, 'audioadapter', audio_adapter_sources, serverlib) + process.use += ['SAMPLERATE', 'PORTAUDIO'] bld.install_files('${PREFIX}/include/jack', bld.path.ant_glob('jack/*.h')) # process jack.pc.in -> jack.pc - obj = bld( - features = 'subst_pc', - source = '../jack.pc.in', - target = 'jack.pc', - install_path = '${PKGCONFDIR}', - INCLUDEDIR = os.path.normpath(bld.env['PREFIX'] + '/include'), - CLIENTLIB = clientlib.target, - SERVERLIB = serverlib.target, - ) + bld( + features='subst_pc', + source='../jack.pc.in', + target='jack.pc', + install_path='${PKGCONFDIR}', + INCLUDEDIR=os.path.normpath(bld.env['PREFIX'] + '/include'), + CLIENTLIB=clientlib.target, + SERVERLIB=serverlib.target, + ) |