[DTrace-devel] [PATCH v3 0/9] improve build configurability
Nick Alcock
nick.alcock at oracle.com
Fri Jan 26 13:58:40 UTC 2024
This series improves the build system, letting you override the results
of all Makeconfig tests, making it a tiny bit more likely that cross-
compilation will succeed (though since it is still untested, only a
*bit* more likely), and implementing a configure script so that you
can avoid having to specify Make variable assignments over and
over again.
A couple of possible configurable values are missing, mostly because they're
not in the top-level makefile and thus cannot be overridden by this
mechanism (notably KERNELDIRPREFIX and KERNELDIRSUFFIX): these have recently
changed name, and can be added to this machinery once that goes in.
We also fix a number of bugs related to needless reinvocation of configure
tests, re-execution of can-never-change commands, etc: these had no effect
but performance before, but now they can accidentally overwrite
configure-specified test results the bug has become observable.
This series is also pushed to
https://github.com/oracle/dtrace-utils nix/review/configury
The dtrace userspace this series applies atop is found at
https://github.com/oracle/dtrace-utils devel
DTrace should work against unmodified upstream kernels now, but some
features work better with a couple of patches and with natively-built CTF. A
kernel tree that does that is here (do a make ctf after building, and a
make ctf_install after make modules_install):
https://github.com/oracle/dtrace-linux-kernel devel/v2/6.6/dtrace
Changes since v2:
- fix the no-options-provided case
- filter out function arguments from help text
- fix some spelling errors
- reduce code duplication
- respect $CC everywhere other than the testsuite
- shuffle a couple of commits around for clarity
- drop the gcc -dumpmachine change for now
Nick Alcock (9):
build: overridable configuration variables
build: support make help-overrides and make help-options
build: avoid building config.mk unnecessarily
build: avoid needless re-executions
build: only touch .dir.stamp if it doesn't already exist
build: force regeneration of config.{h,mk} when configure options
change
build: support make help-overrides-option and help-overrides-header
build: add configure script
build: consistently respect CC env var if set
GNUmakefile | 89 ++++++++++++---------
Makeconfig | 156 +++++++++++++++++++++++++++++--------
Makeoptions | 19 +++--
README.md | 15 ++--
configure | 181 +++++++++++++++++++++++++++++++++++++++++++
libproc/mkoffsets.sh | 2 +-
6 files changed, 382 insertions(+), 80 deletions(-)
create mode 100755 configure
base-commit: 347ad8afa3a13135641ea2e6c73692d1743254be
--
2.43.0.272.gce700b77fd
More information about the DTrace-devel
mailing list