summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/multiprecision/config/Jamfile.v2
blob: ac88473bb89c169e06cab968d5c077fdbefd374d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# copyright John Maddock 2008
# Distributed under the Boost Software License, Version 1.0. 
# (See accompanying file LICENSE_1_0.txt or copy at 
# http://www.boost.org/LICENSE_1_0.txt.

import modules ;
import path ;

local gmp_path = [ modules.peek : GMP_PATH ] ;
local mpfr_path = [ modules.peek : MPFR_PATH ] ;
local mpfi_path = [ modules.peek : MPFI_PATH ] ;
local tommath_path = [ modules.peek : TOMMATH_PATH ] ;

project : requirements 
   <include>$(gmp_path) 
   <include>$(gmp_path)/mpfr 
   <include>$(gmp_path)/gmpfrxx 
   <include>$(mpfr_path)
   <include>$(mpfi_path)
   <include>$(mpfi_path)/src
   <include>$(tommath_path)
   <include>../../.. 
   <search>$(gmp_path) 
   <search>$(mpfr_path) 
   <search>$(mpfr_path)/build.vc10/lib/Win32/Debug
   <search>$(tommath_path) 
   <search>$(mpfi_path) 
   <search>$(mpfi_path)/src 
   # We set these to make it easier to set up and test GMP and MPFR under Win32:
   <toolset>msvc:<runtime-link>static
   <toolset>msvc:<link>static
   <toolset>intel-win:<runtime-link>static
   <toolset>intel-win:<link>static
   <toolset>msvc:<warnings>all
   <toolset>gcc:<cxxflags>-Wall
   <toolset>gcc:<cxxflags>-Wextra
   ;

lib gmp ;
lib mpfr ;
lib mpfi ;
lib mpc ;
lib quadmath ;
lib tommath ;

actions mp_simple_run_action
{
      $(>) > $(<)
}

rule mp-run-simple ( sources + : args * : input-files * : requirements * : target-name )
{
   exe $(target-name)_exe : $(sources) : $(requirements) ;
   explicit $(target-name)_exe ;
   make $(target-name).output : $(target-name)_exe : @mp_simple_run_action ;
   explicit $(target-name).output ;
   alias $(target-name) : $(target-name).output ;
}

mp-run-simple has_gmp.cpp gmp : : :
      <include>$(gmp_path) <include>$(gmp_path)/mpfr <include>$(gmp_path)/gmpfrxx : has_gmp ;
mp-run-simple has_mpfr.cpp mpfr gmp : : :
      <include>$(mpfr_path) <include>$(gmp_path)/mpfr <include>$(gmp_path)/gmpfrxx <include>$(gmp_path) : has_mpfr ;
mp-run-simple has_mpfi.cpp mpfi mpfr gmp : : :
      <include>$(mpfr_path) <include>$(gmp_path)/mpfr <include>$(gmp_path)/gmpfrxx <include>$(gmp_path) : has_mpfi ;
mp-run-simple has_mpc.cpp mpc mpfr gmp : : :
      <include>$(mpfr_path) <include>$(gmp_path)/mpfr <include>$(gmp_path)/gmpfrxx <include>$(gmp_path) : has_mpc ;
mp-run-simple has_tommath.cpp tommath : : :
      <include>$(tommath_path) : has_tommath ;
mp-run-simple has_float128.cpp quadmath : : : : has_float128 ;
exe has_intel_quad : has_intel_quad.cpp : <cxxflags>-Qoption,cpp,--extended_float_type ;
exe has_eigen : has_eigen.cpp ;
obj has_is_constant_evaluated : has_is_constant_evaluated.cpp ;
obj has_constexpr_limits : has_constexpr_limits_cmd.cpp : <cxxflags>-fconstexpr-ops-limit=268435456 ;

explicit has_gmp ;
explicit has_mpfr ;
explicit has_mpfi ;
explicit has_tommath ;
explicit has_float128 ;
explicit has_intel_quad ;
explicit has_mpc ;
explicit has_eigen ;
explicit has_is_constant_evaluated ;
explicit has_constexpr_limits ;