blob: 7d6b80ed92e747f4aeef05ad51e9df74fe9a158a [file] [log] [blame]
# 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
<define>BOOST_SYSTEM_NO_DEPRECATED
<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
: :
:
<library>/boost/system//boost_system
: $(sources[1]:B)_shared ]
[ run $(sources) ../build//boost_chrono/<link>static
: :
:
<library>/boost/system//boost_system
: $(sources[1]:B)_static ]
[ run $(sources)
: :
: <define>BOOST_CHRONO_HEADER_ONLY
# comment one of the following lines
#<define>BOOST_SYSTEM_INLINED
<library>/boost/system//boost_system
: $(sources[1]:B)_header ]
;
}
rule chrono-run2 ( 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
# comment one of the following lines
#<define>BOOST_SYSTEM_INLINED
<library>/boost/system//boost_system
: $(name)_header ]
;
}
rule chrono-run-mt ( sources )
{
return
[ run $(sources) ../build//boost_chrono
: :
:
<library>/boost/system//boost_system
: $(sources[1]:B)_shared ]
[ run $(sources) ../build//boost_chrono/<link>static
: :
:
<library>/boost/system//boost_system
: $(sources[1]:B)_static ]
[ run $(sources)
: :
: <define>BOOST_CHRONO_HEADER_ONLY
# comment one of the following lines
#<define>BOOST_SYSTEM_INLINED
<library>/boost/system//boost_system
: $(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
# comment one of the following lines
#<define>BOOST_SYSTEM_INLINED
<library>/boost/system//boost_system
: $(name)_header ]
;
}
rule chrono-compile ( sources )
{
return
[ compile $(sources)
:
: $(sources[1]:B)_lib ]
[ compile $(sources)
: <define>BOOST_CHRONO_HEADER_ONLY
# comment the following line
<define>BOOST_SYSTEM_INLINED
: $(sources[1]:B)_header ]
;
}
rule chrono-compile2 ( sources : name )
{
return
[ compile $(sources)
:
: $(name)_lib ]
[ compile $(sources)
: <define>BOOST_CHRONO_HEADER_ONLY
# comment the following line
<define>BOOST_SYSTEM_INLINED
: $(name)_header ]
;
}
test-suite "perf"
:
[ chrono-run store_now_in_vector.cpp ]
;