[Midnightbsd-mports] Extension Loading

Lucas Holt luke at foolishgames.com
Wed May 21 21:11:05 EDT 2008


What is the distinction between USE_FOO and WANT_FOO?  A quick grep  
seems to show that USE_FOO=foo and WANT_FOO=yes do the same thing with  
many of the variables.  Should we come up with rules to just use  
USE_FOO ?

Does WANT_ variants do something different with build and/or run  
depends than USE_ do?

Here's an interesting section from bsd.gnome.mk

# This section defines tests for optional software.  These work off four
# types of variables:  WANT_GNOME, WITH_GNOME, HAVE_GNOME and USE_GNOME.
# The logic of this is that a port can WANT support for a package; a  
user
# specifies if they want ports compiled WITH certain features; this  
section
# tests if we HAVE these features; and the port is then free to USE  
them.

# The logic of this section is like this:
#
# .if defined(WANT_GNOME) && !defined(WITHOUT_GNOME)
#   .for foo in ALL_GNOME_COMPONENTS
#     .if defined(WITH_GNOME)
#       HAVE_GNOME += foo
#     .elif (foo installed)
#       HAVE_GNOME += foo
#     .else
#       Print option message
#     .endif
#   .endfor
# .endif

What cases do we want the user to define they "want" something and not  
give it to them?

Off topic:
Another thing  that I find odd is HAS_CONFIGURE vs GNU_CONFIGURE.  The  
latter implies the former.  Most of the other items are USE_WHATEVER  
like USE_AUTOTOOLS.  On a certain level wouldn't USE_CONFIGURE=gnu or  
yes make more sense?  There is a subtle difference here since USE_  
rules tend to bring in a depends on a port too.


Lucas Holt
Luke at FoolishGames.com
________________________________________________________
MidnightBSD.org (Free OS)
JustJournal.com (Free blogging)


More information about the Midnightbsd-mports mailing list