On Tue, Sep 13, 2011 at 06:13:10PM -0400, Mike Frysinger wrote: > On Tuesday, September 13, 2011 18:01:25 Alec Warner wrote: > > On Tue, Sep 13, 2011 at 2:56 PM, Mike Frysinger wrote: > > > this is so i can do: > > > export some_var=$(usex some_flag) > > > and get it set to "yes" or "no" > > > > If the intent is to use it for logic: > > > > export some_var=$(usex some_flag) > > > > if [[ $some_var == yes ]]; then > > # buttsex > > fi > > that is not the intent > > > Then I recommend making true / false the default and then doing > > > > if $some_var; then > > # buttsex > > fi > > the point is to use it to construct vars that get passed to scripts like > econf > or programs like emake > > ac_cv_some_header=$(usex foo) \ > econf ... > > emake USE_POOP=$(usex poo)
Making it overridable seems wiser- usex() { local flag="$1" local tval=${2-yes} local fval=${3-no} if use $flag; then echo "${tval}" else echo "${fval}" fi } While a bit longer, we likely can gut most of the use_* logic to use that, and it makes it easier to deal w/ the situations where a configure's options always assume --enable-blah thus don't export the option, but *do* export a --disable-blah. That way we can shift away from $(use blah && use_with blah) to $(usex blah --with-blah '') Or that's the intent at least. ~brian