?RCS: $Id: Setvar.U 1 2006-08-24 12:32:52Z rmanfredi $ ?RCS: ?RCS: Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi ?RCS: ?RCS: You may redistribute only under the terms of the Artistic Licence, ?RCS: as specified in the README file that comes with the distribution. ?RCS: You may reuse parts of this distribution only within the terms of ?RCS: that same Artistic Licence; a copy of which may be found at the root ?RCS: of the source tree for dist 4.0. ?RCS: ?RCS: $Log: Setvar.U,v $ ?RCS: Revision 3.0.1.1 1994/10/29 15:58:28 ram ?RCS: patch36: call ./whoa explicitely instead of relying on PATH ?RCS: ?RCS: Revision 3.0 1993/08/18 12:05:16 ram ?RCS: Baseline for dist 3.0 netwide release. ?RCS: ?X: ?X: This unit produces a variable that is intended to be eval'ed in ?X: order to define/undefine a symbol. A consistency check is made ?X: regarding any previous value and a warning is issued if there ?X: is any discrepancy. ?X: ?X: To use it, say: ?X: val= ?X: set d_variable ?X: eval $setvar ?X: ?MAKE:Setvar: Whoa ?MAKE: -pick add $@ %< ?LINT:define setvar ?S:setvar: ?S: This shell variable is used internally by Configure to set a value ?S: to a given symbol that is defined or not. A typical use is: ?S: val= ?S: set d_variable ?S: eval $setvar ?S: That will print a message in case the $val value is not the same ?S: as the previous value of $d_variable. ?S:. ?V:setvar:val ?T:var was td tu : function used to set '$1' to '$val' setvar='var=$1; eval "was=\$$1"; td=$define; tu=$undef; case "$val$was" in $define$undef) . ./whoa; eval "$var=\$td";; $undef$define) . ./whoa; eval "$var=\$tu";; *) eval "$var=$val";; esac'