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