Hi Tom,
Hi,I've been happy to use numpy.i for generating SWIG interfaces to C++.For a while, I've noticed this warning while compiling:/Users/tkrauss/projects/dev_env/lib/python2.7/site-packages/numpy-1.8.0.dev_f2f0ac0_20120725-py2.7-macosx-10.8-x86_64.egg/numpy/core/include/numpy/npy_deprecated_api.h:11:2: warning: #warning "Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION"and today tried to get rid of the warning.So, in numpy.i, I followed the warning's advice. I added the # def here:%{#ifndef SWIG_FILE_WITH_INIT# define NO_IMPORT_ARRAY#endif#include "stdio.h"#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION#include <numpy/arrayobject.h>%}SWIG was happy, but when compiling the C++ wrapper, there were many warnings followed by many errors. The warnings were for redefinition of NPY_MIN_BYTE and similar. The errors were for all kinds of stuff, excerpt here:native_wrap.cpp:3632: error: ‘PyArray_NOTYPE’ was not declared in this scopenative_wrap.cpp:3633: error: cannot convert ‘PyObject*’ to ‘const PyArrayObject*’ for argument ‘1’ to ‘int PyArray_TYPE(const PyArrayObject*)’native_wrap.cpp: At global scope:native_wrap.cpp:3877: error: ‘intp’ has not been declarednative_wrap.cpp: In function ‘int require_fortran(PyArrayObject*)’:native_wrap.cpp:3929: error: ‘struct tagPyArrayObject’ has no member named ‘nd’native_wrap.cpp:3933: error: ‘struct tagPyArrayObject’ has no member named ‘flags’native_wrap.cpp:3933: error: ‘FARRAY’ was not declared in this scopenative_wrap.cpp:20411: error: ‘struct tagPyArrayObject’ has no member named ‘data’It looks like there is a new C API for numpy, and the version of numpy.i that I have doesn't use it.Is there a new version of numpy.i available (or in development) that works with the new API? Short term it will just get rid of a warning but I am interested in a good long term solution in case I need to upgrade numpy.