[DTrace-devel] [PATCH 6/9] build: add a pkg-config file for dtrace consumers: use it
Nick Alcock
nick.alcock at oracle.com
Fri May 31 18:59:25 UTC 2024
This lets you relocate the include path anywhere you like: users of
<dtrace.h> et al should invoke $(pkg-config --cflags dtrace) and
$(pkg-config --libs dtrace) to get the dtrace consumer header directory and
-ldtrace invocation for linking.
Signed-off-by: Nick Alcock <nick.alcock at oracle.com>
---
runtest.sh | 2 +-
uts/Build | 10 ++++++----
uts/dtrace.pc.in | 8 ++++++++
3 files changed, 15 insertions(+), 5 deletions(-)
create mode 100644 uts/dtrace.pc.in
diff --git a/runtest.sh b/runtest.sh
index cc9703e12c161..817f4a90487d9 100755
--- a/runtest.sh
+++ b/runtest.sh
@@ -579,7 +579,7 @@ else
dtrace="/usr/sbin/dtrace"
test_libdir="installed"
test_ldflags=""
- test_cppflags="-DARCH_$arch $(pkg-config --cflags dtrace_sdt)"
+ test_cppflags="-DARCH_$arch $(pkg-config --cflags dtrace_sdt) $(pkg-config --cflags dtrace)"
if [[ ! -x $dtrace ]]; then
echo "$dtrace not available." >&2
diff --git a/uts/Build b/uts/Build
index feafa21369f2e..7948e9f2d084b 100644
--- a/uts/Build
+++ b/uts/Build
@@ -22,7 +22,7 @@ PROBE_HEADERS_INSTALL := common/sys/sdt.h \
# The pkg-config files undergo a few translations with sed before installation.
-SHARE_PKG_CONFIG_INSTALL := dtrace_sdt.pc
+SHARE_PKG_CONFIG_INSTALL := dtrace.pc dtrace_sdt.pc
install::
mkdir -p $(INSTINCLUDEDIR)/sys
@@ -34,7 +34,9 @@ install::
mkdir -p $(INSTPKGCONFIGDIR)
$(call describe-install-target,$(INSTPKGCONFIGDIR),$(SHARE_PKG_CONFIG_INSTALL))
for name in $(SHARE_PKG_CONFIG_INSTALL); do \
- cd $(uts_DIR) && \
- sed 's, at SDTINCLUDEDIR@,$(SDTINCLUDEDIR),g; s, at VERSION@,$(VERSION),g' < \
- $${name}.in > $(INSTPKGCONFIGDIR)/$$name; \
+ (cd $(uts_DIR) && \
+ sed -e 's, at SDTINCLUDEDIR@,$(SDTINCLUDEDIR),g;' \
+ -e 's, at INCLUDEDIR@,$(INCLUDEDIR),g;' \
+ -e 's, at VERSION@,$(VERSION),g' < \
+ $${name}.in > $(INSTPKGCONFIGDIR)/$$name;) \
done
diff --git a/uts/dtrace.pc.in b/uts/dtrace.pc.in
new file mode 100644
index 0000000000000..58aa46fc75c9d
--- /dev/null
+++ b/uts/dtrace.pc.in
@@ -0,0 +1,8 @@
+includedir = @INCLUDEDIR@
+libdir = @LIBDIR@
+
+Name: DTrace
+Description: DTrace consumer headers
+Version: @VERSION@
+Cflags: -I${includedir}
+Libs: -L${libdir} -ldtrace
--
2.45.1.275.g567cb0950c
More information about the DTrace-devel
mailing list