Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Jul 2002 18:59:40 +0200
From:      Cyrille Lefevre <cyrille.lefevre@laposte.net>
To:        Ruslan Ermilov <ru@FreeBSD.ORG>
Cc:        Bruce Evans <bde@zeta.org.au>, Doug Barton <DougB@FreeBSD.ORG>, Mike Barcroft <mike@FreeBSD.ORG>, arch@FreeBSD.ORG
Subject:   Re: Standardized make options (or no doesn't always mean no)
Message-ID:  <20020725165940.GF58642@gits.dyndns.org>
In-Reply-To: <20020725070145.GE56367@sunbay.com>
References:  <3D02AB11.F373AB4@FreeBSD.org> <20020609123557.X21758-100000@gamplex.bde.org> <20020725070145.GE56367@sunbay.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jul 25, 2002 at 10:01:45AM +0300, Ruslan Ermilov wrote:
> On Sun, Jun 09, 2002 at 12:42:59PM +1000, Bruce Evans wrote:
> > On Sat, 8 Jun 2002, Doug Barton wrote:
> > > Mike Barcroft wrote:
> > > > Is anyone planning to do something about the hugely confusing state of
> > > > NO/NO_ options?  I can never remember which options have an underscore
> > > > after the NO, so I end up writing commands like
> > > > `make kernel ... NO_KERNELCLEAN=true NOKERNELCLEAN=true'.  It would
> > > > very nice if we could standardize this and add some compatibility
> > > > shims for historical spellings.
> > >
> > > In the past versions of this conversation, the general agreement is that
> > > going forward we should probably standardize on underscores to seperate
> > > words. So, NO_FOO rather than NOFOO. However, no_volunteer has come
> > > forward to do the work you've described, so if you're volunteering....
> > > :)
> > 
> > On my list of things to fix after the changing the spelling of "nothing"
> > to "no thing". :-) :-)
> > 
> I'd volunteer to do it if we could come up to a (violent) agreement.
> 
> We'd provide the compatibility knobs that would also trigger a warning
> (a .warning to be added to make(1)) that NO_FOO should now be used
> instead of NOFOO (or vice versa, if we decide to go that way).

.warning isn't needed, let's try w/ .BEGIN :)

NOBAD=	true
NO_GOOD=true
NOWARN=	true
NO_WARN=true
NOERR=	true
NO_ERR=	false

_NO_VARS=	BAD GOOD WARN ERR TOTO

.BEGIN:
.for var in ${_NO_VARS}
.if defined(NO${var})
. if defined(NO_${var})
.  if ${NO${var}} != ${NO_${var}}
# maybe this should be a .error ?
	@${ECHO_CMD} "warning: both NO_${var} and NO${var} are defined and" \
		"have different values -- using NO_${var} and unsetting NO${var}."
.  else
	@${ECHO_CMD} "warning: both NO_${var} and NO${var} are defined" \
		"-- using NO_${var} and unsetting NO${var}."
.  endif
. else
	@${ECHO_CMD} "warning: NO_${var} should be defined in place of NO${var}" \
		"-- setting NO_${var} as NO${var} and unsetting NO${var}."
. endif
.endif
.endfor

.for var in ${_NO_VARS}
.if defined(NO${var})
. if !defined(NO_${var})
NO_${var}:=${NO${var}}
. endif
. undef NO${var}
.endif
.endfor

all:
	@${ECHO_CMD} BAD=${NOBAD}:${NO_BAD}
	@${ECHO_CMD} GOOD=${NOGOOD}:${NO_GOOD}
	@${ECHO_CMD} WARN=${NOWARN}:${NO_WARN}
	@${ECHO_CMD} ERR=${NOERR}:${NO_ERR}

a non-exhaustive list of NO[^_] variable is :

NOTAGS NODOCCOMPRESS NOINFO NOINFOCOMPRESS NOPIC NOPROFILE NOEXTRADEPEND
NOFCSCHG NOSHARED NOMAN NOMANCOMPRESS NOMLINKS NOOBJ NOSGMLCOMPRESS
NOCLEAN NOCLEANDIR NOMAN NOGAMES NOPERL NOLIBC_R NOHTML NODOC
NOKERBEROS NOPORTREADMES NOPORTS NOSRC NODESCRYPTLINKS NOCRYPT
NOSECURE NOSHARE NOFORTH NOLIB NOPAM NOUUCP NOALIAS NOI4B NOINET6
NOKLDLOAD NONAT NONETGRAPH NORADIUS NOSUID NOIPSEC

I'll try to make another knob for variable conversion such as :
NOALIAS -> PPP_NO_ALIAS, etc.

> I would personally prefer the NO_FOOs since these would make things
> more readable and disambiguate the things like NORMAL, NOTES, NODES.
> What's NODES?  node(s) or "no DES"?  :-)

agreed.

Cyrille.
-- 
Cyrille Lefevre                 mailto:cyrille.lefevre@laposte.net

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020725165940.GF58642>