diff options
Diffstat (limited to 'src/boost/libs/multiprecision/example/Jamfile.v2')
-rw-r--r-- | src/boost/libs/multiprecision/example/Jamfile.v2 | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/src/boost/libs/multiprecision/example/Jamfile.v2 b/src/boost/libs/multiprecision/example/Jamfile.v2 new file mode 100644 index 000000000..167a177da --- /dev/null +++ b/src/boost/libs/multiprecision/example/Jamfile.v2 @@ -0,0 +1,116 @@ +# \libs\multiprecision\example\jamfile.v2 +# Runs multiprecision examples. +# Copyright 2014 John Maddock +# Copyright Paul A. Bristow 2014. +# Copyright Christopher Kormanyos 2014 + +# 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) + +# Bring in the rules for testing. +import testing ; +import modules ; +import path ; +import ../../config/checks/config : requires ; + +local ntl-path = [ modules.peek : NTL_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 + <include>$(gmp_path) + <include>$(gmp_path)/mpfr + <include>$(gmp_path)/gmpfrxx + <include>$(mpfr_path) + <include>$(mpfi_path) + <include>$(mpfi_path)/src + <include>$(tommath_path) + <include>../include + <include>../../.. + + <toolset>gcc:<cxxflags>-Wno-missing-braces + + # Assembler error "File too big" caused by lots of C++ templates, for example, math/floating_point_examples.cpp. + # Some projects on some toolsets may require + # <toolset>gcc-mingw:<cxxflags>\"-Wa,-mbig-obj\" + # See https://digitalkarabela.com/mingw-w64-how-to-fix-file-too-big-too-many-sections/ + # <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj # Some projects may overflow assembler and require equivalent of MSVC /bigobj. + # Requires version 2.30 of GNU binutils. + # Best applied only to projects that require this, see run math/floating_point_examples.cpp below. + + <toolset>darwin:<cxxflags>-Wno-missing-braces + <toolset>acc:<cxxflags>+W2068,2461,2236,4070 + <toolset>intel:<cxxflags>-Qwd264,239 + <toolset>msvc:<runtime-link>static + <toolset>msvc:<link>static + <toolset>msvc:<warnings>all + <toolset>msvc:<asynch-exceptions>on + <toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE + <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE + <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS + <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS + <toolset>msvc:<cxxflags>/wd4996 + <toolset>msvc:<cxxflags>/wd4512 + <toolset>msvc:<cxxflags>/wd4610 + <toolset>msvc:<cxxflags>/wd4510 + <toolset>msvc:<cxxflags>/wd4127 + <toolset>msvc:<cxxflags>/wd4701 + <toolset>msvc:<cxxflags>/wd4127 + <toolset>msvc:<cxxflags>/wd4305 + <toolset>clang:<link>static + + ; + +lib gmp : : <search>$(gmp_path) ; +lib mpfr : : <search>$(gmp_path) <search>$(mpfr_path) <search>$(mpfr_path)/build.vc10/lib/Win32/Debug ; +lib mpfi : : <search>$(gmp_path) <search>$(mpfr_path) <search>$(mpfr_path)/build.vc10/lib/Win32/Debug <search>$(mpfi_path) <search>$(mpfi_path)/src ; +lib quadmath ; + +if $(tommath_path) +{ + lib tommath : [ GLOB $(tommath_path) : *.c ] : <visibility>global ; + TOMMATH = tommath ; +} +else +{ + lib tommath : : <search>$(tommath_path) ; + TOMMATH = tommath ; +} + +lib no_eh_eg_support : ../test/no_eh_test_support.cpp ; + +test-suite examples : + + [ run cpp_int_snips.cpp no_eh_eg_support ] + [ run cpp_int_import_export.cpp no_eh_eg_support ] + [ run cpp_bin_float_import_export.cpp no_eh_eg_support ] + + [ run cpp_dec_float_snips.cpp no_eh_eg_support ] + + [ run cpp_bin_float_snips.cpp no_eh_eg_support ] + + [ run debug_adaptor_snips.cpp no_eh_eg_support ] + [ run float128_snips.cpp quadmath no_eh_eg_support : : : [ check-target-builds ../config//has_float128 : : <build>no ] ] + + [ run floating_point_examples.cpp no_eh_eg_support : : : <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj ] # See note above. + [ run gauss_laguerre_quadrature.cpp no_eh_eg_support : : : release [ requires cxx11_lambdas ] ] + [ run hypergeometric_luke_algorithms.cpp no_eh_eg_support ../../chrono/build//boost_chrono ../../system/build//boost_system : : : [ requires cxx11_nullptr ] ] + [ run integer_examples.cpp no_eh_eg_support ] + [ run logged_adaptor.cpp no_eh_eg_support mpfi mpfr gmp : : : [ check-target-builds ../config//has_mpfi : : <build>no ] ] + [ run mixed_integer_arithmetic.cpp no_eh_eg_support ] + [ run numeric_limits_snips.cpp no_eh_eg_support /boost//test_exec_monitor : : : [ requires cxx11_numeric_limits ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] + [ run random_snips.cpp gmp no_eh_eg_support : : : [ requires cxx11_explicit_conversion_operators ] [ check-target-builds ../config//has_gmp : : <build>no ] ] + [ run safe_prime.cpp no_eh_eg_support ] + + [ run gmp_snips.cpp gmp no_eh_eg_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ] + [ run mpfi_snips.cpp mpfi mpfr gmp no_eh_eg_support : : : [ check-target-builds ../config//has_mpfi : : <build>no ] ] + [ run mpfr_snips.cpp mpfr gmp no_eh_eg_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] ] + [ run tommath_snips.cpp $(TOMMATH) no_eh_eg_support : : : [ check-target-builds ../config//has_tommath : : <build>no ] ] + [ compile constexpr_float_arithmetic_examples.cpp : [ requires cxx14_constexpr cxx17_if_constexpr ] ] + + [ run big_seventh.cpp no_eh_eg_support ] + +; |