]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/mpi/build/Jamfile.v2
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / mpi / build / Jamfile.v2
index 58e7fcf625dd06dec43668057ad2156f7dcc4dc0..3f902c76512303e72703b4b8faa06755b0cc4d8a 100644 (file)
@@ -21,8 +21,8 @@ project boost/mpi
   : source-location ../src
   ;
 
-lib boost_mpi 
-  : 
+lib boost_mpi
+  :
     broadcast.cpp
     communicator.cpp
     computation_tree.cpp
@@ -53,55 +53,86 @@ lib boost_mpi
     <library>../../serialization/build//boost_serialization
     <library>/mpi//mpi [ mpi.extra-requirements ]
   ;
-  
-libraries += boost_mpi ;  
+
+libraries += boost_mpi ;
 
   if [ python.configured ]
   {
-    lib boost_mpi_python
-      : # Sources
-        python/serialize.cpp
-      : # Requirements
-        <library>boost_mpi
-        <library>/mpi//mpi [ mpi.extra-requirements ]
-       <library>/boost/python//boost_python
-        <link>shared:<define>BOOST_MPI_DYN_LINK=1
-        <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
-        <link>shared:<define>BOOST_PYTHON_DYN_LINK=1        
-        <define>BOOST_MPI_PYTHON_SOURCE=1
-       -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
-       <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
-      : # Default build
-        <link>shared
-      : # Usage requirements
-        <library>/mpi//mpi [ mpi.extra-requirements ]
-      ;
-    libraries += boost_mpi_python ;   
-
-    python-extension mpi 
-      : # Sources
-        python/collectives.cpp
-        python/py_communicator.cpp
-        python/datatypes.cpp
-        python/documentation.cpp
-        python/py_environment.cpp
-        python/py_nonblocking.cpp
-        python/py_exception.cpp
-        python/module.cpp
-        python/py_request.cpp
-        python/skeleton_and_content.cpp
-        python/status.cpp
-        python/py_timer.cpp
-      : # Requirements
-       <library>/boost/python//boost_python      
-        <library>boost_mpi_python
-        <library>boost_mpi
-        <library>/mpi//mpi [ mpi.extra-requirements ]
-        <link>shared:<define>BOOST_MPI_DYN_LINK=1    
-        <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1        
-        <link>shared:<define>BOOST_PYTHON_DYN_LINK=1    
-        <link>shared <runtime-link>shared
-      ;
+    py2-version = [ py-version 2 ] ;
+    py3-version = [ py-version 3 ] ;
+
+    # These library names are synchronized with those defined by Boost.Python, see libs/python/build/Jamfile.
+    lib_boost_python(2) = boost_python ;
+    lib_boost_python(3) = boost_python3 ;
+
+    lib_boost_python($(py2-version)) = $(lib_boost_python(2)) ;
+    lib_boost_python($(py3-version)) = $(lib_boost_python(3)) ;
+
+    lib_boost_mpi_python(2) = boost_mpi_python ;
+    lib_boost_mpi_python(3) = boost_mpi_python3 ;
+
+    lib_boost_mpi_python($(py2-version)) = $(lib_boost_mpi_python(2)) ;
+    lib_boost_mpi_python($(py3-version)) = $(lib_boost_mpi_python(3)) ;
+
+    for local N in 2 3
+    {
+        if $(py$(N)-version)
+        {
+            lib $(lib_boost_mpi_python($(py$(N)-version)))
+              : # Sources
+                python/serialize.cpp
+              : # Requirements
+                <library>boost_mpi
+                <library>/mpi//mpi [ mpi.extra-requirements ]
+                <library>/boost/python//$(lib_boost_python($(py$(N)-version)))
+                <link>shared:<define>BOOST_MPI_DYN_LINK=1
+                <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
+                <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
+                <define>BOOST_MPI_PYTHON_SOURCE=1
+                -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
+                <tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).python-tag
+                <python-debugging>on:<define>BOOST_DEBUG_PYTHON
+                <python>$(py$(N)-version)
+              : # Default build
+                <link>shared
+              : # Usage requirements
+                <library>/mpi//mpi [ mpi.extra-requirements ]
+              ;
+
+            python-extension mpi
+              : # Sources
+                python/collectives.cpp
+                python/py_communicator.cpp
+                python/datatypes.cpp
+                python/documentation.cpp
+                python/py_environment.cpp
+                python/py_nonblocking.cpp
+                python/py_exception.cpp
+                python/module.cpp
+                python/py_request.cpp
+                python/skeleton_and_content.cpp
+                python/status.cpp
+                python/py_timer.cpp
+              : # Requirements
+                <library>/boost/python//$(lib_boost_python($(py$(N)-version)))
+                <library>$(lib_boost_mpi_python($(py$(N)-version)))
+                <library>boost_mpi
+                <library>/mpi//mpi [ mpi.extra-requirements ]
+                <link>shared:<define>BOOST_MPI_DYN_LINK=1
+                <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
+                <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
+                <link>shared <runtime-link>shared
+                <python-debugging>on:<define>BOOST_DEBUG_PYTHON
+                <python>$(py$(N)-version)
+              ;
+
+            libraries += $(lib_boost_mpi_python($(py$(N)-version))) ;
+        }
+        else
+        {
+            alias $(lib_boost_mpi_python($(N))) ;
+        }
+    }
   }
 }
 else if ! ( --without-mpi in  [ modules.peek : ARGV ] )