On Tue, 2003-10-21 at 13:39, Stroller wrote:
> On Oct 21, 2003, at 2:15 pm, Chris Gianelloni wrote:
> >
> > I would definitely *not* use a USE flags at all, since a USE flag is 
> > for
> > adding or removing optional features from a package.  If anything were
> > to be used, it would be a FEATURE flag.
> 
> I am aware of the -devs attitude towards USE-flag bloat, and my 
> original posting "you can never have too many USE flags" was intended 
> as a joke (obviously a very poor one). However, from a user perspective 
> USE flags are quite desirable - they keep all options in one place, I 
> can `emerge -vp someapp` & easily use `ufed` to determine what each 
> flag means & change it as required.

However, a USE flag has a specific function and should stay that way to
keep confusion down.  There are already a few cases where USE flags are
used to do things they shouldn't be.

> You say that "a USE flag is for adding or removing optional features 
> from a package", however I am not really clear what this means. My 
> recent experimentation, for instance, with the prelinking & the "pic" 
> USE flag seems to indicate that "-fPIC" will be added to the user's 
> CFLAGS. But only, I think, if the package supports prelinking..?

The -fPIC is actually used to enable PIC support in applications.  For
example, if you were to have -fPIC in your CFLAGS, there are some
packages that will NOT compile.  The pic USE flag is for enabling -fPIC
in a way which is suitable to the package.  It isn't just tacking
"-fPIC" onto your CFLAGS and that's it.  In many cases it requires
patches to the source, which aren't needed when not compiling with
-fPIC.

> Having USE flags change CFLAGS seems to me to be non-intuitive, and I 
> don't really see how a "patches" USE flag is any different from the 
> existing "mmx", "oss", or (to be honest) any other USE flags.

Let's take... a fictional game I would like to call GentooRulez. 
GentooRulez can use mmx, but only if it is added on the ./configure line
with a --enable-mmx.  Otherwise, it builds without.  This is the prime
example of when to use the mmx USE flag.

Now, a new version of GentooRulez comes out and you want to merge it
using patches.  You are wanting to tell PORTAGE itself to use patches. 
It makes no changes to the actual configuration/build.  FEATURES control
portage itself.  USE flags control the package compilation/install
options.

> Could someone be so kind as to explain when a USE flag should & should 
> not be used, and what is the difference between USE flags & FEATUREs..?
> 
> Many thanks,
> 
> Stroller.
-- 
Chris Gianelloni
Developer, Gentoo Linux
Games Team

Is your power animal a pengiun?

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to