123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- # 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 ]
- ;
|