]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/multiprecision/example/Jamfile.v2
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / libs / multiprecision / example / Jamfile.v2
index 17bea85d143f09b9116ebc3bb2ec4696ef86c99e..0e09c84870ba35e76cc53d966b8f0728e2840082 100644 (file)
@@ -21,16 +21,26 @@ 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
+     <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
+      
+      # Assembler error "File too big" caused by lots of C++ templates, for example, math/floating_point_examples.cpp.
+      # Some projects on some toolsets may require
+      #   <toolset>gcc-mingw:<cxxflags>\"-Wa,-mbig-obj\"
+      # See https://digitalkarabela.com/mingw-w64-how-to-fix-file-too-big-too-many-sections/
+      # <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj # Some projects may overflow assembler and require equivalent of MSVC /bigobj.
+      # Requires version 2.30 of GNU binutils.
+      # Best applied only to projects that require this, see run math/floating_point_examples.cpp below.
+
       <toolset>darwin:<cxxflags>-Wno-missing-braces
       <toolset>acc:<cxxflags>+W2068,2461,2236,4070
       <toolset>intel:<cxxflags>-Qwd264,239
@@ -70,31 +80,33 @@ else
 
 lib no_eh_eg_support : ../test/no_eh_test_support.cpp ;
 
-run cpp_int_snips.cpp no_eh_eg_support ;
-run cpp_int_import_export.cpp no_eh_eg_support ;
-run cpp_bin_float_import_export.cpp no_eh_eg_support ;
-
-run cpp_dec_float_snips.cpp no_eh_eg_support ;
+test-suite examples :
 
-run cpp_bin_float_snips.cpp no_eh_eg_support ;
+      [ run cpp_int_snips.cpp no_eh_eg_support ]
+      [ run cpp_int_import_export.cpp no_eh_eg_support ]
+      [ run cpp_bin_float_import_export.cpp no_eh_eg_support ]
 
-run debug_adaptor_snips.cpp no_eh_eg_support ;
-run float128_snips.cpp quadmath no_eh_eg_support : : : [ check-target-builds ../config//has_float128 : : <build>no ] ;
-run floating_point_examples.cpp no_eh_eg_support ;
-run gauss_laguerre_quadrature.cpp no_eh_eg_support : : : release [ requires cxx11_lambdas ] ;
-run hypergeometric_luke_algorithms.cpp no_eh_eg_support ../../chrono/build//boost_chrono ../../system/build//boost_system : : : [ requires cxx11_nullptr ]  ;
-run integer_examples.cpp no_eh_eg_support ;
-run logged_adaptor.cpp no_eh_eg_support mpfi mpfr gmp :  :  : [ check-target-builds ../config//has_mpfi : : <build>no ] ;
-run mixed_integer_arithmetic.cpp no_eh_eg_support ;
-run numeric_limits_snips.cpp no_eh_eg_support /boost//test_exec_monitor : : : [ requires cxx11_numeric_limits ]   ;
-run random_snips.cpp gmp no_eh_eg_support : : : [ requires cxx11_explicit_conversion_operators ] [ check-target-builds ../config//has_gmp : : <build>no ] ;
-run safe_prime.cpp no_eh_eg_support ;
+      [ run cpp_dec_float_snips.cpp no_eh_eg_support ]
 
-run gmp_snips.cpp gmp no_eh_eg_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
-run mpfi_snips.cpp mpfi mpfr gmp no_eh_eg_support :  :  : [ check-target-builds ../config//has_mpfi : : <build>no ] ;
-run mpfr_snips.cpp mpfr gmp no_eh_eg_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] ;
-run tommath_snips.cpp $(TOMMATH) no_eh_eg_support : : : [ check-target-builds ../config//has_tommath : : <build>no ] ;
+      [ run cpp_bin_float_snips.cpp no_eh_eg_support ]
 
+      [ run debug_adaptor_snips.cpp no_eh_eg_support ]
+      [ run float128_snips.cpp quadmath no_eh_eg_support : : : [ check-target-builds ../config//has_float128 : : <build>no ] ]
 
+      [ run floating_point_examples.cpp no_eh_eg_support : : : <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj ] # See note above.
+      [ run gauss_laguerre_quadrature.cpp no_eh_eg_support : : : release [ requires cxx11_lambdas ] ]
+      [ run hypergeometric_luke_algorithms.cpp no_eh_eg_support ../../chrono/build//boost_chrono ../../system/build//boost_system : : : [ requires cxx11_nullptr ]  ]
+      [ run integer_examples.cpp no_eh_eg_support ]
+      [ run logged_adaptor.cpp no_eh_eg_support mpfi mpfr gmp :  :  : [ check-target-builds ../config//has_mpfi : : <build>no ] ]
+      [ run mixed_integer_arithmetic.cpp no_eh_eg_support ]
+      [ run numeric_limits_snips.cpp no_eh_eg_support /boost//test_exec_monitor : : : [ requires cxx11_numeric_limits ]  [ check-target-builds ../config//has_float128 : <source>quadmath ] ]
+      [ run random_snips.cpp gmp no_eh_eg_support : : : [ requires cxx11_explicit_conversion_operators ] [ check-target-builds ../config//has_gmp : : <build>no ] ]
+      [ run safe_prime.cpp no_eh_eg_support ]
 
+      [ run gmp_snips.cpp gmp no_eh_eg_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ]
+      [ run mpfi_snips.cpp mpfi mpfr gmp no_eh_eg_support :  :  : [ check-target-builds ../config//has_mpfi : : <build>no ] ]
+      [ run mpfr_snips.cpp mpfr gmp no_eh_eg_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] ]
+      [ run tommath_snips.cpp $(TOMMATH) no_eh_eg_support : : : [ check-target-builds ../config//has_tommath : : <build>no ] ]
+      [ compile constexpr_float_arithmetic_examples.cpp : [ requires cxx14_constexpr cxx17_if_constexpr ] ]
 
+;