Page MenuHomeFreeBSD

Simplify and speed up the kyua build
ClosedPublic

Authored by arichardson on Jun 30 2021, 5:49 PM.
Tags
None
Referenced Files
F81613698: D30967.diff
Thu, Apr 18, 11:45 PM
Unknown Object (File)
Feb 12 2024, 3:50 PM
Unknown Object (File)
Jan 25 2024, 4:09 AM
Unknown Object (File)
Jan 25 2024, 4:09 AM
Unknown Object (File)
Dec 27 2023, 12:33 PM
Unknown Object (File)
Dec 24 2023, 11:08 PM
Unknown Object (File)
Dec 23 2023, 12:57 AM
Unknown Object (File)
Oct 19 2023, 8:20 PM

Details

Summary

Instead of having multiple kyua libraries, just include the files as part
of usr.bin/kyua. Previously, we would build each kyua source up to four
times: once as a .o file and once as a .pieo. Additionally, the kyua
libraries might be built again for compat32. As all the kyua libraries
amount to 102 C++ sources the build time is significant (especially when
using an assertions enabled compiler).

Test Plan

still compiles

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 40230
Build 37119: arc lint + arc unit

Event Timeline

jrtc27 added inline comments.
usr.bin/kyua/store/Makefile.inc
1–2 ↗(On Diff #91578)

Do you really want this and the one in utils?

usr.bin/kyua/store/Makefile.inc
1–2 ↗(On Diff #91578)

Forgot to delete these two after prefixing all source files with <lib>/ (to resolve the name conflicts)

I guess we could also merge */Makefile.inc to the main makefile, but this change was simpler

I guess we could also merge */Makefile.inc to the main makefile, but this change was simpler

I tend to think they should be merged into the main makefile, but probably with per-library SRCS+= lines to ease updating if new files are added upstream. I don't feel all that strongly though.

This revision is now accepted and ready to land.Jul 1 2021, 5:43 PM
This revision now requires review to proceed.Jul 2 2021, 8:19 AM
This revision was not accepted when it landed; it landed in state Needs Review.Jul 2 2021, 8:29 AM
This revision was automatically updated to reflect the committed changes.