FS#64279 - [linux] Tweak PKGBUILD to separate compilation from HTML generation during SMP builds
Attached to Project:
Arch Linux
Opened by David Ward (dpward) - Sunday, 27 October 2019, 00:30 GMT
Last edited by Jan Alexander Steffens (heftig) - Saturday, 22 February 2020, 00:46 GMT
Opened by David Ward (dpward) - Sunday, 27 October 2019, 00:30 GMT
Last edited by Jan Alexander Steffens (heftig) - Saturday, 22 February 2020, 00:46 GMT
|
Details
When the linux package is built, the "bzImage", "modules"
and "htmldocs" targets are passed to "make" in the same
invocation. For an SMP build, this means the HTML
documentation will be generated while the kernel is being
compiled. The output displayed during the build process can
be somewhat difficult to discern as a result, since GCC and
Sphinx both produce warnings on individual source code files
that can look similar.
I would suggest invoking make separately for the HTML documentation, so that it is only generated after the kernel compilation is complete. A sample patch to the PKGBUILD file is attached. Thank you! |
This task depends upon
Closed by Jan Alexander Steffens (heftig)
Saturday, 22 February 2020, 00:46 GMT
Reason for closing: Implemented
Additional comments about closing: Changed in trunk
Saturday, 22 February 2020, 00:46 GMT
Reason for closing: Implemented
Additional comments about closing: Changed in trunk
Other generic targets:
all - Build all targets marked with [*]
* vmlinux - Build the bare kernel
* modules - Build all modules
[...]
Architecture specific targets (x86):
* bzImage - Compressed kernel image (arch/x86/boot/bzImage)
In other words, "make all" is the same as "make vmlinux bzImage modules". This is also the same as "make bzImage modules", since the vmlinux target is a dependency of the bzImage target:
https://git.archlinux.org/linux.git/tree/arch/x86/Makefile?h=v5.3.7-arch1#n280
On my system, when I split these into two stages (parallelized kernel build, then parallelized documentation build), it doesn't seem to increase the overall build time, but it makes it a whole lot easier to follow the build process and understand the output when something goes wrong. How does the build time compare on the system that generates the official packages?