1 | # Copyright David Abrahams 2001-2006. Distributed under the Boost |
---|
2 | # Software License, Version 1.0. (See accompanying |
---|
3 | # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
---|
4 | |
---|
5 | import os ; |
---|
6 | import modules ; |
---|
7 | |
---|
8 | import python ; |
---|
9 | |
---|
10 | if ! [ python.configured ] && ! ( --without-python in [ modules.peek : ARGV ] ) |
---|
11 | { |
---|
12 | # Attempt default configuration of python |
---|
13 | import toolset : using ; |
---|
14 | using python ; |
---|
15 | |
---|
16 | if ! [ python.configured ] |
---|
17 | { |
---|
18 | ECHO "WARNING: No python installation configured and autoconfiguration" ; |
---|
19 | ECHO " failed. See http://www.boost.org/libs/python/doc/building.html" ; |
---|
20 | ECHO " for configuration instructions or pass --without-python to" ; |
---|
21 | ECHO " suppress this message and silently skip all Boost.Python targets" ; |
---|
22 | } |
---|
23 | } |
---|
24 | |
---|
25 | if [ python.configured ] { |
---|
26 | |
---|
27 | project boost/python |
---|
28 | : source-location ../src |
---|
29 | ; |
---|
30 | |
---|
31 | lib boost_python |
---|
32 | : # sources |
---|
33 | numeric.cpp |
---|
34 | list.cpp |
---|
35 | long.cpp |
---|
36 | dict.cpp |
---|
37 | tuple.cpp |
---|
38 | str.cpp |
---|
39 | slice.cpp |
---|
40 | |
---|
41 | converter/from_python.cpp |
---|
42 | converter/registry.cpp |
---|
43 | converter/type_id.cpp |
---|
44 | object/enum.cpp |
---|
45 | object/class.cpp |
---|
46 | object/function.cpp |
---|
47 | object/inheritance.cpp |
---|
48 | object/life_support.cpp |
---|
49 | object/pickle_support.cpp |
---|
50 | errors.cpp |
---|
51 | module.cpp |
---|
52 | converter/builtin_converters.cpp |
---|
53 | converter/arg_to_python_base.cpp |
---|
54 | object/iterator.cpp |
---|
55 | object/stl_iterator.cpp |
---|
56 | object_protocol.cpp |
---|
57 | object_operators.cpp |
---|
58 | wrapper.cpp |
---|
59 | import.cpp |
---|
60 | exec.cpp |
---|
61 | : # requirements |
---|
62 | <link>static:<define>BOOST_PYTHON_STATIC_LIB |
---|
63 | <define>BOOST_PYTHON_SOURCE |
---|
64 | |
---|
65 | # On Windows, all code using Python has to link to the Python |
---|
66 | # import library. |
---|
67 | # |
---|
68 | # On *nix we never link libboost_python to libpython. When |
---|
69 | # extending Python, all Python symbols are provided by the |
---|
70 | # Python interpreter executable. When embedding Python, the |
---|
71 | # client executable is expected to explicitly link to |
---|
72 | # /python//python (the target representing libpython) itself. |
---|
73 | # |
---|
74 | # python_for_extensions is a target defined by Boost.Build to |
---|
75 | # provide the Python include paths, and on Windows, the Python |
---|
76 | # import library, as usage requirements. |
---|
77 | <library>/python//python_for_extensions |
---|
78 | |
---|
79 | <python-debugging>on:<define>BOOST_DEBUG_PYTHON |
---|
80 | |
---|
81 | : # default build |
---|
82 | <link>shared |
---|
83 | : # usage requirements |
---|
84 | <link>static:<define>BOOST_PYTHON_STATIC_LIB |
---|
85 | <python-debugging>on:<define>BOOST_DEBUG_PYTHON |
---|
86 | ; |
---|
87 | } |
---|
88 | else |
---|
89 | { |
---|
90 | ECHO "warning: Python location is not configured" ; |
---|
91 | ECHO "warning: the Boost.Python library won't be built" ; |
---|
92 | } |
---|