# HG changeset patch # User cannam # Date 1253707006 0 # Node ID c4da8d55987293325408c5c0cf75d1d6f470318b # Parent a8231788216cb0bf5d1fea33ac93d17bdb169a74 * build fixes for Linux diff -r a8231788216c -r c4da8d559872 Makefile --- a/Makefile Mon Sep 21 13:56:28 2009 +0000 +++ b/Makefile Wed Sep 23 11:56:46 2009 +0000 @@ -1,7 +1,7 @@ -CXXFLAGS := -DHAVE_NUMPY -I../vamp-plugin-sdk -O2 -Wall -I/usr/include/python2.5 -I/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/core/include/numpy/ #-fvisibility=hidden +CXXFLAGS := -DHAVE_NUMPY -I../vamp-plugin-sdk -O2 -Wall -I/usr/include/python2.5 -I/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/numpy/core/include/numpy/ #without numpy headers available: -#CXXFLAGS := -I../vamp-plugin-sdk -O2 -Wall -I/usr/include/python2.5 #-I../host/pyRealTime.h #-fvisibility=hidden +#CXXFLAGS := -I../vamp-plugin-sdk -O2 -Wall -I/usr/include/python2.5 #-I../host/pyRealTime.h LDFLAGS := -L../vamp-plugin-sdk/vamp-sdk -lvamp-sdk -dynamiclib -lpython2.5 -lpthread default: vampy.dylib diff -r a8231788216c -r c4da8d559872 Makefile.cc-linux --- a/Makefile.cc-linux Mon Sep 21 13:56:28 2009 +0000 +++ b/Makefile.cc-linux Wed Sep 23 11:56:46 2009 +0000 @@ -1,9 +1,38 @@ -CXXFLAGS := -I../vamp-plugin-sdk -O0 -g -Wall -I/usr/include/python2.6 -fPIC +CXXFLAGS := -DHAVE_NUMPY -O2 -Wall -I/usr/include/python2.6 -I/usr/lib/python2.6/dist-packages/numpy/core/include/numpy -fPIC +LDFLAGS := -shared -Wl,-Bstatic -lvamp-sdk -Wl,-Bdynamic -lpython2.6 -lpthread -Wl,--version-script=vamp-plugin.map -vampy.so: PyPlugin.o PyPlugScanner.o pyvamp-main.o Mutex.o - g++ -shared $^ -o $@ -L../vamp-plugin-sdk/src -Wl,-Bstatic -lvamp-sdk -Wl,-Bdynamic -lpython2.6 -lpthread -Wl,--version-script=vamp-plugin.map +default: vampy.so +all: vampy.so vampymod.so + +PyExtensionModule.a: PyExtensionModule.o PyRealTime.o PyFeature.o PyParameterDescriptor.o PyOutputDescriptor.o PyFeatureSet.o + ar cr $@ $^ + +# The standard python extension is .so (even on the Mac) +vampymod.so: PyExtensionModule.o PyRealTime.o PyFeature.o PyParameterDescriptor.o PyOutputDescriptor.o PyFeatureSet.o + g++ $^ -o $@ $(LDFLAGS) + +vampy.so: PyPlugin.o PyPlugScanner.o vampy-main.o Mutex.o PyTypeInterface.o PyExtensionModule.a + g++ $^ -o $@ $(LDFLAGS) + +# Install plugin +# +LIBRARY_PREFIX :=/Library +INSTALL_DIR :=$(LIBRARY_PREFIX)/Audio/Plug-Ins/Vamp +PYEXAMPLE_DIR :='Example VamPy Plugins' +PLUGIN_NAME :=vampy +PLUGIN_EXT :=.dylib + +install: + mkdir -p $(INSTALL_DIR) + rm -f $(INSTALL_DIR)/$(PLUGIN_NAME)$(PLUGIN_EXT) + cp $(PLUGIN_NAME)$(PLUGIN_EXT) $(INSTALL_DIR)/$(PLUGIN_NAME)$(PLUGIN_EXT) + +installplug : install +cleanplug : clean clean: rm *.o + rm *.a + rm *$(PLUGIN_EXT) diff -r a8231788216c -r c4da8d559872 PyTypeInterface.cpp --- a/PyTypeInterface.cpp Mon Sep 21 13:56:28 2009 +0000 +++ b/PyTypeInterface.cpp Wed Sep 23 11:56:46 2009 +0000 @@ -12,7 +12,7 @@ #include #include #ifndef SIZE_T_MAX -#define (SIZE_T_MAX (size_t) -1) +#define SIZE_T_MAX ((size_t) -1) #endif using std::string; diff -r a8231788216c -r c4da8d559872 PyTypeInterface.h --- a/PyTypeInterface.h Mon Sep 21 13:56:28 2009 +0000 +++ b/PyTypeInterface.h Wed Sep 23 11:56:46 2009 +0000 @@ -76,7 +76,7 @@ }; /* C++ mapping of PyNone Type*/ -typedef struct NoneType {}; +struct NoneType {}; class PyTypeInterface { @@ -147,7 +147,7 @@ template - RET PyTypeInterface::PyValue_To_VampDescriptor(PyObject* pyValue) const + RET PyValue_To_VampDescriptor(PyObject* pyValue) const //returns e.g. Vamp::Plugin::OutputDescriptor or Vamp::Plugin::Feature { PyObject* pyDict; @@ -183,7 +183,8 @@ /// Convert a sequence (tipically list) of PySomething to /// OutputList,ParameterList or FeatureList template // - RET PyTypeInterface::PyValue_To_VampList(PyObject* pyList) const + + RET PyValue_To_VampList(PyObject* pyList) const { // Vamp::Plugin::OutputList list; // Vamp::Plugin::OutputDescriptor od; @@ -214,7 +215,7 @@ /// Convert DTYPE type 1D NumpyArray to std::vector template - std::vector PyTypeInterface::PyArray_Convert(char* raw_data_ptr, long length) const + std::vector PyArray_Convert(char* raw_data_ptr, long length) const { std::vector rValue; DTYPE* data = (DTYPE*) raw_data_ptr; @@ -388,4 +389,4 @@ NPY_USERDEF=256 /* leave room for characters */ }; #endif /*NUMPY_REFERENCE*/ -#endif \ No newline at end of file +#endif