* [PATCH 01/16] tools: fix typo in tools/Rules.mk
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-13 16:58 ` Wei Liu
2017-03-08 14:49 ` [PATCH 02/16] tools: add missing library flag definitions Juergen Gross
` (15 subsequent siblings)
16 siblings, 1 reply; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
Commit 78fb69ad9 ("tools/Rules.mk: Properly handle libraries with
recursive dependencies.") introduced a copy and paste error in
tools/Rules.mk:
LDLIBS_libxenstore and SHLIB_libxenstore don't use SHDEPS_libxenstore
but SHDEPS_libxenguest. This will add a superfluous dependency of
libxenstore on libxenevtchn.
Correct this bug.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
tools/Rules.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/Rules.mk b/tools/Rules.mk
index e676c6b..835525a 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -139,8 +139,8 @@ SHLIB_libxenguest = $(SHDEPS_libxenguest) -Wl,-rpath-link=$(XEN_LIBXC)
CFLAGS_libxenstore = -I$(XEN_XENSTORE)/include $(CFLAGS_xeninclude)
SHDEPS_libxenstore =
-LDLIBS_libxenstore = $(SHDEPS_libxenguest) $(XEN_XENSTORE)/libxenstore$(libextension)
-SHLIB_libxenstore = $(SHDEPS_libxenguest) -Wl,-rpath-link=$(XEN_XENSTORE)
+LDLIBS_libxenstore = $(SHDEPS_libxenstore) $(XEN_XENSTORE)/libxenstore$(libextension)
+SHLIB_libxenstore = $(SHDEPS_libxenstore) -Wl,-rpath-link=$(XEN_XENSTORE)
CFLAGS_libxenstat = -I$(XEN_LIBXENSTAT)
SHDEPS_libxenstat = $(SHLIB_libxenctrl) $(SHLIB_libxenstore)
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* Re: [PATCH 01/16] tools: fix typo in tools/Rules.mk
2017-03-08 14:49 ` [PATCH 01/16] tools: fix typo in tools/Rules.mk Juergen Gross
@ 2017-03-13 16:58 ` Wei Liu
0 siblings, 0 replies; 20+ messages in thread
From: Wei Liu @ 2017-03-13 16:58 UTC (permalink / raw)
To: Juergen Gross; +Cc: xen-devel, ian.jackson, wei.liu2
On Wed, Mar 08, 2017 at 03:49:30PM +0100, Juergen Gross wrote:
> Commit 78fb69ad9 ("tools/Rules.mk: Properly handle libraries with
> recursive dependencies.") introduced a copy and paste error in
> tools/Rules.mk:
>
> LDLIBS_libxenstore and SHLIB_libxenstore don't use SHDEPS_libxenstore
> but SHDEPS_libxenguest. This will add a superfluous dependency of
> libxenstore on libxenevtchn.
>
> Correct this bug.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 02/16] tools: add missing library flag definitions
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
2017-03-08 14:49 ` [PATCH 01/16] tools: fix typo in tools/Rules.mk Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-08 14:49 ` [PATCH 03/16] tools, stubdom: set PKG_CONFIG_DIR in main Makefiles Juergen Gross
` (14 subsequent siblings)
16 siblings, 0 replies; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
LDLIBS_* and SHLIB_* settings in tools/Rules.mk are sometimes missing
some SHDEPS_* added to them.
Add the missing flags, even if sometimes being empty.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
tools/Rules.mk | 27 +++++++++++++++------------
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/tools/Rules.mk b/tools/Rules.mk
index 835525a..9bb49af 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -94,13 +94,13 @@ endif
CFLAGS_libxentoollog = -I$(XEN_LIBXENTOOLLOG)/include $(CFLAGS_xeninclude)
SHDEPS_libxentoollog =
-LDLIBS_libxentoollog = $(XEN_LIBXENTOOLLOG)/libxentoollog$(libextension)
-SHLIB_libxentoollog = -Wl,-rpath-link=$(XEN_LIBXENTOOLLOG)
+LDLIBS_libxentoollog = $(SHDEPS_libxentoollog) $(XEN_LIBXENTOOLLOG)/libxentoollog$(libextension)
+SHLIB_libxentoollog = $(SHDEPS_libxentoollog) -Wl,-rpath-link=$(XEN_LIBXENTOOLLOG)
CFLAGS_libxenevtchn = -I$(XEN_LIBXENEVTCHN)/include $(CFLAGS_xeninclude)
SHDEPS_libxenevtchn =
-LDLIBS_libxenevtchn = $(XEN_LIBXENEVTCHN)/libxenevtchn$(libextension)
-SHLIB_libxenevtchn = -Wl,-rpath-link=$(XEN_LIBXENEVTCHN)
+LDLIBS_libxenevtchn = $(SHDEPS_libxenevtchn) $(XEN_LIBXENEVTCHN)/libxenevtchn$(libextension)
+SHLIB_libxenevtchn = $(SHDEPS_libxenevtchn) -Wl,-rpath-link=$(XEN_LIBXENEVTCHN)
CFLAGS_libxengnttab = -I$(XEN_LIBXENGNTTAB)/include $(CFLAGS_xeninclude)
SHDEPS_libxengnttab = $(SHLIB_libxentoollog)
@@ -109,21 +109,24 @@ SHLIB_libxengnttab = $(SHDEPS_libxengnttab) -Wl,-rpath-link=$(XEN_LIBXENGNTTAB)
# xengntshr_* interfaces are actually part of libxengnttab.so
CFLAGS_libxengntshr = -I$(XEN_LIBXENGNTTAB)/include $(CFLAGS_xeninclude)
-LDLIBS_libxengntshr = $(XEN_LIBXENGNTTAB)/libxengnttab$(libextension)
-SHLIB_libxengntshr = -Wl,-rpath-link=$(XEN_LIBXENGNTTAB)
+SHDEPS_libxengntshr = $(SHDEPS_libxengnttab)
+LDLIBS_libxengntshr = $(SHDEPS_libxengntshr) $(XEN_LIBXENGNTTAB)/libxengnttab$(libextension)
+SHLIB_libxengntshr = $(SHDEPS_libxengntshr) -Wl,-rpath-link=$(XEN_LIBXENGNTTAB)
CFLAGS_libxencall = -I$(XEN_LIBXENCALL)/include $(CFLAGS_xeninclude)
-LDLIBS_libxencall = $(XEN_LIBXENCALL)/libxencall$(libextension)
-SHLIB_libxencall = -Wl,-rpath-link=$(XEN_LIBXENCALL)
+SHDEPS_libxencall =
+LDLIBS_libxencall = $(SHDEPS_libxencall) $(XEN_LIBXENCALL)/libxencall$(libextension)
+SHLIB_libxencall = $(SHDEPS_libxencall) -Wl,-rpath-link=$(XEN_LIBXENCALL)
CFLAGS_libxenforeignmemory = -I$(XEN_LIBXENFOREIGNMEMORY)/include $(CFLAGS_xeninclude)
-LDLIBS_libxenforeignmemory = $(XEN_LIBXENFOREIGNMEMORY)/libxenforeignmemory$(libextension)
-SHLIB_libxenforeignmemory = -Wl,-rpath-link=$(XEN_LIBXENFOREIGNMEMORY)
+SHDEPS_libxenforeignmemory =
+LDLIBS_libxenforeignmemory = $(SHDEPS_libxenforeignmemory) $(XEN_LIBXENFOREIGNMEMORY)/libxenforeignmemory$(libextension)
+SHLIB_libxenforeignmemory = $(SHDEPS_libxenforeignmemory) -Wl,-rpath-link=$(XEN_LIBXENFOREIGNMEMORY)
CFLAGS_libxendevicemodel = -I$(XEN_LIBXENDEVICEMODEL)/include $(CFLAGS_xeninclude)
SHDEPS_libxendevicemodel = $(SHLIB_libxentoollog) $(SHLIB_xencall)
-LDLIBS_libxendevicemodel = $(XEN_LIBXENDEVICEMODEL)/libxendevicemodel$(libextension)
-SHLIB_libxendevicemodel = -Wl,-rpath-link=$(XEN_LIBXENDEVICEMODEL)
+LDLIBS_libxendevicemodel = $(SHDEPS_libxendevicemodel) $(XEN_LIBXENDEVICEMODEL)/libxendevicemodel$(libextension)
+SHLIB_libxendevicemodel = $(SHDEPS_libxendevicemodel) -Wl,-rpath-link=$(XEN_LIBXENDEVICEMODEL)
# code which compiles against libxenctrl get __XEN_TOOLS__ and
# therefore sees the unstable hypercall interfaces.
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 03/16] tools, stubdom: set PKG_CONFIG_DIR in main Makefiles
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
2017-03-08 14:49 ` [PATCH 01/16] tools: fix typo in tools/Rules.mk Juergen Gross
2017-03-08 14:49 ` [PATCH 02/16] tools: add missing library flag definitions Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-08 14:49 ` [PATCH 04/16] tools: add support for additional items in .pc files for local builds Juergen Gross
` (13 subsequent siblings)
16 siblings, 0 replies; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
Instead of setting the PKG_CONFIG_DIR make variable in each library
Makefile do it in tools/Makefile and stubdom/Makefile globally.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
stubdom/Makefile | 1 +
tools/Makefile | 3 +++
tools/libxc/Makefile | 1 -
3 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/stubdom/Makefile b/stubdom/Makefile
index c6458e8..54a2bdd 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -3,6 +3,7 @@ MINI_OS = $(XEN_ROOT)/extras/mini-os
export XEN_ROOT
export XEN_OS=MiniOS
+export PKG_CONFIG_DIR = $(CURDIR)/pkg-config
# Remove flags which are meant for tools, e.g. "-m64"
export EXTRA_CFLAGS_XEN_TOOLS=
diff --git a/tools/Makefile b/tools/Makefile
index 85e5ce9..828ee34 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -1,4 +1,7 @@
XEN_ROOT = $(CURDIR)/..
+
+export PKG_CONFIG_DIR = $(CURDIR)/pkg-config
+
include $(XEN_ROOT)/tools/Rules.mk
SUBDIRS-y :=
diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
index a161ba7..b15736c 100644
--- a/tools/libxc/Makefile
+++ b/tools/libxc/Makefile
@@ -1,5 +1,4 @@
XEN_ROOT = $(CURDIR)/../..
-PKG_CONFIG_DIR = ../pkg-config
include $(XEN_ROOT)/tools/Rules.mk
MAJOR = 4.9
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 04/16] tools: add support for additional items in .pc files for local builds
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
` (2 preceding siblings ...)
2017-03-08 14:49 ` [PATCH 03/16] tools, stubdom: set PKG_CONFIG_DIR in main Makefiles Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-08 14:49 ` [PATCH 05/16] tools: provide pkg-config file for libxentoollog Juergen Gross
` (12 subsequent siblings)
16 siblings, 0 replies; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
Some libraries require different compiler-flags when being used in a
local build compared to a build using installed libraries.
Reflect that by supporting local cflags variables in generated
pkg-config files. The local variants will be empty in the installed
pkg-config files.
The flags for the linker in the local variants will have to specify
the search patch for the library with "-Wl,-rpath-link=", while the
flags for the installed library will be "-L".
Add needed directory patterns.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
tools/Rules.mk | 12 ++++++++++--
tools/libxc/xencontrol.pc.in | 2 +-
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/tools/Rules.mk b/tools/Rules.mk
index 9bb49af..8258749 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -254,10 +254,18 @@ $(PKG_CONFIG_DIR)/%.pc: %.pc.in Makefile
@sed -e 's!@@version@@!$(PKG_CONFIG_VERSION)!g' \
-e 's!@@prefix@@!$(PKG_CONFIG_PREFIX)!g' \
-e 's!@@incdir@@!$(PKG_CONFIG_INCDIR)!g' \
- -e 's!@@libdir@@!$(PKG_CONFIG_LIBDIR)!g' < $< > $@
+ -e 's!@@libdir@@!$(PKG_CONFIG_LIBDIR)!g' \
+ -e 's!@@firmwaredir@@!$(XENFIRMWAREDIR)!g' \
+ -e 's!@@libexecbin@@!$(LIBEXEC_BIN)!g' \
+ -e 's!@@cflagslocal@@!$(PKG_CONFIG_CFLAGS_LOCAL)!g' \
+ -e 's!@@libsflag@@!-Wl,-rpath-link=!g' < $< > $@
%.pc: %.pc.in Makefile
@sed -e 's!@@version@@!$(PKG_CONFIG_VERSION)!g' \
-e 's!@@prefix@@!$(PKG_CONFIG_PREFIX)!g' \
-e 's!@@incdir@@!$(PKG_CONFIG_INCDIR)!g' \
- -e 's!@@libdir@@!$(PKG_CONFIG_LIBDIR)!g' < $< > $@
+ -e 's!@@libdir@@!$(PKG_CONFIG_LIBDIR)!g' \
+ -e 's!@@firmwaredir@@!$(XENFIRMWAREDIR)!g' \
+ -e 's!@@libexecbin@@!$(LIBEXEC_BIN)!g' \
+ -e 's!@@cflagslocal@@!!g' \
+ -e 's!@@libsflag@@!-L!g' < $< > $@
diff --git a/tools/libxc/xencontrol.pc.in b/tools/libxc/xencontrol.pc.in
index 213206f..8651bca 100644
--- a/tools/libxc/xencontrol.pc.in
+++ b/tools/libxc/xencontrol.pc.in
@@ -6,4 +6,4 @@ Name: Xencontrol
Description: The Xencontrol library for Xen hypervisor
Version: @@version@@
Cflags: -I${includedir}
-Libs: -L${libdir} -lxenctrl
+Libs: @@libsflag@@${libdir} -lxenctrl
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 05/16] tools: provide pkg-config file for libxentoollog
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
` (3 preceding siblings ...)
2017-03-08 14:49 ` [PATCH 04/16] tools: add support for additional items in .pc files for local builds Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-08 14:49 ` [PATCH 06/16] tools: provide pkg-config file for libxenevtchn Juergen Gross
` (11 subsequent siblings)
16 siblings, 0 replies; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
In order to be able to use pkg-config for obtaining linker- and
compiler-flags provide a xentoollog.pc file.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
.gitignore | 1 +
tools/libs/toollog/Makefile | 20 +++++++++++++++++++-
tools/libs/toollog/xentoollog.pc.in | 9 +++++++++
3 files changed, 29 insertions(+), 1 deletion(-)
create mode 100644 tools/libs/toollog/xentoollog.pc.in
diff --git a/.gitignore b/.gitignore
index 443b12a..374647c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -96,6 +96,7 @@ config/Tools.mk
config/Stubdom.mk
config/Docs.mk
tools/libs/toollog/headers.chk
+tools/libs/toollog/xentoollog.pc
tools/libs/evtchn/headers.chk
tools/libs/gnttab/headers.chk
tools/libs/call/headers.chk
diff --git a/tools/libs/toollog/Makefile b/tools/libs/toollog/Makefile
index fb701be..7361194 100644
--- a/tools/libs/toollog/Makefile
+++ b/tools/libs/toollog/Makefile
@@ -19,6 +19,22 @@ ifneq ($(nosharedlibs),y)
LIB += libxentoollog.so
endif
+PKG_CONFIG := xentoollog.pc
+PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
+
+ifneq ($(CONFIG_LIBXC_MINIOS),y)
+PKG_CONFIG_INST := $(PKG_CONFIG)
+$(PKG_CONFIG_INST): PKG_CONFIG_PREFIX = $(prefix)
+$(PKG_CONFIG_INST): PKG_CONFIG_INCDIR = $(includedir)
+$(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR = $(libdir)
+endif
+
+PKG_CONFIG_LOCAL := $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc))
+
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX = $(XEN_ROOT)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_LIBXENTOOLLOG)/include
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
+
.PHONY: all
all: build
@@ -27,7 +43,7 @@ build:
$(MAKE) libs
.PHONY: libs
-libs: headers.chk $(LIB)
+libs: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
headers.chk: $(wildcard include/*.h)
@@ -51,6 +67,7 @@ install: build
$(SYMLINK_SHLIB) libxentoollog.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxentoollog.so.$(MAJOR)
$(SYMLINK_SHLIB) libxentoollog.so.$(MAJOR) $(DESTDIR)$(libdir)/libxentoollog.so
$(INSTALL_DATA) include/xentoollog.h $(DESTDIR)$(includedir)
+ $(INSTALL_DATA) xentoollog.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: TAGS
TAGS:
@@ -61,6 +78,7 @@ clean:
rm -rf *.rpm $(LIB) *~ $(DEPS) $(LIB_OBJS) $(PIC_OBJS)
rm -f libxentoollog.so.$(MAJOR).$(MINOR) libxentoollog.so.$(MAJOR)
rm -f headers.chk
+ rm -f xentoollog.pc
.PHONY: distclean
distclean: clean
diff --git a/tools/libs/toollog/xentoollog.pc.in b/tools/libs/toollog/xentoollog.pc.in
new file mode 100644
index 0000000..554e4d5
--- /dev/null
+++ b/tools/libs/toollog/xentoollog.pc.in
@@ -0,0 +1,9 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+
+Name: Xentoollog
+Description: The Xentoollog library for Xen hypervisor
+Version: @@version@@
+Cflags: -I${includedir}
+Libs: @@libsflag@@${libdir} -lxentoollog
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 06/16] tools: provide pkg-config file for libxenevtchn
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
` (4 preceding siblings ...)
2017-03-08 14:49 ` [PATCH 05/16] tools: provide pkg-config file for libxentoollog Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-08 14:49 ` [PATCH 07/16] tools: provide pkg-config file for libxengnttab Juergen Gross
` (10 subsequent siblings)
16 siblings, 0 replies; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
In order to be able to use pkg-config for obtaining linker- and
compiler-flags provide a xenevtchn.pc file.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
.gitignore | 1 +
tools/libs/evtchn/Makefile | 21 ++++++++++++++++++++-
tools/libs/evtchn/xenevtchn.pc.in | 10 ++++++++++
3 files changed, 31 insertions(+), 1 deletion(-)
create mode 100644 tools/libs/evtchn/xenevtchn.pc.in
diff --git a/.gitignore b/.gitignore
index 374647c..f4c58f2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -98,6 +98,7 @@ config/Docs.mk
tools/libs/toollog/headers.chk
tools/libs/toollog/xentoollog.pc
tools/libs/evtchn/headers.chk
+tools/libs/evtchn/xenevtchn.pc
tools/libs/gnttab/headers.chk
tools/libs/call/headers.chk
tools/libs/foreignmemory/headers.chk
diff --git a/tools/libs/evtchn/Makefile b/tools/libs/evtchn/Makefile
index 9917864..5da2693 100644
--- a/tools/libs/evtchn/Makefile
+++ b/tools/libs/evtchn/Makefile
@@ -24,6 +24,23 @@ ifneq ($(nosharedlibs),y)
LIB += libxenevtchn.so
endif
+PKG_CONFIG := xenevtchn.pc
+PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
+
+ifneq ($(CONFIG_LIBXC_MINIOS),y)
+PKG_CONFIG_INST := $(PKG_CONFIG)
+$(PKG_CONFIG_INST): PKG_CONFIG_PREFIX = $(prefix)
+$(PKG_CONFIG_INST): PKG_CONFIG_INCDIR = $(includedir)
+$(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR = $(libdir)
+endif
+
+PKG_CONFIG_LOCAL := $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc))
+
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX = $(XEN_ROOT)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_LIBXENEVTCHN)/include
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
+
.PHONY: all
all: build
@@ -32,7 +49,7 @@ build:
$(MAKE) libs
.PHONY: libs
-libs: headers.chk $(LIB)
+libs: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
headers.chk: $(wildcard include/*.h)
@@ -56,6 +73,7 @@ install: build
$(SYMLINK_SHLIB) libxenevtchn.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxenevtchn.so.$(MAJOR)
$(SYMLINK_SHLIB) libxenevtchn.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenevtchn.so
$(INSTALL_DATA) include/xenevtchn.h $(DESTDIR)$(includedir)
+ $(INSTALL_DATA) xenevtchn.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: TAGS
TAGS:
@@ -66,6 +84,7 @@ clean:
rm -rf *.rpm $(LIB) *~ $(DEPS) $(LIB_OBJS) $(PIC_OBJS)
rm -f libxenevtchn.so.$(MAJOR).$(MINOR) libxenevtchn.so.$(MAJOR)
rm -f headers.chk
+ rm -f xenevtchn.pc
.PHONY: distclean
distclean: clean
diff --git a/tools/libs/evtchn/xenevtchn.pc.in b/tools/libs/evtchn/xenevtchn.pc.in
new file mode 100644
index 0000000..da8bf16
--- /dev/null
+++ b/tools/libs/evtchn/xenevtchn.pc.in
@@ -0,0 +1,10 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+
+Name: Xenevtchn
+Description: The Xenevtchn library for Xen hypervisor
+Version: @@version@@
+Cflags: -I${includedir} @@cflagslocal@@
+Libs: @@libsflag@@${libdir} -lxenevtchn
+Requires.private: xentoollog
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 07/16] tools: provide pkg-config file for libxengnttab
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
` (5 preceding siblings ...)
2017-03-08 14:49 ` [PATCH 06/16] tools: provide pkg-config file for libxenevtchn Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-08 14:49 ` [PATCH 08/16] tools: provide pkg-config file for libxencall Juergen Gross
` (9 subsequent siblings)
16 siblings, 0 replies; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
In order to be able to use pkg-config for obtaining linker- and
compiler-flags provide a xengnttab.pc and a xengntshr.pc file.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
.gitignore | 2 ++
tools/libs/gnttab/Makefile | 22 +++++++++++++++++++++-
tools/libs/gnttab/xengntshr.pc.in | 8 ++++++++
tools/libs/gnttab/xengnttab.pc.in | 10 ++++++++++
4 files changed, 41 insertions(+), 1 deletion(-)
create mode 100644 tools/libs/gnttab/xengntshr.pc.in
create mode 100644 tools/libs/gnttab/xengnttab.pc.in
diff --git a/.gitignore b/.gitignore
index f4c58f2..3223f94 100644
--- a/.gitignore
+++ b/.gitignore
@@ -100,6 +100,8 @@ tools/libs/toollog/xentoollog.pc
tools/libs/evtchn/headers.chk
tools/libs/evtchn/xenevtchn.pc
tools/libs/gnttab/headers.chk
+tools/libs/gnttab/xengntshr.pc
+tools/libs/gnttab/xengnttab.pc
tools/libs/call/headers.chk
tools/libs/foreignmemory/headers.chk
tools/libs/devicemodel/headers.chk
diff --git a/tools/libs/gnttab/Makefile b/tools/libs/gnttab/Makefile
index 6a77f21..d4841c2 100644
--- a/tools/libs/gnttab/Makefile
+++ b/tools/libs/gnttab/Makefile
@@ -26,6 +26,23 @@ ifneq ($(nosharedlibs),y)
LIB += libxengnttab.so
endif
+PKG_CONFIG := xengnttab.pc xengntshr.pc
+PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
+
+ifneq ($(CONFIG_LIBXC_MINIOS),y)
+PKG_CONFIG_INST := $(PKG_CONFIG)
+$(PKG_CONFIG_INST): PKG_CONFIG_PREFIX = $(prefix)
+$(PKG_CONFIG_INST): PKG_CONFIG_INCDIR = $(includedir)
+$(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR = $(libdir)
+endif
+
+PKG_CONFIG_LOCAL := $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc))
+
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX = $(XEN_ROOT)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_LIBXENGNTTAB)/include
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
+
.PHONY: all
all: build
@@ -34,7 +51,7 @@ build:
$(MAKE) libs
.PHONY: libs
-libs: headers.chk $(LIB)
+libs: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
headers.chk: $(wildcard include/*.h)
@@ -58,6 +75,8 @@ install: build
$(SYMLINK_SHLIB) libxengnttab.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxengnttab.so.$(MAJOR)
$(SYMLINK_SHLIB) libxengnttab.so.$(MAJOR) $(DESTDIR)$(libdir)/libxengnttab.so
$(INSTALL_DATA) include/xengnttab.h $(DESTDIR)$(includedir)
+ $(INSTALL_DATA) xengnttab.pc $(DESTDIR)$(PKG_INSTALLDIR)
+ $(INSTALL_DATA) xengntshr.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: TAGS
TAGS:
@@ -68,6 +87,7 @@ clean:
rm -rf *.rpm $(LIB) *~ $(DEPS) $(LIB_OBJS) $(PIC_OBJS)
rm -f libxengnttab.so.$(MAJOR).$(MINOR) libxengnttab.so.$(MAJOR)
rm -f headers.chk
+ rm -f xengnttab.pc xengntshr.pc
.PHONY: distclean
distclean: clean
diff --git a/tools/libs/gnttab/xengntshr.pc.in b/tools/libs/gnttab/xengntshr.pc.in
new file mode 100644
index 0000000..1eb58c2
--- /dev/null
+++ b/tools/libs/gnttab/xengntshr.pc.in
@@ -0,0 +1,8 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+
+Name: Xengntshr
+Description: The Xengntshr library for Xen hypervisor
+Version: @@version@@
+Requires: xengnttab
diff --git a/tools/libs/gnttab/xengnttab.pc.in b/tools/libs/gnttab/xengnttab.pc.in
new file mode 100644
index 0000000..51aad22
--- /dev/null
+++ b/tools/libs/gnttab/xengnttab.pc.in
@@ -0,0 +1,10 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+
+Name: Xengnttab
+Description: The Xengnttab library for Xen hypervisor
+Version: @@version@@
+Cflags: -I${includedir} @@cflagslocal@@
+Libs: @@libsflag@@${libdir} -lxengnttab
+Requires.private: xentoollog
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 08/16] tools: provide pkg-config file for libxencall
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
` (6 preceding siblings ...)
2017-03-08 14:49 ` [PATCH 07/16] tools: provide pkg-config file for libxengnttab Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-08 14:49 ` [PATCH 09/16] tools: provide pkg-config file for libxenforeignmemory Juergen Gross
` (8 subsequent siblings)
16 siblings, 0 replies; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
In order to be able to use pkg-config for obtaining linker- and
compiler-flags provide a xencall.pc file.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
.gitignore | 1 +
tools/libs/call/Makefile | 21 ++++++++++++++++++++-
tools/libs/call/xencall.pc.in | 10 ++++++++++
tools/libs/evtchn/Makefile | 1 -
tools/libs/evtchn/xenevtchn.pc.in | 2 +-
5 files changed, 32 insertions(+), 3 deletions(-)
create mode 100644 tools/libs/call/xencall.pc.in
diff --git a/.gitignore b/.gitignore
index 3223f94..86b003f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -103,6 +103,7 @@ tools/libs/gnttab/headers.chk
tools/libs/gnttab/xengntshr.pc
tools/libs/gnttab/xengnttab.pc
tools/libs/call/headers.chk
+tools/libs/call/xencall.pc
tools/libs/foreignmemory/headers.chk
tools/libs/devicemodel/headers.chk
tools/blktap2/daemon/blktapctrl
diff --git a/tools/libs/call/Makefile b/tools/libs/call/Makefile
index 9402ea5..30f8437 100644
--- a/tools/libs/call/Makefile
+++ b/tools/libs/call/Makefile
@@ -24,6 +24,23 @@ ifneq ($(nosharedlibs),y)
LIB += libxencall.so
endif
+PKG_CONFIG := xencall.pc
+PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
+
+ifneq ($(CONFIG_LIBXC_MINIOS),y)
+PKG_CONFIG_INST := $(PKG_CONFIG)
+$(PKG_CONFIG_INST): PKG_CONFIG_PREFIX = $(prefix)
+$(PKG_CONFIG_INST): PKG_CONFIG_INCDIR = $(includedir)
+$(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR = $(libdir)
+endif
+
+PKG_CONFIG_LOCAL := $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc))
+
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX = $(XEN_ROOT)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_LIBXENCALL)/include
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
+
.PHONY: all
all: build
@@ -32,7 +49,7 @@ build:
$(MAKE) libs
.PHONY: libs
-libs: headers.chk $(LIB)
+libs: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
headers.chk: $(wildcard include/*.h)
@@ -56,6 +73,7 @@ install: build
$(SYMLINK_SHLIB) libxencall.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxencall.so.$(MAJOR)
$(SYMLINK_SHLIB) libxencall.so.$(MAJOR) $(DESTDIR)$(libdir)/libxencall.so
$(INSTALL_DATA) include/xencall.h $(DESTDIR)$(includedir)
+ $(INSTALL_DATA) xencall.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: TAGS
TAGS:
@@ -66,6 +84,7 @@ clean:
rm -rf *.rpm $(LIB) *~ $(DEPS) $(LIB_OBJS) $(PIC_OBJS)
rm -f libxencall.so.$(MAJOR).$(MINOR) libxencall.so.$(MAJOR)
rm -f headers.chk
+ rm -f xencall.pc
.PHONY: distclean
distclean: clean
diff --git a/tools/libs/call/xencall.pc.in b/tools/libs/call/xencall.pc.in
new file mode 100644
index 0000000..475c133
--- /dev/null
+++ b/tools/libs/call/xencall.pc.in
@@ -0,0 +1,10 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+
+Name: Xencall
+Description: The Xencall library for Xen hypervisor
+Version: @@version@@
+Cflags: -I${includedir} @@cflagslocal@@
+Libs: @@libsflag@@${libdir} -lxencall
+Requires.private: xentoollog
diff --git a/tools/libs/evtchn/Makefile b/tools/libs/evtchn/Makefile
index 5da2693..cbd4219 100644
--- a/tools/libs/evtchn/Makefile
+++ b/tools/libs/evtchn/Makefile
@@ -39,7 +39,6 @@ PKG_CONFIG_LOCAL := $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc))
$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX = $(XEN_ROOT)
$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_LIBXENEVTCHN)/include
$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
-$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
.PHONY: all
all: build
diff --git a/tools/libs/evtchn/xenevtchn.pc.in b/tools/libs/evtchn/xenevtchn.pc.in
index da8bf16..c74af1e 100644
--- a/tools/libs/evtchn/xenevtchn.pc.in
+++ b/tools/libs/evtchn/xenevtchn.pc.in
@@ -5,6 +5,6 @@ libdir=@@libdir@@
Name: Xenevtchn
Description: The Xenevtchn library for Xen hypervisor
Version: @@version@@
-Cflags: -I${includedir} @@cflagslocal@@
+Cflags: -I${includedir}
Libs: @@libsflag@@${libdir} -lxenevtchn
Requires.private: xentoollog
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 09/16] tools: provide pkg-config file for libxenforeignmemory
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
` (7 preceding siblings ...)
2017-03-08 14:49 ` [PATCH 08/16] tools: provide pkg-config file for libxencall Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-08 14:49 ` [PATCH 10/16] tools: provide pkg-config file for libxendevicemodel Juergen Gross
` (7 subsequent siblings)
16 siblings, 0 replies; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
In order to be able to use pkg-config for obtaining linker- and
compiler-flags provide a xenforeignmemory.pc file.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
.gitignore | 1 +
tools/libs/foreignmemory/Makefile | 21 ++++++++++++++++++++-
tools/libs/foreignmemory/xenforeignmemory.pc.in | 10 ++++++++++
3 files changed, 31 insertions(+), 1 deletion(-)
create mode 100644 tools/libs/foreignmemory/xenforeignmemory.pc.in
diff --git a/.gitignore b/.gitignore
index 86b003f..9a1ced7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -105,6 +105,7 @@ tools/libs/gnttab/xengnttab.pc
tools/libs/call/headers.chk
tools/libs/call/xencall.pc
tools/libs/foreignmemory/headers.chk
+tools/libs/foreignmemory/xenforeignmemory.pc
tools/libs/devicemodel/headers.chk
tools/blktap2/daemon/blktapctrl
tools/blktap2/drivers/img2qcow
diff --git a/tools/libs/foreignmemory/Makefile b/tools/libs/foreignmemory/Makefile
index f062f45..55677e8 100644
--- a/tools/libs/foreignmemory/Makefile
+++ b/tools/libs/foreignmemory/Makefile
@@ -24,6 +24,23 @@ ifneq ($(nosharedlibs),y)
LIB += libxenforeignmemory.so
endif
+PKG_CONFIG := xenforeignmemory.pc
+PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
+
+ifneq ($(CONFIG_LIBXC_MINIOS),y)
+PKG_CONFIG_INST := $(PKG_CONFIG)
+$(PKG_CONFIG_INST): PKG_CONFIG_PREFIX = $(prefix)
+$(PKG_CONFIG_INST): PKG_CONFIG_INCDIR = $(includedir)
+$(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR = $(libdir)
+endif
+
+PKG_CONFIG_LOCAL := $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc))
+
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX = $(XEN_ROOT)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_LIBXENFOREIGNMEMORY)/include
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
+
.PHONY: all
all: build
@@ -32,7 +49,7 @@ build:
$(MAKE) libs
.PHONY: libs
-libs: headers.chk $(LIB)
+libs: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
headers.chk: $(wildcard include/*.h)
@@ -56,6 +73,7 @@ install: build
$(SYMLINK_SHLIB) libxenforeignmemory.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxenforeignmemory.so.$(MAJOR)
$(SYMLINK_SHLIB) libxenforeignmemory.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenforeignmemory.so
$(INSTALL_DATA) include/xenforeignmemory.h $(DESTDIR)$(includedir)
+ $(INSTALL_DATA) xenforeignmemory.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: TAGS
TAGS:
@@ -66,6 +84,7 @@ clean:
rm -rf *.rpm $(LIB) *~ $(DEPS) $(LIB_OBJS) $(PIC_OBJS)
rm -f libxenforeignmemory.so.$(MAJOR).$(MINOR) libxenforeignmemory.so.$(MAJOR)
rm -f headers.chk
+ rm -f xenforeignmemory.pc
.PHONY: distclean
distclean: clean
diff --git a/tools/libs/foreignmemory/xenforeignmemory.pc.in b/tools/libs/foreignmemory/xenforeignmemory.pc.in
new file mode 100644
index 0000000..63432dc
--- /dev/null
+++ b/tools/libs/foreignmemory/xenforeignmemory.pc.in
@@ -0,0 +1,10 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+
+Name: Xenforeignmemory
+Description: The Xenforeignmemory library for Xen hypervisor
+Version: @@version@@
+Cflags: -I${includedir} @@cflagslocal@@
+Libs: @@libsflag@@${libdir} -lxenforeignmemory
+Requires.private: xentoollog
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 10/16] tools: provide pkg-config file for libxendevicemodel
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
` (8 preceding siblings ...)
2017-03-08 14:49 ` [PATCH 09/16] tools: provide pkg-config file for libxenforeignmemory Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-08 14:49 ` [PATCH 11/16] tools: provide pkg-config file for libxenguest, update the one for libxenctrl Juergen Gross
` (6 subsequent siblings)
16 siblings, 0 replies; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
In order to be able to use pkg-config for obtaining linker- and
compiler-flags provide a xendevicemodel.pc file.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
.gitignore | 1 +
tools/libs/devicemodel/Makefile | 21 ++++++++++++++++++++-
tools/libs/devicemodel/xendevicemodel.pc.in | 10 ++++++++++
3 files changed, 31 insertions(+), 1 deletion(-)
create mode 100644 tools/libs/devicemodel/xendevicemodel.pc.in
diff --git a/.gitignore b/.gitignore
index 9a1ced7..eb33788 100644
--- a/.gitignore
+++ b/.gitignore
@@ -107,6 +107,7 @@ tools/libs/call/xencall.pc
tools/libs/foreignmemory/headers.chk
tools/libs/foreignmemory/xenforeignmemory.pc
tools/libs/devicemodel/headers.chk
+tools/libs/devicemodel/xendevicemodel.pc
tools/blktap2/daemon/blktapctrl
tools/blktap2/drivers/img2qcow
tools/blktap2/drivers/lock-util
diff --git a/tools/libs/devicemodel/Makefile b/tools/libs/devicemodel/Makefile
index 1803942..55626a5 100644
--- a/tools/libs/devicemodel/Makefile
+++ b/tools/libs/devicemodel/Makefile
@@ -25,6 +25,23 @@ ifneq ($(nosharedlibs),y)
LIB += libxendevicemodel.so
endif
+PKG_CONFIG := xendevicemodel.pc
+PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
+
+ifneq ($(CONFIG_LIBXC_MINIOS),y)
+PKG_CONFIG_INST := $(PKG_CONFIG)
+$(PKG_CONFIG_INST): PKG_CONFIG_PREFIX = $(prefix)
+$(PKG_CONFIG_INST): PKG_CONFIG_INCDIR = $(includedir)
+$(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR = $(libdir)
+endif
+
+PKG_CONFIG_LOCAL := $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc))
+
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX = $(XEN_ROOT)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_LIBXENDEVICEMODEL)/include
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
+
.PHONY: all
all: build
@@ -33,7 +50,7 @@ build:
$(MAKE) libs
.PHONY: libs
-libs: headers.chk $(LIB)
+libs: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
headers.chk: $(wildcard include/*.h)
@@ -57,6 +74,7 @@ install: build
$(SYMLINK_SHLIB) libxendevicemodel.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxendevicemodel.so.$(MAJOR)
$(SYMLINK_SHLIB) libxendevicemodel.so.$(MAJOR) $(DESTDIR)$(libdir)/libxendevicemodel.so
$(INSTALL_DATA) include/xendevicemodel.h $(DESTDIR)$(includedir)
+ $(INSTALL_DATA) xendevicemodel.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: TAGS
TAGS:
@@ -67,6 +85,7 @@ clean:
rm -rf *.rpm $(LIB) *~ $(DEPS) $(LIB_OBJS) $(PIC_OBJS)
rm -f libxendevicemodel.so.$(MAJOR).$(MINOR) libxendevicemodel.so.$(MAJOR)
rm -f headers.chk
+ rm -f xendevicemodel.pc
.PHONY: distclean
distclean: clean
diff --git a/tools/libs/devicemodel/xendevicemodel.pc.in b/tools/libs/devicemodel/xendevicemodel.pc.in
new file mode 100644
index 0000000..ed08f83
--- /dev/null
+++ b/tools/libs/devicemodel/xendevicemodel.pc.in
@@ -0,0 +1,10 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+
+Name: Xendevicemodel
+Description: The Xendevicemodel library for Xen hypervisor
+Version: @@version@@
+Cflags: -I${includedir} @@cflagslocal@@
+Libs: @@libsflag@@${libdir} -lxendevicemodel
+Requires.private: xentoollog,xencall
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 11/16] tools: provide pkg-config file for libxenguest, update the one for libxenctrl
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
` (9 preceding siblings ...)
2017-03-08 14:49 ` [PATCH 10/16] tools: provide pkg-config file for libxendevicemodel Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-08 14:49 ` [PATCH 12/16] tools: provide pkg-config file for libxenstore Juergen Gross
` (5 subsequent siblings)
16 siblings, 0 replies; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
In order to be able to use pkg-config for obtaining linker- and
compiler-flags provide a xenguest.pc file.
Update the xencontrol.pc file to reflect the dependencies of libxenctrl.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
tools/libxc/Makefile | 6 ++++--
tools/libxc/xencontrol.pc.in | 3 ++-
tools/libxc/xenguest.pc.in | 10 ++++++++++
3 files changed, 16 insertions(+), 3 deletions(-)
create mode 100644 tools/libxc/xenguest.pc.in
diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
index b15736c..0732a9f 100644
--- a/tools/libxc/Makefile
+++ b/tools/libxc/Makefile
@@ -159,7 +159,7 @@ endif
$(CTRL_LIB_OBJS) $(GUEST_LIB_OBJS) \
$(CTRL_PIC_OBJS) $(GUEST_PIC_OBJS): xc_private.h
-PKG_CONFIG := xencontrol.pc
+PKG_CONFIG := xencontrol.pc xenguest.pc
PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
ifneq ($(CONFIG_LIBXC_MINIOS),y)
@@ -174,6 +174,7 @@ PKG_CONFIG_LOCAL := $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc))
$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX = $(XEN_ROOT)
$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_LIBXC)/include
$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
.PHONY: all
all: build
@@ -201,6 +202,7 @@ install: build
$(SYMLINK_SHLIB) libxenguest.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenguest.so
$(INSTALL_DATA) include/xenguest.h $(DESTDIR)$(includedir)
$(INSTALL_DATA) xencontrol.pc $(DESTDIR)$(PKG_INSTALLDIR)
+ $(INSTALL_DATA) xenguest.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: TAGS
TAGS:
@@ -210,7 +212,7 @@ TAGS:
clean:
rm -rf *.rpm $(LIB) *~ $(DEPS) \
_paths.h \
- xencontrol.pc \
+ xencontrol.pc xenguest.pc \
$(CTRL_LIB_OBJS) $(CTRL_PIC_OBJS) \
$(GUEST_LIB_OBJS) $(GUEST_PIC_OBJS)
diff --git a/tools/libxc/xencontrol.pc.in b/tools/libxc/xencontrol.pc.in
index 8651bca..fdc2530 100644
--- a/tools/libxc/xencontrol.pc.in
+++ b/tools/libxc/xencontrol.pc.in
@@ -5,5 +5,6 @@ libdir=@@libdir@@
Name: Xencontrol
Description: The Xencontrol library for Xen hypervisor
Version: @@version@@
-Cflags: -I${includedir}
+Cflags: -I${includedir} @@cflagslocal@@
Libs: @@libsflag@@${libdir} -lxenctrl
+Requires.private: xenevtchn,xengnttab,xengntshr,xencall,xenforeignmemory,xendevicemodel,xentoollog
diff --git a/tools/libxc/xenguest.pc.in b/tools/libxc/xenguest.pc.in
new file mode 100644
index 0000000..225ac0b
--- /dev/null
+++ b/tools/libxc/xenguest.pc.in
@@ -0,0 +1,10 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+
+Name: Xenguest
+Description: The Xenguest library for Xen hypervisor
+Version: @@version@@
+Cflags: -I${includedir}
+Libs: @@libsflag@@${libdir} -lxenguest
+Requires.private: xentoollog,xencall,xenforeignmemory,xenevtchn
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 12/16] tools: provide pkg-config file for libxenstore
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
` (10 preceding siblings ...)
2017-03-08 14:49 ` [PATCH 11/16] tools: provide pkg-config file for libxenguest, update the one for libxenctrl Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-08 14:49 ` [PATCH 13/16] tools: provide pkg-config file for libxenstat Juergen Gross
` (4 subsequent siblings)
16 siblings, 0 replies; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
In order to be able to use pkg-config for obtaining linker- and
compiler-flags provide a xenstore.pc file.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
.gitignore | 1 +
tools/xenstore/Makefile | 21 +++++++++++++++++++++
tools/xenstore/xenstore.pc.in | 10 ++++++++++
3 files changed, 32 insertions(+)
create mode 100644 tools/xenstore/xenstore.pc.in
diff --git a/.gitignore b/.gitignore
index eb33788..b6859cf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -254,6 +254,7 @@ tools/xenstore/xenstore-control
tools/xenstore/xenstore-ls
tools/xenstore/xenstored
tools/xenstore/xenstored_test
+tools/xenstore/xenstore.pc
tools/xenstore/xs_tdb_dump
tools/xentrace/xentrace_setsize
tools/xentrace/tbctl
diff --git a/tools/xenstore/Makefile b/tools/xenstore/Makefile
index bdca108..c4f9cde 100644
--- a/tools/xenstore/Makefile
+++ b/tools/xenstore/Makefile
@@ -105,12 +105,32 @@ libxenstore.so.$(MAJOR).$(MINOR): xs.opic xs_lib.opic
libxenstore.a: xs.o xs_lib.o
$(AR) rcs $@ $^
+PKG_CONFIG := xenstore.pc
+PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
+
+ifneq ($(CONFIG_LIBXC_MINIOS),y)
+PKG_CONFIG_INST := $(PKG_CONFIG)
+$(PKG_CONFIG_INST): PKG_CONFIG_PREFIX = $(prefix)
+$(PKG_CONFIG_INST): PKG_CONFIG_INCDIR = $(includedir)
+$(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR = $(libdir)
+endif
+
+PKG_CONFIG_LOCAL := $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc))
+
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX = $(XEN_ROOT)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_XENSTORE)/include
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
+
+$(LIBXENSTORE): $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
+
.PHONY: clean
clean:
rm -f *.a *.o *.opic *.so* xenstored_probes.h
rm -f xenstored xs_random xs_stress xs_crashme
rm -f xs_tdb_dump xenstore-control init-xenstore-domain
rm -f xenstore $(CLIENTS)
+ rm -f xenstore.pc
$(RM) $(DEPS)
.PHONY: distclean
@@ -150,6 +170,7 @@ endif
$(INSTALL_DATA) include/compat/xs_lib.h $(DESTDIR)$(includedir)/xenstore-compat/xs_lib.h
ln -sf xenstore-compat/xs.h $(DESTDIR)$(includedir)/xs.h
ln -sf xenstore-compat/xs_lib.h $(DESTDIR)$(includedir)/xs_lib.h
+ $(INSTALL_DATA) xenstore.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: clients-install
clients-install: clients
diff --git a/tools/xenstore/xenstore.pc.in b/tools/xenstore/xenstore.pc.in
new file mode 100644
index 0000000..45dc6b0
--- /dev/null
+++ b/tools/xenstore/xenstore.pc.in
@@ -0,0 +1,10 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+
+Name: Xenstore
+Description: The Xenstore library for Xen hypervisor
+Version: @@version@@
+Cflags: -I${includedir} @@cflagslocal@@
+Libs: @@libsflag@@${libdir} -lxenstore
+Requires.private: xenevtchn,xencontrol,xengnttab
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 13/16] tools: provide pkg-config file for libxenstat
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
` (11 preceding siblings ...)
2017-03-08 14:49 ` [PATCH 12/16] tools: provide pkg-config file for libxenstore Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-14 12:08 ` Wei Liu
2017-03-08 14:49 ` [PATCH 14/16] tools: provide pkg-config file for libxenvchan Juergen Gross
` (3 subsequent siblings)
16 siblings, 1 reply; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
In order to be able to use pkg-config for obtaining linker- and
compiler-flags provide a xenstat.pc file.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
.gitignore | 1 +
tools/xenstat/libxenstat/Makefile | 20 +++++++++++++++++++-
tools/xenstat/libxenstat/xenstat.pc.in | 10 ++++++++++
3 files changed, 30 insertions(+), 1 deletion(-)
create mode 100644 tools/xenstat/libxenstat/xenstat.pc.in
diff --git a/.gitignore b/.gitignore
index b6859cf..fbea839 100644
--- a/.gitignore
+++ b/.gitignore
@@ -241,6 +241,7 @@ tools/xenmon/xentrace_setmask
tools/xenmon/xenbaked
tools/xenpaging/xenpaging
tools/xenpmd/xenpmd
+tools/xenstat/libxenstat/xenstat.pc
tools/xenstat/libxenstat/src/_paths.h
tools/xenstat/xentop/xentop
tools/xenstore/xenstore
diff --git a/tools/xenstat/libxenstat/Makefile b/tools/xenstat/libxenstat/Makefile
index 213d998..85cec63 100644
--- a/tools/xenstat/libxenstat/Makefile
+++ b/tools/xenstat/libxenstat/Makefile
@@ -37,8 +37,24 @@ CFLAGS+=-Isrc $(CFLAGS_libxenctrl) $(CFLAGS_libxenstore) $(CFLAGS_xeninclude) -i
LDLIBS-y = $(LDLIBS_libxenstore) $(LDLIBS_libxenctrl)
LDLIBS-$(CONFIG_SunOS) += -lkstat
+PKG_CONFIG := xenstat.pc
+PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
+
+ifneq ($(CONFIG_LIBXC_MINIOS),y)
+PKG_CONFIG_INST := $(PKG_CONFIG)
+$(PKG_CONFIG_INST): PKG_CONFIG_PREFIX = $(prefix)
+$(PKG_CONFIG_INST): PKG_CONFIG_INCDIR = $(includedir)
+$(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR = $(libdir)
+endif
+
+PKG_CONFIG_LOCAL := $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc))
+
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX = $(XEN_ROOT)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_LIBXENSTAT)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
+
.PHONY: all
-all: $(LIB) $(SHLIB) $(SHLIB_LINKS)
+all: $(LIB) $(SHLIB) $(SHLIB_LINKS) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
$(OBJECTS-y): src/_paths.h
@@ -63,6 +79,7 @@ install: all
$(INSTALL_PROG) src/libxenstat.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
ln -sf libxenstat.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxenstat.so.$(MAJOR)
ln -sf libxenstat.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenstat.so
+ $(INSTALL_DATA) xenstat.pc $(DESTDIR)$(PKG_INSTALLDIR)
PYLIB=bindings/swig/python/_xenstat.so
PYMOD=bindings/swig/python/xenstat.py
@@ -138,6 +155,7 @@ endif
clean:
rm -f $(LIB) $(SHLIB) $(SHLIB_LINKS) $(OBJECTS-y) \
$(BINDINGS) $(BINDINGSRC) $(DEPS) src/_paths.h
+ rm -f xenstat.pc
.PHONY: distclean
distclean: clean
diff --git a/tools/xenstat/libxenstat/xenstat.pc.in b/tools/xenstat/libxenstat/xenstat.pc.in
new file mode 100644
index 0000000..ad00577
--- /dev/null
+++ b/tools/xenstat/libxenstat/xenstat.pc.in
@@ -0,0 +1,10 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+
+Name: Xenstat
+Description: The Xenstat library for Xen hypervisor
+Version: @@version@@
+Cflags: -I${includedir}
+Libs: @@libsflag@@${libdir} -lxenstat
+Requires.private: xencontrol,xenstore
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* Re: [PATCH 13/16] tools: provide pkg-config file for libxenstat
2017-03-08 14:49 ` [PATCH 13/16] tools: provide pkg-config file for libxenstat Juergen Gross
@ 2017-03-14 12:08 ` Wei Liu
0 siblings, 0 replies; 20+ messages in thread
From: Wei Liu @ 2017-03-14 12:08 UTC (permalink / raw)
To: Juergen Gross; +Cc: xen-devel, ian.jackson, wei.liu2
On Wed, Mar 08, 2017 at 03:49:42PM +0100, Juergen Gross wrote:
> In order to be able to use pkg-config for obtaining linker- and
> compiler-flags provide a xenstat.pc file.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> .gitignore | 1 +
> tools/xenstat/libxenstat/Makefile | 20 +++++++++++++++++++-
> tools/xenstat/libxenstat/xenstat.pc.in | 10 ++++++++++
> 3 files changed, 30 insertions(+), 1 deletion(-)
> create mode 100644 tools/xenstat/libxenstat/xenstat.pc.in
>
> diff --git a/.gitignore b/.gitignore
> index b6859cf..fbea839 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -241,6 +241,7 @@ tools/xenmon/xentrace_setmask
> tools/xenmon/xenbaked
> tools/xenpaging/xenpaging
> tools/xenpmd/xenpmd
> +tools/xenstat/libxenstat/xenstat.pc
> tools/xenstat/libxenstat/src/_paths.h
Minor nit: the ordering is wrong. Will try to rectify this while
committing.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 14/16] tools: provide pkg-config file for libxenvchan
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
` (12 preceding siblings ...)
2017-03-08 14:49 ` [PATCH 13/16] tools: provide pkg-config file for libxenstat Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-08 14:49 ` [PATCH 15/16] tools: provide pkg-config file for libxenblktapctl Juergen Gross
` (2 subsequent siblings)
16 siblings, 0 replies; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
In order to be able to use pkg-config for obtaining linker- and
compiler-flags provide a xenvchan.pc file.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
.gitignore | 1 +
tools/libvchan/Makefile | 21 ++++++++++++++++++++-
tools/libvchan/xenvchan.pc.in | 10 ++++++++++
3 files changed, 31 insertions(+), 1 deletion(-)
create mode 100644 tools/libvchan/xenvchan.pc.in
diff --git a/.gitignore b/.gitignore
index fbea839..67d66e2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -187,6 +187,7 @@ tools/include/xen/*
tools/include/xen-xsm/*
tools/include/xen-foreign/*.(c|h|size)
tools/include/xen-foreign/checker
+tools/libvchan/xenvchan.pc
tools/libxc/*.pc
tools/libxl/_libxl.api-for-check
tools/libxl/*.api-ok
diff --git a/tools/libvchan/Makefile b/tools/libvchan/Makefile
index df70cf2..b816eb7 100644
--- a/tools/libvchan/Makefile
+++ b/tools/libvchan/Makefile
@@ -21,8 +21,25 @@ CFLAGS += -I../include -I.
io.o io.opic: CFLAGS += $(CFLAGS_libxenctrl) # for xen_mb et al
+PKG_CONFIG := xenvchan.pc
+PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
+
+ifneq ($(CONFIG_LIBXC_MINIOS),y)
+PKG_CONFIG_INST := $(PKG_CONFIG)
+$(PKG_CONFIG_INST): PKG_CONFIG_PREFIX = $(prefix)
+$(PKG_CONFIG_INST): PKG_CONFIG_INCDIR = $(includedir)
+$(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR = $(libdir)
+endif
+
+PKG_CONFIG_LOCAL := $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc))
+
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX = $(XEN_ROOT)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_LIBVCHAN)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
+
.PHONY: all
-all: libxenvchan.so vchan-node1 vchan-node2 libxenvchan.a
+all: libxenvchan.so vchan-node1 vchan-node2 libxenvchan.a $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
libxenvchan.so: libxenvchan.so.$(MAJOR)
ln -sf $< $@
@@ -51,10 +68,12 @@ install: all
ln -sf libxenvchan.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenvchan.so
$(INSTALL_DATA) libxenvchan.h $(DESTDIR)$(includedir)
$(INSTALL_DATA) libxenvchan.a $(DESTDIR)$(libdir)
+ $(INSTALL_DATA) xenvchan.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: clean
clean:
$(RM) -f *.o *.opic *.so* *.a vchan-node1 vchan-node2 $(DEPS)
+ $(RM) -f xenvchan.pc
distclean: clean
diff --git a/tools/libvchan/xenvchan.pc.in b/tools/libvchan/xenvchan.pc.in
new file mode 100644
index 0000000..605e42b
--- /dev/null
+++ b/tools/libvchan/xenvchan.pc.in
@@ -0,0 +1,10 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+
+Name: Xenvchan
+Description: The Xenvchan library for Xen hypervisor
+Version: @@version@@
+Cflags: -I${includedir} @@cflagslocal@@
+Libs: @@libsflag@@${libdir} -lxenvchan
+Requires.private: xentoollog,xenstore,xengntshr,xenevtchn,xengnttab
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 15/16] tools: provide pkg-config file for libxenblktapctl
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
` (13 preceding siblings ...)
2017-03-08 14:49 ` [PATCH 14/16] tools: provide pkg-config file for libxenvchan Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-08 14:49 ` [PATCH 16/16] tools: adapt xenlight.pc and xlutil.pc to new pkg-config scheme Juergen Gross
2017-03-14 12:09 ` [PATCH 00/16] tools: provide pkg-config files for all libs Wei Liu
16 siblings, 0 replies; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
In order to be able to use pkg-config for obtaining linker- and
compiler-flags provide a xenblktapctl.pc file.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
.gitignore | 1 +
tools/blktap2/control/Makefile | 23 +++++++++++++++++++++--
tools/blktap2/control/xenblktapctl.pc.in | 9 +++++++++
3 files changed, 31 insertions(+), 2 deletions(-)
create mode 100644 tools/blktap2/control/xenblktapctl.pc.in
diff --git a/.gitignore b/.gitignore
index 67d66e2..8606ba1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -108,6 +108,7 @@ tools/libs/foreignmemory/headers.chk
tools/libs/foreignmemory/xenforeignmemory.pc
tools/libs/devicemodel/headers.chk
tools/libs/devicemodel/xendevicemodel.pc
+tools/blktap2/control/xenblktapctl.pc
tools/blktap2/daemon/blktapctrl
tools/blktap2/drivers/img2qcow
tools/blktap2/drivers/lock-util
diff --git a/tools/blktap2/control/Makefile b/tools/blktap2/control/Makefile
index 767f52a..0d731f7 100644
--- a/tools/blktap2/control/Makefile
+++ b/tools/blktap2/control/Makefile
@@ -41,9 +41,26 @@ LIB_STATIC = $(LIBNAME).a
LIB_SHARED = $(LIBSONAME).$(MINOR)
IBIN = tap-ctl
+PKG_CONFIG := xenblktapctl.pc
+PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
+
+ifneq ($(CONFIG_LIBXC_MINIOS),y)
+PKG_CONFIG_INST := $(PKG_CONFIG)
+$(PKG_CONFIG_INST): PKG_CONFIG_PREFIX = $(prefix)
+$(PKG_CONFIG_INST): PKG_CONFIG_INCDIR = $(includedir)
+$(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR = $(libdir)
+endif
+
+PKG_CONFIG_LOCAL := $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc))
+
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX = $(XEN_ROOT)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_BLKTAP2)/include
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude) $(CFLAGS_libxenctrl)
+
all: build
-build: $(IBIN) $(LIB_STATIC) $(LIB_SHARED)
+build: $(IBIN) $(LIB_STATIC) $(LIB_SHARED) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
$(LIBNAME).so: $(LIBSONAME)
ln -sf $< $@
@@ -60,18 +77,20 @@ $(LIB_STATIC): $(CTL_OBJS)
$(LIB_SHARED): $(CTL_PICS)
$(CC) $(LDFLAGS) -fPIC -Wl,$(SONAME_LDFLAG) -Wl,$(LIBSONAME) $(SHLIB_LDFLAGS) -rdynamic $^ -o $@ $(APPEND_LDFLAGS)
-install: $(IBIN) $(LIB_STATIC) $(LIB_SHARED)
+install: build
$(INSTALL_DIR) -p $(DESTDIR)$(sbindir)
$(INSTALL_PROG) $(IBIN) $(DESTDIR)$(sbindir)
$(INSTALL_DATA) $(LIB_STATIC) $(DESTDIR)$(libdir)
$(INSTALL_PROG) $(LIB_SHARED) $(DESTDIR)$(libdir)
ln -sf $(LIBSONAME) $(DESTDIR)$(libdir)/$(LIBNAME).so
ln -sf $(LIB_SHARED) $(DESTDIR)$(libdir)/$(LIBSONAME)
+ $(INSTALL_DATA) xenblktapctl.pc $(DESTDIR)$(PKG_INSTALLDIR)
clean:
rm -f $(OBJS) $(PICS) $(DEPS) $(IBIN) $(LIB_STATIC) $(LIB_SHARED)
rm -f $(LIBNAME).so $(LIBSONAME)
rm -f *~
+ rm -f xenblktapctl.pc
distclean: clean
diff --git a/tools/blktap2/control/xenblktapctl.pc.in b/tools/blktap2/control/xenblktapctl.pc.in
new file mode 100644
index 0000000..81d2747
--- /dev/null
+++ b/tools/blktap2/control/xenblktapctl.pc.in
@@ -0,0 +1,9 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+
+Name: Xenblktapctl
+Description: The Xenblktapctl library for Xen hypervisor
+Version: @@version@@
+Cflags: -I${includedir} @@cflagslocal@@
+Libs: @@libsflag@@${libdir} -lxenblktapctl
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 16/16] tools: adapt xenlight.pc and xlutil.pc to new pkg-config scheme
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
` (14 preceding siblings ...)
2017-03-08 14:49 ` [PATCH 15/16] tools: provide pkg-config file for libxenblktapctl Juergen Gross
@ 2017-03-08 14:49 ` Juergen Gross
2017-03-14 12:09 ` [PATCH 00/16] tools: provide pkg-config files for all libs Wei Liu
16 siblings, 0 replies; 20+ messages in thread
From: Juergen Gross @ 2017-03-08 14:49 UTC (permalink / raw)
To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson
Instead of generating the *.pc.in files at configure time use the new
pkg-config scheme for those files. Add the dependencies to other Xen
libraries as needed.
Signed-off-by: Juergen Gross <jgross@suse.com>
---
.gitignore | 1 -
tools/configure | 4 +---
tools/configure.ac | 2 --
tools/libxl/Makefile | 25 ++++++++++++++++++++-----
tools/libxl/xenlight.pc.in | 12 ++++++++++++
tools/libxl/xenlight.pc.in.in | 11 -----------
tools/libxl/xlutil.pc.in | 10 ++++++++++
tools/libxl/xlutil.pc.in.in | 9 ---------
8 files changed, 43 insertions(+), 31 deletions(-)
create mode 100644 tools/libxl/xenlight.pc.in
delete mode 100644 tools/libxl/xenlight.pc.in.in
create mode 100644 tools/libxl/xlutil.pc.in
delete mode 100644 tools/libxl/xlutil.pc.in.in
diff --git a/.gitignore b/.gitignore
index 8606ba1..62012ef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -193,7 +193,6 @@ tools/libxc/*.pc
tools/libxl/_libxl.api-for-check
tools/libxl/*.api-ok
tools/libxl/*.pc
-tools/libxl/*.pc.in
tools/libxl/dsdt*
tools/libxl/libxlu_cfg_y.output
tools/libxl/mk_dsdt
diff --git a/tools/configure b/tools/configure
index 851e0f0..7a57e65 100755
--- a/tools/configure
+++ b/tools/configure
@@ -2411,7 +2411,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
-ac_config_files="$ac_config_files ../config/Tools.mk hotplug/FreeBSD/rc.d/xencommons hotplug/FreeBSD/rc.d/xendriverdomain hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/sysconfig.xendomains hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/init.d/xendriverdomain hotplug/Linux/launch-xenstore hotplug/Linux/vif-setup hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons hotplug/NetBSD/rc.d/xendriverdomain libxl/xenlight.pc.in libxl/xlutil.pc.in ocaml/xenstored/oxenstored.conf"
+ac_config_files="$ac_config_files ../config/Tools.mk hotplug/FreeBSD/rc.d/xencommons hotplug/FreeBSD/rc.d/xendriverdomain hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/sysconfig.xendomains hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/init.d/xendriverdomain hotplug/Linux/launch-xenstore hotplug/Linux/vif-setup hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons hotplug/NetBSD/rc.d/xendriverdomain ocaml/xenstored/oxenstored.conf"
ac_config_headers="$ac_config_headers config.h"
@@ -10415,8 +10415,6 @@ do
"hotplug/Linux/xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/xendomains" ;;
"hotplug/NetBSD/rc.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/NetBSD/rc.d/xencommons" ;;
"hotplug/NetBSD/rc.d/xendriverdomain") CONFIG_FILES="$CONFIG_FILES hotplug/NetBSD/rc.d/xendriverdomain" ;;
- "libxl/xenlight.pc.in") CONFIG_FILES="$CONFIG_FILES libxl/xenlight.pc.in" ;;
- "libxl/xlutil.pc.in") CONFIG_FILES="$CONFIG_FILES libxl/xlutil.pc.in" ;;
"ocaml/xenstored/oxenstored.conf") CONFIG_FILES="$CONFIG_FILES ocaml/xenstored/oxenstored.conf" ;;
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
"hotplug/Linux/systemd/proc-xen.mount") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/systemd/proc-xen.mount" ;;
diff --git a/tools/configure.ac b/tools/configure.ac
index 28a539c..307998d 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -21,8 +21,6 @@ hotplug/Linux/xen-hotplug-common.sh
hotplug/Linux/xendomains
hotplug/NetBSD/rc.d/xencommons
hotplug/NetBSD/rc.d/xendriverdomain
-libxl/xenlight.pc.in
-libxl/xlutil.pc.in
ocaml/xenstored/oxenstored.conf
])
AC_CONFIG_HEADERS([config.h])
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index f00d9ef..2524f57 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -189,6 +189,25 @@ SAVE_HELPER_OBJS = libxl_save_helper.o _libxl_save_msgs_helper.o
$(SAVE_HELPER_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenevtchn)
PKG_CONFIG = xenlight.pc xlutil.pc
+PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
+
+ifneq ($(CONFIG_LIBXC_MINIOS),y)
+PKG_CONFIG_INST := $(PKG_CONFIG)
+xenlight.pc: PKG_CONFIG_VERSION = $(MAJOR).$(MINOR)
+xlutil.pc: PKG_CONFIG_VERSION = $(XLUMAJOR).$(XLUMINOR)
+$(PKG_CONFIG_INST): PKG_CONFIG_PREFIX = $(prefix)
+$(PKG_CONFIG_INST): PKG_CONFIG_INCDIR = $(includedir)
+$(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR = $(libdir)
+endif
+
+PKG_CONFIG_LOCAL := $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc))
+
+$(PKG_CONFIG_DIR)/xenlight.pc: PKG_CONFIG_VERSION = $(MAJOR).$(MINOR)
+$(PKG_CONFIG_DIR)/xlutil.pc: PKG_CONFIG_VERSION = $(XLUMAJOR).$(XLUMINOR)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX = $(XEN_ROOT)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(CURDIR)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
testidl.o: CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenlight)
testidl.c: libxl_types.idl gentest.py libxl.h $(AUTOINCS)
@@ -196,7 +215,7 @@ testidl.c: libxl_types.idl gentest.py libxl.h $(AUTOINCS)
mv testidl.c.new testidl.c
.PHONY: all
-all: $(CLIENTS) $(TEST_PROGS) $(PKG_CONFIG) \
+all: $(CLIENTS) $(TEST_PROGS) $(PKG_CONFIG) $(PKG_CONFIG_LOCAL) \
libxenlight.so libxenlight.a libxlutil.so libxlutil.a \
$(AUTOSRCS) $(AUTOINCS)
@@ -290,10 +309,6 @@ libxl-save-helper: $(SAVE_HELPER_OBJS) libxenlight.so
testidl: testidl.o libxlutil.so libxenlight.so
$(CC) $(LDFLAGS) -o $@ testidl.o libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxentoollog) $(APPEND_LDFLAGS)
-$(PKG_CONFIG): % : %.in Makefile
- @sed -e 's/@@version@@/$(MAJOR).$(MINOR)/g' < $< > $@.new
- @mv -f $@.new $@
-
.PHONY: install
install: all
$(INSTALL_DIR) $(DESTDIR)$(libdir)
diff --git a/tools/libxl/xenlight.pc.in b/tools/libxl/xenlight.pc.in
new file mode 100644
index 0000000..71d093a
--- /dev/null
+++ b/tools/libxl/xenlight.pc.in
@@ -0,0 +1,12 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+xenfirmwaredir=@@firmwaredir@@
+libexec_bin=@@libexecbin@@
+
+Name: Xenlight
+Description: The Xenlight library for Xen hypervisor
+Version: @@version@@
+Cflags: -I${includedir}
+Libs: @@libsflag@@${libdir} -lxenlight
+Requires.private: xentoollog,xenevtchn,xenctrl,xenguest,xenstore,blktapctl
diff --git a/tools/libxl/xenlight.pc.in.in b/tools/libxl/xenlight.pc.in.in
deleted file mode 100644
index c27872e..0000000
--- a/tools/libxl/xenlight.pc.in.in
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=@prefix@
-includedir=@includedir@
-libdir=@libdir@
-xenfirmwaredir=@XENFIRMWAREDIR@
-libexec_bin=@LIBEXEC_BIN@
-
-Name: Xenlight
-Description: The Xenlight library for Xen hypervisor
-Version: @@version@@
-Cflags: -I${includedir}
-Libs: -L${libdir} -lxenlight
diff --git a/tools/libxl/xlutil.pc.in b/tools/libxl/xlutil.pc.in
new file mode 100644
index 0000000..cdd98fb
--- /dev/null
+++ b/tools/libxl/xlutil.pc.in
@@ -0,0 +1,10 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+
+Name: Xlutil
+Description: The xl utility library for Xen hypervisor
+Version: @@version@@
+Cflags: -I${includedir}
+Libs: @@libsflag@@${libdir} -lxlutil
+Requires.private: xenlight
diff --git a/tools/libxl/xlutil.pc.in.in b/tools/libxl/xlutil.pc.in.in
deleted file mode 100644
index e7dc14d..0000000
--- a/tools/libxl/xlutil.pc.in.in
+++ /dev/null
@@ -1,9 +0,0 @@
-prefix=@prefix@
-includedir=@includedir@
-libdir=@libdir@
-
-Name: Xlutil
-Description: The xl utility library for Xen hypervisor
-Version: @@version@@
-Cflags: -I${includedir}
-Libs: -L${libdir} -lxlutil
--
2.10.2
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 20+ messages in thread* Re: [PATCH 00/16] tools: provide pkg-config files for all libs
2017-03-08 14:49 [PATCH 00/16] tools: provide pkg-config files for all libs Juergen Gross
` (15 preceding siblings ...)
2017-03-08 14:49 ` [PATCH 16/16] tools: adapt xenlight.pc and xlutil.pc to new pkg-config scheme Juergen Gross
@ 2017-03-14 12:09 ` Wei Liu
16 siblings, 0 replies; 20+ messages in thread
From: Wei Liu @ 2017-03-14 12:09 UTC (permalink / raw)
To: Juergen Gross; +Cc: xen-devel, ian.jackson, wei.liu2
On Wed, Mar 08, 2017 at 03:49:29PM +0100, Juergen Gross wrote:
> To help consumers of the Xen libraries (e.g. qemu) to use correct
> flags when building provide pkg-config files for all libraries of
> Xen.
>
> The first 2 patches correct some flags used by the Xen internal build
> system. The build process wasn't producing wrong results, but this was
> just pure luck as no flags were missing when building some libraries,
> but they came partially from other variables then they were meant to.
>
> Patches 3 and 4 set the stage for generating the pkg-config files.
>
> The rest of the patches are one for each directory where at least
> one library is being built. Especially patch 16 is modifying the way
> the already existing pkg-config files for libxenlight and libxlutil
> are being built to fit into the new scheme.
>
> Even if not necessary right now I have added stubdom support for all
> libraries, not only the ones which are really used in stubdom
> environment.
>
>
> Juergen Gross (16):
> tools: fix typo in tools/Rules.mk
> tools: add missing library flag definitions
> tools,stubdom: set PKG_CONFIG_DIR in main Makefiles
> tools: add support for additional items in .pc files for local builds
> tools: provide pkg-config file for libxentoollog
> tools: provide pkg-config file for libxenevtchn
> tools: provide pkg-config file for libxengnttab
> tools: provide pkg-config file for libxencall
> tools: provide pkg-config file for libxenforeignmemory
> tools: provide pkg-config file for libxendevicemodel
> tools: provide pkg-config file for libxenguest, update the one for
> libxenctrl
> tools: provide pkg-config file for libxenstore
> tools: provide pkg-config file for libxenstat
> tools: provide pkg-config file for libxenvchan
> tools: provide pkg-config file for libxenblktapctl
> tools: adapt xenlight.pc and xlutil.pc to new pkg-config scheme
Series:
Acked-by: Wei Liu <wei.liu2@citrix.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 20+ messages in thread