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.

84 lines
3.2KB

  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. if bld.env['HAVE_CELT']:
  9. if bld.env['HAVE_CELT_API_0_5']:
  10. driver.defines += ['HAVE_CELT', 'HAVE_CELT_API_0_5']
  11. elif bld.env['HAVE_CELT_API_0_7']:
  12. driver.defines += ['HAVE_CELT', 'HAVE_CELT_API_0_7']
  13. driver.includes = ['.', '../macosx', '../posix', '../common', '../common/jack']
  14. driver.target = target
  15. driver.source = sources
  16. driver.install_path = '${ADDON_DIR}/'
  17. driver.uselib_local = 'serverlib'
  18. if uselib:
  19. driver.uselib = uselib
  20. return driver
  21. def create_jack_audio_driver_obj(bld, target, sources, uselib = None):
  22. driver = bld.new_task_gen('cxx', 'shlib')
  23. driver.features.append('cc')
  24. driver.env['shlib_PATTERN'] = 'jack_%s.so'
  25. driver.defines = 'HAVE_CONFIG_H'
  26. driver.includes = ['.', '../macosx', '../posix', '../common', '../common/jack']
  27. driver.target = target
  28. driver.source = sources
  29. driver.install_path = '${ADDON_DIR}/'
  30. driver.uselib_local = 'serverlib'
  31. driver.env.append_value("LINKFLAGS", "-framework CoreAudio -framework CoreServices -framework AudioUnit")
  32. if uselib:
  33. driver.uselib = uselib
  34. return driver
  35. def create_jack_midi_driver_obj(bld, target, sources, uselib = None):
  36. driver = bld.new_task_gen('cxx', 'shlib')
  37. driver.features.append('cc')
  38. driver.env['shlib_PATTERN'] = 'jack_%s.so'
  39. driver.defines = 'HAVE_CONFIG_H'
  40. driver.includes = ['.', '../macosx', '../posix', '../common', '../common/jack']
  41. driver.target = target
  42. driver.source = sources
  43. driver.install_path = '${ADDON_DIR}/'
  44. driver.uselib_local = 'serverlib'
  45. driver.env.append_value("LINKFLAGS", "-framework CoreMIDI -framework CoreServices -framework AudioUnit")
  46. if uselib:
  47. driver.uselib = uselib
  48. return driver
  49. def build(bld):
  50. if bld.env['BUILD_JACKD'] == True:
  51. jackd = bld.new_task_gen('cxx', 'program')
  52. jackd.includes = ['.', '../macosx', '../posix', '../common', '../common/jack']
  53. jackd.defines = 'HAVE_CONFIG_H'
  54. jackd.source = ['../common/Jackdmp.cpp']
  55. jackd.uselib = 'PTHREAD DL'
  56. jackd.uselib_local = 'serverlib'
  57. jackd.env.append_value("LINKFLAGS", "-framework CoreFoundation")
  58. jackd.target = 'jackd'
  59. create_jack_driver_obj(bld, 'dummy', '../common/JackDummyDriver.cpp')
  60. create_jack_driver_obj(bld, 'loopback', '../common/JackLoopbackDriver.cpp')
  61. create_jack_audio_driver_obj(bld, 'coreaudio', 'coreaudio/JackCoreAudioDriver.cpp')
  62. create_jack_midi_driver_obj(bld, 'coremidi', 'coremidi/JackCoreMidiDriver.cpp')
  63. portaudio_src = [
  64. '../windows/JackPortAudioDriver.cpp',
  65. '../windows/JackPortAudioDevices.cpp',
  66. ]
  67. #create_jack_audio_driver_obj(bld, 'portaudio', portaudio_src)
  68. create_jack_driver_obj(bld, 'net', '../common/JackNetDriver.cpp')
  69. create_jack_driver_obj(bld, 'netone', [ '../common/JackNetOneDriver.cpp',
  70. '../common/netjack.c',
  71. '../common/netjack_packet.c' ], "SAMPLERATE CELT" )