--- a/libs/python/build/Jamfile 2017-09-19 23:46:59.678671355 +0200
+++ b/libs/python/build/Jamfile 2017-09-19 23:58:12.152612953 +0200
@@ -115,8 +115,48 @@
;
}
-libraries = boost_python ;
+rule lib_boost_numpy
+{
+ local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ;
+ local python2 ;
+ if $(python_major_version) = 2
+ {
+ python2 = true ;
+ }
+
+ numpy-include = [ python.numpy-include ] ;
+ lib boost_numpy
+ : # sources
+ numpy/dtype.cpp
+ numpy/matrix.cpp
+ numpy/ndarray.cpp
+ numpy/numpy.cpp
+ numpy/scalars.cpp
+ numpy/ufunc.cpp
+ : # requirements
+ static:BOOST_NUMPY_STATIC_LIB
+ BOOST_NUMPY_SOURCE
+ [ cond $(python2) : -fno-strict-aliasing ]
+ [ cond [ python.numpy ] : /python//python ]
+ [ unless [ python.numpy ] : no ]
+ $(numpy-include)
+ boost_python
+ on:BOOST_DEBUG_PYTHON
+
+ -@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
+ @$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
+
+ : # default build
+ shared
+ : # usage requirements
+ static:BOOST_NUMPY_STATIC_LIB
+ on:BOOST_DEBUG_PYTHON
+ ;
+}
+
+libraries = boost_python boost_numpy ;
lib_boost_python ;
+lib_boost_numpy ;
boost-install $(libraries) ;