From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: Ian.Jackson@eu.citrix.com, Ian.Campbell@citrix.com,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Subject: [PATCH v4 1/3] Move xenstore and libxc public headers to include subdir
Date: Fri, 1 Aug 2014 16:32:17 +0100 [thread overview]
Message-ID: <1406907139-16800-1-git-send-email-stefano.stabellini@eu.citrix.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1408011624450.2293@kaball.uk.xensource.com>
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.
This patch should be applied at the same time at this patch for
qemu-xen-traditional (also sent as part of this series):
http://marc.info/?l=xen-devel&m=140500949902568
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
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@eu.citrix.com>
---
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 | 6 +++---
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, 25 insertions(+), 18 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 b6476c9..1130369 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -192,9 +192,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 \
$(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 0aa1e6b..4e07e82 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -35,15 +35,15 @@ INSTALL_SHLIB = : install-shlib-unsupported-fail
SYMLINK_SHLIB = : symlink-shlib-unsupported-fail
endif
-CFLAGS_libxenctrl = -I$(XEN_LIBXC) $(CFLAGS_xeninclude)
+CFLAGS_libxenctrl = -I$(XEN_LIBXC)/include $(CFLAGS_xeninclude)
LDLIBS_libxenctrl = $(XEN_LIBXC)/libxenctrl$(libextension)
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$(libextension)
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$(libextension)
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 22eef8e..83fcd3c 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)
$(SYMLINK_SHLIB) libxenctrl.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenctrl.so.$(MAJOR)
$(SYMLINK_SHLIB) 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_SHLIB) libxenguest.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
$(INSTALL_DATA) libxenguest.a $(DESTDIR)$(LIBDIR)
$(SYMLINK_SHLIB) libxenguest.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenguest.so.$(MAJOR)
$(SYMLINK_SHLIB) 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..439c429 100644
--- a/tools/python/setup.py
+++ b/tools/python/setup.py
@@ -13,7 +13,7 @@ PATH_XENSTORE = XEN_ROOT + "/tools/xenstore"
xc = Extension("xc",
extra_compile_args = extra_compile_args,
- include_dirs = [ PATH_XEN, PATH_LIBXC, "xen/lowlevel/xc" ],
+ include_dirs = [ PATH_XEN, PATH_LIBXC + "/include", "xen/lowlevel/xc" ],
library_dirs = [ PATH_LIBXC ],
libraries = [ "xenctrl", "xenguest" ],
depends = [ PATH_LIBXC + "/libxenctrl.so", PATH_LIBXC + "/libxenguest.so" ],
@@ -21,7 +21,7 @@ xc = Extension("xc",
xs = Extension("xs",
extra_compile_args = extra_compile_args,
- include_dirs = [ PATH_XEN, PATH_XENSTORE, "xen/lowlevel/xs" ],
+ include_dirs = [ PATH_XEN, PATH_XENSTORE + "/include", "xen/lowlevel/xs" ],
library_dirs = [ PATH_XENSTORE ],
libraries = [ "xenstore" ],
depends = [ PATH_XENSTORE + "/libxenstore.so" ],
@@ -29,7 +29,7 @@ xs = Extension("xs",
xl = Extension("xl",
extra_compile_args = extra_compile_args,
- include_dirs = [ PATH_XEN, PATH_LIBXL, PATH_LIBXC, "xen/lowlevel/xl" ],
+ include_dirs = [ PATH_XEN, PATH_LIBXL, PATH_LIBXC + "/include", "xen/lowlevel/xl" ],
library_dirs = [ PATH_LIBXL ],
libraries = [ "xenlight" ],
depends = [ PATH_LIBXL + "/libxenlight.so" ],
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 08460c8..d0ac949 100644
--- a/tools/xenstore/Makefile
+++ b/tools/xenstore/Makefile
@@ -7,6 +7,7 @@ MINOR = 3
CFLAGS += -Werror
CFLAGS += -I.
CFLAGS += -I$(XEN_ROOT)/tools/
+CFLAGS += -I./include
CFLAGS += $(CFLAGS_libxenctrl)
CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm xenstore-chmod
@@ -135,10 +136,10 @@ endif
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
--
1.7.10.4
next prev parent reply other threads:[~2014-08-01 15:32 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-01 15:30 [PATCH v4 0/3] Move xenstore and libxc public headers to include subdir Stefano Stabellini
2014-08-01 15:32 ` Stefano Stabellini [this message]
2014-08-06 14:53 ` [PATCH v4 1/3] " Ian Jackson
2014-08-06 15:04 ` Stefano Stabellini
2014-08-07 11:46 ` Ian Jackson
2014-08-07 14:07 ` Stefano Stabellini
2014-08-07 16:40 ` Ian Jackson
2014-08-13 11:37 ` Stefano Stabellini
2014-09-22 17:14 ` Ian Jackson
2014-09-22 18:52 ` Ian Campbell
2014-09-23 13:15 ` Ian Jackson
2014-09-23 13:22 ` Stefano Stabellini
2014-08-01 15:32 ` [PATCH v4 2/3] qemu-xen-trad: -I tools/libxc/include and tools/xenstore/include Stefano Stabellini
2014-08-01 15:32 ` [PATCH v4 3/3] enable QEMU for ARM builds Stefano Stabellini
2014-09-23 12:56 ` Ian Campbell
2014-09-23 13:35 ` Ian Campbell
2014-09-23 14:56 ` Stefano Stabellini
2014-09-23 15:21 ` Ian Campbell
2014-09-23 16:29 ` Stefano Stabellini
2014-09-23 16:35 ` Ian Campbell
2014-09-23 16:35 ` Stefano Stabellini
2014-09-23 16:41 ` Ian Campbell
2014-09-24 9:02 ` Ian Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1406907139-16800-1-git-send-email-stefano.stabellini@eu.citrix.com \
--to=stefano.stabellini@eu.citrix.com \
--cc=Ian.Campbell@citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).