summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/multiprecision/test/math/instances/Jamfile.v2
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/multiprecision/test/math/instances/Jamfile.v2')
-rw-r--r--src/boost/libs/multiprecision/test/math/instances/Jamfile.v282
1 files changed, 82 insertions, 0 deletions
diff --git a/src/boost/libs/multiprecision/test/math/instances/Jamfile.v2 b/src/boost/libs/multiprecision/test/math/instances/Jamfile.v2
new file mode 100644
index 00000000..4c66a907
--- /dev/null
+++ b/src/boost/libs/multiprecision/test/math/instances/Jamfile.v2
@@ -0,0 +1,82 @@
+# copyright John Maddock 2013
+# 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 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>../../..
+ # We set these to make it easier to set up and test GMP and MPFR under Win32:
+ #<toolset>msvc:<runtime-link>static
+ #<toolset>msvc:<link>static
+ #<toolset>msvc:<warnings>all
+ #<toolset>intel-win:<runtime-link>static
+ #<toolset>intel-win:<link>static
+ # Speed up compiles:
+ #<toolset>msvc:<debug-symbols>off
+ #<toolset>intel:<debug-symbols>off
+ <toolset>gcc:<cxxflags>-Wall
+ <toolset>gcc:<cxxflags>-Wextra
+ <toolset>intel:<define>SLOW_COMPILER
+ <define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
+ ;
+
+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 ;
+
+rule generate_objs ( suffix : variant_count : build_opts * )
+{
+ local result ;
+ switch $(variant_count)
+ {
+ case "1" : variant_list = 1 ;
+ case "2" : variant_list = 1 2 ;
+ case "3" : variant_list = 1 2 3 ;
+ case "4" : variant_list = 1 2 3 4 ;
+ case "5" : variant_list = 1 2 3 4 5 ;
+ case "6" : variant_list = 1 2 3 4 5 6 ;
+ }
+
+ for group_id in 1 2 3 4 5 6 7 8 9 10
+ {
+ for variant_id in $(variant_list)
+ {
+ name = "test_instances$(suffix)_$(group_id)_$(variant_id)" ;
+ obj $(name) : instances.cpp : release <define>BOOST_MATH_TEST_TYPE=test_type_$(variant_id) <define>TEST_GROUP_$(group_id) $(build_opts) ;
+ result += $(name) ;
+ }
+ }
+ return $(result) ;
+}
+
+lib test_instances_mpf : [ generate_objs "_mpf" : 5 : <define>TEST_MPF_50 ] : [ check-target-builds ../../../config//has_gmp : : <build>no ] ;
+lib test_instances_mpfr : [ generate_objs "_mpfr" : 4 : <define>TEST_MPFR_50 ] : [ check-target-builds ../../../config//has_mpfr : : <build>no ] ;
+lib test_instances_cpp_dec_float : [ generate_objs "_cpp_dec_float" : 3 : <define>TEST_CPP_DEC_FLOAT ] : ;
+lib test_instances_cpp_bin_float : [ generate_objs "_cpp_bin_float" : 1 : <define>TEST_CPP_BIN_FLOAT ] : ;
+lib test_instances_float128 : [ generate_objs "_float128" : 1 : <define>TEST_FLOAT128 ] : [ check-target-builds ../../../config//has_float128 : : <build>no ] ;
+lib test_instances_intel_quad : [ generate_objs "_intel_quad" : 1 : <define>TEST_FLOAT128 <cxxflags>-Qoption,cpp,--extended_float_type ] : [ check-target-builds ../../../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] ;
+
+explicit test_instances_mpf ;
+explicit test_instances_mpfr ;
+explicit test_instances_cpp_dec_float ;
+explicit test_instances_cpp_bin_float ;
+explicit test_instances_float128 ;
+explicit test_instances_intel_quad ;
+