Use ID::to_s() in libpbd instead of ID::print()
[ardour.git] / libs / qm-dsp / wscript
index 33556f1da679620a3aac7d82700bd270e34c1074..92dc9502b17ffff4db002fcbf7bd53dfcd7d27a4 100644 (file)
@@ -3,13 +3,13 @@ from waflib.extras import autowaf as autowaf
 import os
 
 # Version of this package (even if built as a child)
-QM_DSP_VERSION = '0.0.0'
+QM_DSP_VERSION = '1.7.1'
 
 # Library version (UNIX style major, minor, micro)
 # major increment <=> incompatible changes
 # minor increment <=> compatible changes (additions)
 # micro increment <=> no interface changes
-QM_DSP_LIB_VERSION = '0.0.0'
+QM_DSP_LIB_VERSION = '1.7.1'
 
 # Variables for 'waf dist'
 APPNAME = 'qm-dsp'
@@ -35,32 +35,52 @@ def build(bld):
         return
 
     # Host Library
-    obj = bld(features = 'cxx cxxshlib')
+    obj = bld(features = 'c cxx cxxstlib')
     obj.source = '''
+            base/Pitch.cpp
+            base/KaiserWindow.cpp
+            base/SincWindow.cpp
+            dsp/chromagram/Chromagram.cpp
+            dsp/chromagram/ConstantQ.cpp
+            dsp/keydetection/GetKeyMode.cpp
+            dsp/mfcc/MFCC.cpp
             dsp/onsets/DetectionFunction.cpp
             dsp/onsets/PeakPicking.cpp
             dsp/phasevocoder/PhaseVocoder.cpp
             dsp/rateconversion/Decimator.cpp
+            dsp/rateconversion/DecimatorB.cpp
             dsp/rhythm/BeatSpectrum.cpp
             dsp/signalconditioning/DFProcess.cpp
             dsp/signalconditioning/Filter.cpp
             dsp/signalconditioning/FiltFilt.cpp
             dsp/signalconditioning/Framer.cpp
+            dsp/tempotracking/DownBeat.cpp
+            dsp/tempotracking/TempoTrack.cpp
+            dsp/tempotracking/TempoTrackV2.cpp
+            dsp/tonal/ChangeDetectionFunction.cpp
+            dsp/tonal/TCSgram.cpp
+            dsp/tonal/TonalEstimator.cpp
             dsp/transforms/FFT.cpp
             dsp/wavelet/Wavelet.cpp
             maths/Correlation.cpp
             maths/CosineDistance.cpp
             maths/KLDivergence.cpp
             maths/MathUtilities.cpp
-            base/Pitch.cpp
+            maths/pca/pca.c
+            ext/kissfft/kiss_fft.c
+            ext/kissfft/tools/kiss_fftr.c
     '''
-    autowaf.ensure_visible_symbols (obj, True)
+    autowaf.ensure_visible_symbols (obj, False)
     obj.export_includes = ['.']
-    obj.includes     = ['.']
+    obj.includes     = ['.', 'ext/kissfft', 'ext/kissfft/tools/']
+    obj.defines      = ['kiss_fft_scalar=double']
     obj.name         = 'libqm-dsp'
     obj.target       = 'qm-dsp'
     obj.vnum         = QM_DSP_VERSION
     obj.install_path = bld.env['LIBDIR']
+    if bld.env['build_target'] != 'mingw':
+        obj.cxxflags += [ '-fPIC' ]
+        obj.cflags   += [ '-fPIC' ]
 
 def shutdown():
     autowaf.shutdown()