From owner-freebsd-arch@FreeBSD.ORG Fri Oct 26 15:41:47 2012 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A455568F; Fri, 26 Oct 2012 15:41:47 +0000 (UTC) (envelope-from freebsd@damnhippie.dyndns.org) Received: from duck.symmetricom.us (duck.symmetricom.us [206.168.13.214]) by mx1.freebsd.org (Postfix) with ESMTP id E8C418FC0A; Fri, 26 Oct 2012 15:41:46 +0000 (UTC) Received: from damnhippie.dyndns.org (daffy.symmetricom.us [206.168.13.218]) by duck.symmetricom.us (8.14.5/8.14.5) with ESMTP id q9QFfdIp098055; Fri, 26 Oct 2012 09:41:40 -0600 (MDT) (envelope-from freebsd@damnhippie.dyndns.org) Received: from [172.22.42.240] (revolution.hippie.lan [172.22.42.240]) by damnhippie.dyndns.org (8.14.3/8.14.3) with ESMTP id q9QFfanl001438; Fri, 26 Oct 2012 09:41:36 -0600 (MDT) (envelope-from freebsd@damnhippie.dyndns.org) Subject: Re: [CFT/RFC]: refactor bsd.prog.mk to understand multiple programs instead of a singular program From: Ian Lepore To: Warner Losh In-Reply-To: <37989A40-4DBD-48C8-BD65-16C7C41454B6@bsdimp.com> References: <201210020750.23358.jhb@freebsd.org> <201210021037.27762.jhb@freebsd.org> <127FA63D-8EEE-4616-AE1E-C39469DDCC6A@xcllnt.net> <20121025211522.GA32636@dragon.NUXI.org> <3F52B7C9-A7B7-4E0E-87D0-1E67FE5D0BA7@xcllnt.net> <20121025225353.86DA658094@chaos.jnpr.net> <20121026050130.GL35915@deviant.kiev.zoral.com.ua> <20121026062356.3143A58094@chaos.jnpr.net> <37989A40-4DBD-48C8-BD65-16C7C41454B6@bsdimp.com> Content-Type: text/plain; charset="us-ascii" Date: Fri, 26 Oct 2012 09:41:36 -0600 Message-ID: <1351266096.1123.315.camel@revolution.hippie.lan> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: Konstantin Belousov , freebsd-hackers@freebsd.org, Marcel Moolenaar , freebsd-arch@freebsd.org, "Simon J. Gerraty" X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Oct 2012 15:41:47 -0000 On Fri, 2012-10-26 at 08:27 -0600, Warner Losh wrote: > On Oct 26, 2012, at 12:23 AM, Simon J. Gerraty wrote: > > >> In particular, why cannot the ':L' and ':U' support be added ? > > > > Because they already exist - with different meanings. > > They were added to NetBSD make over 10 years ago, from the OSF version > > of pmake. > > And we've had the :U and :L for a similar period of time as well. Arguing age here is an interesting historical footnote, but not a compelling argument to justify the pain to our users. > > > In several areas the behavior of bmake has been changed to make it a > > drop in replacement for FreeBSD, but the above (not used at all in the > > FreeBSD base) are easier dealt with the other way. The :tl and :tu > > equivalents were added to FreeBSD make a while back to ease the > > transition. > > Why can't there be a make target that turns them on in FreeBSD compat mode. You could then just drop those into bsd.port.mk and be done with it? We already do this with the posix target, so there's precedent for it. > > I know you've objected to this as ugly, but as I pointed out when I mentioned it before, I think this is less ugly and less work and would offer a smoother transition than forcing all the scripts to change. > > Warner I second this concept. At work, we create dozens of products using literally hundreds of makefiles scattered throughout a huge source base. We have to be able to build the same source for multiple versions of freebsd, so even finding all the old :U and :L and any other incompatibilities and fixing them isn't an option because we'd just trade "works in freebsd 10" for "broken in every other environment". If there were some way to turn on a compatibility mode, we'd have a way to slowly transition to the newer stuff over the course of a couple OS versions. Eventually we'd reach the point where we no longer need to build products using an older version and we could update to the newer syntax and stop using compatibility mode. -- Ian