# 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 $(gmp_path) $(gmp_path)/mpfr $(gmp_path)/gmpfrxx $(mpfr_path) $(mpfi_path) $(mpfi_path)/src $(tommath_path) ../../.. $(gmp_path) $(mpfr_path) $(mpfr_path)/build.vc10/lib/Win32/Debug $(tommath_path) $(mpfi_path) $(mpfi_path)/src # We set these to make it easier to set up and test GMP and MPFR under Win32: msvc:static msvc:static intel-win:static intel-win:static msvc:all gcc:-Wall gcc:-Wextra ; lib gmp ; lib mpfr ; lib mpfi ; lib mpc ; lib quadmath ; lib tommath ; lib f2c ; 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 : : : $(gmp_path) $(gmp_path)/mpfr $(gmp_path)/gmpfrxx : has_gmp ; mp-run-simple has_mpfr.cpp mpfr gmp : : : $(mpfr_path) $(gmp_path)/mpfr $(gmp_path)/gmpfrxx $(gmp_path) : has_mpfr ; mp-run-simple has_mpfi.cpp mpfi mpfr gmp : : : $(mpfr_path) $(gmp_path)/mpfr $(gmp_path)/gmpfrxx $(gmp_path) : has_mpfi ; mp-run-simple has_mpc.cpp mpc mpfr gmp : : : $(mpfr_path) $(gmp_path)/mpfr $(gmp_path)/gmpfrxx $(gmp_path) : has_mpc ; mp-run-simple has_tommath.cpp tommath : : : $(tommath_path) : has_tommath ; mp-run-simple has_float128.cpp quadmath : : : : has_float128 ; exe has_intel_quad : has_intel_quad.cpp : -Qoption,cpp,--extended_float_type ; exe has_eigen : has_eigen.cpp ; exe has_f2c : has_f2c.cpp f2c ; obj has_is_constant_evaluated : has_is_constant_evaluated.cpp ; obj has_constexpr_limits : has_constexpr_limits_cmd.cpp : -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 ; explicit has_f2c ;