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 modules ; 7import path ; 8 9local gmp_path = [ modules.peek : GMP_PATH ] ; 10local mpfr_path = [ modules.peek : MPFR_PATH ] ; 11local mpfi_path = [ modules.peek : MPFI_PATH ] ; 12local tommath_path = [ modules.peek : TOMMATH_PATH ] ; 13 14project : requirements 15 <include>$(gmp_path) 16 <include>$(gmp_path)/mpfr 17 <include>$(gmp_path)/gmpfrxx 18 <include>$(mpfr_path) 19 <include>$(mpfi_path) 20 <include>$(mpfi_path)/src 21 <include>$(tommath_path) 22 <include>../../.. 23 <search>$(gmp_path) 24 <search>$(mpfr_path) 25 <search>$(mpfr_path)/build.vc10/lib/Win32/Debug 26 <search>$(tommath_path) 27 <search>$(mpfi_path) 28 <search>$(mpfi_path)/src 29 # We set these to make it easier to set up and test GMP and MPFR under Win32: 30 <toolset>msvc:<runtime-link>static 31 <toolset>msvc:<link>static 32 <toolset>intel-win:<runtime-link>static 33 <toolset>intel-win:<link>static 34 <toolset>msvc:<warnings>all 35 <toolset>gcc:<cxxflags>-Wall 36 <toolset>gcc:<cxxflags>-Wextra 37 ; 38 39lib gmp ; 40lib mpfr ; 41lib mpfi ; 42lib mpc ; 43lib quadmath ; 44lib tommath ; 45lib f2c ; 46 47actions mp_simple_run_action 48{ 49 $(>) > $(<) 50} 51 52rule mp-run-simple ( sources + : args * : input-files * : requirements * : target-name ) 53{ 54 exe $(target-name)_exe : $(sources) : $(requirements) ; 55 explicit $(target-name)_exe ; 56 make $(target-name).output : $(target-name)_exe : @mp_simple_run_action ; 57 explicit $(target-name).output ; 58 alias $(target-name) : $(target-name).output ; 59} 60 61mp-run-simple has_gmp.cpp gmp : : : 62 <include>$(gmp_path) <include>$(gmp_path)/mpfr <include>$(gmp_path)/gmpfrxx : has_gmp ; 63mp-run-simple has_mpfr.cpp mpfr gmp : : : 64 <include>$(mpfr_path) <include>$(gmp_path)/mpfr <include>$(gmp_path)/gmpfrxx <include>$(gmp_path) : has_mpfr ; 65mp-run-simple has_mpfi.cpp mpfi mpfr gmp : : : 66 <include>$(mpfr_path) <include>$(gmp_path)/mpfr <include>$(gmp_path)/gmpfrxx <include>$(gmp_path) : has_mpfi ; 67mp-run-simple has_mpc.cpp mpc mpfr gmp : : : 68 <include>$(mpfr_path) <include>$(gmp_path)/mpfr <include>$(gmp_path)/gmpfrxx <include>$(gmp_path) : has_mpc ; 69mp-run-simple has_tommath.cpp tommath : : : 70 <include>$(tommath_path) : has_tommath ; 71mp-run-simple has_float128.cpp quadmath : : : : has_float128 ; 72exe has_intel_quad : has_intel_quad.cpp : <cxxflags>-Qoption,cpp,--extended_float_type ; 73exe has_eigen : has_eigen.cpp ; 74exe has_f2c : has_f2c.cpp f2c ; 75obj has_is_constant_evaluated : has_is_constant_evaluated.cpp ; 76obj has_constexpr_limits : has_constexpr_limits_cmd.cpp : <cxxflags>-fconstexpr-ops-limit=268435456 ; 77 78explicit has_gmp ; 79explicit has_mpfr ; 80explicit has_mpfi ; 81explicit has_tommath ; 82explicit has_float128 ; 83explicit has_intel_quad ; 84explicit has_mpc ; 85explicit has_eigen ; 86explicit has_is_constant_evaluated ; 87explicit has_constexpr_limits ; 88explicit has_f2c ; 89 90