[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] tools/libs/guest: fix out of tree builds of libxenguest users
On 24.09.20 22:23, Andrew Cooper wrote: On 23/09/2020 06:24, Juergen Gross wrote:xenguest.h includes xenctrl_dom.h, which is including the Xen internal xen/libelf/libelf.h. This results in build failures for components using libxenguest when being built outside the Xen build environment. Fix that by guarding the include of xenctrl_dom.h with "#ifdef __XEN_TOOLS_". Fixes: 7e0165c19387 ("tools/libxc: untangle libxenctrl from libxenguest") Reported-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> --- tools/libs/guest/include/xenguest.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/libs/guest/include/xenguest.h b/tools/libs/guest/include/xenguest.h index 4643384790..5cd502f644 100644 --- a/tools/libs/guest/include/xenguest.h +++ b/tools/libs/guest/include/xenguest.h @@ -22,7 +22,9 @@ #ifndef XENGUEST_H #define XENGUEST_H+#ifdef __XEN_TOOLS__#include <xenctrl_dom.h> +#endifI have to admit that this doesn't feel right to put into a public header. Can't we split xenctrl_dom in half and merge the relevant subsets into xen{ctrl,guest}.h ? Yes, but the xenctrl.h half will be empty :-) (see my patch from Sep 9th). The #ifdef will remain, though. Another solution would be to make xenctrl_dom.h an internal header again which has to be included by every user needing the domain loader stuff. Question then is why all of this is part of libxenguest. Or we could remove the prototype of xc_dom_register_loader() and the definition of struct xc_dom_loader from the header and make it private to libxenguest, and modify struct xc_dom_image to hold an opaque pointer to struct elf_dom_parms instead of having it as a sub-structure. This would remove the need to include xen/libelf/libelf.h from xenctrl_dom.h. The question would then be how usable the whole stuff is for someone not having the layout of struct elf_dom_parms. And finally we could split libxenguest and have a libxendomload which will be usable Xen internal only. Any preference? Juergen
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |