Jamfile.v2 5.1 KB

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