Jamfile.v2 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. # copyright John Maddock 2008
  2. # Distributed under the Boost Software License, Version 1.0.
  3. # (See accompanying file LICENSE_1_0.txt or copy at
  4. # http://www.boost.org/LICENSE_1_0.txt.
  5. import testing ;
  6. import pch ;
  7. project
  8. : requirements
  9. <toolset>intel-win:<cxxflags>-nologo
  10. <toolset>intel-win:<linkflags>-nologo
  11. #<toolset>intel-linux:<pch>off
  12. <toolset>intel-darwin:<pch>off
  13. <toolset>msvc-7.1:<pch>off
  14. <toolset>gcc,<target-os>windows:<pch>off
  15. #<toolset>gcc:<cxxflags>-fvisibility=hidden
  16. <toolset>intel-linux:<cxxflags>-fvisibility=hidden
  17. #<toolset>sun:<cxxflags>-xldscope=hidden
  18. [ check-target-builds ../config//has_gcc_visibility "gcc visibility" : <toolset>gcc:<cxxflags>-fvisibility=hidden : ]
  19. ;
  20. cpp-pch pch : ../src/tr1/pch.hpp : <include>../src/tr1 <link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1 ;
  21. C99_SOURCES = acosh
  22. asinh
  23. atanh
  24. cbrt
  25. copysign
  26. erfc
  27. erf
  28. expm1
  29. fmax
  30. fmin
  31. fpclassify
  32. hypot
  33. lgamma
  34. llround
  35. log1p
  36. lround
  37. nextafter
  38. nexttoward
  39. round
  40. tgamma
  41. trunc ;
  42. TR1_SOURCES =
  43. assoc_laguerre
  44. assoc_legendre
  45. beta
  46. comp_ellint_1
  47. comp_ellint_2
  48. comp_ellint_3
  49. cyl_bessel_i
  50. cyl_bessel_j
  51. cyl_bessel_k
  52. cyl_neumann
  53. ellint_1
  54. ellint_2
  55. ellint_3
  56. expint
  57. hermite
  58. laguerre
  59. legendre
  60. riemann_zeta
  61. sph_bessel
  62. sph_legendre
  63. sph_neumann
  64. ;
  65. # Configure checks.
  66. import project ;
  67. import configure ;
  68. import property ;
  69. import property-set ;
  70. import targets ;
  71. obj long_double_check : ../config/has_long_double_support.cpp ;
  72. explicit long_double_check ;
  73. # Library targets
  74. lib boost_math_tr1 : ../src/tr1/$(TR1_SOURCES).cpp pch
  75. :
  76. <link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1
  77. <include>../src/tr1
  78. ;
  79. lib boost_math_tr1f : ../src/tr1/$(TR1_SOURCES)f.cpp pch
  80. :
  81. <link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1
  82. <include>../src/tr1
  83. ;
  84. lib boost_math_tr1l : ../src/tr1/$(TR1_SOURCES)l.cpp pch
  85. :
  86. <link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1
  87. <dependency>../config//has_long_double_support
  88. <include>../src/tr1
  89. [ check-target-builds ../config//has_long_double_support "long double support" : : <build>no ]
  90. ;
  91. lib boost_math_c99 : ../src/tr1/$(C99_SOURCES).cpp pch
  92. :
  93. <link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1
  94. <include>../src/tr1
  95. ;
  96. lib boost_math_c99f : ../src/tr1/$(C99_SOURCES)f.cpp pch
  97. :
  98. <link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1
  99. <include>../src/tr1
  100. ;
  101. lib boost_math_c99l : ../src/tr1/$(C99_SOURCES)l.cpp pch
  102. :
  103. <link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1
  104. <dependency>../config//has_long_double_support
  105. <include>../src/tr1
  106. [ check-target-builds ../config//has_long_double_support "long double support" : : <build>no ]
  107. ;
  108. boost-install boost_math_c99 boost_math_c99f boost_math_c99l boost_math_tr1 boost_math_tr1f boost_math_tr1l ;