jack2 codebase
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
3.7KB

  1. #! /usr/bin/env python
  2. # encoding: utf-8
  3. def create_jack_driver_obj(bld, target, sources, uselib = None):
  4. driver = bld(features = ['c', 'cxx', 'cxxshlib', 'cshlib'])
  5. driver.env['cxxshlib_PATTERN'] = 'jack_%s.so'
  6. driver.defines = ['HAVE_CONFIG_H','SERVER_SIDE']
  7. driver.includes = ['.', '../linux', '../posix', '../common', '../common/jack', '../dbus', '../']
  8. driver.target = target
  9. driver.source = sources
  10. driver.install_path = '${ADDON_DIR}/'
  11. driver.use = []
  12. if uselib:
  13. driver.use += uselib
  14. return driver
  15. def build(bld):
  16. if bld.env['BUILD_JACKD'] == True:
  17. jackd = bld(features = ['cxx', 'cxxprogram'])
  18. jackd.includes = ['../linux', '../posix', '../common/jack', '../common', '../dbus', '../']
  19. jackd.defines = ['HAVE_CONFIG_H','SERVER_SIDE']
  20. jackd.source = ['../common/Jackdmp.cpp']
  21. jackd.use = ['serverlib']
  22. if bld.env['IS_LINUX'] and bld.env['BUILD_JACKDBUS']:
  23. jackd.source += ['../dbus/reserve.c', '../dbus/audio_reserve.c']
  24. jackd.use += ['PTHREAD', 'DL', 'RT', 'M', 'STDC++', 'DBUS-1']
  25. else:
  26. jackd.use += ['PTHREAD', 'DL', 'RT', 'M', 'STDC++']
  27. jackd.target = 'jackd'
  28. create_jack_driver_obj(bld, 'dummy', '../common/JackDummyDriver.cpp')
  29. alsa_driver_src = [
  30. 'alsa/JackAlsaDriver.cpp',
  31. 'alsa/alsa_rawmidi.c',
  32. 'alsa/alsa_seqmidi.c',
  33. 'alsa/alsa_midi_jackmp.cpp',
  34. '../common/memops.c',
  35. 'alsa/generic_hw.c',
  36. 'alsa/hdsp.c',
  37. 'alsa/alsa_driver.c',
  38. 'alsa/hammerfall.c',
  39. 'alsa/ice1712.c'
  40. ]
  41. alsarawmidi_driver_src = ['alsarawmidi/JackALSARawMidiDriver.cpp',
  42. 'alsarawmidi/JackALSARawMidiInputPort.cpp',
  43. 'alsarawmidi/JackALSARawMidiOutputPort.cpp',
  44. 'alsarawmidi/JackALSARawMidiPort.cpp',
  45. 'alsarawmidi/JackALSARawMidiReceiveQueue.cpp',
  46. 'alsarawmidi/JackALSARawMidiSendQueue.cpp',
  47. 'alsarawmidi/JackALSARawMidiUtil.cpp'
  48. ]
  49. ffado_driver_src = ['firewire/JackFFADODriver.cpp',
  50. 'firewire/JackFFADOMidiInputPort.cpp',
  51. 'firewire/JackFFADOMidiOutputPort.cpp',
  52. 'firewire/JackFFADOMidiReceiveQueue.cpp',
  53. 'firewire/JackFFADOMidiSendQueue.cpp'
  54. ]
  55. iio_driver_src = ['iio/JackIIODriver.cpp']
  56. if bld.env['BUILD_DRIVER_ALSA'] == True:
  57. create_jack_driver_obj(bld, 'alsa', alsa_driver_src, ["ALSA"])
  58. create_jack_driver_obj(bld, 'alsarawmidi', alsarawmidi_driver_src,
  59. ["ALSA"])
  60. if bld.env['BUILD_DRIVER_FREEBOB'] == True:
  61. create_jack_driver_obj(bld, 'freebob', 'freebob/JackFreebobDriver.cpp', ["LIBFREEBOB"])
  62. if bld.env['BUILD_DRIVER_FFADO'] == True:
  63. create_jack_driver_obj(bld, 'firewire', ffado_driver_src, ["LIBFFADO"])
  64. if bld.env['BUILD_DRIVER_IIO'] == True:
  65. create_jack_driver_obj(bld, 'iio', iio_driver_src, ["GTKIOSTREAM", "EIGEN3"])
  66. create_jack_driver_obj(bld, 'net', '../common/JackNetDriver.cpp')
  67. create_jack_driver_obj(bld, 'loopback', '../common/JackLoopbackDriver.cpp')
  68. create_jack_driver_obj(bld, 'netone', [ '../common/JackNetOneDriver.cpp',
  69. '../common/netjack.c',
  70. '../common/netjack_packet.c' ], ["SAMPLERATE", "CELT"])
  71. create_jack_driver_obj(bld, 'proxy', '../common/JackProxyDriver.cpp')