Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Mar 2003 08:40:26 -0600
From:      "Guy Helmer" <ghelmer@palisadesys.com>
To:        "Bruce Evans" <bde@zeta.org.au>, "Guido van Rooij" <guido@gvr.org>
Cc:        <audit@FreeBSD.ORG>
Subject:   RE: /bin/sh flag NO_HISTORY
Message-ID:  <FPEBKMIFGFHCGLLKBLMMKENKCBAA.ghelmer@palisadesys.com>
In-Reply-To: <20030318225521.M4509@gamplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 18 Mar 2003, Bruce Evans wrote:
>
> On Tue, 18 Mar 2003, Guido van Rooij wrote:
>
> > On Mon, Mar 17, 2003 at 02:11:53PM -0600, Guy Helmer wrote:
> > > --- /usr/src/bin/sh/Makefile	Mon Mar 17 10:38:03 2003
> > > +++ Makefile	Mon Mar 17 10:34:07 2003
> > > @@ -14,8 +14,12 @@
> > >  # utilities of the same name are handled with the associated manpage,
> > >  # builtin.1 in share/man/man1/.
> > >
> > > +.if !defined(NO_HISTORY)
> > >  DPADD+= ${LIBL} ${LIBEDIT} ${LIBTERMCAP}
> > >  LDADD+= -ll -ledit -ltermcap
> > > +.else
> > > +CFLAGS+=-DNO_HISTORY
> > > +.endif
> >
> > Could you please do this the other way around:
> > .if defined(NO_HISTORY)
> > CFLAGS+=-DNO_HISTORY
> > .else
> > DPADD+= ${LIBL} ${LIBEDIT} ${LIBTERMCAP}
> > LDADD+= -ll -ledit -ltermcap
> > .endif
> >
> > I think double negations don't add in readbility.
>
> I agree with supporting NO_HISTORY in some way and not using double
> negatives.
>
> However, it's not really necessary to provide a global knob for every
> possible -D option.  I sometimes test compiling sh with -DNO_HISTORY
> (too see how much bloatier the library bloat has become).  I just use
> something like "make CC='cc -DNOHISTORY'".  For more global builds
> like picobsd it would be better to hack on COPTS and fix COPTS to work
> right.
>
> I think removing unused libraries from the command line has no effect,
> at least for static linkage, so a knob outside of CC/CFLAGS/COPTS is not
> needed.  Removing the used library libl has the effect of breaking the
> build.  libl has nothing to do with history.

Good points, and thanks for the hint on redefining CC.

I usually look at the Makefiles first for knobs like this because I assume
if there are knobs in them, they are knobs that ought to work.  If I have
to look deeper into the source for knobs, I assume they may not be
operational because they aren't "published".

I haven't looked, but is NO_HISTORY used elsewhere?  If so, perhaps it would
be a good candidate for a global knob to reduce bloat in a build...

Unless others think that adding the NO_HISTORY knob to the Makefile would
be good, I'll just drop this.

Thanks again,
Guy


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




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