Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 May 2002 11:38:01 +1000 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Ruslan Ermilov <ru@FreeBSD.org>
Cc:        Warner Losh <imp@harmony.village.org>, Dima Dorfman <dima@trit.org>, <cvs-committers@FreeBSD.org>, <cvs-all@FreeBSD.org>
Subject:   Re: cvs commit: src/sys/conf kmod.mk
Message-ID:  <20020508111354.P629-100000@gamplex.bde.org>
In-Reply-To: <20020507120425.GH26127@sunbay.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 7 May 2002, Ruslan Ermilov wrote:

> On Thu, May 02, 2002 at 04:39:16PM -0600, Warner Losh wrote:
> > In message <20020503032719.G4775-100000@gamplex.bde.org> Bruce Evans writes:
> > : > > +.if !exists(/usr/sbin/kldxref)
> > : > > +NO_XREF=yes
> > : > > +.endif
> > :
> > : This is broken.  kldxref might be in $PATH but not in /usr/sbin, or vice
> > : versa.
> >
> > True.  However, it breaks a case I don't care about.  Until make gets
> > a exists_in_path(foo), this is a reasonable compromise.
> >
> There is a better compromise, please see below.
>
> > : > >  .if !defined(NO_XREF)
> > :
> > : If a non-broken existence test ifdef exists, why not write it here directly.
> >
> > I didn't want to remove NO_XREF, but rather just use it.
> >
> What Bruce meant is why didn't put the existence test directly inside the
> ".if !defined(NO_XREF)" block?
>
> > : I agree.  Ignoring errors in Makefiles is a bug.
> >
> > Yes.  It even seems to work. :-)
> >
> How about this?
>
> %%%
> Index: kmod.mk
> ===================================================================
> RCS file: /home/ncvs/src/sys/conf/kmod.mk,v
> retrieving revision 1.123
> diff -u -r1.123 kmod.mk
> --- kmod.mk	1 May 2002 19:24:26 -0000	1.123
> +++ kmod.mk	7 May 2002 12:03:19 -0000
> @@ -170,10 +170,6 @@
>  .endif
>  .endif
>
> -.if !exists(/usr/sbin/kldxref)
> -NO_XREF=yes
> -.endif
> -
>  _ILINKS=@ machine
>
>  all: objwarn ${PROG}
> @@ -260,7 +256,9 @@
>  	done; true
>  .endif
>  .if !defined(NO_XREF)
> -	-kldxref ${DESTDIR}${KMODDIR}
> +	@if type kldxref >/dev/null 2>&1; then \
> +		kldxref ${DESTDIR}${KMODDIR}; \
> +	fi
>  .endif
>  .endif
>
> %%%

Minor problem: the @ for the test hides the kldxref command.  This could
be fixed by echoing the kldxref command in the shell command or by using
something like:

.if !defined(NO_XREF)
KLDXREF_TYPE!=	type kldxref >/dev/null 2>&1; echo $$?
.endif
...
.if !defined(NO_XREF) && ${KLDXREF_TYPE} == "0"
	kldxref ${DESTDIR}${KMODDIR}
.endif

Bruce


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




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