Skip site navigation (1)Skip section navigation (2)
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>