2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-19 04:22:09 +00:00

Configuration framework and boost.math long long configuration.

[SVN r59867]
This commit is contained in:
Vladimir Prus
2010-02-24 12:26:26 +00:00
parent 5c5da68a34
commit 6e4ce5db3c
2 changed files with 53 additions and 4 deletions

View File

@@ -63,11 +63,54 @@ sph_legendre
sph_neumann
;
if --disable-long-double in [ modules.peek : ARGV ]
{
long-double-opts = <build>no ;
}
# Configure checks.
import project ;
import configure ;
import property ;
import property-set ;
exe long_double_check : ../src/long_double_check.cpp ;
explicit long_double_check ;
local .long-double-reported ;
project = [ project.current ] ;
rule long-double-configure ( properties * )
{
local disabled ;
if [ option.get disable-long-double : : yes ]
{
disabled = true ;
}
else
{
# The presence of long double depends only on toolset.
local toolset = [ property.select <toolset> : $(properties) ] ;
local ps = [ property-set.create $(toolset) ] ;
local ap = [ $(ps).as-path ] ;
if ! [ configure.builds long_double_check : $(project) : $(ps)
: "long double support" ]
{
if ! $(.long-double-reported)
{
configure.log-component-configuration math :
"long long not available, skipping boost_math_tr1l/boost_math_c99l" ;
.long-double-reported = true ;
}
disabled = true ;
}
}
if $(disabled)
{
return <build>no ;
}
}
long-double-opts = <conditional>@long-double-configure ;
# Library targets
lib boost_math_tr1 : ../src/tr1/$(TR1_SOURCES).cpp pch
:
<link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1

View File

@@ -0,0 +1,6 @@
int main()
{
long double x;
return 0;
}