gentoo-overlay/dev-libs/boost/files/boost-1.63.0-fix-python.patch

138 lines
4.1 KiB
Diff

--- a/boostcpp.jam
+++ b/boostcpp.jam
@@ -104,7 +104,7 @@
python-id = [ option.get "python-buildid" ] ;
if $(python-id)
{
- PYTHON_ID = [ regex.replace $(python-id) [*\\/:.\"\'] _ ] ;
+ PYTHON_ID = [ regex.replace $(python-id) [*\\/:\"\'] _ ] ;
}
--- a/libs/python/build/Jamfile
+++ b/libs/python/build/Jamfile
@@ -30,22 +30,6 @@
;
}
-rule find-py3-version
-{
- local versions = [ feature.values python ] ;
- local py3ver ;
- for local v in $(versions)
- {
- if $(v) >= 3.0
- {
- py3ver = $(v) ;
- }
- }
- return $(py3ver) ;
-}
-
-py3-version = [ find-py3-version ] ;
-
project boost/python
: source-location ../src
;
@@ -53,10 +37,16 @@
rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } }
-rule lib_boost_python ( is-py3 ? )
+rule lib_boost_python
{
+ local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ;
+ local python2 ;
+ if $(python_major_version) = 2
+ {
+ python2 = true ;
+ }
- lib [ cond $(is-py3) : boost_python3 : boost_python ]
+ lib boost_python
: # sources
numeric.cpp
list.cpp
@@ -90,20 +80,9 @@
: # requirements
<link>static:<define>BOOST_PYTHON_STATIC_LIB
<define>BOOST_PYTHON_SOURCE
+ [ cond $(python2) : <cxxflags>-fno-strict-aliasing ]
- # On Windows, all code using Python has to link to the Python
- # import library.
- #
- # On *nix we never link libboost_python to libpython. When
- # extending Python, all Python symbols are provided by the
- # Python interpreter executable. When embedding Python, the
- # client executable is expected to explicitly link to
- # /python//python (the target representing libpython) itself.
- #
- # python_for_extensions is a target defined by Boost.Build to
- # provide the Python include paths, and on Windows, the Python
- # import library, as usage requirements.
- [ cond [ python.configured ] : <library>/python//python_for_extensions ]
+ [ cond [ python.configured ] : <library>/python//python ]
# we prevent building when there is no python available
# as it's not possible anyway, and to cause dependents to
@@ -112,7 +91,6 @@
<dependency>config-warning
<python-debugging>on:<define>BOOST_DEBUG_PYTHON
- [ cond $(is-py3) : <python>$(py3-version) ]
-<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
@@ -125,51 +103,8 @@
;
}
-rule lib_boost_numpy ( is-py3 ? )
-{
- numpy-include = [ python.numpy-include ] ;
- lib [ cond $(is-py3) : boost_numpy3 : boost_numpy ]
- : # sources
- numpy/dtype.cpp
- numpy/matrix.cpp
- numpy/ndarray.cpp
- numpy/numpy.cpp
- numpy/scalars.cpp
- numpy/ufunc.cpp
- : # requirements
- [ cond [ python.numpy ] : <library>/python//python_for_extensions ]
- [ unless [ python.numpy ] : <build>no ]
- <include>$(numpy-include)
- <library>boost_python
- <python-debugging>on:<define>BOOST_DEBUG_PYTHON
- [ cond $(is-py3) : <python>$(py3-version) ]
-
- -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
- <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
-
- : # default build
- <link>shared
- : # usage requirements
- <python-debugging>on:<define>BOOST_DEBUG_PYTHON
- ;
-}
-
libraries = boost_python ;
-libraries3 = boost_python3 ;
-if [ python.numpy ]
-{
- libraries += boost_numpy ;
- libraries3 += boost_numpy3 ;
-}
lib_boost_python ;
-lib_boost_numpy ;
-
-if $(py3-version)
-{
- lib_boost_python yes ;
- lib_boost_numpy yes ;
- libraries += $(libraries3) ;
-}
boost-install $(libraries) ;