[29] | 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 | } |
---|