tools lib traceevent: Added support for pkg-config
This patch implements integration with pkg-config framework. pkg-config can be used by the library users to determine required CFLAGS and LDFLAGS in order to use the library Signed-off-by: Tzvetomir Stoyanov <tstoyanov@vmware.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Link: http://lkml.kernel.org/r/20181130154647.022471992@goodmis.org Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
477be10ca7
commit
cc03e1a8f8
|
@ -25,6 +25,7 @@ endef
|
|||
$(call allow-override,CC,$(CROSS_COMPILE)gcc)
|
||||
$(call allow-override,AR,$(CROSS_COMPILE)ar)
|
||||
$(call allow-override,NM,$(CROSS_COMPILE)nm)
|
||||
$(call allow-override,PKG_CONFIG,pkg-config)
|
||||
|
||||
EXT = -std=gnu99
|
||||
INSTALL = install
|
||||
|
@ -47,6 +48,8 @@ prefix ?= /usr/local
|
|||
libdir = $(prefix)/$(libdir_relative)
|
||||
man_dir = $(prefix)/share/man
|
||||
man_dir_SQ = '$(subst ','\'',$(man_dir))'
|
||||
pkgconfig_dir ?= $(word 1,$(shell $(PKG_CONFIG) \
|
||||
--variable pc_path pkg-config | tr ":" " "))
|
||||
|
||||
export man_dir man_dir_SQ INSTALL
|
||||
export DESTDIR DESTDIR_SQ
|
||||
|
@ -270,7 +273,19 @@ define do_generate_dynamic_list_file
|
|||
fi
|
||||
endef
|
||||
|
||||
install_lib: all_cmd install_plugins
|
||||
PKG_CONFIG_FILE = libtraceevent.pc
|
||||
define do_install_pkgconfig_file
|
||||
if [ -n "${pkgconfig_dir}" ]; then \
|
||||
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}; \
|
||||
$(call do_install,$(PKG_CONFIG_FILE),$(pkgconfig_dir),644); \
|
||||
else \
|
||||
(echo Failed to locate pkg-config directory) 1>&2; \
|
||||
fi
|
||||
endef
|
||||
|
||||
install_lib: all_cmd install_plugins install_pkgconfig
|
||||
$(call QUIET_INSTALL, $(LIB_TARGET)) \
|
||||
$(call do_install_mkdir,$(libdir_SQ)); \
|
||||
cp -fpR $(LIB_INSTALL) $(DESTDIR)$(libdir_SQ)
|
||||
|
@ -279,6 +294,10 @@ install_plugins: $(PLUGINS)
|
|||
$(call QUIET_INSTALL, trace_plugins) \
|
||||
$(call do_install_plugins, $(PLUGINS))
|
||||
|
||||
install_pkgconfig:
|
||||
$(call QUIET_INSTALL, $(PKG_CONFIG_FILE)) \
|
||||
$(call do_install_pkgconfig_file,$(prefix))
|
||||
|
||||
install_headers:
|
||||
$(call QUIET_INSTALL, headers) \
|
||||
$(call do_install,event-parse.h,$(prefix)/include/traceevent,644); \
|
||||
|
@ -289,8 +308,9 @@ install: install_lib
|
|||
|
||||
clean:
|
||||
$(call QUIET_CLEAN, libtraceevent) \
|
||||
$(RM) *.o *~ $(TARGETS) *.a *.so $(VERSION_FILES) .*.d .*.cmd \
|
||||
$(RM) TRACEEVENT-CFLAGS tags TAGS
|
||||
$(RM) *.o *~ $(TARGETS) *.a *.so $(VERSION_FILES) .*.d .*.cmd; \
|
||||
$(RM) TRACEEVENT-CFLAGS tags TAGS; \
|
||||
$(RM) $(PKG_CONFIG_FILE)
|
||||
|
||||
PHONY += force plugins
|
||||
force:
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
prefix=INSTALL_PREFIX
|
||||
libdir=${prefix}/lib64
|
||||
includedir=${prefix}/include/traceevent
|
||||
|
||||
Name: libtraceevent
|
||||
URL: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
|
||||
Description: Linux kernel trace event library
|
||||
Version: LIB_VERSION
|
||||
Cflags: -I${includedir}
|
||||
Libs: -L${libdir} -ltraceevent
|
Loading…
Reference in New Issue