# Boost Chrono Library test Jamfile # Copyright Beman Dawes 2008 # Copyright Vicente J. Botet Escriba 2009-2010 # Distributed under the Boost Software License, Version 1.0. # See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt # See library home page at http://www.boost.org/libs/chrono import os ; import feature ; project : requirements <target-os>freebsd:<linkflags>"-lrt" <target-os>linux:<linkflags>"-lrt" <toolset>pgi:<linkflags>"-lrt" #<threading>single:<define>BOOST_CHRONO_THREAD_DISABLED <toolset>msvc:<asynch-exceptions>on <define>BOOST_CHRONO_USES_MPL_ASSERT <toolset>sun:<define>BOOST_TYPEOF_EMULATION <warnings>all <toolset>gcc:<cxxflags>-Wextra <toolset>gcc:<cxxflags>-pedantic <toolset>gcc:<cxxflags>-Wno-long-long <toolset>darwin:<cxxflags>-Wextra <toolset>darwin:<cxxflags>-pedantic <toolset>darwin:<cxxflags>-Wno-long-long #<toolset>pathscale:<cxxflags>-Wextra <toolset>pathscale:<cxxflags>-Wno-long-long <toolset>pathscale:<cxxflags>-pedantic <toolset>clang:<cxxflags>-Wextra <toolset>clang:<cxxflags>-pedantic <toolset>clang:<cxxflags>-Wno-long-long <toolset>gcc-4.5.0,<target-os>windows:<cxxflags>-Wno-missing-field-initializers <toolset>gcc-4.5.0,<target-os>windows:<cxxflags>-fdiagnostics-show-option <toolset>msvc:<cxxflags>/wd4127 # Note: Some of the remarks from the Intel compiler are disabled # remark #304: access control not specified ("public" by default) # remark #383: value copied to temporary, reference to temporary used # remark #1418: external function definition with no prior declaration <toolset>intel:<cxxflags>-wd304,383,1418 <define>BOOST_CHRONO_VERSION=2 ; rule chrono-run ( sources ) { return [ run $(sources) ../build//boost_chrono : : : : $(sources[1]:B)_shared ] [ run $(sources) ../build//boost_chrono/<link>static : : : : $(sources[1]:B)_static ] [ run $(sources) : : : <define>BOOST_CHRONO_HEADER_ONLY : $(sources[1]:B)_header ] ; } rule chrono-run2 ( sources : name ) { return [ run $(sources) ../build//boost_chrono : : : : $(name)_shared ] [ run $(sources) ../build//boost_chrono/<link>static : : : : $(name)_static ] [ run $(sources) : : : <define>BOOST_CHRONO_HEADER_ONLY : $(name)_header ] ; } rule chrono-run-mt ( sources ) { return [ run $(sources) ../build//boost_chrono : : : : $(sources[1]:B)_shared ] [ run $(sources) ../build//boost_chrono/<link>static : : : : $(sources[1]:B)_static ] [ run $(sources) : : : <define>BOOST_CHRONO_HEADER_ONLY : $(sources[1]:B)_header ] ; } rule chrono-run2-mt ( sources : name ) { return [ run $(sources) ../build//boost_chrono : : : <library>/boost/system//boost_system : $(name)_shared ] [ run $(sources) ../build//boost_chrono/<link>static : : : <library>/boost/system//boost_system : $(name)_static ] [ run $(sources) : : : <define>BOOST_CHRONO_HEADER_ONLY : $(name)_header ] ; } rule chrono-compile ( sources ) { return [ compile $(sources) : : $(sources[1]:B)_lib ] [ compile $(sources) : <define>BOOST_CHRONO_HEADER_ONLY : $(sources[1]:B)_header ] ; } rule chrono-compile2 ( sources : name ) { return [ compile $(sources) : : $(name)_lib ] [ compile $(sources) : <define>BOOST_CHRONO_HEADER_ONLY : $(name)_header ] ; } test-suite "perf" : [ chrono-run store_now_in_vector.cpp ] ;