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 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
|
# copyright John Maddock 2012
# 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 tommath_path = [ modules.peek : TOMMATH_PATH ] ;
project : requirements
<target-os>freebsd:<linkflags>"-lrt"
<target-os>linux:<linkflags>"-lrt"
<toolset>pgi:<linkflags>"-lrt"
<include>$(gmp_path)
<include>$(gmp_path)/mpfr
<include>$(gmp_path)/gmpfrxx
<include>$(mpfr_path)
<include>$(tommath_path)
<include>../../..
<search>$(gmp_path)
<search>$(mpfr_path)
<search>$(mpfr_path)/build.vc10/lib/Win32/Debug
<search>$(tommath_path)
<link>static
<define>BOOST_ALL_NO_LIB
<debug-symbols>off
;
lib gmp ;
lib mpfr ;
if $(tommath_path)
{
TOMMATH = [ GLOB $(tommath_path) : *.c ] ;
}
else
{
lib tommath ;
TOMMATH = tommath ;
}
exe performance_test : performance_test.cpp /boost/system//boost_system
: release
[ check-target-builds ../config//has_gmp : <define>TEST_MPF <define>TEST_MPZ <source>gmp : ]
[ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>mpfr : ]
[ check-target-builds ../config//has_tommath : <define>TEST_TOMMATH <source>$(TOMMATH) : ]
<define>TEST_CPP_DEC_FLOAT
<define>TEST_CPP_INT
;
exe miller_rabin_performance : miller_rabin_performance.cpp /boost/system//boost_system /boost/chrono//boost_chrono
: release
[ check-target-builds ../config//has_gmp : <define>TEST_MPF <define>TEST_MPZ <source>gmp : ]
[ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>mpfr : ]
#[ check-target-builds ../config//has_tommath : <define>TEST_TOMMATH <source>$(TOMMATH) : ]
<define>TEST_CPP_DEC_FLOAT
<define>TEST_CPP_INT
;
exe sf_performance : sf_performance.cpp sf_performance_basic.cpp sf_performance_bessel.cpp
sf_performance_bessel1.cpp sf_performance_bessel2.cpp sf_performance_bessel3.cpp
sf_performance_bessel4.cpp sf_performance_bessel5.cpp sf_performance_bessel6.cpp
sf_performance_nct.cpp sf_performance_nct1.cpp
sf_performance_nct2.cpp sf_performance_nct3.cpp sf_performance_nct4.cpp
sf_performance_nct5.cpp sf_performance_nct6.cpp
sf_performance_poly.cpp
/boost/system//boost_system /boost/chrono//boost_chrono /boost/thread//boost_thread
: release
[ check-target-builds ../config//has_gmp : <define>TEST_MPF <define>TEST_MPZ <source>gmp : ]
[ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>mpfr : ]
<define>TEST_CPP_DEC_FLOAT
<toolset>msvc:<cxxflags>-bigobj
;
exe delaunay_test : delaunay_test.cpp /boost/system//boost_system /boost/chrono//boost_chrono ;
obj obj_linpack_benchmark_mpfr : linpack-benchmark.cpp
: release
[ check-target-builds ../config//has_mpfr : : <build>no ]
<define>TEST_MPFR_50
;
obj obj_linpack_benchmark_mpf : linpack-benchmark.cpp
: release
[ check-target-builds ../config//has_gmp : : <build>no ]
<define>TEST_MPF_50
;
obj obj_linpack_benchmark_cpp_float : linpack-benchmark.cpp
: release
<define>TEST_CPP_DEC_FLOAT
;
obj obj_linpack_benchmark_double : linpack-benchmark.cpp
: release
;
obj obj_linpack_benchmark_native_float128 : linpack-benchmark.cpp
: release
<define>NATIVE_FLOAT128
;
obj obj_linpack_benchmark_float128 : linpack-benchmark.cpp
: release
<define>TEST_FLOAT128
;
obj obj_linpack_benchmark_cpp_float_quad : linpack-benchmark.cpp
: release
<define>TEST_CPP_BIN_FLOAT_QUAD
;
lib f2c ;
exe linpack_benchmark_mpfr : obj_linpack_benchmark_mpfr mpfr f2c gmp
: release
[ check-target-builds ../config//has_mpfr : : <build>no ]
<define>TEST_MPFR_50
;
exe linpack_benchmark_mpf : obj_linpack_benchmark_mpf gmp f2c
: release
[ check-target-builds ../config//has_gmp : : <build>no ]
<define>TEST_MPF_50
;
exe linpack_benchmark_cpp_float : obj_linpack_benchmark_cpp_float f2c
: release
<define>TEST_CPP_DEC_FLOAT
;
exe linpack_benchmark_double : obj_linpack_benchmark_double f2c
: release
;
exe linpack_benchmark_native_float128 : obj_linpack_benchmark_native_float128 f2c
: release
;
exe linpack_benchmark_float128 : obj_linpack_benchmark_float128 f2c
: release
;
exe linpack_benchmark_cpp_quad_float : obj_linpack_benchmark_cpp_quad_float f2c
: release
;
install miller_rabin_install : miller_rabin_performance : <location>. ;
install performance_test_install : performance_test : <location>. ;
install sf_performance_install : sf_performance : <location>. ;
install . : linpack_benchmark_double linpack_benchmark_cpp_float linpack_benchmark_mpf linpack_benchmark_mpfr ;
install delaunay_install : delaunay_test : <location>. ;
|