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