blob: d44fe08435ff63447d437e1d96837eb6d7050466 [file] [log] [blame]
# Copyright John Maddock 2005.
# Use, modification and distribution are subject to 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)
project :
: requirements
;
local TR1_PROPERTIES =
<include>$(BOOST_ROOT)/boost/tr1/tr1
# Borland's broken include mechanism needs these extra headers:
<toolset>borland:<include>$(BOOST_ROOT)/boost/tr1/tr1/bcc32
# Sunpro's broken include mechanism needs these extra headers:
<include>$(BOOST_ROOT)/boost/tr1/tr1/sun
;
#
# define the sources which need testing, mostly this is just
# all the files *_test.cpp, but any badly named examples can
# be added to this list :-)
#
# this rule enumerates through all the sources and invokes
# the run rule for each source, the result is a list of all
# the run rules, which we can pass on to the test_suite rule:
rule test_all
{
#ECHO executing test_all rule ;
local all_rules = ;
for local file in [ glob test*.cpp ]
{
all_rules += [ compile $(file) ] ;
all_rules += [ compile $(file)
: <define>TEST_STD_HEADERS=1 $(TR1_PROPERTIES) : std_$(file:B) ] ;
}
for local fileb in [ glob run*.cpp ]
{
all_rules += [ run $(fileb) ] ;
all_rules += [ run $(fileb)
: # additional args
: # test-files
: # requirements
<define>TEST_STD_HEADERS=1 $(TR1_PROPERTIES) : std_$(fileb:B) ] ;
}
for local file2 in [ glob config/tr1_has_tr1*fail.cpp ]
{
all_rules += [ compile-fail $(file2) ] ;
}
for local filec in [ glob config/tr1_has_tr1*pass.cpp ]
{
all_rules += [ compile $(filec) ] ;
}
for local file3 in [ glob type_traits/*.cpp ]
{
all_rules += [ run $(file3)
: # additional args
: # test-files
: # requirements
<include>$(BOOST_ROOT)/libs/type_traits/test
<define>TEST_STD=2005 $(TR1_PROPERTIES) ] ;
}
# Commented due to conflict between test_complex in this dir
# and in std_headers.
for local file5 in [ glob std_headers/*.cpp ]
{
all_rules += [ compile $(file5)
: <define>TEST_STD=2005 $(TR1_PROPERTIES)
: $(file5:B)_std_header
] ;
}
for local file6 in [ glob cyclic_depend/*.cpp ]
{
all_rules += [ compile $(file6)
: $(TR1_PROPERTIES)
] ;
}
#ECHO $(all_rules) ;
return $(all_rules) ;
}
test-suite tr1 : [ test_all r ] ;