Change-Id: I9ee88d6b2531622c8d46f69872d30750168c4e4a Signed-off-by: Timo Wischer <twischer@de.adit-jv.com>pull/545/head
| @@ -0,0 +1,14 @@ | |||
| .PHONY: all | |||
| all: | |||
| CC=${QNX_HOST}/usr/bin/aarch64-unknown-nto-qnx7.0.0-gcc CXX=${QNX_HOST}/usr/bin/aarch64-unknown-nto-qnx7.0.0-g++ AR=${QNX_HOST}/usr/bin/aarch64-unknown-nto-qnx7.0.0-ar LDFLAGS="-L${INSTALL_ROOT_nto}/aarch64le/lib -L${INSTALL_ROOT_nto}/aarch64le/usr/lib -L${QNX_TARGET}/aarch64le/lib -L${QNX_TARGET}/aarch64le/usr/lib" PKG_CONFIG_LIBDIR=${INSTALL_ROOT_nto}/usr/lib/pkgconfig ./waf configure --platform=qnx --prefix=/usr --libdir=/usr/lib64 | |||
| ./waf build | |||
| ./waf install --destdir=${INSTALL_ROOT_nto} | |||
| .PHONY: install | |||
| install: all | |||
| .PHONY:clean | |||
| clean: | |||
| # ignore error codes otherwise it would for example fail if clean is called before configure | |||
| -./waf clean | |||
| @@ -28,6 +28,8 @@ def create_jack_process_obj(bld, target, sources, uselib = None, framework = Non | |||
| env_includes = ['../macosx', '../posix', '../macosx/coreaudio'] | |||
| if bld.env['IS_LINUX']: | |||
| env_includes = ['../linux', '../posix', '../linux/alsa'] | |||
| if bld.env['IS_QNX']: | |||
| env_includes = ['../qnx', '../posix'] | |||
| if bld.env['IS_SUN']: | |||
| env_includes = ['../solaris', '../posix', '../solaris/oss'] | |||
| if bld.env['IS_WINDOWS']: | |||
| @@ -36,7 +38,7 @@ def create_jack_process_obj(bld, target, sources, uselib = None, framework = Non | |||
| process.name = target | |||
| process.target = target | |||
| process.source = sources | |||
| if bld.env['IS_LINUX'] or bld.env['IS_MACOSX']: | |||
| if bld.env['IS_LINUX'] or bld.env['IS_MACOSX'] or bld.env['IS_QNX']: | |||
| process.env.append_value('CPPFLAGS', '-fvisibility=hidden') | |||
| process.install_path = '${ADDON_DIR}/' | |||
| process.use = [uselib.name] | |||
| @@ -92,6 +94,22 @@ def build(bld): | |||
| uselib.append('RT') | |||
| uselib.append('DL') | |||
| if bld.env['IS_QNX']: | |||
| common_libsources += [ | |||
| 'JackDebugClient.cpp', | |||
| 'timestamps.c', | |||
| 'promiscuous.c', | |||
| '../posix/JackPosixThread.cpp', | |||
| '../posix/JackPosixProcessSync.cpp', | |||
| '../posix/JackPosixMutex.cpp', | |||
| '../posix/JackSocket.cpp', | |||
| '../posix/JackFifo.cpp', | |||
| '../linux/JackLinuxTime.c', | |||
| ] | |||
| includes = ['../qnx', '../posix'] + includes | |||
| uselib.append('SOCKET') | |||
| # libdl and librt is included in libc in QNX | |||
| if bld.env['IS_SUN']: | |||
| common_libsources += [ | |||
| 'JackDebugClient.cpp', | |||
| @@ -159,7 +177,7 @@ def build(bld): | |||
| 'JackMetadata.cpp', | |||
| ] | |||
| if bld.env['IS_LINUX']: | |||
| if bld.env['IS_LINUX'] or bld.env['IS_QNX']: | |||
| clientlib.source += [ | |||
| '../posix/JackSocketClientChannel.cpp', | |||
| '../posix/JackPosixServerLaunch.cpp', | |||
| @@ -187,7 +205,7 @@ def build(bld): | |||
| clientlib.vnum = bld.env['JACK_API_VERSION'] | |||
| if bld.env['IS_LINUX']: | |||
| if bld.env['IS_LINUX'] or bld.env['IS_QNX']: | |||
| clientlib.env.append_value('CPPFLAGS', '-fvisibility=hidden') | |||
| if bld.env['IS_MACOSX']: | |||
| @@ -253,7 +271,7 @@ def build(bld): | |||
| 'JackMetadata.cpp', | |||
| ] | |||
| if bld.env['IS_LINUX']: | |||
| if bld.env['IS_LINUX'] or bld.env['IS_QNX']: | |||
| serverlib.source += [ | |||
| '../posix/JackSocketServerChannel.cpp', | |||
| '../posix/JackSocketNotifyChannel.cpp', | |||
| @@ -289,7 +307,7 @@ def build(bld): | |||
| serverlib.vnum = bld.env['JACK_API_VERSION'] | |||
| if bld.env['IS_LINUX']: | |||
| if bld.env['IS_LINUX'] or bld.env['IS_QNX']: | |||
| serverlib.env.append_value('CPPFLAGS', '-fvisibility=hidden') | |||
| if bld.env['IS_MACOSX']: | |||
| @@ -312,7 +330,7 @@ def build(bld): | |||
| netlib.env['cxxshlib_PATTERN'] = 'lib%s.dll' | |||
| netlib.install_path = '${BINDIR}' | |||
| netlib.use += ['WS2_32', 'WINMM'] | |||
| elif bld.env['IS_MACOSX']: | |||
| elif bld.env['IS_MACOSX'] or bld.env['IS_QNX']: | |||
| netlib.install_path = '${LIBDIR}' | |||
| else: | |||
| netlib.use += ['RT'] | |||
| @@ -328,7 +346,7 @@ def build(bld): | |||
| 'JackGlobals.cpp', | |||
| 'ringbuffer.c'] | |||
| if bld.env['IS_LINUX']: | |||
| if bld.env['IS_LINUX'] or bld.env['IS_QNX']: | |||
| netlib.source += ['../posix/JackNetUnixSocket.cpp','../posix/JackPosixThread.cpp', '../posix/JackPosixMutex.cpp', '../linux/JackLinuxTime.c'] | |||
| netlib.env.append_value('CPPFLAGS', '-fvisibility=hidden') | |||
| @@ -49,6 +49,8 @@ def build(bld): | |||
| os_incdir = ['../linux', '../posix'] | |||
| if bld.env['IS_MACOSX']: | |||
| os_incdir = ['../macosx', '../posix'] | |||
| if bld.env['IS_QNX']: | |||
| os_incdir = ['../qnx', '../posix'] | |||
| if bld.env['IS_SUN']: | |||
| os_incdir = ['../solaris', '../posix'] | |||
| if bld.env['IS_WINDOWS']: | |||
| @@ -76,7 +78,7 @@ def build(bld): | |||
| prog.use = use | |||
| if bld.env['IS_LINUX']: | |||
| prog.use += ['RT', 'M'] | |||
| if bld.env['IS_SUN']: | |||
| if bld.env['IS_SUN'] or bld.env['IS_QNX']: | |||
| prog.use += ['M'] | |||
| #prog.cflags = ['-Wno-deprecated-declarations', '-Wno-misleading-indentation'] | |||
| #prog.cxxflags = ['-Wno-deprecated-declarations', '-Wno-misleading-indentation'] | |||
| @@ -90,7 +92,7 @@ def build(bld): | |||
| prog.use = ['clientlib'] | |||
| if bld.env['IS_LINUX']: | |||
| prog.use += ['RT', 'READLINE'] | |||
| if bld.env['IS_MACOSX']: | |||
| if bld.env['IS_MACOSX'] or bld.env['IS_QNX']: | |||
| prog.use += ['READLINE'] | |||
| if bld.env['IS_WINDOWS']: | |||
| prog.use += ['READLINE'] | |||
| @@ -101,7 +103,7 @@ def build(bld): | |||
| prog.includes = os_incdir + ['../common/jack', '../common'] | |||
| prog.source = 'capture_client.c' | |||
| prog.use = ['clientlib'] | |||
| if bld.env['IS_MACOSX']: | |||
| if bld.env['IS_MACOSX'] or bld.env['IS_QNX']: | |||
| prog.use += ['SNDFILE'] | |||
| if bld.env['IS_LINUX']: | |||
| prog.use += ['RT', 'SNDFILE'] | |||
| @@ -111,7 +113,7 @@ def build(bld): | |||
| prog.uselib = ['SNDFILE'] | |||
| prog.target = 'jack_rec' | |||
| if bld.env['IS_LINUX'] or bld.env['IS_MACOSX']: | |||
| if bld.env['IS_LINUX'] or bld.env['IS_MACOSX'] or bld.env['IS_QNX']: | |||
| prog = bld(features = 'c cprogram') | |||
| prog.includes = os_incdir + ['.', '..', '../common/jack', '../common'] | |||
| prog.source = ['netsource.c', '../common/netjack_packet.c'] | |||
| @@ -20,6 +20,8 @@ def build(bld): | |||
| prog.includes = ['..','../macosx', '../posix', '../common/jack', '../common'] | |||
| if bld.env['IS_LINUX']: | |||
| prog.includes = ['..','../linux', '../posix', '../common/jack', '../common'] | |||
| if bld.env['IS_QNX']: | |||
| prog.includes = ['..','../qnx', '../posix', '../common/jack', '../common'] | |||
| if bld.env['IS_SUN']: | |||
| prog.includes = ['..','../solaris', '../posix', '../common/jack', '../common'] | |||
| prog.source = test_program_sources | |||
| @@ -95,6 +95,15 @@ def options(opt): | |||
| alsa.check_cfg( | |||
| package='alsa >= 1.0.18', | |||
| args='--cflags --libs') | |||
| # Check for QNX sound headers | |||
| qsa = opt.add_auto_option( | |||
| 'qsa', | |||
| help='Enable QNX sound driver', | |||
| conf_dest='BUILD_DRIVER_ALSA') | |||
| qsa.check(lib='asound', uselib_store='ALSA') | |||
| qsa.check( | |||
| header_name=['sys/asoundlib.h'], | |||
| msg='Checking for header sys/asoundlib.h') | |||
| firewire = opt.add_auto_option( | |||
| 'firewire', | |||
| help='Enable FireWire driver (FFADO)', | |||
| @@ -185,6 +194,7 @@ def detect_platform(conf): | |||
| platforms = [ | |||
| # ('KEY, 'Human readable name', ['strings', 'to', 'check', 'for']) | |||
| ('IS_LINUX', 'Linux', ['gnu0', 'gnukfreebsd', 'linux', 'posix']), | |||
| ('IS_QNX', 'QNX', ['qnx']), | |||
| ('IS_MACOSX', 'MacOS X', ['darwin']), | |||
| ('IS_SUN', 'SunOS', ['sunos']), | |||
| ('IS_WINDOWS', 'Windows', ['cygwin', 'msys', 'win32']) | |||
| @@ -293,7 +303,11 @@ def configure(conf): | |||
| conf.check_cc(fragment=fragment, define_name='HAVE_NGREG', mandatory=False, | |||
| msg='Checking for NGREG') | |||
| conf.env['LIB_PTHREAD'] = ['pthread'] | |||
| if conf.env['IS_QNX']: | |||
| conf.env['LIB_PTHREAD'] = ['c'] | |||
| conf.env['LIB_SOCKET'] = ['socket'] | |||
| else: | |||
| conf.env['LIB_PTHREAD'] = ['pthread'] | |||
| conf.env['LIB_DL'] = ['dl'] | |||
| conf.env['LIB_RT'] = ['rt'] | |||
| conf.env['LIB_M'] = ['m'] | |||
| @@ -496,6 +510,9 @@ def obj_add_includes(bld, obj): | |||
| if bld.env['IS_MACOSX']: | |||
| obj.includes += ['macosx', 'posix'] | |||
| if bld.env['IS_QNX']: | |||
| obj.includes += ['qnx', 'posix'] | |||
| if bld.env['IS_SUN']: | |||
| obj.includes += ['posix', 'solaris'] | |||
| @@ -524,6 +541,10 @@ def build_jackd(bld): | |||
| jackd.use += ['DL', 'PTHREAD'] | |||
| jackd.framework = ['CoreFoundation'] | |||
| if bld.env['IS_QNX']: | |||
| jackd.use += ['M', 'PTHREAD'] | |||
| if bld.env['IS_SUN']: | |||
| jackd.use += ['DL', 'PTHREAD'] | |||
| @@ -582,16 +603,20 @@ def build_drivers(bld): | |||
| alsa_src = [ | |||
| 'common/memops.c', | |||
| 'linux/alsa/JackAlsaDriver.cpp', | |||
| 'linux/alsa/alsa_rawmidi.c', | |||
| 'linux/alsa/alsa_seqmidi.c', | |||
| 'linux/alsa/alsa_midi_jackmp.cpp', | |||
| 'linux/alsa/generic_hw.c', | |||
| 'linux/alsa/hdsp.c', | |||
| 'linux/alsa/alsa_driver.c', | |||
| 'linux/alsa/hammerfall.c', | |||
| 'linux/alsa/ice1712.c' | |||
| 'linux/alsa/alsa_driver.c' | |||
| ] | |||
| if not bld.env['IS_QNX']: | |||
| alsa_src += [ | |||
| 'linux/alsa/alsa_rawmidi.c', | |||
| 'linux/alsa/alsa_seqmidi.c', | |||
| 'linux/alsa/alsa_midi_jackmp.cpp', | |||
| 'linux/alsa/generic_hw.c', | |||
| 'linux/alsa/hdsp.c', | |||
| 'linux/alsa/hammerfall.c', | |||
| 'linux/alsa/ice1712.c' | |||
| ] | |||
| alsarawmidi_src = [ | |||
| 'linux/alsarawmidi/JackALSARawMidiDriver.cpp', | |||
| 'linux/alsarawmidi/JackALSARawMidiInputPort.cpp', | |||
| @@ -688,11 +713,12 @@ def build_drivers(bld): | |||
| target = 'alsa', | |||
| source = alsa_src, | |||
| use = ['ALSA']) | |||
| create_driver_obj( | |||
| bld, | |||
| target = 'alsarawmidi', | |||
| source = alsarawmidi_src, | |||
| use = ['ALSA']) | |||
| if not bld.env['IS_QNX']: | |||
| create_driver_obj( | |||
| bld, | |||
| target = 'alsarawmidi', | |||
| source = alsarawmidi_src, | |||
| use = ['ALSA']) | |||
| if bld.env['BUILD_DRIVER_FFADO']: | |||
| create_driver_obj( | |||