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.

71 lines
2.3KB

  1. #! /usr/bin/env python
  2. # encoding: utf-8
  3. import os.path
  4. import Options
  5. import re # subst_func
  6. def set_options(opt):
  7. opt.add_option('--enable-pkg-config-dbus-service-dir', action='store_true', default=False, help='force D-Bus service install dir to be one returned by pkg-config')
  8. def configure(conf):
  9. # conf.check_pkg('dbus-1', pkgvars=['session_bus_services_dir'])
  10. # Needs a fix : nedko ??
  11. conf.check_cfg(package='dbus-1', pkgvars=['session_bus_services_dir'])
  12. if Options.options.enable_pkg_config_dbus_service_dir:
  13. conf.env['DBUS_SERVICES_DIR'] = conf.env['DBUS-1_SESSION_BUS_SERVICES_DIR'][0]
  14. else:
  15. conf.env['DBUS_SERVICES_DIR'] = os.path.normpath(conf.env['PREFIX'] + '/share/dbus-1/services')
  16. conf.check_tool('misc')
  17. conf.check(header_name='expat.h', define_name="HAVE_EXPAT")
  18. if conf.is_defined('HAVE_EXPAT'):
  19. conf.env['LIB_EXPAT'] = ['expat']
  20. conf.env['BUILD_JACKDBUS'] = conf.is_defined('HAVE_EXPAT') and conf.is_defined('HAVE_DBUS_1')
  21. def build(bld):
  22. if bld.env["BUILD_JACKDBUS"] != True:
  23. return
  24. obj = bld.new_task_gen('cc', 'program')
  25. if bld.env['IS_LINUX']:
  26. sysdeps_dbus_include = ['../linux', '../posix']
  27. if bld.env['IS_MACOSX']:
  28. sysdeps_dbus_include = ['../macosx', '../posix']
  29. obj.includes = sysdeps_dbus_include + ['.', '../', '../common', '../common/jack']
  30. obj.source = [
  31. 'jackdbus.c',
  32. 'controller.c',
  33. 'controller_iface_configure.c',
  34. 'controller_iface_control.c',
  35. 'controller_iface_introspectable.c',
  36. 'controller_iface_patchbay.c',
  37. 'controller_iface_transport.c',
  38. 'xml.c',
  39. 'xml_expat.c',
  40. #'xml_libxml.c',
  41. #'xml_nop.c',
  42. 'xml_write_raw.c',
  43. 'sigsegv.c',
  44. ]
  45. if bld.env['IS_LINUX']:
  46. obj.uselib = 'PTHREAD DL RT DBUS-1 EXPAT'
  47. if bld.env['IS_MACOSX']:
  48. obj.uselib = 'PTHREAD DL DBUS-1 EXPAT'
  49. obj.uselib_local = 'serverlib'
  50. obj.target = 'jackdbus'
  51. # process org.jackaudio.service.in -> org.jackaudio.service
  52. import misc
  53. obj = bld.new_task_gen('subst')
  54. obj.source = 'org.jackaudio.service.in'
  55. obj.target = 'org.jackaudio.service'
  56. obj.dict = {'BINDIR': bld.env['PREFIX'] + '/bin'}
  57. obj.install_path = '${DBUS_SERVICES_DIR}/'
  58. obj.fun = misc.subst_func