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.

56 lines
2.2KB

  1. #! /usr/bin/env python
  2. # encoding: utf-8
  3. def configure(conf):
  4. conf.check_pkg('alsa', vnum = '1.0.0')
  5. conf.env['BUILD_DRIVER_ALSA'] = conf.is_defined('HAVE_ALSA')
  6. conf.check_pkg('libfreebob', vnum = '1.0.0')
  7. conf.env['BUILD_DRIVER_FREEBOB'] = conf.is_defined('HAVE_LIBFREEBOB')
  8. conf.check_pkg('libffado', vnum = '1.999.17')
  9. conf.env['BUILD_DRIVER_FFADO'] = conf.is_defined('HAVE_LIBFFADO')
  10. def create_jack_driver_obj(bld, target, sources, uselib = None):
  11. driver = bld.create_obj('cpp', 'shlib')
  12. driver.features.append('cc')
  13. driver.env['shlib_PATTERN'] = 'jack_%s.so'
  14. driver.defines = 'HAVE_CONFIG_H'
  15. driver.includes = ['.', '../common', '../common/jack']
  16. driver.target = target
  17. driver.source = sources
  18. driver.inst_var = bld.env()['ADDON_DIR']
  19. driver.inst_dir = '/'
  20. if uselib:
  21. driver.uselib = uselib
  22. return driver
  23. def build(bld):
  24. jackd = bld.create_obj('cpp', 'program')
  25. jackd.includes = ['../common/jack', '../common']
  26. jackd.defines = 'HAVE_CONFIG_H'
  27. jackd.source = ['../common/Jackdmp.cpp']
  28. jackd.uselib = 'PTHREAD DL RT'
  29. jackd.uselib_local = 'serverlib'
  30. jackd.target = 'jackd'
  31. create_jack_driver_obj(bld, 'dummy', '../common/JackDummyDriver.cpp')
  32. if bld.env()['BUILD_DRIVER_ALSA'] == True:
  33. create_jack_driver_obj(bld, 'alsa', ['alsa/JackAlsaDriver.cpp',
  34. 'alsa/alsa_rawmidi.c',
  35. 'alsa/alsa_seqmidi.c',
  36. 'alsa/alsa_midi_jackmp.cpp',
  37. 'alsa/memops.c',
  38. 'alsa/generic_hw.c',
  39. 'alsa/hdsp.c',
  40. 'alsa/hammerfall.c',
  41. 'alsa/ice1712.c'
  42. ], "ALSA")
  43. if bld.env()['BUILD_DRIVER_FREEBOB'] == True:
  44. create_jack_driver_obj(bld, 'freebob', 'freebob/JackFreebobDriver.cpp', "LIBFREEBOB")
  45. if bld.env()['BUILD_DRIVER_FFADO'] == True:
  46. create_jack_driver_obj(bld, 'firewire', 'firewire/JackFFADODriver.cpp', "LIBFFADO")