[DTrace-devel] [PATCH v2 6/9] build: add a pkg-config file for dtrace consumers: use it

Kris Van Hees kris.van.hees at oracle.com
Fri Aug 2 05:30:41 UTC 2024


On Thu, Aug 01, 2024 at 02:21:53PM +0100, Nick Alcock wrote:
> 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>

Reviewed-by: Kris Van Hees <kris.van.hees 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 cc9703e12c16..817f4a90487d 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 feafa21369f2..7948e9f2d084 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 000000000000..58aa46fc75c9
> --- /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.46.0.277.ge12b8151ed



More information about the DTrace-devel mailing list