Jamfile.v2 2.9 KB

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