| # Copyright (C) 2006 Vladimir Prus |
| # Copyright (C) 2006 Arkadiy Vertleyb |
| # Use, modification and distribution is subject to the Boost Software |
| # License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) |
| |
| # Boost Typeof Library test Jamfile |
| |
| import set ; |
| |
| # The special requirement is not ported yet. |
| # |
| #local rule special-requirements ( toolset variant : properties * ) |
| #{ |
| # # Tru64/CXX6.5 hangs on most tests, so just turn it off completely. |
| # |
| # if $(UNIX) && $(OS) = OSF |
| # { |
| # switch $(toolset) |
| # { |
| # case tru64cxx65* : properties = |
| # [ replace-properties $(properties) : <build>no ] ; |
| # } |
| # } |
| # |
| # return $(properties) ; |
| #} |
| |
| rule typeof-test ( source ) |
| { |
| return [ compile $(source) : <define>BOOST_TYPEOF_NATIVE : |
| $(source:B)_native ] |
| [ compile $(source) : <define>BOOST_TYPEOF_EMULATION : |
| $(source:B)_emulation ] |
| ; |
| } |
| |
| rule all-tests ( ) |
| { |
| local all ; |
| # for local t in [ set.difference [ glob *.cpp ] : odr1.cpp odr2.cpp ] |
| for local t in [ set.difference [ glob *.cpp ] : [ glob odr*.cpp ] ] |
| { |
| all += [ typeof-test $(t) ] ; |
| } |
| all += [ run odr1.cpp odr2.cpp : : : <define>BOOST_TYPEOF_NATIVE : |
| odr_native ] ; |
| all += [ run odr1.cpp odr2.cpp : : : <define>BOOST_TYPEOF_EMULATION : |
| odr_emulation ] ; |
| all += [ run odr_no_uns1.cpp odr_no_uns2.cpp : : : <define>BOOST_TYPEOF_EMULATION : |
| odr_no_uns ] ; |
| return $(all) ; |
| } |
| |
| test-suite "typeof" |
| : [ all-tests ] |
| ; |