2019-04-19 01:18:19

by Steven Rostedt

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


From: Tzvetomir Stoyanov <[email protected]>

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/[email protected]

Signed-off-by: Tzvetomir Stoyanov <[email protected]>
Signed-off-by: Steven Rostedt (VMware) <[email protected]>
---
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
--
2.20.1


2019-04-24 12:48:52

by Steven Rostedt

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


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 <[email protected]> wrote:

> From: Tzvetomir Stoyanov <[email protected]>
>
> 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/[email protected]
>
> Signed-off-by: Tzvetomir Stoyanov <[email protected]>
> Signed-off-by: Steven Rostedt (VMware) <[email protected]>
> ---
> 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

2019-04-24 13:59:25

by Arnaldo Carvalho de Melo

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

Em Wed, Apr 24, 2019 at 08:47:22AM -0400, Steven Rostedt escreveu:
>
> Hi Arnaldo,
>
> Just making sure this doesn't get lost in the noise ;-)
>
> Can you pull this in?

Its already in my local repo, that I just pushed out, thanks!

- Arnaldo


> -- Steve
>
>
> On Thu, 18 Apr 2019 21:15:56 -0400
> Steven Rostedt <[email protected]> wrote:
>
> > From: Tzvetomir Stoyanov <[email protected]>
> >
> > 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/[email protected]
> >
> > Signed-off-by: Tzvetomir Stoyanov <[email protected]>
> > Signed-off-by: Steven Rostedt (VMware) <[email protected]>
> > ---
> > 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