summaryrefslogtreecommitdiff
path: root/libs/rubberband
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-02-26 01:22:20 +0000
committerDavid Robillard <d@drobilla.net>2009-02-26 01:22:20 +0000
commit1d516ac95a61d12dadaaf75c46f792d8e4308578 (patch)
tree4510f9d79575fd2f735c6740534e682132d9777b /libs/rubberband
parent03536cd399131e3fec54c95ae5ac6f11dca05aef (diff)
Waf building of rubberband.
Use rubberband over soundtouch with waf for the time being. git-svn-id: svn://localhost/ardour2/branches/3.0@4669 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/rubberband')
-rw-r--r--libs/rubberband/SConscript2
-rw-r--r--libs/rubberband/src/FFT.cpp2
-rw-r--r--libs/rubberband/wscript64
3 files changed, 67 insertions, 1 deletions
diff --git a/libs/rubberband/SConscript b/libs/rubberband/SConscript
index adad16a8b3..9c3226526c 100644
--- a/libs/rubberband/SConscript
+++ b/libs/rubberband/SConscript
@@ -10,7 +10,7 @@ Import('env install_prefix libraries')
rb = env.Clone()
rb.Merge ([libraries['fftw3f'],
- libraries['fftw3'],
+ libraries['fftw3'],
libraries['vamp'],
libraries['samplerate'],
libraries['sndfile']
diff --git a/libs/rubberband/src/FFT.cpp b/libs/rubberband/src/FFT.cpp
index 98201350a2..077c2c57a4 100644
--- a/libs/rubberband/src/FFT.cpp
+++ b/libs/rubberband/src/FFT.cpp
@@ -18,7 +18,9 @@
//#define FFT_MEASUREMENT 1
+#ifndef HAVE_FFTW3
#define HAVE_FFTW3 // for Ardour
+#endif
#ifdef HAVE_FFTW3
#include <fftw3.h>
diff --git a/libs/rubberband/wscript b/libs/rubberband/wscript
new file mode 100644
index 0000000000..d43ec08c16
--- /dev/null
+++ b/libs/rubberband/wscript
@@ -0,0 +1,64 @@
+#!/usr/bin/env python
+import autowaf
+import glob
+
+# Version of this package (even if built as a child)
+LIBRUBBERBAND_VERSION = '0.0.0'
+
+# Library version (UNIX style major, minor, micro)
+# major increment <=> incompatible changes
+# minor increment <=> compatible changes (additions)
+# micro increment <=> no interface changes
+LIBRUBBERBAND_LIB_VERSION = '4.1.0'
+
+# Variables for 'waf dist'
+APPNAME = 'librubberband'
+VERSION = LIBRUBBERBAND_VERSION
+
+# Mandatory variables
+srcdir = '.'
+blddir = 'build'
+
+def set_options(opt):
+ autowaf.set_options(opt)
+
+def configure(conf):
+ autowaf.configure(conf)
+ autowaf.check_tool(conf, 'compiler_cxx')
+ autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML')
+ autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0')
+ autowaf.check_pkg(conf, 'uuid', uselib_store='UUID')
+
+ conf.check(function_name='getmntent', header_name='mntent.h', define_name='HAVE_GETMNTENT')
+
+ # This must be defined for librubberband only, it breaks ardour
+ conf.check(header_name='execinfo.h', define_name='PBD_HAVE_EXECINFO')
+
+ conf.env.append_value('CXXFLAGS', '-DHAVE_WAFCONFIG_H')
+ conf.write_config_header('wafconfig.h')
+
+ # Boost headers
+ autowaf.check_header(conf, 'boost/shared_ptr.hpp')
+ autowaf.check_header(conf, 'boost/weak_ptr.hpp')
+
+def build(bld):
+ # Library
+ obj = bld.new_task_gen('cxx', 'shlib')
+ prefix = 'libs/rubberband/'
+ sources = glob.glob(prefix + 'src/*.cpp')
+ obj.source = [ ]
+ for i in sources:
+ obj.source += [ i.replace(prefix, '') ]
+ obj.export_incdirs = ['.']
+ obj.includes = ['.', 'rubberband']
+ obj.name = 'librubberband'
+ obj.target = 'rubberband'
+ obj.uselib = 'FFTW3 FFTW3F SAMPLERATE SNDFILE'
+ obj.uselib_local = 'libvamp'
+ obj.vnum = LIBRUBBERBAND_LIB_VERSION
+ obj.install_path = ''
+ obj.cxxflags = '-DPACKAGE=\\\"librubberband\\\"'
+
+def shutdown():
+ autowaf.shutdown()
+