Hi, NetBSD mailing lists. I'm intending to cross-build NetBSD to try it out. I very much liked project goals, as well as emphasis on code clarity and portability. Minimalism and perfectionism are attractive. However, i have one practical question (which is 2.) and a few suggestions\fixes on building process.
1. I'm actually do cross-building because installer fails with "wd0: device busy" (googling for further info i found out that it's because of some thing called wedges.). Then why to include this unnecessary whistle by default? The goal of defaults is by definition to fit to most users. Either fix sysinst, or kernel config! 2. The only value for x86 architecture is i386. Which obviously means that new features from >i486 are not included, sse is (i guess) not included, amd k8 & opteron optimizations are not included... It is possible to fine-tune these settings in FreeBSD (see: http://svnweb.freebsd.org/base/head/share/mk/bsd.cpu.mk?view=co). Judging by absence of such in /usr/share/mk of NetBSD, it is not possible to get this without DIY there. Why not to implement and document this? It is not even explained anywhere, what's the difference between MACHINE and MACHINE_ARCH. BUILDING says that MACHINE_ARCH should always be an exact architecture, MACHINE may be not. And it says that by saying that first is "architecture", second is "type" Very straightforward. 3. I've also found a bug in BUILDING documentation file. It says that HOST_CXX is a C++ compiler. Yet setting HOST_CXX to g++ makes build,sh fail with messages like "C preprocessor fails sanity check". By setting HOST_CXX to c preproc, i have no such messages. 4. There is no option to actually set c++ compiler then. Groff needs it and fails without it. So i have a choice between hacking makefiles and setting MKGROFF=no. I chose second - nobody loves to hack makefiles. Especially those makefiles that are written by other people. I suggest you to implement HOST_CPLUS feature. CPLUS, not CPP. So that nobody'll be confused with cpp\cxx. 5. mk.conf is somewhat badly documented. E.g. i've found new mk.conf options in makefiles, which are not listed in documentation. Some options listed in mk.conf(5) are not listed in BUILDING or handbook, and vice versa. 6. libc fails to build with MKPICLIB=no, saying that '-lgcc is not found'. Even though i've found that i actually need MKPICLIB set to yes, seem as a bug. (This happened when i tried to crossbuild it on both FreeBSD and on an unpopular Ubuntu Linux derivative.)