Jamfile.v2 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. # copyright John Maddock 2012
  2. # Distributed under the Boost Software License, Version 1.0.
  3. # (See accompanying file LICENSE_1_0.txt or copy at
  4. # http://www.boost.org/LICENSE_1_0.txt.
  5. import modules ;
  6. import path ;
  7. local ntl-path = [ modules.peek : NTL_PATH ] ;
  8. local gmp_path = [ modules.peek : GMP_PATH ] ;
  9. local mpfr_path = [ modules.peek : MPFR_PATH ] ;
  10. local tommath_path = [ modules.peek : TOMMATH_PATH ] ;
  11. project : requirements
  12. <target-os>freebsd:<linkflags>"-lrt"
  13. <target-os>linux:<linkflags>"-lrt"
  14. <toolset>pgi:<linkflags>"-lrt"
  15. <include>$(gmp_path)
  16. <include>$(gmp_path)/mpfr
  17. <include>$(gmp_path)/gmpfrxx
  18. <include>$(mpfr_path)
  19. <include>$(tommath_path)
  20. <include>../../..
  21. <search>$(gmp_path)
  22. <search>$(mpfr_path)
  23. <search>$(mpfr_path)/build.vc10/lib/Win32/Debug
  24. <search>$(tommath_path)
  25. <link>static
  26. <define>BOOST_ALL_NO_LIB
  27. <debug-symbols>off
  28. ;
  29. lib gmp ;
  30. lib mpfr ;
  31. if $(tommath_path)
  32. {
  33. TOMMATH = [ GLOB $(tommath_path) : *.c ] ;
  34. }
  35. else
  36. {
  37. lib tommath ;
  38. TOMMATH = tommath ;
  39. }
  40. exe performance_test : performance_test.cpp /boost/system//boost_system
  41. : release
  42. [ check-target-builds ../config//has_gmp : <define>TEST_MPF <define>TEST_MPZ <source>gmp : ]
  43. [ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>mpfr : ]
  44. [ check-target-builds ../config//has_tommath : <define>TEST_TOMMATH <source>$(TOMMATH) : ]
  45. <define>TEST_CPP_DEC_FLOAT
  46. <define>TEST_CPP_INT
  47. ;
  48. exe miller_rabin_performance : miller_rabin_performance.cpp /boost/system//boost_system /boost/chrono//boost_chrono
  49. : release
  50. [ check-target-builds ../config//has_gmp : <define>TEST_MPF <define>TEST_MPZ <source>gmp : ]
  51. [ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>mpfr : ]
  52. #[ check-target-builds ../config//has_tommath : <define>TEST_TOMMATH <source>$(TOMMATH) : ]
  53. <define>TEST_CPP_DEC_FLOAT
  54. <define>TEST_CPP_INT
  55. ;
  56. exe sf_performance : sf_performance.cpp sf_performance_basic.cpp sf_performance_bessel.cpp
  57. sf_performance_bessel1.cpp sf_performance_bessel2.cpp sf_performance_bessel3.cpp
  58. sf_performance_bessel4.cpp sf_performance_bessel5.cpp sf_performance_bessel6.cpp
  59. sf_performance_nct.cpp sf_performance_nct1.cpp
  60. sf_performance_nct2.cpp sf_performance_nct3.cpp sf_performance_nct4.cpp
  61. sf_performance_nct5.cpp sf_performance_nct6.cpp
  62. sf_performance_poly.cpp
  63. /boost/system//boost_system /boost/chrono//boost_chrono /boost/thread//boost_thread
  64. : release
  65. [ check-target-builds ../config//has_gmp : <define>TEST_MPF <define>TEST_MPZ <source>gmp : ]
  66. [ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>mpfr : ]
  67. <define>TEST_CPP_DEC_FLOAT
  68. <toolset>msvc:<cxxflags>-bigobj
  69. ;
  70. exe delaunay_test : delaunay_test.cpp /boost/system//boost_system /boost/chrono//boost_chrono ;
  71. obj obj_linpack_benchmark_mpfr : linpack-benchmark.cpp
  72. : release
  73. [ check-target-builds ../config//has_mpfr : : <build>no ]
  74. <define>TEST_MPFR_50
  75. ;
  76. obj obj_linpack_benchmark_mpf : linpack-benchmark.cpp
  77. : release
  78. [ check-target-builds ../config//has_gmp : : <build>no ]
  79. <define>TEST_MPF_50
  80. ;
  81. obj obj_linpack_benchmark_cpp_float : linpack-benchmark.cpp
  82. : release
  83. <define>TEST_CPP_DEC_FLOAT
  84. ;
  85. obj obj_linpack_benchmark_double : linpack-benchmark.cpp
  86. : release
  87. ;
  88. obj obj_linpack_benchmark_native_float128 : linpack-benchmark.cpp
  89. : release
  90. <define>NATIVE_FLOAT128
  91. ;
  92. obj obj_linpack_benchmark_float128 : linpack-benchmark.cpp
  93. : release
  94. <define>TEST_FLOAT128
  95. ;
  96. obj obj_linpack_benchmark_cpp_float_quad : linpack-benchmark.cpp
  97. : release
  98. <define>TEST_CPP_BIN_FLOAT_QUAD
  99. ;
  100. obj obj_linpack_benchmark_cpp_float_oct : linpack-benchmark.cpp
  101. : release
  102. <define>TEST_CPP_BIN_FLOAT_OCT
  103. ;
  104. lib f2c ;
  105. exe linpack_benchmark_mpfr : obj_linpack_benchmark_mpfr mpfr f2c gmp
  106. : release
  107. [ check-target-builds ../config//has_mpfr : : <build>no ]
  108. <define>TEST_MPFR_50
  109. ;
  110. exe linpack_benchmark_mpf : obj_linpack_benchmark_mpf gmp f2c
  111. : release
  112. [ check-target-builds ../config//has_gmp : : <build>no ]
  113. <define>TEST_MPF_50
  114. ;
  115. exe linpack_benchmark_cpp_float : obj_linpack_benchmark_cpp_float f2c
  116. : release
  117. <define>TEST_CPP_DEC_FLOAT
  118. ;
  119. exe linpack_benchmark_double : obj_linpack_benchmark_double f2c
  120. : release
  121. ;
  122. exe linpack_benchmark_native_float128 : obj_linpack_benchmark_native_float128 f2c
  123. : release
  124. ;
  125. exe linpack_benchmark_float128 : obj_linpack_benchmark_float128 f2c
  126. : release
  127. ;
  128. exe linpack_benchmark_cpp_quad_float : obj_linpack_benchmark_cpp_quad_float f2c
  129. : release
  130. ;
  131. exe linpack_benchmark_cpp_oct_float : obj_linpack_benchmark_cpp_oct_float f2c
  132. : release
  133. ;
  134. install miller_rabin_install : miller_rabin_performance : <location>. ;
  135. install performance_test_install : performance_test : <location>. ;
  136. install sf_performance_install : sf_performance : <location>. ;
  137. install . : linpack_benchmark_double linpack_benchmark_cpp_float linpack_benchmark_mpf linpack_benchmark_mpfr ;
  138. install delaunay_install : delaunay_test : <location>. ;