mirror of
https://github.com/boostorg/python.git
synced 2026-01-19 16:32:16 +00:00
More work on Boost.Python. Most tests now pass on Linux.
[SVN r27387]
This commit is contained in:
@@ -1,67 +1,39 @@
|
||||
import os ;
|
||||
import modules ;
|
||||
|
||||
# Use a very crude way to sense there python is locatted
|
||||
import python ;
|
||||
|
||||
|
||||
local PYTHON_PATH = [ modules.peek : PYTHON_PATH ] ;
|
||||
|
||||
if [ GLOB /usr/local/include/python2.2 : * ]
|
||||
{
|
||||
PYTHON_PATH = /usr/local ;
|
||||
}
|
||||
else if [ GLOB /usr/include/python2.2 : * ]
|
||||
{
|
||||
PYTHON_PATH = /usr ;
|
||||
}
|
||||
|
||||
if [ os.name ] in CYGWIN NT
|
||||
{
|
||||
lib_condition = <link>shared: ;
|
||||
defines = USE_DL_IMPORT ;
|
||||
|
||||
# Declare a target for the python interpreter library
|
||||
lib python : : <name>python22 <search>$(PYTHON_PATH)/libs ;
|
||||
PYTHON_LIB = python ;
|
||||
}
|
||||
else
|
||||
{
|
||||
lib python : : <name>python2.2 ;
|
||||
PYTHON_LIB = python ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if $(PYTHON_PATH) {
|
||||
if [ python.configured ] {
|
||||
|
||||
|
||||
project boost/python
|
||||
: source-location ../src
|
||||
: requirements <include>$(PYTHON_PATH)/include
|
||||
$(lib_condition)<library-path>$(PYTHON_PATH)/libs
|
||||
<link>shared:<library>$(PYTHON_LIB)
|
||||
<define>$(defines)
|
||||
: usage-requirements # requirement that will be propageted to *users* of this library
|
||||
<include>$(PYTHON_PATH)/include
|
||||
: requirements
|
||||
#<include>$(PYTHON_PATH)/include
|
||||
# $(lib_condition)<library-path>$(PYTHON_PATH)/libs
|
||||
# <link>shared:<library>$(PYTHON_LIB)
|
||||
# <define>$(defines)
|
||||
#: usage-requirements # requirement that will be propageted to *users* of this library
|
||||
# <include>$(PYTHON_PATH)/include
|
||||
|
||||
# We have a bug which causes us to conclude that conditionalized
|
||||
# properties in this section are not free.
|
||||
# $(lib_condition)<library-path>$(PYTHON_PATH)/lib/python2.2/config
|
||||
# <shared>true:<find-library>$(PYTHON_LIB)
|
||||
|
||||
<library-path>$(PYTHON_PATH)/lib/python2.2/config
|
||||
<library>$(PYTHON_LIB)
|
||||
# <library-path>$(PYTHON_PATH)/lib/python2.2/config
|
||||
# <library>$(PYTHON_LIB)
|
||||
;
|
||||
|
||||
lib boost_python
|
||||
:
|
||||
numeric.cpp
|
||||
|
||||
list.cpp
|
||||
long.cpp
|
||||
dict.cpp
|
||||
tuple.cpp
|
||||
str.cpp
|
||||
slice.cpp
|
||||
|
||||
aix_init_module.cpp
|
||||
converter/from_python.cpp
|
||||
@@ -80,8 +52,15 @@ lib boost_python
|
||||
object/iterator.cpp
|
||||
object_protocol.cpp
|
||||
object_operators.cpp
|
||||
wrapper.cpp
|
||||
: <link>static:<define>BOOST_PYTHON_STATIC_LIB
|
||||
<define>BOOST_PYTHON_SOURCE
|
||||
<library>/python//python
|
||||
: <link>shared
|
||||
;
|
||||
;
|
||||
}
|
||||
else
|
||||
{
|
||||
ECHO "warning: Python location is not configured" ;
|
||||
ECHO "warning: the Boost.Python library won't be built" ;
|
||||
}
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
# This is the Jamfile for Boost.Build v2, which is currently in
|
||||
# prerelease. Ignore this file unless you are a bleading edge sort of
|
||||
# person.
|
||||
use-project /boost/python : ../build ;
|
||||
|
||||
project
|
||||
: requirements <library>/boost/python//boost_python
|
||||
;
|
||||
|
||||
python-extension getting_started1 : getting_started1.cpp : <link>shared ;
|
||||
python-extension getting_started2 : getting_started2.cpp : <link>shared ;
|
||||
project : requirements <library>/boost/python//boost_python ;
|
||||
|
||||
python-extension getting_started1 : getting_started1.cpp ;
|
||||
python-extension getting_started2 : getting_started2.cpp ;
|
||||
|
||||
|
||||
158
test/Jamfile.v2
Normal file
158
test/Jamfile.v2
Normal file
@@ -0,0 +1,158 @@
|
||||
|
||||
use-project /boost/python : ../build ;
|
||||
|
||||
# A bug in the Win32 intel compilers causes compilation of one of our
|
||||
# tests to take forever when debug symbols are enabled. This rule
|
||||
# turns them off when added to the requirements section
|
||||
#rule turn-off-intel-debug-symbols ( toolset variant : properties * )
|
||||
#{
|
||||
# if $(NT) && [ MATCH (.*intel.*) : $(toolset) ]
|
||||
# {
|
||||
# properties = [ difference $(properties) : <debug-symbols>on ] <debug-symbols>off ;
|
||||
# }
|
||||
# return $(properties) ;
|
||||
#}
|
||||
|
||||
rule py-run ( sources * )
|
||||
{
|
||||
return [ run $(sources) /boost/python//boost_python ] ;
|
||||
}
|
||||
|
||||
rule py-compile ( sources * )
|
||||
{
|
||||
return [ compile $(sources) /boost/python//boost_python ] ;
|
||||
}
|
||||
|
||||
rule py-compile-fail ( sources * )
|
||||
{
|
||||
return [ compile-fail $(sources) /boost/python//boost_python ] ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#template py-unit-test
|
||||
# :
|
||||
# : $(PYTHON_PROPERTIES) <define>BOOST_PYTHON_SUPPRESS_REGISTRY_INITIALIZATION
|
||||
# [ difference $(PYTHON_PROPERTIES) : <define>BOOST_PYTHON_DYNAMIC_LIB ] <define>BOOST_PYTHON_STATIC_LIB
|
||||
# ;
|
||||
|
||||
|
||||
test-suite python
|
||||
:
|
||||
[ run ../test/embedding.cpp ../build//boost_python /python//python ]
|
||||
|
||||
[
|
||||
bpl-test crossmod_exception
|
||||
: crossmod_exception.py crossmod_exception_a.cpp crossmod_exception_b.cpp
|
||||
]
|
||||
|
||||
[ bpl-test injected ]
|
||||
[ bpl-test properties ]
|
||||
[ bpl-test return_arg ]
|
||||
[ bpl-test staticmethod ]
|
||||
[ bpl-test shared_ptr ]
|
||||
[ bpl-test polymorphism ]
|
||||
[ bpl-test polymorphism2 ]
|
||||
[ bpl-test auto_ptr ]
|
||||
[ bpl-test minimal ]
|
||||
[ bpl-test args ]
|
||||
[ bpl-test raw_ctor ]
|
||||
#[ bpl-test numpy ]
|
||||
[ bpl-test enum ]
|
||||
[ bpl-test exception_translator ]
|
||||
[ bpl-test pearu1 : test_cltree.py cltree.cpp ]
|
||||
[ bpl-test try : newtest.py m1.cpp m2.cpp ]
|
||||
[ bpl-test const_argument ]
|
||||
[ bpl-test keywords : keywords.cpp keywords_test.py ]
|
||||
|
||||
|
||||
[ python-extension builtin_converters : test_builtin_converters.cpp /boost/python//boost_python ]
|
||||
[ run-pyd builtin_converters_test : test_builtin_converters.py builtin_converters ]
|
||||
|
||||
[ bpl-test test_pointer_adoption ]
|
||||
[ bpl-test operators ]
|
||||
[ bpl-test callbacks ]
|
||||
[ bpl-test defaults ]
|
||||
|
||||
[ bpl-test object ]
|
||||
[ bpl-test list ]
|
||||
[ bpl-test long ]
|
||||
[ bpl-test dict ]
|
||||
[ bpl-test tuple ]
|
||||
[ bpl-test str ]
|
||||
[ bpl-test slice ]
|
||||
|
||||
[ bpl-test virtual_functions ]
|
||||
[ bpl-test back_reference ]
|
||||
[ bpl-test implicit ]
|
||||
[ bpl-test data_members ]
|
||||
|
||||
[ bpl-test ben_scott1 ]
|
||||
|
||||
[ bpl-test bienstman1 ]
|
||||
[ bpl-test bienstman2 ]
|
||||
[ bpl-test bienstman3 ]
|
||||
#
|
||||
#[ bpl-test multi_arg_constructor
|
||||
# : # files
|
||||
# : # requirements
|
||||
# turn-off-intel-debug-symbols ] # debug symbols slow the build down too much
|
||||
#
|
||||
[ bpl-test iterator : iterator.py iterator.cpp input_iterator.cpp ]
|
||||
|
||||
[ bpl-test extract ]
|
||||
|
||||
[ bpl-test opaque ]
|
||||
|
||||
[ bpl-test pickle1 ]
|
||||
[ bpl-test pickle2 ]
|
||||
[ bpl-test pickle3 ]
|
||||
[ bpl-test pickle4 ]
|
||||
|
||||
[ bpl-test nested ]
|
||||
|
||||
[ bpl-test docstring ]
|
||||
|
||||
[ bpl-test vector_indexing_suite ]
|
||||
|
||||
[ python-extension map_indexing_suite_ext
|
||||
: map_indexing_suite.cpp int_map_indexing_suite.cpp
|
||||
/boost/python//boost_python ]
|
||||
[ run-pyd
|
||||
map_indexing_suite : map_indexing_suite.py map_indexing_suite_ext ]
|
||||
|
||||
# if $(TEST_BIENSTMAN_NON_BUGS)
|
||||
# {
|
||||
# bpl-test bienstman4 ;
|
||||
# bpl-test bienstman5 ;
|
||||
# }
|
||||
|
||||
# --- unit tests of library components ---
|
||||
|
||||
[ run indirect_traits_test.cpp ]
|
||||
[ run destroy_test.cpp ]
|
||||
[ py-run pointer_type_id_test.cpp ]
|
||||
[ py-run bases.cpp ]
|
||||
[ run if_else.cpp ]
|
||||
[ py-run pointee.cpp ]
|
||||
[ run result.cpp ]
|
||||
|
||||
[ compile string_literal.cpp ]
|
||||
[ py-compile borrowed.cpp ]
|
||||
[ py-compile object_manager.cpp ]
|
||||
[ py-compile copy_ctor_mutates_rhs.cpp ]
|
||||
|
||||
[ py-run upcast.cpp ]
|
||||
|
||||
[ py-compile select_holder.cpp ]
|
||||
|
||||
[ py-run select_from_python_test.cpp ../src/converter/type_id.cpp ]
|
||||
|
||||
[ py-compile select_arg_to_python_test.cpp ]
|
||||
|
||||
[ py-compile-fail ./raw_pyobject_fail1.cpp ]
|
||||
[ py-compile-fail ./raw_pyobject_fail2.cpp ]
|
||||
[ py-compile-fail ./as_to_python_function.cpp ]
|
||||
[ py-compile-fail ./object_fail1.cpp ]
|
||||
|
||||
;
|
||||
Reference in New Issue
Block a user