On Sat, Mar 04, 2017 at 05:16:49PM -0700, Warner Losh wrote: > On Sat, Mar 4, 2017 at 3:32 PM, Rodney W. Grimes > <free...@pdx.rh.cn85.dnsmgr.net> wrote: > >> > >> > On Mar 4, 2017, at 13:43, Warner Losh <i...@bsdimp.com> wrote: > >> > > >> >> On Sat, Mar 4, 2017 at 1:25 PM, Bryan Drewery <bdrew...@freebsd.org> > >> >> wrote: > >> >>> On 3/4/2017 12:20 PM, Rodney W. Grimes wrote: > >> >>> -- Start of PGP signed section. > >> >>> [ Charset windows-1252 unsupported, converting... ] > >> >>>>> On 3/4/2017 7:34 AM, Rodney W. Grimes wrote: > >> >>>>> What is ${.CURDIR:H:H} ????? Yes that seems to work but now we are > >> >>>>> obscuring > >> >>>>> ../.. into makefile syntax magic, probably not a grand idea. > >> >>>> It just trims off the last directory component. This both reduces > >> >>>> namecache lookups, lessens the amount of data in a log, and makes > >> >>>> debugging a log simpler by not having a crazy path like: > >> >>>> /home/bdrewery/big/git/buildserver/sys/modules/usb/template/../../../dev/usb/template/usb_template.c > >> >>>> > >> >>>> It's far simpler to understand and work with: > >> >>>> /home/bdrewery/big/git/buildserver/sys/dev/usb/template/usb_template.c > >> >>>> > >> >>>> The only downside is it is slightly more obscure in a Makefile, but > >> >>>> once > >> >>>> you know what :H is then it's not a problem. This is why SRCTOP is > >> >>>> even > >> >>>> better than this as it is far more clear than even :H and avoids the > >> >>>> ../../ problems. > >> >>> Lets do one or the other, but not both ${SRCTOP} and :H:H:H. It > >> >>> appears > >> >>> that we now have a mix and mashed up some one way others the other. > >> >> > >> >> That I can agree with. I would prefer to standardize on SRCTOP as :H is > >> >> too obscure without learning about make details. > >> > > >> > :H is insane in 90% of the cases I've seen it used. Let's roll with > >> > SRCTOP everywhere we can. That's safer from directory motion anyway... > >> > >> Ok, I have 3 votes for SRCTOP, so I'll implement the remaining change > >> using SRCTOP (for usr.bin), and reimplement the previous changes using > >> SRCTOP. > > > > And that some how over rides the 3 votes for not doing any of these changes? > > Slow down please. We dont need a bike shed, but I think we need a clear > > target and a consense larger than 3+ 3- and less than a 6 hour wall clock > > of discussion. > > > > It would also be best if it was this change and only this change committed > > in very large (preferably about 20) commits. > > We've had about 200-300 commits in the build system in the past year. > There's no real need to slow down. It's a real mess (though a lot less > of one thanks to Bryan) and SRCTOP is a definite cleanup.
As someone who get merge conflicts (in CheriBSD) from a fairly part portion of these commits, I much prefer the small commits. While it's arguably the same work, I find it easier to review a small set of merge conflicts than a massive diff which might include multiple types of conflicts. Personally, I like the ${SRCTOP} changes and think using absolute tree relative paths is the way to go. Use of ${SRCTOP} consistently should make it easier to relocate things in the tree when that makes sense and makes including Makefile.inc's from other parts of the tree easier (for example, in CheriBSD, I build a libc_nosyscalls and a libsyscalls by including appropriate bits from libc's build infrastructure. -- Brooks
signature.asc
Description: PGP signature