Skip to content

Commit

Permalink
Cleanup Jamfile.v2 and make separate rules for each feature check (#204)
Browse files Browse the repository at this point in the history
  • Loading branch information
apolukhin authored Jan 23, 2025
1 parent 7e22b77 commit 2ec4bac
Showing 1 changed file with 19 additions and 30 deletions.
49 changes: 19 additions & 30 deletions build/Jamfile.v2
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,9 @@ explicit WinDbgCached ;
rule build-stacktrace-noop ( props * )
{
local enabled = [ property.select <boost.stacktrace.noop> : $(props) ] ;
switch $(enabled:G=)
if $(enabled:G=) = "off"
{
case "on" : return ;
case "off" : return <build>no ;
return <build>no ;
}
}

Expand All @@ -79,7 +78,6 @@ lib boost_stacktrace_noop
: # requirements
<warnings>all
<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
# Enable build when explicitly requested
<conditional>@build-stacktrace-noop
: # default build
: # usage-requirements
Expand All @@ -90,10 +88,9 @@ lib boost_stacktrace_noop
rule build-stacktrace-backtrace ( props * )
{
local enabled = [ property.select <boost.stacktrace.backtrace> : $(props) ] ;
switch $(enabled:G=)
if $(enabled:G=) = "off"
{
case "on" : return ;
case "off" : return <build>no ;
return <build>no ;
}
}

Expand All @@ -105,8 +102,8 @@ lib boost_stacktrace_backtrace
<target-os>linux:<library>dl
<library>backtrace
<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
[ check-target-builds libbacktrace : : <build>no ]
<conditional>@build-stacktrace-backtrace
[ check-target-builds libbacktrace : : <build>no ]
: # default build
: # usage-requirements
#<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
Expand All @@ -116,10 +113,9 @@ lib boost_stacktrace_backtrace
rule build-stacktrace-addr2line ( props * )
{
local enabled = [ property.select <boost.stacktrace.addr2line> : $(props) ] ;
switch $(enabled:G=)
if $(enabled:G=) = "off"
{
case "on" : return ;
case "off" : return <build>no ;
return <build>no ;
}

# Disable by default on Windows when not using Cygwin
Expand All @@ -136,8 +132,8 @@ lib boost_stacktrace_addr2line
<warnings>all
<target-os>linux:<library>dl
<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
[ check-target-builds addr2line : : <build>no ]
<conditional>@build-stacktrace-addr2line
[ check-target-builds addr2line : : <build>no ]
: # default build
: # usage-requirements
#<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
Expand All @@ -147,10 +143,9 @@ lib boost_stacktrace_addr2line
rule build-stacktrace-basic ( props * )
{
local enabled = [ property.select <boost.stacktrace.basic> : $(props) ] ;
switch $(enabled:G=)
if $(enabled:G=) = "off"
{
case "on" : return ;
case "off" : return <build>no ;
return <build>no ;
}
}

Expand All @@ -161,8 +156,8 @@ lib boost_stacktrace_basic
<warnings>all
<target-os>linux:<library>dl
<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
[ check-target-builds WinDbg : <build>no ]
<conditional>@build-stacktrace-basic
[ check-target-builds WinDbg : <build>no ]
: # default build
: # usage-requirements
#<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
Expand All @@ -172,10 +167,9 @@ lib boost_stacktrace_basic
rule build-stacktrace-windbg ( props * )
{
local enabled = [ property.select <boost.stacktrace.windbg> : $(props) ] ;
switch $(enabled:G=)
if $(enabled:G=) = "off"
{
case "on" : return ;
case "off" : return <build>no ;
return <build>no ;
}
}

Expand All @@ -186,8 +180,8 @@ lib boost_stacktrace_windbg
<warnings>all
<library>Dbgeng <library>ole32
<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
[ check-target-builds WinDbg : : <build>no ]
<conditional>@build-stacktrace-windbg
[ check-target-builds WinDbg : : <build>no ]
: # default build
: # usage-requirements
#<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
Expand All @@ -197,10 +191,9 @@ lib boost_stacktrace_windbg
rule build-stacktrace-windbg-cached ( props * )
{
local enabled = [ property.select <boost.stacktrace.windbg_cached> : $(props) ] ;
switch $(enabled:G=)
if $(enabled:G=) = "off"
{
case "on" : return ;
case "off" : return <build>no ;
return <build>no ;
}
}

Expand All @@ -211,8 +204,8 @@ lib boost_stacktrace_windbg_cached
<warnings>all
<library>Dbgeng <library>ole32
<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
[ check-target-builds WinDbgCached : : <build>no ]
<conditional>@build-stacktrace-windbg-cached
[ check-target-builds WinDbgCached : : <build>no ]
: # default build
: # usage-requirements
#<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
Expand All @@ -222,10 +215,9 @@ lib boost_stacktrace_windbg_cached
rule build-stacktrace-from-exception ( props * )
{
local enabled = [ property.select <boost.stacktrace.from_exception> : $(props) ] ;
switch $(enabled:G=)
if $(enabled:G=) = "off"
{
case "on" : return ;
case "off" : return <build>no ;
return <build>no ;
}

local arch = [ property.select <architecture> : $(props) ] ;
Expand All @@ -244,9 +236,6 @@ lib boost_stacktrace_from_exception

# Enable build when explicitly requested, or by default, when on x86
<conditional>@build-stacktrace-from-exception

# Require usable libbacktrace on other platforms
# [ check-target-builds libbacktrace : : <build>no ]
: # default build
: # usage-requirements
#<link>shared:<define>BOOST_STACKTRACE_DYN_LINK=1
Expand Down

0 comments on commit 2ec4bac

Please sign in to comment.