]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/mpi/build/Jamfile.v2
bump version to 18.2.4-pve3
[ceph.git] / ceph / src / boost / libs / mpi / build / Jamfile.v2
1 # Copyright (C) 2005, 2006 The Trustees of Indiana University.
2 # Copyright (C) 2005 Douglas Gregor <doug.gregor -at- gmail.com>
3 # Copyright (c) 2018 Stefan Seefeld
4
5 # Use, modification and distribution is subject to the Boost Software
6 # License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7 # http://www.boost.org/LICENSE_1_0.txt)
8
9 # Authors: Douglas Gregor
10 # Andrew Lumsdaine
11
12 import mpi ;
13 import indirect ;
14 import python ;
15 import option ;
16 import regex ;
17
18 #
19 # The `version-suffix` rule really belongs into python.jam, and
20 # should be moved there. `split-version` is only duplicated here
21 # as a prerequisite. (See https://github.com/boostorg/build/pull/290)
22 #
23
24
25 mpi_python_libs = ;
26
27 if [ mpi.configured ]
28 {
29
30 project boost/mpi
31 : source-location ../src
32 ;
33
34 lib boost_mpi
35 :
36 broadcast.cpp
37 cartesian_communicator.cpp
38 communicator.cpp
39 computation_tree.cpp
40 content_oarchive.cpp
41 environment.cpp
42 error_string.cpp
43 exception.cpp
44 graph_communicator.cpp
45 group.cpp
46 intercommunicator.cpp
47 mpi_datatype_cache.cpp
48 mpi_datatype_oarchive.cpp
49 offsets.cpp
50 packed_iarchive.cpp
51 packed_oarchive.cpp
52 packed_skeleton_iarchive.cpp
53 packed_skeleton_oarchive.cpp
54 point_to_point.cpp
55 request.cpp
56 status.cpp
57 text_skeleton_oarchive.cpp
58 timer.cpp
59 : # Requirements
60 <library>../../serialization/build//boost_serialization
61 <library>/mpi//mpi [ mpi.extra-requirements ]
62 <define>BOOST_MPI_SOURCE=1
63 <link>shared:<define>BOOST_MPI_DYN_LINK=1
64 <local-visibility>global
65 : # Default build
66 <link>shared
67 : # Usage requirements
68 <library>../../serialization/build//boost_serialization
69 <library>/mpi//mpi [ mpi.extra-requirements ]
70 ;
71
72 if [ python.configured ]
73 {
74 lib boost_mpi_python
75 : # Sources
76 python/serialize.cpp
77 : # Requirements
78 <library>boost_mpi
79 <library>/mpi//mpi [ mpi.extra-requirements ]
80 <library>/boost/python//boost_python
81 <link>shared:<define>BOOST_MPI_DYN_LINK=1
82 <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
83 <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
84 <define>BOOST_MPI_PYTHON_SOURCE=1
85 <python-debugging>on:<define>BOOST_DEBUG_PYTHON
86 -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
87 <tag>@python-tag
88 <conditional>@python.require-py
89 <local-visibility>global
90
91 : # Default build
92 <link>shared
93 : # Usage requirements
94 <library>/mpi//mpi [ mpi.extra-requirements ]
95 ;
96
97 python-extension mpi
98 : # Sources
99 python/collectives.cpp
100 python/py_communicator.cpp
101 python/datatypes.cpp
102 python/documentation.cpp
103 python/py_environment.cpp
104 python/py_nonblocking.cpp
105 python/py_exception.cpp
106 python/module.cpp
107 python/py_request.cpp
108 python/skeleton_and_content.cpp
109 python/status.cpp
110 python/py_timer.cpp
111 : # Requirements
112 <library>/boost/python//boost_python
113 <library>boost_mpi_python
114 <library>boost_mpi
115 <library>/mpi//mpi [ mpi.extra-requirements ]
116 <link>shared:<define>BOOST_MPI_DYN_LINK=1
117 <link>shared:<define>BOOST_MPI_PYTHON_DYN_LINK=1
118 <link>shared:<define>BOOST_PYTHON_DYN_LINK=1
119 <link>shared <runtime-link>shared
120 <python-debugging>on:<define>BOOST_DEBUG_PYTHON
121 ;
122
123 mpi_python_libs = boost_mpi_python mpi ;
124 }
125 }
126 else if ! ( --without-mpi in [ modules.peek : ARGV ] )
127 {
128 message boost_mpi
129 : "warning: skipping optional Message Passing Interface (MPI) library."
130 : "note: to enable MPI support, add \"using mpi ;\" to user-config.jam."
131 : "note: to suppress this message, pass \"--without-mpi\" to bjam."
132 : "note: otherwise, you can safely ignore this message."
133 ;
134 }
135 else
136 {
137 alias boost_mpi ;
138 }
139
140 boost-install boost_mpi $(mpi_python_libs) ;