diff mbox

[Xen-devel] do not add tools/xenstore, libxc to the include path to configure qemu-xen

Message ID alpine.DEB.2.02.1407101207510.29039@kaball.uk.xensource.com
State New
Headers show

Commit Message

Stefano Stabellini July 10, 2014, 11:17 a.m. UTC
Do not include headers under tools/xenstore and tools/libxc to build
qemu-xen. They contain internal headers that are not supposed to be
exported to external programs and can cause conflicts.
For example tools/xenstore/utils.h.
tools/include already has all the headers qemu-xen needs anyway.

Also add libxc and xenstore among qemu-xen dependencies: they need to be
already built when configuring qemu-xen because the configure script is
going to try to detect if xen is available by compiling a small program
that links against libxc and libxenstore.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Comments

Ian Campbell July 10, 2014, 1:48 p.m. UTC | #1
On Thu, 2014-07-10 at 12:17 +0100, Stefano Stabellini wrote:
> Do not include headers under tools/xenstore and tools/libxc to build
> qemu-xen. They contain internal headers that are not supposed to be
> exported to external programs and can cause conflicts.
> For example tools/xenstore/utils.h.
> tools/include already has all the headers qemu-xen needs anyway.

I'm not convinced that it does, for instance qemu seems to include xs.h
which is under tools/xenstore and xenctrl.h which is in tools/libxc.
Neither of those are under tools/include.

I fear that you have been picking up some headers from /usr/include
or /usr/local/include when testing this...

Ian.

> Also add libxc and xenstore among qemu-xen dependencies: they need to be
> already built when configuring qemu-xen because the configure script is
> going to try to detect if xen is available by compiling a small program
> that links against libxc and libxenstore.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> 
> diff --git a/tools/Makefile b/tools/Makefile
> index f4aa200..cc9736c 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -174,7 +174,7 @@ else
>  QEMU_XEN_ENABLE_DEBUG :=
>  endif
>  
> -subdir-all-qemu-xen-dir: qemu-xen-dir-find
> +subdir-all-qemu-xen-dir: qemu-xen-dir-find include libxc xenstore
>  	if test -d $(QEMU_UPSTREAM_URL) ; then \
>  		source=$(QEMU_UPSTREAM_URL); \
>  	else \
> @@ -188,9 +188,6 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find
>  		--includedir=$(PREFIX)/lib/xen/include \
>  		--source-path=$$source \
>  		--extra-cflags="-I$(XEN_ROOT)/tools/include \
> -		-I$(XEN_ROOT)/tools/libxc \
> -		-I$(XEN_ROOT)/tools/xenstore \
> -		-I$(XEN_ROOT)/tools/xenstore/compat \
>  		$(EXTRA_CFLAGS_QEMU_XEN)" \
>  		--extra-ldflags="-L$(XEN_ROOT)/tools/libxc \
>  		-L$(XEN_ROOT)/tools/xenstore \
Stefano Stabellini July 10, 2014, 4:15 p.m. UTC | #2
On Thu, 10 Jul 2014, Ian Campbell wrote:
> On Thu, 2014-07-10 at 12:17 +0100, Stefano Stabellini wrote:
> > Do not include headers under tools/xenstore and tools/libxc to build
> > qemu-xen. They contain internal headers that are not supposed to be
> > exported to external programs and can cause conflicts.
> > For example tools/xenstore/utils.h.
> > tools/include already has all the headers qemu-xen needs anyway.
> 
> I'm not convinced that it does, for instance qemu seems to include xs.h
> which is under tools/xenstore and xenctrl.h which is in tools/libxc.
> Neither of those are under tools/include.
> 
> I fear that you have been picking up some headers from /usr/include
> or /usr/local/include when testing this...

You are right, sorry.


> Ian.
> 
> > Also add libxc and xenstore among qemu-xen dependencies: they need to be
> > already built when configuring qemu-xen because the configure script is
> > going to try to detect if xen is available by compiling a small program
> > that links against libxc and libxenstore.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > 
> > diff --git a/tools/Makefile b/tools/Makefile
> > index f4aa200..cc9736c 100644
> > --- a/tools/Makefile
> > +++ b/tools/Makefile
> > @@ -174,7 +174,7 @@ else
> >  QEMU_XEN_ENABLE_DEBUG :=
> >  endif
> >  
> > -subdir-all-qemu-xen-dir: qemu-xen-dir-find
> > +subdir-all-qemu-xen-dir: qemu-xen-dir-find include libxc xenstore
> >  	if test -d $(QEMU_UPSTREAM_URL) ; then \
> >  		source=$(QEMU_UPSTREAM_URL); \
> >  	else \
> > @@ -188,9 +188,6 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find
> >  		--includedir=$(PREFIX)/lib/xen/include \
> >  		--source-path=$$source \
> >  		--extra-cflags="-I$(XEN_ROOT)/tools/include \
> > -		-I$(XEN_ROOT)/tools/libxc \
> > -		-I$(XEN_ROOT)/tools/xenstore \
> > -		-I$(XEN_ROOT)/tools/xenstore/compat \
> >  		$(EXTRA_CFLAGS_QEMU_XEN)" \
> >  		--extra-ldflags="-L$(XEN_ROOT)/tools/libxc \
> >  		-L$(XEN_ROOT)/tools/xenstore \
> 
>
diff mbox

Patch

diff --git a/tools/Makefile b/tools/Makefile
index f4aa200..cc9736c 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -174,7 +174,7 @@  else
 QEMU_XEN_ENABLE_DEBUG :=
 endif
 
-subdir-all-qemu-xen-dir: qemu-xen-dir-find
+subdir-all-qemu-xen-dir: qemu-xen-dir-find include libxc xenstore
 	if test -d $(QEMU_UPSTREAM_URL) ; then \
 		source=$(QEMU_UPSTREAM_URL); \
 	else \
@@ -188,9 +188,6 @@  subdir-all-qemu-xen-dir: qemu-xen-dir-find
 		--includedir=$(PREFIX)/lib/xen/include \
 		--source-path=$$source \
 		--extra-cflags="-I$(XEN_ROOT)/tools/include \
-		-I$(XEN_ROOT)/tools/libxc \
-		-I$(XEN_ROOT)/tools/xenstore \
-		-I$(XEN_ROOT)/tools/xenstore/compat \
 		$(EXTRA_CFLAGS_QEMU_XEN)" \
 		--extra-ldflags="-L$(XEN_ROOT)/tools/libxc \
 		-L$(XEN_ROOT)/tools/xenstore \