1# Boost Chrono Library Build Jamfile 2 3# Copyright Beman Dawes 2002, 2006, 2008 4# Copyright 2009-2012 Vicente J.Botet Escriba. 5 6# Distributed under the Boost Software License, Version 1.0. 7# (See accompanying file LICENSE_1_0.txt or www.boost.org/LICENSE_1_0.txt) 8 9# See library home page at http://www.boost.org/libs/chrono 10 11project boost/chrono 12 : source-location ../src 13 : requirements 14 <target-os>freebsd:<linkflags>"-lrt" 15 <target-os>linux:<linkflags>"-lrt -lpthread" 16 <toolset>pgi:<linkflags>"-lrt" 17 #<threading>single:<define>BOOST_CHRONO_THREAD_DISABLED 18 #<define>BOOST_ERROR_CODE_HEADER_ONLY 19 #<define>BOOST_COMMON_TYPE_USES_STATIC_ASSERT 20 #<define>BOOST_RATIO_USES_STATIC_ASSERT 21 #<define>BOOST_CHRONO_USES_STATIC_ASSERT 22 #<define>BOOST_COMMON_TYPE_USES_MPL_ASSERT 23 #<define>BOOST_RATIO_USES_MPL_ASSERT 24 #<define>BOOST_CHRONO_USES_MPL_ASSERT 25 #<define>BOOST_COMMON_TYPE_USES_ARRAY_ASSERT 26 #<define>BOOST_RATIO_USES_ARRAY_ASSERT 27 #<define>BOOST_CHRONO_USES_ARRAY_ASSERT 28 <toolset>sun:<define>__typeof__=__typeof__ 29 #<toolset>gcc-3.4.4:<linkflags>--enable-auto-import 30 #<toolset>gcc-4.3.4:<linkflags>--enable-auto-import 31 #<toolset>gcc-mingw-4.4.0:<linkflags>--enable-auto-import 32 #<toolset>gcc-mingw-4.5.0:<linkflags>--enable-auto-import 33 <warnings>all 34 <toolset>gcc:<cxxflags>-Wextra 35 #<toolset>gcc:<cxxflags>-pedantic 36 <toolset>clang:<warnings>on 37 <toolset>gcc:<cxxflags>-Wno-long-long 38 #<toolset>gcc:<cxxflags>-Wno-variadic-macros 39 <toolset>gcc-4:<cxxflags>-Wno-variadic-macros 40 <toolset>gcc-5:<cxxflags>-Wno-variadic-macros 41 <toolset>darwin:<cxxflags>-Wextra 42 <toolset>darwin:<cxxflags>-pedantic 43 <toolset>darwin:<cxxflags>-Wno-long-long 44 #<toolset>darwin:<cxxflags>-Wno-variadic-macros 45 <toolset>darwin-4:<cxxflags>-Wno-variadic-macros 46 <toolset>darwin-5:<cxxflags>-Wno-variadic-macros 47 #<toolset>pathscale:<cxxflags>-Wextra 48 <toolset>pathscale:<cxxflags>-Wno-long-long 49 <toolset>pathscale:<cxxflags>-pedantic 50 <toolset>clang:<cxxflags>-Wextra 51 <toolset>clang:<cxxflags>-pedantic 52 <toolset>clang:<cxxflags>-Wno-long-long 53 <toolset>clang:<cxxflags>-Wno-variadic-macros 54 <toolset>gcc-4.4.0,<target-os>windows:<cxxflags>-fdiagnostics-show-option 55 <toolset>gcc-4.5.0,<target-os>windows:<cxxflags>-fdiagnostics-show-option 56 <toolset>gcc-4.6.0,<target-os>windows:<cxxflags>-fdiagnostics-show-option 57 <toolset>gcc-4.6.3,<target-os>windows:<cxxflags>-fdiagnostics-show-option 58 <toolset>gcc-4.7.0,<target-os>windows:<cxxflags>-fdiagnostics-show-option 59 <toolset>gcc-4.8.0,<target-os>windows:<cxxflags>-fdiagnostics-show-option 60 <toolset>msvc:<cxxflags>/wd4512 61 62# Note: Some of the remarks from the Intel compiler are disabled 63# remark #193: zero used for undefined preprocessing identifier "XXX" 64# remark #304: access control not specified ("public" by default) 65# remark #383: value copied to temporary, reference to temporary used 66# remark #444: destructor for base class "XXX" (declared at line YYY") is not virtual 67# remark #593: variable "XXX" was set but never used 68# remark #981: operands are evaluated in unspecified order 69# remark #1418: external function definition with no prior declaration 70# remark #2415: variable "XXX" of static storage duration was declared but never referenced 71 72 <toolset>intel:<cxxflags>-wd193,304,383,444 73 <toolset>intel:<cxxflags>-wd593,981 74 <toolset>intel:<cxxflags>-wd1418 75 <toolset>intel:<cxxflags>-wd2415 76 77 78 79 : usage-requirements # pass these requirement to dependents (i.e. users) 80 <threading>single:<define>BOOST_CHRONO_THREAD_DISABLED 81 #<define>BOOST_ERROR_CODE_HEADER_ONLY 82 #<define>BOOST_COMMON_TYPE_USES_STATIC_ASSERT 83 #<define>BOOST_RATIO_USES_STATIC_ASSERT 84 #<define>BOOST_CHRONO_USES_STATIC_ASSERT 85 #<define>BOOST_COMMON_TYPE_USES_MPL_ASSERT 86 #<define>BOOST_RATIO_USES_MPL_ASSERT 87 #<define>BOOST_CHRONO_USES_MPL_ASSERT 88 #<define>BOOST_COMMON_TYPE_USES_ARRAY_ASSERT 89 #<define>BOOST_RATIO_USES_ARRAY_ASSERT 90 #<define>BOOST_CHRONO_USES_ARRAY_ASSERT 91 #<toolset>vacpp:<define>BOOST_COMMON_TYPE_DONT_USE_TYPEOF 92 <toolset>vacpp:<define>BOOST_TYPEOF_EMULATION 93 <toolset>sun:<define>__typeof__=__typeof__ 94 95 <link>shared:<define>BOOST_CHRONO_DYN_LINK=1 96 <link>static:<define>BOOST_CHRONO_STATIC_LINK=1 97 <toolset>gcc-3.4.4:<linkflags>--enable-auto-import 98 <toolset>gcc-4.3.4:<linkflags>--enable-auto-import 99 <toolset>gcc-4.4.0,<target-os>windows:<linkflags>--enable-auto-import 100 <toolset>gcc-4.5.0,<target-os>windows:<linkflags>--enable-auto-import 101 ; 102 103SOURCES = chrono thread_clock process_cpu_clocks ; 104 105 106lib boost_chrono 107 : $(SOURCES).cpp 108 : 109 <link>shared:<define>BOOST_ALL_DYN_LINK=1 # tell source we're building dll's 110 <link>static:<define>BOOST_All_STATIC_LINK=1 # tell source we're building static lib's 111 ; 112 113boost-install boost_chrono ; 114