summaryrefslogtreecommitdiff
path: root/libs/multiprecision/example/Jamfile.v2
blob: 5ed5752a3aaedbba42393feeefca09a80262a992 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# \libs\math\example\jamfile.v2
# Runs multiprecision examples.
# Copyright 2014 John Maddock
# Copyright Paul A. Bristow 2014.
# Copyright Christpher 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
      <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
    ;

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 ] ;
   TOMMATH = tommath ;
}
else
{
   lib tommath : : <search>$(tommath_path) ;
   TOMMATH = tommath ;
}

run cpp_int_snips.cpp ;

run cpp_dec_float_snips.cpp ;

run cpp_bin_float_snips.cpp ;

run debug_adaptor_snips.cpp ;
run float128_snips.cpp quadmath : : : [ check-target-builds ../config//has_float128 : : <build>no ] ;
run floating_point_examples.cpp ;
run gauss_laguerre_quadrature.cpp : : : release [ requires cxx11_lambdas ] ;
run hypergeometric_luke_algorithms.cpp : : : [ requires cxx11_nullptr ]  ;
run integer_examples.cpp ;
run logged_adaptor.cpp mpfi mpfr gmp :  :  : [ check-target-builds ../config//has_mpfi : : <build>no ] ;
run mixed_integer_arithmetic.cpp ;
run numeric_limits_snips.cpp /boost//test_exec_monitor : : : [ requires cxx11_numeric_limits ]   ;
run random_snips.cpp gmp : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
run safe_prime.cpp ;

run gmp_snips.cpp gmp : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
run mpfi_snips.cpp mpfi mpfr gmp :  :  : [ check-target-builds ../config//has_mpfi : : <build>no ] ;
run mpfr_snips.cpp mpfr gmp : : : [ check-target-builds ../config//has_mpfr : : <build>no ] ;
run tommath_snips.cpp $(TOMMATH) : : : [ check-target-builds ../config//has_tommath : : <build>no ] ;