Message ID | 1524156319-11465-4-git-send-email-ian.jackson@eu.citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Apr 19, 2018 at 05:45:06PM +0100, Ian Jackson wrote: > From: Anthony PERARD <anthony.perard@citrix.com> > > Xen libraries in 4.10 include a new xentoolcore library. This > contains the xentoolcore_restrict_all function which we are about to > want to use. > > Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com> > Acked-by: Stefano Stabellini <sstabellini@kernel.org> > --- > v5: More truthful commit message. > --- > configure | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/configure b/configure > index 0a19b03..f580255 100755 > --- a/configure > +++ b/configure > @@ -2188,7 +2188,7 @@ if test "$xen" != "no" ; then > $($pkg_config --modversion xencontrol | sed 's/\./ /g') )" > xen=yes > xen_pc="xencontrol xenstore xenguest xenforeignmemory xengnttab" > - xen_pc="$xen_pc xenevtchn xendevicemodel" > + xen_pc="$xen_pc xenevtchn xendevicemodel xentoolcore" I think we want to check if "xentoolcore" pkg_config exist before trying to use it. Otherwith, that is not going to work with Xen older than 4.10. `pkg-config --libs` will throw an error without printing anything if one of the library doesn't exist. Instead, we could do this: if $pkg_config --exists xentoolcore; then xen_pc+=" xentoolcore" fi > QEMU_CFLAGS="$QEMU_CFLAGS $($pkg_config --cflags $xen_pc)" > libs_softmmu="$($pkg_config --libs $xen_pc) $libs_softmmu" > LDFLAGS="$($pkg_config --libs $xen_pc) $LDFLAGS"
Anthony PERARD writes ("Re: [PATCH 03/16] xen: link against xentoolcore"): > On Thu, Apr 19, 2018 at 05:45:06PM +0100, Ian Jackson wrote: > > xen_pc="xencontrol xenstore xenguest xenforeignmemory xengnttab" > > - xen_pc="$xen_pc xenevtchn xendevicemodel" > > + xen_pc="$xen_pc xenevtchn xendevicemodel xentoolcore" > > I think we want to check if "xentoolcore" pkg_config exist before trying > to use it. Otherwith, that is not going to work with Xen older than > 4.10. Yes. Thanks for spotting this. My tests were all with builds from in the Xen tree and I hadn't spotted that that is handled as a special case. > Instead, we could do this: > if $pkg_config --exists xentoolcore; then > xen_pc+=" xentoolcore" > fi I will test that. Ian.
diff --git a/configure b/configure index 0a19b03..f580255 100755 --- a/configure +++ b/configure @@ -2188,7 +2188,7 @@ if test "$xen" != "no" ; then $($pkg_config --modversion xencontrol | sed 's/\./ /g') )" xen=yes xen_pc="xencontrol xenstore xenguest xenforeignmemory xengnttab" - xen_pc="$xen_pc xenevtchn xendevicemodel" + xen_pc="$xen_pc xenevtchn xendevicemodel xentoolcore" QEMU_CFLAGS="$QEMU_CFLAGS $($pkg_config --cflags $xen_pc)" libs_softmmu="$($pkg_config --libs $xen_pc) $libs_softmmu" LDFLAGS="$($pkg_config --libs $xen_pc) $LDFLAGS" @@ -2220,18 +2220,20 @@ EOF cat > $TMPC <<EOF && #undef XC_WANT_COMPAT_MAP_FOREIGN_API #include <xenforeignmemory.h> +#include <xentoolcore.h> int main(void) { xenforeignmemory_handle *xfmem; xfmem = xenforeignmemory_open(0, 0); xenforeignmemory_map2(xfmem, 0, 0, 0, 0, 0, 0, 0); + xentoolcore_restrict_all(0); return 0; } EOF - compile_prog "" "$xen_libs -lxendevicemodel $xen_stable_libs" + compile_prog "" "$xen_libs -lxendevicemodel $xen_stable_libs -lxentoolcore" then - xen_stable_libs="-lxendevicemodel $xen_stable_libs" + xen_stable_libs="-lxendevicemodel $xen_stable_libs -lxentoolcore" xen_ctrl_version=41000 xen=yes elif