• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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