cvs commit: src/sys/modules/aic7xxx/aicasm Makefile

M. Warner Losh imp at bsdimp.com
Mon Jan 3 13:01:05 PST 2005


In message: <41D97F51.8080907 at freebsd.org>
            Scott Long <scottl at freebsd.org> writes:
: Robert Watson wrote:
: > On Sun, 2 Jan 2005, M. Warner Losh wrote:
: > 
: > 
: >>In message: <200501030536.j035atQo072140 at repoman.freebsd.org>
: >>            Nate Lawson <njl at 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


More information about the cvs-src mailing list