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.

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