--- 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) ;