Index: solenv/bin/build.pl =================================================================== RCS file: /cvs/tools/solenv/bin/build.pl,v retrieving revision 1.119 diff -u -r1.119 build.pl --- solenv/bin/build.pl 13 Oct 2004 13:48:01 -0000 1.119 +++ solenv/bin/build.pl 18 Oct 2004 21:00:01 -0000 @@ -2023,6 +2023,29 @@ }; # +# Extract a boolean value from an environment variable +# +sub get_env_boolean($$) { + my $var_key = shift; + my $default = shift; + my $var = $ENV{$var_key}; + + defined $var || return $default; + $var eq '' && return $default; + + if ($var =~ m/yes/i || $var =~ m/true/i || + $var =~ m/enabled/i || $var =~ m/^[1-9]+$/) { + return '1'; + } + elsif ($var =~ m/no/i || $var =~ m/false/i || + $var =~ m/disabled/i || $var =~ m/^0+$/) { + return ''; + } + + return $default; +} + +# # pick only the modules, that should be built for # build types from %build_modes # @@ -2034,7 +2057,10 @@ my @modules_to_build; #my $new_modules = ''; foreach (@mod_array) { - if (/(\w+):(\S+)/o) { + if (/\$\(\w+\):(\S+)/o) { + push(@modules_to_build, $2) if (get_env_boolean($1,1)); + next; + } elsif (/(\w+):(\S+)/o) { push(@modules_to_build, $2) if (defined $build_modes{$1}); next; };