[CFT/RFC]: refactor bsd.prog.mk to understand multiple programs instead of a singular program

Warner Losh imp at bsdimp.com
Fri Oct 26 17:41:52 UTC 2012


On Oct 26, 2012, at 11:21 AM, Simon J. Gerraty wrote:

> 
> On Fri, 26 Oct 2012 08:27:06 -0600, Warner Losh writes:
>> And we've had the :U and :L for a similar period of time as well.  =
> 
> Sorry, I didn't mean to imply age has anything to do with it.
> The doc I refered to makes it clear that the two sets of conflicting
> modifers were introduced at about the same time.
> 
>> 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 =
> 
> Because then you would lose the functionality that the alternative
> modifiers provide.  Imagine throwing away the ability in /bin/sh to do${foo:-bar}
> Also it would perpetuate the divergence in syntax for little reason.

It's called a transition period for a reason.  The historical use has permeated itself into many places, not all of which are obvious.

For many years, sun had two shells so that old shell scripts would work until they could be adapted to the new shell's syntax. So your argument rings a bit hollow.  Compatibility always has been about being compatible, not about growing the feature set or purposely leaving features out.

> BTW there are currently < 300 makefiles in ports/ affected by the
> transition to bmake, and there were an even smaller number in src/.

And there are many companies (I know of at least two) that have enough infrastructure that depend on these modifiers that moving to 10 will be hard for them.  Stupid (in their view) incompatibilities like this are a disincentive to upgrade or keep with FreeBSD.  Easing the transition for them will help keep them in the fold.  It is no different than keeping old IOCTLs around for a release or three to ease that burden.

Warner



More information about the freebsd-hackers mailing list