2 from waflib.extras import autowaf as autowaf
5 # Version of this package (even if built as a child)
6 QM_DSP_VERSION = '0.0.0'
8 # Library version (UNIX style major, minor, micro)
9 # major increment <=> incompatible changes
10 # minor increment <=> compatible changes (additions)
11 # micro increment <=> no interface changes
12 QM_DSP_LIB_VERSION = '0.0.0'
14 # Variables for 'waf dist'
16 VERSION = QM_DSP_VERSION
23 autowaf.set_options(opt)
26 if conf.is_defined('USE_EXTERNAL_LIBS'):
27 conf.check_cxx(header_name="base/Pitch.h", mandatory=True)
28 conf.check_cxx(lib="qm-dsp", uselib_store="QMDSP", mandatory=True)
30 conf.load('compiler_cxx')
31 autowaf.configure(conf)
34 if bld.is_defined('USE_EXTERNAL_LIBS'):
38 obj = bld(features = 'c cxx cxxshlib')
43 dsp/chromagram/Chromagram.cpp
44 dsp/chromagram/ConstantQ.cpp
45 dsp/keydetection/GetKeyMode.cpp
47 dsp/onsets/DetectionFunction.cpp
48 dsp/onsets/PeakPicking.cpp
49 dsp/phasevocoder/PhaseVocoder.cpp
50 dsp/rateconversion/Decimator.cpp
51 dsp/rateconversion/DecimatorB.cpp
52 dsp/rateconversion/Resampler.cpp
53 dsp/rhythm/BeatSpectrum.cpp
54 dsp/segmentation/cluster_melt.c
55 dsp/segmentation/ClusterMeltSegmenter.cpp
56 dsp/segmentation/cluster_segmenter.c
57 dsp/segmentation/Segmenter.cpp
58 dsp/signalconditioning/DFProcess.cpp
59 dsp/signalconditioning/Filter.cpp
60 dsp/signalconditioning/FiltFilt.cpp
61 dsp/signalconditioning/Framer.cpp
62 dsp/tempotracking/DownBeat.cpp
63 dsp/tempotracking/TempoTrack.cpp
64 dsp/tempotracking/TempoTrackV2.cpp
65 dsp/tonal/ChangeDetectionFunction.cpp
67 dsp/tonal/TonalEstimator.cpp
68 dsp/transforms/FFT.cpp
69 dsp/wavelet/Wavelet.cpp
72 maths/CosineDistance.cpp
73 maths/KLDivergence.cpp
74 maths/MathUtilities.cpp
77 ext/kissfft/kiss_fft.c
78 ext/kissfft/tools/kiss_fftr.c
80 autowaf.ensure_visible_symbols (obj, True)
81 obj.export_includes = ['.']
82 obj.includes = ['.', 'include/', 'ext/kissfft', 'ext/kissfft/tools/']
83 obj.defines = ['kiss_fft_scalar=double']
84 obj.name = 'libqm-dsp'
86 obj.vnum = QM_DSP_VERSION
87 obj.install_path = bld.env['LIBDIR']
88 if bld.env['build_target'] != 'mingw':
89 obj.cxxflags = [ '-fPIC' ]
90 obj.cflags = [ '-fPIC' ]