X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fqm-dsp%2Fwscript;h=728d1fa94e5add54ade8a0ee36815850ffbeca1d;hb=d314a510f67c2b072f856914d2a94b9748fb7e4e;hp=96d0b629dd184fe7bc84d5ae761ef06cb642988b;hpb=2a7ed69c28c5c4606ff13b3605b9bc9c3eba607d;p=ardour.git diff --git a/libs/qm-dsp/wscript b/libs/qm-dsp/wscript index 96d0b629dd..728d1fa94e 100644 --- a/libs/qm-dsp/wscript +++ b/libs/qm-dsp/wscript @@ -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' @@ -23,37 +23,65 @@ def options(opt): autowaf.set_options(opt) def configure(conf): - conf.load('compiler_cxx') - autowaf.configure(conf) + if conf.is_defined('USE_EXTERNAL_LIBS'): + conf.check_cxx(header_name="base/Pitch.h", mandatory=True) + conf.check_cxx(lib="qm-dsp", uselib_store="QMDSP", mandatory=True) + else: + conf.load('compiler_cxx') + autowaf.configure(conf) def build(bld): + if bld.is_defined('USE_EXTERNAL_LIBS'): + 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.name = 'libqmdsp' - obj.target = 'qmdsp' + 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 = os.path.join(bld.env['LIBDIR'], 'ardour3') + obj.install_path = bld.env['LIBDIR'] + if bld.env['build_target'] != 'mingw': + obj.cxxflags = [ bld.env['compiler_flags_dict']['pic'] ] + obj.cflags = [ bld.env['compiler_flags_dict']['pic'] ] + def shutdown(): autowaf.shutdown()