Franco Fichtner recently received commit rights for DragonFly. This is so he could import mdocml, a OpenBSD-originating replacement for groff and man page display. Mdocml has been mentioned before on the Digest, and there’s a downloadable book. (See the more-interesting-than-it-sounds History of UNIX Manpages there too, but I digress.)
One advantage of using mdocml, as I understand it, is that groff is no longer required to view man pages. The only thing left in DragonFly that required a C++ compiler was groff. So, rebuilding could be a bit faster, and a bit less complicated.
Here’s the part that makes me happy: Changes made in DragonFly promptly made it back into NetBSD’s mdocml. Other changes rolled from DragonFly back into OpenBSD, too, and mdocml is in FreeBSD 10, though I don’t have a src change to point at right now. It all circled back around to DragonFly, too. It’s really neat to have a BSD-grown cross-BSD product.
(Incidentally, if you have a Thinkpad and keyboard issues, Franco has a patch for you to try.)
the gold linker is written in c++, but you could argue that it’s optional (e.g. a C_ONLY switch could be created that would skip build of gold and a hypothetical c++ based compiler). However, unless our base compilers are downscaled to build C and only C, I don’t see the advantage.
I remember people saying that c++ building was slow, therefore removing things like groff == speedup. I know, I know, hearsay rather than documented work.
Even if I’m wrong, mdocml makes a good replacement. i.e. there’s more reasons to do this than “mdocml’s not groff”.
“The only thing left in DragonFly that required a C++ compiler was groff.”
All well and good I guess, but since version 4.8 “GCC now uses C++ as its implementation language. This means that to build GCC from sources, you will need a C++ compiler that understands C++ 2003.”
http://gcc.gnu.org/gcc-4.8/changes.html
So once GCC gets upgraded in DragonFly from its current version 4.7, you’ve got a big chunk of C++ code that needs to be built. Same issue if/when DF switches to Clang/LLVM.
Well, compilers make nihilists of us all.
The changes that made it back to NetBSD are for man(1) (the one with man.conf(5)), which was also imported into DF to replace the old GNU man(1) soon. There are a few more fixes planned and NetBSD folks will be kind enough to pick those up as well. :)
Indeed, it’s really cool so see so much cooperation between the BSD. And Ingo is doing a great job holding it all together through mdocml!