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  


Reply via email to