Re: [PATCH] tools/lib/traceevent: Remove hardcoded install paths from pkg-config file

Steven Rostedt
2019-04-24T12:47:27Z

Hi Arnaldo,

Just making sure this doesn't get lost in the noise ;-)

Can you pull this in?

-- Steve

On Thu, 18 Apr 2019 21:15:56 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> From: Tzvetomir Stoyanov <tstoyanov@vmware.com>
>
> Install directories of header and library files are hardcoded in pkg-config
> templete file. They must be configurable, the Makefile should set them on the
> compilation / install stage.
>
> Link: http://lkml.kernel.org/r/20190329144546.5819-1-tstoyanov@vmware.com
>
> Signed-off-by: Tzvetomir Stoyanov <tstoyanov@vmware.com>
> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
> ---
> tools/lib/traceevent/Makefile | 13 +++++++++----
> tools/lib/traceevent/libtraceevent.pc.template | 4 ++--
> 2 files changed, 11 insertions(+), 6 deletions(-)
>
> diff --git a/tools/lib/traceevent/Makefile b/tools/lib/traceevent/Makefile
> index 941761d9923d..34cf33a4f001 100644
> --- a/tools/lib/traceevent/Makefile
> +++ b/tools/lib/traceevent/Makefile
> @@ -50,6 +50,9 @@ man_dir = $(prefix)/share/man
> man_dir_SQ = '$(subst ','\'',$(man_dir))'
> pkgconfig_dir ?= $(word 1,$(shell $(PKG_CONFIG) \
> --variable pc_path pkg-config | tr ":" " "))
> +includedir_relative = traceevent
> +includedir = $(prefix)/include/$(includedir_relative)
> +includedir_SQ = '$(subst ','\'',$(includedir))'
>
> export man_dir man_dir_SQ INSTALL
> export DESTDIR DESTDIR_SQ
> @@ -279,6 +282,8 @@ define do_install_pkgconfig_file
> cp -f ${PKG_CONFIG_FILE}.template ${PKG_CONFIG_FILE}; \
> sed -i "s|INSTALL_PREFIX|${1}|g" ${PKG_CONFIG_FILE}; \
> sed -i "s|LIB_VERSION|${EVENT_PARSE_VERSION}|g" ${PKG_CONFIG_FILE}; \
> + sed -i "s|LIB_DIR|${libdir}|g" ${PKG_CONFIG_FILE}; \
> + sed -i "s|HEADER_DIR|$(includedir)|g" ${PKG_CONFIG_FILE}; \
> $(call do_install,$(PKG_CONFIG_FILE),$(pkgconfig_dir),644); \
> else \
> (echo Failed to locate pkg-config directory) 1>&2; \
> @@ -300,10 +305,10 @@ install_pkgconfig:
>
> install_headers:
> $(call QUIET_INSTALL, headers) \
> - $(call do_install,event-parse.h,$(prefix)/include/traceevent,644); \
> - $(call do_install,event-utils.h,$(prefix)/include/traceevent,644); \
> - $(call do_install,trace-seq.h,$(prefix)/include/traceevent,644); \
> - $(call do_install,kbuffer.h,$(prefix)/include/traceevent,644)
> + $(call do_install,event-parse.h,$(DESTDIR)$(includedir_SQ),644); \
> + $(call do_install,event-utils.h,$(DESTDIR)$(includedir_SQ),644); \
> + $(call do_install,trace-seq.h,$(DESTDIR)$(includedir_SQ),644); \
> + $(call do_install,kbuffer.h,$(DESTDIR)$(includedir_SQ),644)
>
> install: install_lib
>
> diff --git a/tools/lib/traceevent/libtraceevent.pc.template b/tools/lib/traceevent/libtraceevent.pc.template
> index 42e4d6cb6b9e..86384fcd57f1 100644
> --- a/tools/lib/traceevent/libtraceevent.pc.template
> +++ b/tools/lib/traceevent/libtraceevent.pc.template
> @@ -1,6 +1,6 @@
> prefix=INSTALL_PREFIX
> -libdir=${prefix}/lib64
> -includedir=${prefix}/include/traceevent
> +libdir=LIB_DIR
> +includedir=HEADER_DIR
>
> Name: libtraceevent
> URL: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git