[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] Move xenstore and libxc public headers to include subdir
On 11/07/14 15:48, Stefano Stabellini wrote: > Also moves xc_dom.h to include as it is used often by other xen tools. > Use the new include subdirectories to build Xen tools and qemu-xen. > > Add the old libxc include path to the programs that need it to build, > on a case by case basis and commeting that they shouldn't require > internal libxc headers to build. > > Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> > --- > > Changes in v2: > > - squash the patches together to retain bisectibility; > - use the new include subdirectories to build xen tools, do not add the > old libxc include path to CFLAGS_libxenctrl and the old xenstore include > path to CFLAGS_libxenstore. > > --- > tools/Makefile | 6 +++--- > tools/Rules.mk | 6 +++--- > tools/blktap2/drivers/Makefile | 2 ++ > tools/libxc/Makefile | 6 +++--- > tools/libxc/{ => include}/xc_dom.h | 0 > tools/libxc/{ => include}/xenctrl.h | 0 > tools/libxc/{ => include}/xenctrlosdep.h | 0 > tools/libxc/{ => include}/xenguest.h | 0 > tools/libxc/{ => include}/xentoollog.h | 0 > tools/misc/Makefile | 2 ++ > tools/python/setup.py | 4 ++-- > tools/xcutils/Makefile | 3 ++- > tools/xenpaging/Makefile | 3 ++- > tools/xenstore/Makefile | 9 +++++---- > tools/xenstore/{ => include}/compat/xs.h | 0 > tools/xenstore/{ => include}/compat/xs_lib.h | 0 > tools/xenstore/{ => include}/xenstore.h | 0 > tools/xenstore/{ => include}/xenstore_lib.h | 0 > 18 files changed, 24 insertions(+), 17 deletions(-) > rename tools/libxc/{ => include}/xc_dom.h (100%) > rename tools/libxc/{ => include}/xenctrl.h (100%) > rename tools/libxc/{ => include}/xenctrlosdep.h (100%) > rename tools/libxc/{ => include}/xenguest.h (100%) > rename tools/libxc/{ => include}/xentoollog.h (100%) > rename tools/xenstore/{ => include}/compat/xs.h (100%) > rename tools/xenstore/{ => include}/compat/xs_lib.h (100%) > rename tools/xenstore/{ => include}/xenstore.h (100%) > rename tools/xenstore/{ => include}/xenstore_lib.h (100%) > > diff --git a/tools/Makefile b/tools/Makefile > index f4aa200..5f32dcc 100644 > --- a/tools/Makefile > +++ b/tools/Makefile > @@ -188,9 +188,9 @@ 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 \ > + -I$(XEN_ROOT)/tools/libxc/include \ > + -I$(XEN_ROOT)/tools/xenstore/include \ > + -I$(XEN_ROOT)/tools/xenstore/compat/include \ Not directly related to your patch but... andrewcoop@andrewcoop:/local/xen.git/tools/qemu-xen-dir-remote$ git grep "xs\.h" configure:#include <xs.h> configure:#include <xs.h> configure:#include <xs.h> configure:#include <xs.h> include/hw/xen/xen_common.h:# include <xs.h> Isn't it time we got code like this off using the legacy xs.h? > $(EXTRA_CFLAGS_QEMU_XEN)" \ > --extra-ldflags="-L$(XEN_ROOT)/tools/libxc \ > -L$(XEN_ROOT)/tools/xenstore \ > diff --git a/tools/Rules.mk b/tools/Rules.mk > index 13d8fc1..53f51a8 100644 > --- a/tools/Rules.mk > +++ b/tools/Rules.mk > @@ -19,15 +19,15 @@ XEN_LIBVCHAN = $(XEN_ROOT)/tools/libvchan > > CFLAGS_xeninclude = -I$(XEN_INCLUDE) > > -CFLAGS_libxenctrl = -I$(XEN_LIBXC) $(CFLAGS_xeninclude) > +CFLAGS_libxenctrl = -I$(XEN_LIBXC)/include $(CFLAGS_xeninclude) > LDLIBS_libxenctrl = $(XEN_LIBXC)/libxenctrl.so > SHLIB_libxenctrl = -Wl,-rpath-link=$(XEN_LIBXC) > > -CFLAGS_libxenguest = -I$(XEN_LIBXC) $(CFLAGS_xeninclude) > +CFLAGS_libxenguest = -I$(XEN_LIBXC)/include $(CFLAGS_xeninclude) > LDLIBS_libxenguest = $(XEN_LIBXC)/libxenguest.so > SHLIB_libxenguest = -Wl,-rpath-link=L$(XEN_LIBXC) > > -CFLAGS_libxenstore = -I$(XEN_XENSTORE) $(CFLAGS_xeninclude) > +CFLAGS_libxenstore = -I$(XEN_XENSTORE)/include $(CFLAGS_xeninclude) > LDLIBS_libxenstore = $(XEN_XENSTORE)/libxenstore.so > SHLIB_libxenstore = -Wl,-rpath-link=$(XEN_XENSTORE) > > diff --git a/tools/blktap2/drivers/Makefile b/tools/blktap2/drivers/Makefile > index 1129ca1..7df9bc4 100644 > --- a/tools/blktap2/drivers/Makefile > +++ b/tools/blktap2/drivers/Makefile > @@ -16,6 +16,8 @@ CFLAGS += -I$(BLKTAP_ROOT)/include > -I$(BLKTAP_ROOT)/drivers > CFLAGS += $(CFLAGS_libxenctrl) > CFLAGS += -D_GNU_SOURCE > CFLAGS += -DUSE_NFS_LOCKS > +# drivers/block-log.c incorrectly uses libxc internals > +CFLAGS += -I$(XEN_ROOT)/tools/libxc > > ifeq ($(CONFIG_X86_64),y) > CFLAGS += -fPIC > diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile > index f77677c..da59e10 100644 > --- a/tools/libxc/Makefile > +++ b/tools/libxc/Makefile > @@ -89,7 +89,7 @@ OSDEP_SRCS-y += xenctrl_osdep_ENOSYS.c > -include $(XEN_TARGET_ARCH)/Makefile > > CFLAGS += -Werror -Wmissing-prototypes > -CFLAGS += -I. $(CFLAGS_xeninclude) > +CFLAGS += -I. -I./include $(CFLAGS_xeninclude) > > # Needed for posix_fadvise64() in xc_linux.c > CFLAGS-$(CONFIG_Linux) += -D_GNU_SOURCE > @@ -140,12 +140,12 @@ install: build > $(INSTALL_DATA) libxenctrl.a $(DESTDIR)$(LIBDIR) > ln -sf libxenctrl.so.$(MAJOR).$(MINOR) > $(DESTDIR)$(LIBDIR)/libxenctrl.so.$(MAJOR) > ln -sf libxenctrl.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenctrl.so > - $(INSTALL_DATA) xenctrl.h xenctrlosdep.h xentoollog.h > $(DESTDIR)$(INCLUDEDIR) > + $(INSTALL_DATA) include/xenctrl.h include/xenctrlosdep.h > include/xentoollog.h $(DESTDIR)$(INCLUDEDIR) > $(INSTALL_PROG) libxenguest.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR) > $(INSTALL_DATA) libxenguest.a $(DESTDIR)$(LIBDIR) > ln -sf libxenguest.so.$(MAJOR).$(MINOR) > $(DESTDIR)$(LIBDIR)/libxenguest.so.$(MAJOR) > ln -sf libxenguest.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenguest.so > - $(INSTALL_DATA) xenguest.h $(DESTDIR)$(INCLUDEDIR) > + $(INSTALL_DATA) include/xenguest.h $(DESTDIR)$(INCLUDEDIR) > > .PHONY: TAGS > TAGS: > diff --git a/tools/libxc/xc_dom.h b/tools/libxc/include/xc_dom.h > similarity index 100% > rename from tools/libxc/xc_dom.h > rename to tools/libxc/include/xc_dom.h > diff --git a/tools/libxc/xenctrl.h b/tools/libxc/include/xenctrl.h > similarity index 100% > rename from tools/libxc/xenctrl.h > rename to tools/libxc/include/xenctrl.h > diff --git a/tools/libxc/xenctrlosdep.h b/tools/libxc/include/xenctrlosdep.h > similarity index 100% > rename from tools/libxc/xenctrlosdep.h > rename to tools/libxc/include/xenctrlosdep.h > diff --git a/tools/libxc/xenguest.h b/tools/libxc/include/xenguest.h > similarity index 100% > rename from tools/libxc/xenguest.h > rename to tools/libxc/include/xenguest.h > diff --git a/tools/libxc/xentoollog.h b/tools/libxc/include/xentoollog.h > similarity index 100% > rename from tools/libxc/xentoollog.h > rename to tools/libxc/include/xentoollog.h > diff --git a/tools/misc/Makefile b/tools/misc/Makefile > index 69b1817..266fd16 100644 > --- a/tools/misc/Makefile > +++ b/tools/misc/Makefile > @@ -6,6 +6,8 @@ CFLAGS += -Werror > CFLAGS += $(CFLAGS_libxenctrl) > CFLAGS += $(CFLAGS_xeninclude) > CFLAGS += $(CFLAGS_libxenstore) > +# xen-hptool.c and xen-mfndump.c incorrectly use libxc internals > +CFLAGS += -I$(XEN_ROOT)/tools/libxc > > HDRS = $(wildcard *.h) > > diff --git a/tools/python/setup.py b/tools/python/setup.py > index 17ebb4a..a9cb9ad 100644 > --- a/tools/python/setup.py > +++ b/tools/python/setup.py > @@ -7,9 +7,9 @@ XEN_ROOT = "../.." > extra_compile_args = [ "-fno-strict-aliasing", "-Werror" ] > > PATH_XEN = XEN_ROOT + "/tools/include" > -PATH_LIBXC = XEN_ROOT + "/tools/libxc" > +PATH_LIBXC = XEN_ROOT + "/tools/libxc/include" > PATH_LIBXL = XEN_ROOT + "/tools/libxl" > -PATH_XENSTORE = XEN_ROOT + "/tools/xenstore" > +PATH_XENSTORE = XEN_ROOT + "/tools/xenstore/include" This breaks the .so references lower down, which will cause the python bits to fail to link. You should use PATH_$FOO + "/include" in the include_dir lists only. ~Andrew > > xc = Extension("xc", > extra_compile_args = extra_compile_args, > diff --git a/tools/xcutils/Makefile b/tools/xcutils/Makefile > index 98706bf..f71703d 100644 > --- a/tools/xcutils/Makefile > +++ b/tools/xcutils/Makefile > @@ -15,7 +15,8 @@ PROGRAMS = readnotes lsevtchn > > CFLAGS += -Werror > > -CFLAGS_readnotes.o := $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) > +# incorrectly uses libxc internals > +CFLAGS_readnotes.o := $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) > -I$(XEN_ROOT)/tools/libxc > CFLAGS_lsevtchn.o := $(CFLAGS_libxenctrl) > > .PHONY: all > diff --git a/tools/xenpaging/Makefile b/tools/xenpaging/Makefile > index 548d9dd..054562d 100644 > --- a/tools/xenpaging/Makefile > +++ b/tools/xenpaging/Makefile > @@ -1,7 +1,8 @@ > XEN_ROOT=$(CURDIR)/../.. > include $(XEN_ROOT)/tools/Rules.mk > > -CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenstore) $(PTHREAD_CFLAGS) > +# xenpaging.c and file_ops.c incorrectly use libxc internals > +CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenstore) $(PTHREAD_CFLAGS) > -I$(XEN_ROOT)/tools/libxc > LDLIBS += $(LDLIBS_libxenctrl) $(LDLIBS_libxenstore) $(PTHREAD_LIBS) > LDFLAGS += $(PTHREAD_LDFLAGS) > > diff --git a/tools/xenstore/Makefile b/tools/xenstore/Makefile > index e34bd41..2947d3e 100644 > --- a/tools/xenstore/Makefile > +++ b/tools/xenstore/Makefile > @@ -6,6 +6,7 @@ MINOR = 3 > > CFLAGS += -Werror > CFLAGS += -I. > +CFLAGS += -I./include > CFLAGS += $(CFLAGS_libxenctrl) > > CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm > xenstore-chmod > @@ -126,10 +127,10 @@ install: all > ln -sf libxenstore.so.$(MAJOR).$(MINOR) > $(DESTDIR)$(LIBDIR)/libxenstore.so.$(MAJOR) > ln -sf libxenstore.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenstore.so > $(INSTALL_DATA) libxenstore.a $(DESTDIR)$(LIBDIR) > - $(INSTALL_DATA) xenstore.h $(DESTDIR)$(INCLUDEDIR) > - $(INSTALL_DATA) xenstore_lib.h $(DESTDIR)$(INCLUDEDIR) > - $(INSTALL_DATA) compat/xs.h $(DESTDIR)$(INCLUDEDIR)/xenstore-compat/xs.h > - $(INSTALL_DATA) compat/xs_lib.h > $(DESTDIR)$(INCLUDEDIR)/xenstore-compat/xs_lib.h > + $(INSTALL_DATA) include/xenstore.h $(DESTDIR)$(INCLUDEDIR) > + $(INSTALL_DATA) include/xenstore_lib.h $(DESTDIR)$(INCLUDEDIR) > + $(INSTALL_DATA) include/compat/xs.h > $(DESTDIR)$(INCLUDEDIR)/xenstore-compat/xs.h > + $(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 > > diff --git a/tools/xenstore/compat/xs.h b/tools/xenstore/include/compat/xs.h > similarity index 100% > rename from tools/xenstore/compat/xs.h > rename to tools/xenstore/include/compat/xs.h > diff --git a/tools/xenstore/compat/xs_lib.h > b/tools/xenstore/include/compat/xs_lib.h > similarity index 100% > rename from tools/xenstore/compat/xs_lib.h > rename to tools/xenstore/include/compat/xs_lib.h > diff --git a/tools/xenstore/xenstore.h b/tools/xenstore/include/xenstore.h > similarity index 100% > rename from tools/xenstore/xenstore.h > rename to tools/xenstore/include/xenstore.h > diff --git a/tools/xenstore/xenstore_lib.h > b/tools/xenstore/include/xenstore_lib.h > similarity index 100% > rename from tools/xenstore/xenstore_lib.h > rename to tools/xenstore/include/xenstore_lib.h _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |