From 0448c06c2e52a3cb36dbf6ac2bd25371d8587808 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Sat, 11 Jul 2009 14:42:30 +0000 Subject: [PATCH] Add support for options with implied values. [SVN r54891] --- v2/util/option.jam | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/v2/util/option.jam b/v2/util/option.jam index 20f062f5b..41b11afa4 100644 --- a/v2/util/option.jam +++ b/v2/util/option.jam @@ -13,21 +13,29 @@ rule set ( name : value ) .option.$(name) = $(value) ; } -rule get ( name : default-value ? ) +rule get ( name : default-value ? : implied-value ? ) { local m = [ MATCH --$(name)=(.*) : [ modules.peek : ARGV ] ] ; if $(m) { return $(m[1]) ; } - else if $(.option.$(name)) - { - return $(.option.$(name)) ; - } - else - { - return $(default-value) ; - } + else + { + m = [ MATCH (--$(name)) : [ modules.peek : ARGV ] ] ; + if $(m) && $(implied-value) + { + return $(implied-value) ; + } + else if $(.option.$(name)) + { + return $(.option.$(name)) ; + } + else + { + return $(default-value) ; + } + } }