Date: Mon, 03 Jan 2005 13:57:15 -0700 (MST) From: "M. Warner Losh" <imp@bsdimp.com> To: scottl@freebsd.org Cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/modules/aic7xxx/aicasm Makefile Message-ID: <20050103.135715.25161130.imp@bsdimp.com> In-Reply-To: <41D97F51.8080907@freebsd.org> References: <Pine.NEB.3.96L.1050103112222.33949B-100000@fledge.watson.org> <41D97F51.8080907@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <41D97F51.8080907@freebsd.org>
Scott Long <scottl@freebsd.org> writes:
: Robert Watson wrote:
: > On Sun, 2 Jan 2005, M. Warner Losh wrote:
: >
: >
: >>In message: <200501030536.j035atQo072140@repoman.freebsd.org>
: >> Nate Lawson <njl@FreeBSD.org> writes:
: >>: NO_MAN is now NOMAN.
: >>
: >>Please back this out. You are going backwards. You need to use
: >>buildkernel or install a new world or setenv NO_MAN.
: >
: >
: > However, some change of this sort would be very useful -- the NO_MAN issue
: > is the only one of two issues preventing 6.x kernels from building on an
: > un-customized 5.x world. The other issue is changes in config(8), but
: > that's a lot more easily worked around as it doesn't require changes to
: > the global makefiles to fix. As someone who runs their build and remote
: > management boxes on RELENG_5, but remote test boxes on HEAD, I'd find it
: > very useful if we could find some solution to this. The one I've had in
: > mind is teaching the 5.x .mk files to also know about NO_MAN -- that way
: > at least newer RELENG_5 could build 6.x components without a full
: > buildworld.
: >
: > Robert N M Watson
: >
: >
:
: Compatibility should be put into a common and documented place like
: bsd.compat.mk. Putting special variables into each Makefile is both
: cumbersome and undocumented; it turns into folklore that no one
: understands years down the line.
Agreed. I believe that the following will do the trick. I'm not sure
where the right place to include this would be, since I believe that the
.if is expanded at parse time, which can lead to interesting
problems...
# $FreeBSD: src/share/mk/bsd.compat.mk,v 1.18 2004/12/21 12:49:24 ru Exp $
# Forward compatbility: allows limited, but useful, operations
# to succeed on older systems.
.for oldnew in \
NOATM:NO_ATM \
NOCLEAN:NO_CLEAN \
NOCLEANDIR:NO_CLEANDIR \
NOCRYPT:NO_CRYPT \
NODOCCOMPRESS:NO_DOCCOMPRESS \
NOEXTRADEPEND:NO_EXTRADEPEND \
NOFORTH:NO_FORTH \
NOFSCHG:NO_FSCHG \
NOGAMES:NO_GAMES \
NOHTML:NO_HTML \
NOINET6:NO_INET6 \
NOINFO:NO_INFO \
NOINFOCOMPRESS:NO_INFOCOMPRESS \
NOINSTALLLIB:NO_INSTALLLIB \
NOLIBC_R:NO_LIBC_R \
NOLIBPTHREAD:NO_LIBPTHREAD \
NOLIBTHR:NO_LIBTHR \
NOLINT:NO_LINT \
NOMAN:NO_MAN \
NOMANCOMPRESS:NO_MANCOMPRESS \
NOMLINKS:NO_MLINKS \
NOOBJ:NO_OBJ \
NOPAM:NO_PAM \
NOPIC:NO_PIC \
NOPROFILE:NO_PROFILE \
NOSHARE:NO_SHARE \
NOSHARED:NO_SHARED \
NOTAGS:NO_TAGS
.for old in ${oldnew:C/:.*//}
.for new in ${oldnew:C/.*://}
.if defined(${new}) && !defined(${old})
${old}= ${${new}}
.endif
.endfor
.endfor
.endfor
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050103.135715.25161130.imp>
