mirror of
https://github.com/boostorg/python.git
synced 2026-01-19 16:32:16 +00:00
95 lines
3.0 KiB
Plaintext
95 lines
3.0 KiB
Plaintext
# Copyright David Abrahams 2001-2006. Distributed under the Boost
|
|
# Software License, Version 1.0. (See accompanying
|
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
import os ;
|
|
import modules ;
|
|
|
|
import python ;
|
|
|
|
if ! [ python.configured ] && ! ( --without-python in [ modules.peek : ARGV ] )
|
|
{
|
|
# Attempt default configuration of python
|
|
import toolset : using ;
|
|
using python ;
|
|
|
|
if ! [ python.configured ]
|
|
{
|
|
ECHO "WARNING: No python installation configured and autoconfiguration" ;
|
|
ECHO " failed. See http://www.boost.org/libs/python/doc/building.html" ;
|
|
ECHO " for configuration instructions or pass --without-python to" ;
|
|
ECHO " suppress this message and silently skip all Boost.Python targets" ;
|
|
}
|
|
}
|
|
|
|
project boost/python
|
|
: source-location ../src
|
|
;
|
|
|
|
rule cond ( test ? : yes * : no * ) { if $(test) { return $(yes) ; } else { return $(no) ; } }
|
|
rule unless ( test ? : yes * : no * ) { if ! $(test) { return $(yes) ; } else { return $(no) ; } }
|
|
|
|
lib boost_python
|
|
: # sources
|
|
numeric.cpp
|
|
list.cpp
|
|
long.cpp
|
|
dict.cpp
|
|
tuple.cpp
|
|
str.cpp
|
|
slice.cpp
|
|
|
|
converter/from_python.cpp
|
|
converter/registry.cpp
|
|
converter/type_id.cpp
|
|
object/enum.cpp
|
|
object/class.cpp
|
|
object/function.cpp
|
|
object/inheritance.cpp
|
|
object/life_support.cpp
|
|
object/pickle_support.cpp
|
|
errors.cpp
|
|
module.cpp
|
|
converter/builtin_converters.cpp
|
|
converter/arg_to_python_base.cpp
|
|
object/iterator.cpp
|
|
object/stl_iterator.cpp
|
|
object_protocol.cpp
|
|
object_operators.cpp
|
|
wrapper.cpp
|
|
import.cpp
|
|
exec.cpp
|
|
object/function_doc_signature.cpp
|
|
: # requirements
|
|
<link>static:<define>BOOST_PYTHON_STATIC_LIB
|
|
<define>BOOST_PYTHON_SOURCE
|
|
|
|
# On Windows, all code using Python has to link to the Python
|
|
# import library.
|
|
#
|
|
# On *nix we never link libboost_python to libpython. When
|
|
# extending Python, all Python symbols are provided by the
|
|
# Python interpreter executable. When embedding Python, the
|
|
# client executable is expected to explicitly link to
|
|
# /python//python (the target representing libpython) itself.
|
|
#
|
|
# python_for_extensions is a target defined by Boost.Build to
|
|
# provide the Python include paths, and on Windows, the Python
|
|
# import library, as usage requirements.
|
|
[ cond [ python.configured ] : <library>/python//python_for_extensions ]
|
|
|
|
# we prevent building when there is no python available
|
|
# as it's not possible anyway, and to cause dependents to
|
|
# fail to build
|
|
[ unless [ python.configured ] : <build>no ]
|
|
|
|
<python-debugging>on:<define>BOOST_DEBUG_PYTHON
|
|
: # default build
|
|
<link>shared
|
|
: # usage requirements
|
|
<link>static:<define>BOOST_PYTHON_STATIC_LIB
|
|
<python-debugging>on:<define>BOOST_DEBUG_PYTHON
|
|
;
|
|
|
|
boost-install boost_python ;
|