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.

72 lines
3.1KB

  1. #! /usr/bin/env python
  2. # encoding: utf-8
  3. def configure(conf):
  4. conf.check_cfg(package='portaudio-2.0', uselib_store='PORTAUDIO', atleast_version='19', args='--cflags --libs')
  5. conf.env['BUILD_DRIVER_PORTAUDIO'] = conf.is_defined('HAVE_PORTAUDIO')
  6. def create_jack_driver_obj(bld, target, sources, uselib = None):
  7. driver = bld(features = ['c', 'cxx', 'cxxshlib', 'cshlib'])
  8. driver.env['cxxshlib_PATTERN'] = 'jack_%s.dll'
  9. driver.defines = ['HAVE_CONFIG_H','SERVER_SIDE']
  10. driver.includes = ['.', '..' , '../windows', '../common', '../common/jack']
  11. driver.target = target
  12. driver.source = sources
  13. driver.install_path = '${ADDON_DIR}/'
  14. driver.use = ['serverlib']
  15. if uselib:
  16. driver.use += uselib
  17. return driver
  18. def build(bld):
  19. if bld.env['BUILD_JACKD'] == True:
  20. jackd = bld(features = ['cxx', 'cxxprogram'])
  21. jackd.includes = ['..', '../windows', '../common/jack', '../common', '../dbus']
  22. jackd.defines = ['HAVE_CONFIG_H','SERVER_SIDE']
  23. jackd.source = ['../common/Jackdmp.cpp']
  24. jackd.install_path = '${BINDIR}'
  25. jackd.use = ['serverlib']
  26. jackd.target = 'jackd'
  27. create_jack_driver_obj(bld, 'dummy', '../common/JackDummyDriver.cpp')
  28. winmme_driver_src = [
  29. 'winmme/JackWinMMEDriver.cpp',
  30. 'winmme/JackWinMMEInputPort.cpp',
  31. 'winmme/JackWinMMEOutputPort.cpp',
  32. 'winmme/JackWinMMEPort.cpp',
  33. ]
  34. if bld.env['BUILD_DRIVER_WINMME'] == True:
  35. winmme_driver = bld(features = ['c', 'cxx', 'cxxshlib', 'cshlib'])
  36. winmme_driver.env['cxxshlib_PATTERN'] = 'jack_%s.dll'
  37. winmme_driver.defines = ['HAVE_CONFIG_H','SERVER_SIDE']
  38. winmme_driver.includes = ['.', '..' , '../windows', '../common', '../common/jack']
  39. winmme_driver.target = 'winmme'
  40. winmme_driver.source = winmme_driver_src
  41. winmme_driver.install_path = '${ADDON_DIR}/'
  42. winmme_driver.use = ['serverlib', 'WINMME']
  43. portaudio_driver_src = [
  44. 'portaudio/JackPortAudioDevices.cpp',
  45. 'portaudio/JackPortAudioDriver.cpp',
  46. ]
  47. if bld.env['BUILD_DRIVER_PORTAUDIO'] == True:
  48. portaudio_driver = bld(features = ['c', 'cxx', 'cxxshlib', 'cshlib'])
  49. portaudio_driver.env['cxxshlib_PATTERN'] = 'jack_%s.dll'
  50. portaudio_driver.defines = ['HAVE_CONFIG_H','SERVER_SIDE']
  51. portaudio_driver.includes = ['.', '..' , '../windows', '../common', '../common/jack']
  52. portaudio_driver.target = 'portaudio'
  53. portaudio_driver.source = portaudio_driver_src
  54. portaudio_driver.install_path = '${ADDON_DIR}/'
  55. portaudio_driver.use = ['serverlib', 'PORTAUDIO' ]
  56. create_jack_driver_obj(bld, 'net', '../common/JackNetDriver.cpp')
  57. create_jack_driver_obj(bld, 'loopback', '../common/JackLoopbackDriver.cpp')
  58. create_jack_driver_obj(bld, 'netone', [ '../common/JackNetOneDriver.cpp',
  59. '../common/netjack.c',
  60. '../common/netjack_packet.c' ], ["SAMPLERATE", "CELT"] )