freebsd-dev/stand
Kyle Evans ac5f382a9d stand: properly declare subdir deps or .WAIT, do parallel build
buildworld already runs the stand build in parallel[1], so make it easier to
identify ordering issues by properly establishing dependencies or adding
.WAIT where needed.

Everything in stand/ relies on libsa, either directly or indirectly, because
libsa build is where the stand headers get installed and it gets linked in
most places.

Interpreters depend on their libs, machine dirs usually depend on top-level
libs that are getting built and at least one of the interpreter flavors.

For i386, order btx/libi386/libfirewire before everything else using a
big-ol-.WAIT hammer. btx is the most common dependency, but the others are
used sporadically. This seems to be where the race reporting on the mailing
list is- AFAICT, the following sequence is happening:

1.) One of the loaders gets built based on stale btx/btxldr
2.) btx/btxldr gets rebuilt
3.) installworld triggers loader rebuild because btx was rebuilt after

This seems like the most plausible explanation, as they've verified system
time and timestamps.

While we're here, let's switch stand/ over to a completely parallel build so
we can work out these kinds of issues in isolation rather than in the middle
of a larger build.

Reviewed by:	bdragon, sjg, tsoome
Tested by:	bdragon (-j1024, no failures, significant speed improvement)
Differential Revision:	https://reviews.freebsd.org/D23411
2020-12-31 11:15:45 -06:00
..
arm Remove tests for obsolete compilers in the build system 2020-05-12 15:22:40 +00:00
arm64 No need to make objects here. 2018-04-27 22:15:18 +00:00
common loader: Print autoboot countdown immediately, not at 9 2020-12-14 00:46:24 +00:00
defaults lualoader: add loader_conf_dirs support (loader.conf.d) 2020-12-31 10:37:05 -06:00
efi stand: properly declare subdir deps or .WAIT, do parallel build 2020-12-31 11:15:45 -06:00
fdt stand/fdt: Scale blob size better as overlays apply 2020-01-09 04:34:42 +00:00
ficl ficl: make dump a bit friendlier 2020-12-01 23:07:05 +00:00
ficl32 Enable veriexec for loader 2019-02-26 06:22:10 +00:00
forth Fix a few mandoc issues 2020-10-09 15:14:19 +00:00
i386 stand: properly declare subdir deps or .WAIT, do parallel build 2020-12-31 11:15:45 -06:00
kshim Properly define the bool type in the BSD kernel shim. 2020-12-07 16:08:31 +00:00
liblua stand: liblua: add a pager module 2020-12-12 21:25:38 +00:00
liblua32 Add Lua as a scripting langauge to /boot/loader 2018-02-12 15:31:53 +00:00
libofw Fix 64-bit build of libofw. 2020-09-08 23:22:11 +00:00
libsa libsa: xdrproc_t should return bool 2020-12-27 23:25:18 +02:00
libsa32 Enable veriexec for loader 2019-02-26 06:22:10 +00:00
lua lualoader: add loader_conf_dirs support (loader.conf.d) 2020-12-31 10:37:05 -06:00
man Correct the documented size of kern.msgbufsize 2020-10-02 15:37:51 +00:00
mips stand: -fno-common fixes for !x86 loaders 2020-04-07 12:57:50 +00:00
powerpc Add CFI start/end proc directives to arm64, i386, and ppc 2020-12-05 00:33:28 +00:00
uboot stand/uboot: fix setting of gateip.s_addr 2020-06-01 23:44:03 +00:00
usb Fix build of stand/usb . 2020-01-23 10:40:34 +00:00
userboot loader: zfs should support bootonce an nextboot 2020-09-21 09:01:10 +00:00
defs.mk [PowerPC64LE] Set up powerpc.powerpc64le architecture 2020-09-22 23:49:30 +00:00
fdt.mk
ficl.mk ficl pfopen: verify file 2019-05-24 19:43:38 +00:00
loader.mk loader: zfs should support bootonce an nextboot 2020-09-21 09:01:10 +00:00
lua.mk Do not include float interfaces when using libsa. 2018-02-23 04:04:25 +00:00
Makefile stand: properly declare subdir deps or .WAIT, do parallel build 2020-12-31 11:15:45 -06:00
Makefile.amd64 stand: properly declare subdir deps or .WAIT, do parallel build 2020-12-31 11:15:45 -06:00
Makefile.inc stand: properly declare subdir deps or .WAIT, do parallel build 2020-12-31 11:15:45 -06:00
uboot.mk Unify metadata load files for arm, mips, powerpc, sparc64 2018-02-13 03:44:50 +00:00