subproject libs/python/test ; # bring in the rules for python SEARCH on python.jam = $(BOOST_BUILD_PATH) ; include python.jam ; local PYTHON_V1_PROPERTIES = $(PYTHON_PROPERTIES) ; local PYTHON_PROPERTIES = $(BOOST_PYTHON_V2_PROPERTIES) ; # rule bpl-test ( name ? : files * ) { files ?= $(name).py $(name).cpp ; local modules ; local py ; for local f in $(files) { if $(f:S) = .py { if $(py) { EXIT too many python drivers specified: "$(py)" "$(f)" ; } py = $(f) ; } } name ?= $(py:S=) ; for local f in $(files) { if $(f:S) != .py { local m = $(f:S=) ; if $(m) = $(py:S=) { m = $(name) ; if $(m) = $(py:S=) { m = $(m)_ext ; } } extension $(m) : $(f) ../bpl ; modules += $(m) ; } } boost-python-runtest $(name) : $(py) $(modules) ; } bpl-test bienstman1 ; bpl-test bienstman2 ; bpl-test try : newtest.py m1.cpp m2.cpp ; bpl-test builtin_converters : test_builtin_converters.py test_builtin_converters.cpp ; bpl-test test_pointer_adoption ; bpl-test callbacks ; bpl-test virtual_functions ; bpl-test back_reference ; bpl-test implicit ; bpl-test data_members ; # --- unit tests of library components --- unit-test indirect_traits_test : indirect_traits_test.cpp : $(BOOST_ROOT) ; unit-test destroy_test : destroy_test.cpp : $(BOOST_ROOT) ; unit-test pointer_type_id_test : pointer_type_id_test.cpp : $(BOOST_ROOT) ; unit-test member_function_cast : member_function_cast.cpp : $(BOOST_ROOT) ; unit-test bases : bases.cpp : $(BOOST_ROOT) ; unit-test if_else : if_else.cpp : $(BOOST_ROOT) ; unit-test pointee : pointee.cpp : $(BOOST_ROOT) ; unit-test select_holder : select_holder.cpp : $(BOOST_ROOT) BOOST_PYTHON_STATIC_LIB $(PYTHON_PROPERTIES) ; unit-test select_from_python_test : select_from_python_test.cpp ../src/converter/type_id.cpp # ../src/converter/registry.cpp # MWerks needs this for some reason : $(BOOST_ROOT) BOOST_PYTHON_STATIC_LIB $(PYTHON_V1_PROPERTIES) ;