1 # \libs\math\example\jamfile.v2
2 # Runs multiprecision examples.
3 # Copyright 2014 John Maddock
4 # Copyright Paul A. Bristow 2014.
5 # Copyright Christpher Kormanyos 2014
7 # Distributed under the Boost Software License, Version 1.0.
8 # (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
10 # bring in the rules for testing
14 import ../../config/checks/config : requires ;
16 local ntl-path = [ modules.peek : NTL_PATH ] ;
17 local gmp_path = [ modules.peek : GMP_PATH ] ;
18 local mpfr_path = [ modules.peek : MPFR_PATH ] ;
19 local mpfi_path = [ modules.peek : MPFI_PATH ] ;
20 local tommath_path = [ modules.peek : TOMMATH_PATH ] ;
25 <include>$(gmp_path)/mpfr
26 <include>$(gmp_path)/gmpfrxx
29 <include>$(mpfi_path)/src
30 <include>$(tommath_path)
33 <toolset>gcc:<cxxflags>-Wno-missing-braces
34 <toolset>darwin:<cxxflags>-Wno-missing-braces
35 <toolset>acc:<cxxflags>+W2068,2461,2236,4070
36 <toolset>intel:<cxxflags>-Qwd264,239
37 <toolset>msvc:<runtime-link>static
38 <toolset>msvc:<link>static
39 <toolset>msvc:<warnings>all
40 <toolset>msvc:<asynch-exceptions>on
41 <toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
42 <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
43 <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
44 <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
45 <toolset>msvc:<cxxflags>/wd4996
46 <toolset>msvc:<cxxflags>/wd4512
47 <toolset>msvc:<cxxflags>/wd4610
48 <toolset>msvc:<cxxflags>/wd4510
49 <toolset>msvc:<cxxflags>/wd4127
50 <toolset>msvc:<cxxflags>/wd4701
51 <toolset>msvc:<cxxflags>/wd4127
52 <toolset>msvc:<cxxflags>/wd4305
55 lib gmp : : <search>$(gmp_path) ;
56 lib mpfr : : <search>$(gmp_path) <search>$(mpfr_path) <search>$(mpfr_path)/build.vc10/lib/Win32/Debug ;
57 lib mpfi : : <search>$(gmp_path) <search>$(mpfr_path) <search>$(mpfr_path)/build.vc10/lib/Win32/Debug <search>$(mpfi_path) <search>$(mpfi_path)/src ;
62 lib tommath : [ GLOB $(tommath_path) : *.c ] ;
67 lib tommath : : <search>$(tommath_path) ;
71 lib no_eh_eg_support : ../test/no_eh_test_support.cpp ;
73 run cpp_int_snips.cpp no_eh_eg_support ;
74 run cpp_int_import_export.cpp no_eh_eg_support ;
75 run cpp_bin_float_import_export.cpp no_eh_eg_support ;
77 run cpp_dec_float_snips.cpp no_eh_eg_support ;
79 run cpp_bin_float_snips.cpp no_eh_eg_support ;
81 run debug_adaptor_snips.cpp no_eh_eg_support ;
82 run float128_snips.cpp quadmath no_eh_eg_support : : : [ check-target-builds ../config//has_float128 : : <build>no ] ;
83 run floating_point_examples.cpp no_eh_eg_support ;
84 run gauss_laguerre_quadrature.cpp no_eh_eg_support : : : release [ requires cxx11_lambdas ] ;
85 run hypergeometric_luke_algorithms.cpp no_eh_eg_support ../../chrono/build//boost_chrono ../../system/build//boost_system : : : [ requires cxx11_nullptr ] ;
86 run integer_examples.cpp no_eh_eg_support ;
87 run logged_adaptor.cpp no_eh_eg_support mpfi mpfr gmp : : : [ check-target-builds ../config//has_mpfi : : <build>no ] ;
88 run mixed_integer_arithmetic.cpp no_eh_eg_support ;
89 run numeric_limits_snips.cpp no_eh_eg_support /boost//test_exec_monitor : : : [ requires cxx11_numeric_limits ] ;
90 run random_snips.cpp gmp no_eh_eg_support : : : [ requires cxx11_explicit_conversion_operators ] [ check-target-builds ../config//has_gmp : : <build>no ] ;
91 run safe_prime.cpp no_eh_eg_support ;
93 run gmp_snips.cpp gmp no_eh_eg_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
94 run mpfi_snips.cpp mpfi mpfr gmp no_eh_eg_support : : : [ check-target-builds ../config//has_mpfi : : <build>no ] ;
95 run mpfr_snips.cpp mpfr gmp no_eh_eg_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] ;
96 run tommath_snips.cpp $(TOMMATH) no_eh_eg_support : : : [ check-target-builds ../config//has_tommath : : <build>no ] ;