Page MenuHomeFreeBSD

cddl/*: add a WITH(OUT)_DTRACE option
ClosedPublic

Authored by brooks on Jul 5 2022, 2:16 PM.

Details

Summary

Add an option to enable/disable dtrace without disabling ZFS. New
architectures such as CHERI may support ZFS before they support dtrace
and the old model of WITHOUT_CDDL disabling both wasn't helpful.

For compatiblity, the CDDL option remains and WITHOUT_CDDL implies
WITHOUT_DTRACE. WITHOUT_DTRACE also implies WITHOUT_CTF.

As part of this change, largely convert cddl/*/Makefile to using the
more compact SUBDIR.${MK_<FOO>}+= form rather than using intermediate
variables.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

brooks requested review of this revision.Jul 5 2022, 2:16 PM
markj added inline comments.
cddl/usr.bin/Makefile
8

I'm not sure this really makes sense. CTF can be used independently of DTrace, though admittedly it doesn't seem to be very common. I don't object.

We do have a WITH_CTF, but that means "include CTF info in all userspace binaries" instead of "build the CTF toolchain". Maybe a WITH_CTF_TOOLCHAIN flag would be the way to go, if it ever seems useful. Does world build if you specify "WITHOUT_DTRACE= WITH_CTF="?

tools/build/options/WITHOUT_DTRACE
2
This revision is now accepted and ready to land.Jul 5 2022, 2:56 PM
cddl/usr.bin/Makefile
8

I waffled a bit on this one and could be persuaded to keep them under MK_CDDL instead. Right now WITHOUT_DTRACE= WITH_CTF= will work because WITHOUT options override WITH options.

brooks marked an inline comment as done.

Fix the name of DTrace

This revision now requires review to proceed.Jul 5 2022, 3:43 PM
markj added inline comments.
cddl/usr.bin/Makefile
8

I see, I missed that MK_DTRACE == "no" forces MK_CTF = "no".

This revision is now accepted and ready to land.Jul 5 2022, 3:49 PM
This revision was automatically updated to reflect the committed changes.