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.

129 lines
4.2KB

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