From owner-cvs-src@FreeBSD.ORG Mon Jan 3 21:01:04 2005 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D77CD16A4CE; Mon, 3 Jan 2005 21:01:04 +0000 (GMT) Received: from harmony.village.org (rover.village.org [168.103.84.182]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2146243D4C; Mon, 3 Jan 2005 21:01:04 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.13.1/8.13.1) with ESMTP id j03KuuMh033324; Mon, 3 Jan 2005 13:56:56 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Mon, 03 Jan 2005 13:57:15 -0700 (MST) Message-Id: <20050103.135715.25161130.imp@bsdimp.com> To: scottl@freebsd.org From: "M. Warner Losh" In-Reply-To: <41D97F51.8080907@freebsd.org> References: <41D97F51.8080907@freebsd.org> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: cvs-src@freebsd.org cc: njl@freebsd.org cc: src-committers@freebsd.org cc: rwatson@freebsd.org cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/modules/aic7xxx/aicasm Makefile X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Jan 2005 21:01:05 -0000 In message: <41D97F51.8080907@freebsd.org> Scott Long writes: : Robert Watson wrote: : > On Sun, 2 Jan 2005, M. Warner Losh wrote: : > : > : >>In message: <200501030536.j035atQo072140@repoman.freebsd.org> : >> Nate Lawson 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