All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] build enhancements related to qemu
@ 2017-03-02  5:13 Juergen Gross
  2017-03-02  5:13 ` [PATCH v2 1/4] stubdom: set xen interface version for stubdom apps using xenctrl.h Juergen Gross
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Juergen Gross @ 2017-03-02  5:13 UTC (permalink / raw)
  To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson, samuel.thibault

Last week I started an effort to use upstream qemu as a replacement
for qemu-trad in ioemu stubdom. This small series addresses some
problems I met in this effort. I believe all modifications are worth
doing regardless whether qemu upstream stubdom will become a reality
or not.

Changes in V2:
- Replaced patch 1
- Updated patch description of patch 3 (Ian Jackson)

Juergen Gross (4):
  stubdom: set xen interface version for stubdom apps using xenctrl.h
  tools: add pkg-config file for libxc
  tools: use a dedicated build directory for qemu
  tools: set pkg-config path when configuring qemu

 .gitignore                   |  4 ++++
 stubdom/Makefile             |  2 ++
 stubdom/ioemu-minios.cfg     |  1 +
 tools/Makefile               | 17 ++++++++++-------
 tools/Rules.mk               | 13 +++++++++++++
 tools/libxc/Makefile         | 22 +++++++++++++++++++++-
 tools/libxc/xencontrol.pc.in |  9 +++++++++
 7 files changed, 60 insertions(+), 8 deletions(-)
 create mode 100644 tools/libxc/xencontrol.pc.in

-- 
2.10.2


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v2 1/4] stubdom: set xen interface version for stubdom apps using xenctrl.h
  2017-03-02  5:13 [PATCH v2 0/4] build enhancements related to qemu Juergen Gross
@ 2017-03-02  5:13 ` Juergen Gross
  2017-03-02 11:42   ` Ian Jackson
  2017-03-02  5:13 ` [PATCH v2 2/4] tools: add pkg-config file for libxc Juergen Gross
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 10+ messages in thread
From: Juergen Gross @ 2017-03-02  5:13 UTC (permalink / raw)
  To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson, samuel.thibault

A stubdom app using xenctrl.h must use the latest interface version of
Xen in order to avoid compatibility issues. Add the related config
item to the stubdom config files where needed.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 stubdom/ioemu-minios.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/stubdom/ioemu-minios.cfg b/stubdom/ioemu-minios.cfg
index d690553..a65baa3 100644
--- a/stubdom/ioemu-minios.cfg
+++ b/stubdom/ioemu-minios.cfg
@@ -1,3 +1,4 @@
 CONFIG_START_NETWORK=n
 CONFIG_QEMU_XS_ARGS=y
 CONFIG_PCIFRONT=y
+XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
-- 
2.10.2


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 2/4] tools: add pkg-config file for libxc
  2017-03-02  5:13 [PATCH v2 0/4] build enhancements related to qemu Juergen Gross
  2017-03-02  5:13 ` [PATCH v2 1/4] stubdom: set xen interface version for stubdom apps using xenctrl.h Juergen Gross
@ 2017-03-02  5:13 ` Juergen Gross
  2017-03-02 11:42   ` Ian Jackson
  2017-03-02 12:29   ` Wei Liu
  2017-03-02  5:13 ` [PATCH v2 3/4] tools: use a dedicated build directory for qemu Juergen Gross
  2017-03-02  5:13 ` [PATCH v2 4/4] tools: set pkg-config path when configuring qemu Juergen Gross
  3 siblings, 2 replies; 10+ messages in thread
From: Juergen Gross @ 2017-03-02  5:13 UTC (permalink / raw)
  To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson, samuel.thibault

When configuring the build of qemu the configure script is building
various test programs to determine the exact version of libxencontrol.

Instead of a try and error approach needing updates for nearly each
new version of Xen just provide xencontrol.pc to be used via
pkg-config.

In the end we need two different variants of that file: one for the
target system where eventually someone wants to build qemu, and one
for the local system to be used for building qemu as part of the Xen
build process.

The local variant is created in a dedicated directory in order to be
able to collect more pkg-config files used for building tools there.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 .gitignore                   |  3 +++
 stubdom/Makefile             |  2 ++
 tools/Makefile               |  3 ++-
 tools/Rules.mk               | 13 +++++++++++++
 tools/libxc/Makefile         | 22 +++++++++++++++++++++-
 tools/libxc/xencontrol.pc.in |  9 +++++++++
 6 files changed, 50 insertions(+), 2 deletions(-)
 create mode 100644 tools/libxc/xencontrol.pc.in

diff --git a/.gitignore b/.gitignore
index 3713b1e..015a189 100644
--- a/.gitignore
+++ b/.gitignore
@@ -79,6 +79,7 @@ stubdom/newlib-1.*
 stubdom/newlib-x86*
 stubdom/ocaml-*
 stubdom/pciutils-*
+stubdom/pkg-config/*
 stubdom/polarssl-*
 stubdom/stubdompath.sh
 stubdom/tpm_emulator-*
@@ -179,6 +180,7 @@ tools/include/xen/*
 tools/include/xen-xsm/*
 tools/include/xen-foreign/*.(c|h|size)
 tools/include/xen-foreign/checker
+tools/libxc/*.pc
 tools/libxl/_libxl.api-for-check
 tools/libxl/*.api-ok
 tools/libxl/*.pc
@@ -204,6 +206,7 @@ tools/misc/xen-hvmctx
 tools/misc/xenlockprof
 tools/misc/lowmemd
 tools/misc/xencov
+tools/pkg-config/*
 tools/xentrace/xenalyze
 tools/pygrub/build/*
 tools/python/build/*
diff --git a/stubdom/Makefile b/stubdom/Makefile
index 39b81c9..c6458e8 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -318,6 +318,7 @@ define do_links
   cd $(dir $@); \
   ln -sf $(dir $<)include/*.h include/; \
   ln -sf $(dir $<)*.[ch] .; \
+  ln -sf $(dir $<)*.pc.in .; \
   ln -sf $(dir $<)Makefile .
   touch $@
 endef
@@ -623,6 +624,7 @@ clean:
 	rm -fr grub-$(XEN_TARGET_ARCH)
 	rm -f $(STUBDOMPATH)
 	rm -f *-minios-config.mk
+	rm -fr pkg-config
 	[ ! -e libs-$(XEN_TARGET_ARCH)/toollog/Makefile ] || $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/toollog clean
 	[ ! -e libs-$(XEN_TARGET_ARCH)/evtchn/Makefile ] || $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/evtchn clean
 	[ ! -e libs-$(XEN_TARGET_ARCH)/gnttab/Makefile ] || $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/gnttab clean
diff --git a/tools/Makefile b/tools/Makefile
index 68633a4..9548ab4 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -111,9 +111,10 @@ uninstall:
 
 .PHONY: clean
 clean: subdirs-clean
+	rm -rf pkg-config
 
 .PHONY: distclean
-distclean: subdirs-distclean
+distclean: subdirs-distclean clean
 	rm -rf qemu-xen-traditional-dir qemu-xen-traditional-dir-remote
 	rm -rf qemu-xen-dir qemu-xen-dir-remote
 	rm -rf ../config/Tools.mk config.h config.log config.status \
diff --git a/tools/Rules.mk b/tools/Rules.mk
index 52bdd1a..e676c6b 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -245,3 +245,16 @@ ifeq (,$(findstring clean,$(MAKECMDGOALS)))
 $(XEN_ROOT)/config/Tools.mk:
 	$(error You have to run ./configure before building or installing the tools)
 endif
+
+$(PKG_CONFIG_DIR)/%.pc: %.pc.in Makefile
+	mkdir -p $(PKG_CONFIG_DIR)
+	@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' < $< > $@
+
+%.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' < $< > $@
diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
index da689c4..a161ba7 100644
--- a/tools/libxc/Makefile
+++ b/tools/libxc/Makefile
@@ -1,4 +1,5 @@
 XEN_ROOT = $(CURDIR)/../..
+PKG_CONFIG_DIR = ../pkg-config
 include $(XEN_ROOT)/tools/Rules.mk
 
 MAJOR    = 4.9
@@ -159,6 +160,22 @@ endif
 $(CTRL_LIB_OBJS) $(GUEST_LIB_OBJS) \
 $(CTRL_PIC_OBJS) $(GUEST_PIC_OBJS): xc_private.h
 
+PKG_CONFIG := xencontrol.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_LIBXC)/include
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
+
 .PHONY: all
 all: build
 
@@ -167,12 +184,13 @@ build:
 	$(MAKE) libs
 
 .PHONY: libs
-libs: $(LIB)
+libs: $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
 
 .PHONY: install
 install: build
 	$(INSTALL_DIR) $(DESTDIR)$(libdir)
 	$(INSTALL_DIR) $(DESTDIR)$(includedir)
+	$(INSTALL_DIR) $(DESTDIR)$(PKG_INSTALLDIR)
 	$(INSTALL_SHLIB) libxenctrl.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
 	$(INSTALL_DATA) libxenctrl.a $(DESTDIR)$(libdir)
 	$(SYMLINK_SHLIB) libxenctrl.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxenctrl.so.$(MAJOR)
@@ -183,6 +201,7 @@ install: build
 	$(SYMLINK_SHLIB) libxenguest.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxenguest.so.$(MAJOR)
 	$(SYMLINK_SHLIB) libxenguest.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenguest.so
 	$(INSTALL_DATA) include/xenguest.h $(DESTDIR)$(includedir)
+	$(INSTALL_DATA) xencontrol.pc $(DESTDIR)$(PKG_INSTALLDIR)
 
 .PHONY: TAGS
 TAGS:
@@ -192,6 +211,7 @@ TAGS:
 clean:
 	rm -rf *.rpm $(LIB) *~ $(DEPS) \
             _paths.h \
+	    xencontrol.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
new file mode 100644
index 0000000..213206f
--- /dev/null
+++ b/tools/libxc/xencontrol.pc.in
@@ -0,0 +1,9 @@
+prefix=@@prefix@@
+includedir=@@incdir@@
+libdir=@@libdir@@
+
+Name: Xencontrol
+Description: The Xencontrol library for Xen hypervisor
+Version: @@version@@
+Cflags: -I${includedir}
+Libs: -L${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] 10+ messages in thread

* [PATCH v2 3/4] tools: use a dedicated build directory for qemu
  2017-03-02  5:13 [PATCH v2 0/4] build enhancements related to qemu Juergen Gross
  2017-03-02  5:13 ` [PATCH v2 1/4] stubdom: set xen interface version for stubdom apps using xenctrl.h Juergen Gross
  2017-03-02  5:13 ` [PATCH v2 2/4] tools: add pkg-config file for libxc Juergen Gross
@ 2017-03-02  5:13 ` Juergen Gross
  2017-03-02  5:13 ` [PATCH v2 4/4] tools: set pkg-config path when configuring qemu Juergen Gross
  3 siblings, 0 replies; 10+ messages in thread
From: Juergen Gross @ 2017-03-02  5:13 UTC (permalink / raw)
  To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson, samuel.thibault

Instead of using the downloaded git tree as target directory for the
qemu build create a dedicated directory for that purpose.

This way it is possible to use the same source directory of qemu to
configure and build qemu upstream in a stubdom environment in future.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 .gitignore     |  1 +
 tools/Makefile | 13 +++++++------
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/.gitignore b/.gitignore
index 015a189..443b12a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -207,6 +207,7 @@ tools/misc/xenlockprof
 tools/misc/lowmemd
 tools/misc/xencov
 tools/pkg-config/*
+tools/qemu-xen-build
 tools/xentrace/xenalyze
 tools/pygrub/build/*
 tools/python/build/*
diff --git a/tools/Makefile b/tools/Makefile
index 9548ab4..99080ab 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -116,7 +116,7 @@ clean: subdirs-clean
 .PHONY: distclean
 distclean: subdirs-distclean clean
 	rm -rf qemu-xen-traditional-dir qemu-xen-traditional-dir-remote
-	rm -rf qemu-xen-dir qemu-xen-dir-remote
+	rm -rf qemu-xen-dir qemu-xen-dir-remote qemu-xen-build
 	rm -rf ../config/Tools.mk config.h config.log config.status \
 		config.cache autom4te.cache
 
@@ -244,9 +244,10 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find
 	if test -d $(QEMU_UPSTREAM_LOC) ; then \
 		source=$(QEMU_UPSTREAM_LOC); \
 	else \
-		source=.; \
+		source=$(XEN_ROOT)/tools/qemu-xen-dir; \
 	fi; \
-	cd qemu-xen-dir; \
+	mkdir -p qemu-xen-build; \
+	cd qemu-xen-build; \
 	if $$source/scripts/tracetool.py --check-backend --backend log ; then \
 		enable_trace_backend='--enable-trace-backend=log'; \
 	elif $$source/scripts/tracetool.py --check-backend --backend stderr ; then \
@@ -299,12 +300,12 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find
 	$(MAKE) all
 
 subdir-install-qemu-xen-dir: subdir-all-qemu-xen-dir
-	cd qemu-xen-dir; \
+	cd qemu-xen-build; \
 	$(MAKE) install
 
 subdir-clean-qemu-xen-dir:
-	set -e; if test -d qemu-xen-dir/.; then \
-		$(MAKE) -C qemu-xen-dir clean; \
+	set -e; if test -d qemu-xen-build/.; then \
+		$(MAKE) -C qemu-xen-build clean; \
 	fi
 
 subdir-clean-debugger/gdbsx subdir-distclean-debugger/gdbsx: .phony
-- 
2.10.2


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 4/4] tools: set pkg-config path when configuring qemu
  2017-03-02  5:13 [PATCH v2 0/4] build enhancements related to qemu Juergen Gross
                   ` (2 preceding siblings ...)
  2017-03-02  5:13 ` [PATCH v2 3/4] tools: use a dedicated build directory for qemu Juergen Gross
@ 2017-03-02  5:13 ` Juergen Gross
  3 siblings, 0 replies; 10+ messages in thread
From: Juergen Gross @ 2017-03-02  5:13 UTC (permalink / raw)
  To: xen-devel; +Cc: Juergen Gross, wei.liu2, ian.jackson, samuel.thibault

When calling configure for qemu provide the local pkg-config directory
in order to let the configure process find the libxenctrl version.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/Makefile b/tools/Makefile
index 99080ab..d6f8ce1 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -255,6 +255,7 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find
 	else \
 		enable_trace_backend='' ; \
 	fi ; \
+	PKG_CONFIG_PATH=$(XEN_ROOT)/tools/pkg-config \
 	$$source/configure --enable-xen --target-list=i386-softmmu \
 		$(QEMU_XEN_ENABLE_DEBUG) \
 		$$enable_trace_backend \
-- 
2.10.2


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 2/4] tools: add pkg-config file for libxc
  2017-03-02  5:13 ` [PATCH v2 2/4] tools: add pkg-config file for libxc Juergen Gross
@ 2017-03-02 11:42   ` Ian Jackson
  2017-03-02 12:29   ` Wei Liu
  1 sibling, 0 replies; 10+ messages in thread
From: Ian Jackson @ 2017-03-02 11:42 UTC (permalink / raw)
  To: Juergen Gross; +Cc: xen-devel, wei.liu2, samuel.thibault

Juergen Gross writes ("[PATCH v2 2/4] tools: add pkg-config file for libxc"):
> Instead of a try and error approach needing updates for nearly each
> new version of Xen just provide xencontrol.pc to be used via
> pkg-config.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

Ian.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 1/4] stubdom: set xen interface version for stubdom apps using xenctrl.h
  2017-03-02  5:13 ` [PATCH v2 1/4] stubdom: set xen interface version for stubdom apps using xenctrl.h Juergen Gross
@ 2017-03-02 11:42   ` Ian Jackson
  0 siblings, 0 replies; 10+ messages in thread
From: Ian Jackson @ 2017-03-02 11:42 UTC (permalink / raw)
  To: Juergen Gross; +Cc: xen-devel, wei.liu2, samuel.thibault

Juergen Gross writes ("[PATCH v2 1/4] stubdom: set xen interface version for stubdom apps using xenctrl.h"):
> A stubdom app using xenctrl.h must use the latest interface version of
> Xen in order to avoid compatibility issues. Add the related config
> item to the stubdom config files where needed.

Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 2/4] tools: add pkg-config file for libxc
  2017-03-02  5:13 ` [PATCH v2 2/4] tools: add pkg-config file for libxc Juergen Gross
  2017-03-02 11:42   ` Ian Jackson
@ 2017-03-02 12:29   ` Wei Liu
  2017-03-02 12:35     ` Juergen Gross
  1 sibling, 1 reply; 10+ messages in thread
From: Wei Liu @ 2017-03-02 12:29 UTC (permalink / raw)
  To: Juergen Gross; +Cc: xen-devel, ian.jackson, wei.liu2, samuel.thibault

On Thu, Mar 02, 2017 at 06:13:16AM +0100, Juergen Gross wrote:
> When configuring the build of qemu the configure script is building
> various test programs to determine the exact version of libxencontrol.
> 
> Instead of a try and error approach needing updates for nearly each
> new version of Xen just provide xencontrol.pc to be used via
> pkg-config.
> 
> In the end we need two different variants of that file: one for the
> target system where eventually someone wants to build qemu, and one
> for the local system to be used for building qemu as part of the Xen
> build process.
> 
> The local variant is created in a dedicated directory in order to be
> able to collect more pkg-config files used for building tools there.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Please consider writing a follow-up patch to at least move
libxenlight.pc and libxlutil.pc there, too. :-)

Wei.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 2/4] tools: add pkg-config file for libxc
  2017-03-02 12:29   ` Wei Liu
@ 2017-03-02 12:35     ` Juergen Gross
  2017-03-02 12:37       ` Wei Liu
  0 siblings, 1 reply; 10+ messages in thread
From: Juergen Gross @ 2017-03-02 12:35 UTC (permalink / raw)
  To: Wei Liu; +Cc: xen-devel, ian.jackson, samuel.thibault

On 02/03/17 13:29, Wei Liu wrote:
> On Thu, Mar 02, 2017 at 06:13:16AM +0100, Juergen Gross wrote:
>> When configuring the build of qemu the configure script is building
>> various test programs to determine the exact version of libxencontrol.
>>
>> Instead of a try and error approach needing updates for nearly each
>> new version of Xen just provide xencontrol.pc to be used via
>> pkg-config.
>>
>> In the end we need two different variants of that file: one for the
>> target system where eventually someone wants to build qemu, and one
>> for the local system to be used for building qemu as part of the Xen
>> build process.
>>
>> The local variant is created in a dedicated directory in order to be
>> able to collect more pkg-config files used for building tools there.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
> 
> Please consider writing a follow-up patch to at least move
> libxenlight.pc and libxlutil.pc there, too. :-)

I'm planning to do this and more:

- add *.pc for all other Xen libraries
- add the library dependencies to the *.pc files
- use the pkg-config files for the Xen build process in order to get
  rid of the lib specific variables in tools/Rules.mk

When this has been done qemu can be switched to use pkg-config files
from Xen 4.9 on. After this (when Xen is using the enhanced qemu
version) we can drop passing the CFLAGS and LDFLAGS to qemu's
configure.


Juergen


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 2/4] tools: add pkg-config file for libxc
  2017-03-02 12:35     ` Juergen Gross
@ 2017-03-02 12:37       ` Wei Liu
  0 siblings, 0 replies; 10+ messages in thread
From: Wei Liu @ 2017-03-02 12:37 UTC (permalink / raw)
  To: Juergen Gross; +Cc: xen-devel, Wei Liu, ian.jackson, samuel.thibault

On Thu, Mar 02, 2017 at 01:35:54PM +0100, Juergen Gross wrote:
> On 02/03/17 13:29, Wei Liu wrote:
> > On Thu, Mar 02, 2017 at 06:13:16AM +0100, Juergen Gross wrote:
> >> When configuring the build of qemu the configure script is building
> >> various test programs to determine the exact version of libxencontrol.
> >>
> >> Instead of a try and error approach needing updates for nearly each
> >> new version of Xen just provide xencontrol.pc to be used via
> >> pkg-config.
> >>
> >> In the end we need two different variants of that file: one for the
> >> target system where eventually someone wants to build qemu, and one
> >> for the local system to be used for building qemu as part of the Xen
> >> build process.
> >>
> >> The local variant is created in a dedicated directory in order to be
> >> able to collect more pkg-config files used for building tools there.
> >>
> >> Signed-off-by: Juergen Gross <jgross@suse.com>
> > 
> > Please consider writing a follow-up patch to at least move
> > libxenlight.pc and libxlutil.pc there, too. :-)
> 
> I'm planning to do this and more:
> 
> - add *.pc for all other Xen libraries
> - add the library dependencies to the *.pc files
> - use the pkg-config files for the Xen build process in order to get
>   rid of the lib specific variables in tools/Rules.mk
> 
> When this has been done qemu can be switched to use pkg-config files
> from Xen 4.9 on. After this (when Xen is using the enhanced qemu
> version) we can drop passing the CFLAGS and LDFLAGS to qemu's
> configure.
> 

Great! Looking forward to more patches!

> 
> Juergen
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-03-02 12:38 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-02  5:13 [PATCH v2 0/4] build enhancements related to qemu Juergen Gross
2017-03-02  5:13 ` [PATCH v2 1/4] stubdom: set xen interface version for stubdom apps using xenctrl.h Juergen Gross
2017-03-02 11:42   ` Ian Jackson
2017-03-02  5:13 ` [PATCH v2 2/4] tools: add pkg-config file for libxc Juergen Gross
2017-03-02 11:42   ` Ian Jackson
2017-03-02 12:29   ` Wei Liu
2017-03-02 12:35     ` Juergen Gross
2017-03-02 12:37       ` Wei Liu
2017-03-02  5:13 ` [PATCH v2 3/4] tools: use a dedicated build directory for qemu Juergen Gross
2017-03-02  5:13 ` [PATCH v2 4/4] tools: set pkg-config path when configuring qemu Juergen Gross

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.