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 quadmath ; 43lib tommath ; 44 45actions mp_simple_run_action 46{ 47 $(>) > $(<) 48} 49 50rule mp-run-simple ( sources + : args * : input-files * : requirements * : target-name ) 51{ 52 exe $(target-name)_exe : $(sources) : $(requirements) ; 53 explicit $(target-name)_exe ; 54 make $(target-name).output : $(target-name)_exe : @mp_simple_run_action ; 55 explicit $(target-name).output ; 56 alias $(target-name) : $(target-name).output ; 57} 58 59mp-run-simple has_gmp.cpp gmp : : : 60 <include>$(gmp_path) <include>$(gmp_path)/mpfr <include>$(gmp_path)/gmpfrxx : has_gmp ; 61mp-run-simple has_mpfr.cpp mpfr gmp : : : 62 <include>$(mpfr_path) <include>$(gmp_path)/mpfr <include>$(gmp_path)/gmpfrxx <include>$(gmp_path) : has_mpfr ; 63mp-run-simple has_mpfi.cpp mpfi mpfr gmp : : : 64 <include>$(mpfr_path) <include>$(gmp_path)/mpfr <include>$(gmp_path)/gmpfrxx <include>$(gmp_path) : has_mpfi ; 65mp-run-simple has_tommath.cpp tommath : : : 66 <include>$(tommath_path) : has_tommath ; 67mp-run-simple has_float128.cpp quadmath : : : : has_float128 ; 68exe has_intel_quad : has_intel_quad.cpp : <cxxflags>-Qoption,cpp,--extended_float_type ; 69 70explicit has_gmp ; 71explicit has_mpfr ; 72explicit has_mpfi ; 73explicit has_tommath ; 74explicit has_float128 ; 75explicit has_intel_quad ; 76 77 78 79