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.

90 lines
3.4KB

  1. #! /usr/bin/env python
  2. # encoding: utf-8
  3. def create_jack_driver_obj(bld, target, sources, uselib = None):
  4. driver = bld.new_task_gen('cxx', 'shlib')
  5. driver.features.append('cc')
  6. driver.env['shlib_PATTERN'] = 'jack_%s.so'
  7. driver.defines = ['HAVE_CONFIG_H','SERVER_SIDE']
  8. driver.includes = ['.', '../macosx', '../posix', '../common', '../common/jack']
  9. driver.target = target
  10. driver.source = sources
  11. driver.install_path = '${ADDON_DIR}/'
  12. driver.uselib_local = 'serverlib'
  13. if uselib:
  14. driver.uselib = uselib
  15. return driver
  16. def create_jack_audio_driver_obj(bld, target, sources, uselib = None):
  17. driver = bld.new_task_gen('cxx', 'shlib')
  18. driver.features.append('cc')
  19. driver.env['shlib_PATTERN'] = 'jack_%s.so'
  20. driver.defines = 'HAVE_CONFIG_H'
  21. driver.includes = ['.', '../macosx', '../posix', '../common', '../common/jack']
  22. driver.target = target
  23. driver.source = sources
  24. driver.install_path = '${ADDON_DIR}/'
  25. driver.uselib_local = 'serverlib'
  26. driver.env.append_value("LINKFLAGS", "-framework CoreAudio -framework CoreServices -framework AudioUnit")
  27. if uselib:
  28. driver.uselib = uselib
  29. return driver
  30. def create_jack_midi_driver_obj(bld, target, sources, uselib = None):
  31. driver = bld.new_task_gen('cxx', 'shlib')
  32. driver.features.append('cc')
  33. driver.env['shlib_PATTERN'] = 'jack_%s.so'
  34. driver.defines = 'HAVE_CONFIG_H'
  35. driver.includes = ['.', '../macosx', '../posix', '../common', '../common/jack']
  36. driver.target = target
  37. driver.source = sources
  38. driver.install_path = '${ADDON_DIR}/'
  39. driver.uselib_local = 'serverlib'
  40. driver.env.append_value("LINKFLAGS", "-framework CoreMIDI -framework CoreServices -framework AudioUnit")
  41. if uselib:
  42. driver.uselib = uselib
  43. return driver
  44. def build(bld):
  45. if bld.env['BUILD_JACKD'] == True:
  46. jackd = bld.new_task_gen('cxx', 'program')
  47. jackd.includes = ['.', '../macosx', '../posix', '../common', '../common/jack']
  48. jackd.defines = 'HAVE_CONFIG_H'
  49. jackd.source = ['../common/Jackdmp.cpp']
  50. jackd.uselib = 'PTHREAD DL'
  51. jackd.uselib_local = 'serverlib'
  52. jackd.env.append_value("LINKFLAGS", "-framework CoreFoundation")
  53. jackd.target = 'jackd'
  54. create_jack_driver_obj(bld, 'dummy', '../common/JackDummyDriver.cpp')
  55. create_jack_driver_obj(bld, 'loopback', '../common/JackLoopbackDriver.cpp')
  56. create_jack_audio_driver_obj(bld, 'coreaudio', 'coreaudio/JackCoreAudioDriver.cpp')
  57. create_jack_midi_driver_obj(
  58. bld,
  59. 'coremidi',
  60. ['coremidi/JackCoreMidiInputPort.cpp',
  61. 'coremidi/JackCoreMidiOutputPort.cpp',
  62. 'coremidi/JackCoreMidiPhysicalInputPort.cpp',
  63. 'coremidi/JackCoreMidiPhysicalOutputPort.cpp',
  64. 'coremidi/JackCoreMidiVirtualInputPort.cpp',
  65. 'coremidi/JackCoreMidiVirtualOutputPort.cpp',
  66. 'coremidi/JackCoreMidiPort.cpp',
  67. 'coremidi/JackCoreMidiUtil.cpp',
  68. 'coremidi/JackCoreMidiDriver.cpp'])
  69. portaudio_src = [
  70. '../windows/JackPortAudioDriver.cpp',
  71. '../windows/JackPortAudioDevices.cpp',
  72. ]
  73. #create_jack_audio_driver_obj(bld, 'portaudio', portaudio_src)
  74. create_jack_driver_obj(bld, 'net', '../common/JackNetDriver.cpp')
  75. create_jack_driver_obj(bld, 'netone', [ '../common/JackNetOneDriver.cpp',
  76. '../common/netjack.c',
  77. '../common/netjack_packet.c' ], "SAMPLERATE CELT" )