# 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 freebsd:"-lrt" linux:"-lrt" pgi:"-lrt" #single:BOOST_CHRONO_THREAD_DISABLED msvc:on BOOST_CHRONO_USES_MPL_ASSERT BOOST_SYSTEM_NO_DEPRECATED sun:BOOST_TYPEOF_EMULATION all gcc:-Wextra gcc:-pedantic gcc:-Wno-long-long darwin:-Wextra darwin:-pedantic darwin:-Wno-long-long #pathscale:-Wextra pathscale:-Wno-long-long pathscale:-pedantic clang:-Wextra clang:-pedantic clang:-Wno-long-long gcc-4.5.0,windows:-Wno-missing-field-initializers gcc-4.5.0,windows:-fdiagnostics-show-option msvc:/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 intel:-wd304,383,1418 BOOST_CHRONO_VERSION=2 ; rule chrono-run ( sources ) { return [ run $(sources) ../build//boost_chrono : : : /boost/system//boost_system : $(sources[1]:B)_shared ] [ run $(sources) ../build//boost_chrono/static : : : /boost/system//boost_system : $(sources[1]:B)_static ] [ run $(sources) : : : BOOST_CHRONO_HEADER_ONLY # comment one of the following lines #BOOST_SYSTEM_INLINED /boost/system//boost_system : $(sources[1]:B)_header ] ; } rule chrono-run2 ( sources : name ) { return [ run $(sources) ../build//boost_chrono : : : /boost/system//boost_system : $(name)_shared ] [ run $(sources) ../build//boost_chrono/static : : : /boost/system//boost_system : $(name)_static ] [ run $(sources) : : : BOOST_CHRONO_HEADER_ONLY # comment one of the following lines #BOOST_SYSTEM_INLINED /boost/system//boost_system : $(name)_header ] ; } rule chrono-run-mt ( sources ) { return [ run $(sources) ../build//boost_chrono : : : /boost/system//boost_system : $(sources[1]:B)_shared ] [ run $(sources) ../build//boost_chrono/static : : : /boost/system//boost_system : $(sources[1]:B)_static ] [ run $(sources) : : : BOOST_CHRONO_HEADER_ONLY # comment one of the following lines #BOOST_SYSTEM_INLINED /boost/system//boost_system : $(sources[1]:B)_header ] ; } rule chrono-run2-mt ( sources : name ) { return [ run $(sources) ../build//boost_chrono : : : /boost/system//boost_system : $(name)_shared ] [ run $(sources) ../build//boost_chrono/static : : : /boost/system//boost_system : $(name)_static ] [ run $(sources) : : : BOOST_CHRONO_HEADER_ONLY # comment one of the following lines #BOOST_SYSTEM_INLINED /boost/system//boost_system : $(name)_header ] ; } rule chrono-compile ( sources ) { return [ compile $(sources) : : $(sources[1]:B)_lib ] [ compile $(sources) : BOOST_CHRONO_HEADER_ONLY # comment the following line BOOST_SYSTEM_INLINED : $(sources[1]:B)_header ] ; } rule chrono-compile2 ( sources : name ) { return [ compile $(sources) : : $(name)_lib ] [ compile $(sources) : BOOST_CHRONO_HEADER_ONLY # comment the following line BOOST_SYSTEM_INLINED : $(name)_header ] ; } test-suite "perf" : [ chrono-run store_now_in_vector.cpp ] ;