# 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 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 : : : $(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_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 ; explicit has_gmp ; explicit has_mpfr ; explicit has_mpfi ; explicit has_tommath ; explicit has_float128 ; explicit has_intel_quad ;