Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 653878 | Differences between
and this patch

Collapse All | Expand All

(-)boost_1_67_0-orig/libs/mpi/build/Jamfile.v2 (-75 / +44 lines)
Lines 60-140 Link Here
60
60
61
  if [ python.configured ]
61
  if [ python.configured ]
62
  {
62
  {
63
    py2-version = [ py-version 2 ] ;
63
    lib boost_mpi_python
64
    py3-version = [ py-version 3 ] ;
64
      : # Sources
65
65
        python/serialize.cpp
66
    # These library names are synchronized with those defined by Boost.Python, see libs/python/build/Jamfile.
66
      : # Requirements
67
    lib_boost_python(2) = boost_python ;
67
        <library>boost_mpi
68
    lib_boost_python(3) = boost_python3 ;
68
        <library>/mpi//mpi [ mpi.extra-requirements ]
69
69
      	<library>/boost/python//boost_python
70
    lib_boost_python($(py2-version)) = $(lib_boost_python(2)) ;
70
        <link>shared:<define>BOOST_MPI_DYN_LINK=1
71
    lib_boost_python($(py3-version)) = $(lib_boost_python(3)) ;
71
        <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
72
72
        <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
73
    lib_boost_mpi_python(2) = boost_mpi_python ;
73
        <define>BOOST_MPI_PYTHON_SOURCE=1
74
    lib_boost_mpi_python(3) = boost_mpi_python3 ;
74
	-<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
75
75
	<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
76
    lib_boost_mpi_python($(py2-version)) = $(lib_boost_mpi_python(2)) ;
76
      : # Default build
77
    lib_boost_mpi_python($(py3-version)) = $(lib_boost_mpi_python(3)) ;
77
        <link>shared
78
78
      : # Usage requirements
79
    for local N in 2 3
79
        <library>/mpi//mpi [ mpi.extra-requirements ]
80
    {
80
      ;
81
        if $(py$(N)-version)
81
    libraries += boost_mpi_python ;
82
        {
82
83
            lib $(lib_boost_mpi_python($(py$(N)-version)))
83
    python-extension mpi
84
              : # Sources
84
      : # Sources
85
                python/serialize.cpp
85
        python/collectives.cpp
86
              : # Requirements
86
        python/py_communicator.cpp
87
                <library>boost_mpi
87
        python/datatypes.cpp
88
                <library>/mpi//mpi [ mpi.extra-requirements ]
88
        python/documentation.cpp
89
                <library>/boost/python//$(lib_boost_python($(py$(N)-version)))
89
        python/py_environment.cpp
90
                <link>shared:<define>BOOST_MPI_DYN_LINK=1
90
        python/py_nonblocking.cpp
91
                <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
91
        python/py_exception.cpp
92
                <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
92
        python/module.cpp
93
                <define>BOOST_MPI_PYTHON_SOURCE=1
93
        python/py_request.cpp
94
                -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
94
        python/skeleton_and_content.cpp
95
                <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
95
        python/status.cpp
96
                <python-debugging>on:<define>BOOST_DEBUG_PYTHON
96
        python/py_timer.cpp
97
                <python>$(py$(N)-version)
97
      : # Requirements
98
              : # Default build
98
      	<library>/boost/python//boost_python
99
                <link>shared
99
        <library>boost_mpi_python
100
              : # Usage requirements
100
        <library>boost_mpi
101
                <library>/mpi//mpi [ mpi.extra-requirements ]
101
        <library>/mpi//mpi [ mpi.extra-requirements ]
102
              ;
102
        <link>shared:<define>BOOST_MPI_DYN_LINK=1
103
103
        <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
104
            python-extension mpi
104
        <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
105
              : # Sources
105
        <link>shared <runtime-link>shared
106
                python/collectives.cpp
106
      ;
107
                python/py_communicator.cpp
108
                python/datatypes.cpp
109
                python/documentation.cpp
110
                python/py_environment.cpp
111
                python/py_nonblocking.cpp
112
                python/py_exception.cpp
113
                python/module.cpp
114
                python/py_request.cpp
115
                python/skeleton_and_content.cpp
116
                python/status.cpp
117
                python/py_timer.cpp
118
              : # Requirements
119
                <library>/boost/python//$(lib_boost_python($(py$(N)-version)))
120
                <library>$(lib_boost_mpi_python($(py$(N)-version)))
121
                <library>boost_mpi
122
                <library>/mpi//mpi [ mpi.extra-requirements ]
123
                <link>shared:<define>BOOST_MPI_DYN_LINK=1
124
                <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
125
                <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
126
                <link>shared <runtime-link>shared
127
                <python-debugging>on:<define>BOOST_DEBUG_PYTHON
128
                <python>$(py$(N)-version)
129
              ;
130
131
            libraries += $(lib_boost_mpi_python($(py$(N)-version))) ;
132
        }
133
        else
134
        {
135
            alias $(lib_boost_mpi_python($(N))) ;
136
        }
137
    }
138
  }
107
  }
139
}
108
}
140
else if ! ( --without-mpi in  [ modules.peek : ARGV ] )
109
else if ! ( --without-mpi in  [ modules.peek : ARGV ] )
(-)boost_1_67_0-orig/libs/python/Jamfile (-5 / +5 lines)
Lines 46-52 Link Here
46
python-id = [ option.get "python-buildid" ] ;
46
python-id = [ option.get "python-buildid" ] ;
47
if $(python-id)
47
if $(python-id)
48
{
48
{
49
    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:.\"\']" _ ] ;
49
    PYTHON_ID = [ regex.replace $(python-id) "[*\\/:\"\']" _ ] ;
50
}
50
}
51
51
52
rule python-tag ( name : type ? : property-set )
52
rule python-tag ( name : type ? : property-set )
Lines 58-67 Link Here
58
        local lib-suffix = [ version-suffix $(version) ] ;
58
        local lib-suffix = [ version-suffix $(version) ] ;
59
        result = $(result)$(lib-suffix) ;
59
        result = $(result)$(lib-suffix) ;
60
    }
60
    }
61
    if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB && $(PYTHON_ID)
61
    # /usr/share/cmake/Modules/FindBoost.cmake for >=dev-util/cmake-3.11.2
62
    {
62
    # looks for /usr/lib64/libboost_python36.so or for Gentoo convention
63
        result = $(result)-$(PYTHON_ID) ;
63
    # prior to boost 1.67.0 of /usr/lib64/libboost_python-3_6.so but not
64
    }
64
    # for /usr/lib64/libboost_python36-3_6.so
65
65
66
    # forward to the boost tagging rule
66
    # forward to the boost tagging rule
67
    return  [ tag $(result) : $(type) : $(property-set) ] ;
67
    return  [ tag $(result) : $(type) : $(property-set) ] ;
(-)boost_1_67_0-orig/libs/python/build/Jamfile (-3 / +9 lines)
Lines 36-42 Link Here
36
36
37
rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
37
rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
38
rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } }
38
rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } }
39
local rule eq ( a : b ) { if $(a) = $(b) { return 1 ; } }
39
40
local python_major_version = [ MATCH "^([^.]+)" : [ feature.values python ] ] ;
41
local python2 ;
42
if $(python_major_version) = 2
43
{
44
    python2 = true ;
45
}
40
46
41
lib boost_python
47
lib boost_python
42
    : # sources
48
    : # sources
Lines 84-90 Link Here
84
        # python_for_extensions is a target defined by Boost.Build to
90
        # python_for_extensions is a target defined by Boost.Build to
85
        # provide the Python include paths, and on Windows, the Python
91
        # provide the Python include paths, and on Windows, the Python
86
        # import library, as usage requirements.
92
        # import library, as usage requirements.
87
        [ cond [ python.configured ] : <library>/python//python_for_extensions ]
93
        [ cond $(python2) : <cxxflags>-fno-strict-aliasing ]
94
        [ cond [ python.configured ] : <library>/python//python ]
88
95
89
        # we prevent building when there is no python available
96
        # we prevent building when there is no python available
90
        # as it's not possible anyway, and to cause dependents to
97
        # as it's not possible anyway, and to cause dependents to
Lines 94-100 Link Here
94
        <python-debugging>on:<define>BOOST_DEBUG_PYTHON
101
        <python-debugging>on:<define>BOOST_DEBUG_PYTHON
95
        -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
102
        -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
96
        <tag>@$(__name__).python-tag
103
        <tag>@$(__name__).python-tag
97
        <conditional>@python.require-py
98
104
99
    :   # default build
105
    :   # default build
100
        <link>shared
106
        <link>shared

Return to bug 653878