Assists music production by grouping standalone programs into sessions. Community version of "Non Session Manager".
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.

114 lines
3.1KB

  1. #!/usr/bin/env python
  2. import subprocess
  3. import waflib.Options as Options
  4. import string
  5. import os;
  6. # Version of this package (even if built as a child)
  7. PACKAGE_VERSION = '1.2.0'
  8. # Variables for 'waf dist'
  9. APPNAME = 'non-daw'
  10. VERSION = PACKAGE_VERSION
  11. # Mandatory variables
  12. top = '.'
  13. out = 'build'
  14. def options(opt):
  15. opt.load('compiler_c')
  16. opt.load('compiler_cxx')
  17. opt.load('gnu_dirs')
  18. def configure(conf):
  19. conf.load('compiler_c')
  20. conf.load('compiler_cxx')
  21. conf.load('gnu_dirs')
  22. # conf.env.append_value('CFLAGS', '-D_LARGEFILE64_SOURCE')
  23. # conf.env.append_value('CFLAGS', '-D_FILE_OFFSET_BITS=64')
  24. # conf.env.append_value('CXXFLAGS', '-D_LARGEFILE64_SOURCE')
  25. # conf.env.append_value('CXXFLAGS', '-D_FILE_OFFSET_BITS=64')
  26. conf.check_cfg(package='sndfile', uselib_store='SNDFILE',args="--cflags --libs",
  27. atleast_version='1.0.17', mandatory=True)
  28. conf.define('VERSION', PACKAGE_VERSION)
  29. conf.define('SYSTEM_PATH', '/'.join( [ conf.env.DATADIR, APPNAME ] ) )
  30. conf.define('DOCUMENT_PATH', '/'.join( [ conf.env.DATADIR, 'doc' ] ) )
  31. conf.define('PIXMAP_PATH', '/'.join( [ conf.env.DATADIR, 'pixmaps' ] ) )
  32. conf.write_config_header('config.h', remove=False)
  33. print('')
  34. def build(bld):
  35. # libs = 'LILV SUIL JACK SERD SRATOM LV2'
  36. libs = ''
  37. obj = bld(features = 'cxx cxxprogram',
  38. source = '''
  39. src/Annotation_Region.C
  40. src/Audio_Region.C
  41. src/Audio_Sequence.C
  42. src/Control_Point.C
  43. src/Control_Sequence.C
  44. src/Cursor_Point.C
  45. src/Cursor_Region.C
  46. src/Cursor_Sequence.C
  47. src/Engine/Audio_File.C
  48. src/Engine/Audio_File_Dummy.C
  49. src/Engine/Audio_File_SF.C
  50. src/Engine/Audio_Region.C
  51. src/Engine/Audio_Sequence.C
  52. src/Engine/Control_Sequence.C
  53. src/Engine/Disk_Stream.C
  54. src/Engine/Engine.C
  55. src/Engine/Peaks.C
  56. src/Engine/Playback_DS.C
  57. src/Engine/Record_DS.C
  58. src/Engine/Timeline.C
  59. src/Engine/Track.C
  60. src/NSM.C
  61. src/OSC_Thread.C
  62. src/Project.C
  63. src/Sequence.C
  64. src/Sequence_Point.C
  65. src/Sequence_Region.C
  66. src/Sequence_Widget.C
  67. src/TLE.fl
  68. src/Track_Header.fl
  69. src/Tempo_Point.C
  70. src/Tempo_Sequence.C
  71. src/Time_Point.C
  72. src/Time_Sequence.C
  73. src/Timeline.C
  74. src/Track.C
  75. src/Transport.C
  76. src/Waveform.C
  77. src/main.C
  78. ''',
  79. target = 'non-daw',
  80. includes = ['.', 'src', '../FL', '../nonlib'],
  81. uselib = [ 'JACK', 'LIBLO', 'SNDFILE', 'XPM', 'NTK', 'NTK_IMAGES', 'PTHREAD'],
  82. use = [ 'fl_widgets', 'nonlib'],
  83. install_path = '${BINDIR}')
  84. bld( features = 'subst',
  85. source = 'non-daw.desktop.in',
  86. target = 'non-daw.desktop',
  87. encoding = 'utf8',
  88. install_path = "${DATADIR}" + '/applications',
  89. BIN_PATH = bld.env.BINDIR )
  90. start_dir = bld.path.find_dir( 'icons/hicolor' )
  91. bld.install_files('${DATADIR}/icons/hicolor', start_dir.ant_glob('**/*.png'),
  92. cwd=start_dir, relative_trick=True)
  93. bld.install_as('${DATADIR}/pixmaps/' + APPNAME + '/icon-256x256.png', 'icons/hicolor/256x256/apps/' + APPNAME + '.png')
  94. bld.install_files( '/'.join( [ '${DATADIR}/doc', APPNAME ] ), bld.path.ant_glob( 'doc/*.html doc/*.png' ) )