WITHOUT_NLS precedence over {UNIQUENAME}_SET or OPTIONS_FILE_SET?
Tijl Coosemans
tijl at coosemans.org
Thu Jul 25 13:34:26 UTC 2013
On Thu, 25 Jul 2013 00:58:12 +0300 Panagiotis Christias wrote:
> in my servers I add all global and per port build options in the
> /etc/make.conf file, like this:
>
> # Global options
> WITHOUT_NLS=yes
> [etc..]
>
> # Per port options
> .if $(.CURDIR:M*/mail/mailman)
> mailman_SET+=MTA SENDMAIL NLS
> .endif
>
> .if $(.CURDIR:M*/sysutils/coreutils)
> coreutils_SET+=NLS
> .endif
>
> [etc..]
>
> In the above example, I was under the impression that
> "mailman_SET+=NLS" or "coreutils_SET+=NLS" options would override
> the global WITHOUT_NLS=yes definition but according to "make
> showconfig" I was wrong.
>
> Is this the correct behavior? To me at least it doesn't seem right.
>
> To make things even more weird the following configuration works as
> expected:
>
> # Global options
> WITHOUT_NLS=yes
>
> # Per port options
> .if $(.CURDIR:M*/mail/mailman)
> mailman_SET+=MTA SENDMAIL
> OPTIONS_FILE_SET+=NLS
> .endif
>
> .if $(.CURDIR:M*/sysutils/coreutils)
> OPTIONS_FILE_SET+=NLS
> .endif
>
> That is, OPTIONS_FILE_SET+=NLS takes precedence over WITHOUT_NLS=yes
> but {UNIQUENAME}_SET+=NLS doesn't.
WITH_* and WITHOUT_* style variables are still supported for backward
compatibility but they are deprecated. There's some documentation in
Mk/bsd.options.mk on how to set options in make.conf and in what order
all option lists are processed. In your case you can do something like
this:
# Global options
OPTIONS_UNSET=NLS
# Per port options
mail_mailman_SET=MTA SENDMAIL NLS
sysutils_coreutils_SET=NLS
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20130725/497728a8/attachment.sig>
More information about the freebsd-ports
mailing list