]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/mpi/build/Jamfile.v2
import quincy beta 17.1.0
[ceph.git] / ceph / src / boost / libs / mpi / build / Jamfile.v2
CommitLineData
7c673cae
FG
1# Copyright (C) 2005, 2006 The Trustees of Indiana University.
2# Copyright (C) 2005 Douglas Gregor <doug.gregor -at- gmail.com>
92f5a8d4 3# Copyright (c) 2018 Stefan Seefeld
7c673cae
FG
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
12import mpi ;
13import indirect ;
14import python ;
92f5a8d4
TL
15import option ;
16import regex ;
7c673cae 17
92f5a8d4
TL
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
92f5a8d4 25mpi_python_libs = ;
7c673cae
FG
26
27if [ mpi.configured ]
28{
29
30project boost/mpi
31 : source-location ../src
32 ;
33
b32b8144
FG
34lib boost_mpi
35 :
7c673cae 36 broadcast.cpp
11fdf7f2 37 cartesian_communicator.cpp
7c673cae
FG
38 communicator.cpp
39 computation_tree.cpp
40 content_oarchive.cpp
41 environment.cpp
92f5a8d4 42 error_string.cpp
7c673cae
FG
43 exception.cpp
44 graph_communicator.cpp
45 group.cpp
46 intercommunicator.cpp
47 mpi_datatype_cache.cpp
48 mpi_datatype_oarchive.cpp
20effc67 49 offsets.cpp
7c673cae
FG
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
20effc67 56 status.cpp
7c673cae
FG
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
92f5a8d4 64 <local-visibility>global
7c673cae
FG
65 : # Default build
66 <link>shared
67 : # Usage requirements
68 <library>../../serialization/build//boost_serialization
69 <library>/mpi//mpi [ mpi.extra-requirements ]
70 ;
b32b8144 71
7c673cae
FG
72 if [ python.configured ]
73 {
92f5a8d4 74 lib boost_mpi_python
b32b8144
FG
75 : # Sources
76 python/serialize.cpp
77 : # Requirements
78 <library>boost_mpi
79 <library>/mpi//mpi [ mpi.extra-requirements ]
92f5a8d4 80 <library>/boost/python//boost_python
b32b8144
FG
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
b32b8144 85 <python-debugging>on:<define>BOOST_DEBUG_PYTHON
92f5a8d4 86 -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag
f67539c2 87 <tag>@python-tag
92f5a8d4
TL
88 <conditional>@python.require-py
89 <local-visibility>global
90
b32b8144
FG
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
92f5a8d4
TL
112 <library>/boost/python//boost_python
113 <library>boost_mpi_python
b32b8144
FG
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
b32b8144
FG
121 ;
122
92f5a8d4 123 mpi_python_libs = boost_mpi_python mpi ;
7c673cae
FG
124 }
125}
126else 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}
92f5a8d4
TL
135else
136{
137 alias boost_mpi ;
138}
7c673cae 139
92f5a8d4 140boost-install boost_mpi $(mpi_python_libs) ;