[Numpy-discussion] Using library-specific headers
Pavlyk, Oleksandr
oleksandr.pavlyk at intel.com
Tue Sep 27 17:09:59 EDT 2016
Suppose I would like to take advantage of some functions from MKL in numpy C source code, which would require to use
#include "mkl.h"
Ideally this include line must not break the build of numpy when MKL is not present, so my initial approach was to use
#if defined(SCIPY_MKL_H)
#include "mkl.h"
#endif
Unfortunately, this did not work when building with gcc on a machine where MKL is present on default LD_LIBRARY_PATH, because then the distutils code was setting SCIPY_MKL_H preprocessor variable, even though mkl headers are not on the C_INCLUDE_PATH.
What is the preferred solution to include an external library header to ensure that code-base continues to build in most common cases?
One approach I can think of is to set a preprocessor variable, say HAVE_MKL_HEADERS in numpy/core/includes/numpy/config.h depending on an outcome of building of a simple _configtest.c using config.try_compile(), like it is done in numpy/core/setup.py
Is there a simpler, or a better way?
Thank you,
Oleksandr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20160927/e1622fad/attachment.html>
More information about the NumPy-Discussion
mailing list