aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2011-11-22 17:24:51 +0000
committerIan Campbell <ian.campbell@citrix.com>2011-11-22 17:24:51 +0000
commit3f857a8d12b1c4b0076a6424d5f62b1f60a4ad27 (patch)
treeef779ee316b17cacf1daf770d1204704f8e5b937
parentc977b08f1f860f9c58341b59b1b81c393a28671d (diff)
downloadxen-3f857a8d12b1c4b0076a6424d5f62b1f60a4ad27.tar.gz
xen-3f857a8d12b1c4b0076a6424d5f62b1f60a4ad27.tar.bz2
xen-3f857a8d12b1c4b0076a6424d5f62b1f60a4ad27.zip
tools: use system installed libaio by default.
I could have sworn I did this years ago. IIRC the need for our own copy was due to the use of io_set_eventfd which is not present in version 0.3.106. However it is in 0.3.107 the first version of which was uploaded to Debian in June 2008 (I can't find a better reference for the release date). The necessary version is available in Debian Lenny onwards and is in at least RHEL 6, Fedora 13 and OpenSuSE 11.3. The necessary version appears to not be available in RHEL 5 or SLES 11 which is why I haven't simply nuked the in tree version. This is based on tools-system-libaio.diff from the Debian packaging although I have made it optional (but default on). Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
-rw-r--r--Config.mk1
-rw-r--r--README2
-rw-r--r--tools/Makefile8
-rw-r--r--tools/blktap2/drivers/Makefile12
4 files changed, 17 insertions, 6 deletions
diff --git a/Config.mk b/Config.mk
index 0f8b4d4df4..728a765c3b 100644
--- a/Config.mk
+++ b/Config.mk
@@ -232,6 +232,7 @@ PYTHON_TOOLS ?= y
OCAML_TOOLS ?= y
CONFIG_MINITERM ?= n
CONFIG_LOMOUNT ?= n
+CONFIG_SYSTEM_LIBAIO ?= y
ifeq ($(OCAML_TOOLS),y)
OCAML_TOOLS := $(shell ocamlopt -v > /dev/null 2>&1 && echo "y" || echo "n")
diff --git a/README b/README
index c9bf699be6..df84d2f409 100644
--- a/README
+++ b/README
@@ -48,6 +48,8 @@ provided by your OS distributor:
* Development install of x11 (e.g. xorg-x11-dev)
* Development install of uuid (e.g. uuid-dev)
* Development install of yajl (e.g. libyajl-dev)
+ * Development install of libaio (e.g. libaio-dev) version 0.3.107 or
+ greater. Set CONFIG_SYSTEM_LIBAIO in .config if this is not available.
* bridge-utils package (/sbin/brctl)
* iproute package (/sbin/ip)
* hotplug or udev
diff --git a/tools/Makefile b/tools/Makefile
index 9389e1f422..443ee7feae 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -1,6 +1,10 @@
XEN_ROOT = $(CURDIR)/..
include $(XEN_ROOT)/tools/Rules.mk
+ifneq ($(CONFIG_SYSTEM_LIBAIO),y)
+SUBDIRS-libaio := libaio
+endif
+
SUBDIRS-y :=
SUBDIRS-y += check
SUBDIRS-y += include
@@ -18,11 +22,11 @@ SUBDIRS-y += xenmon
SUBDIRS-$(VTPM_TOOLS) += vtpm_manager
SUBDIRS-$(VTPM_TOOLS) += vtpm
SUBDIRS-y += xenstat
-SUBDIRS-$(CONFIG_Linux) += libaio
+SUBDIRS-$(CONFIG_Linux) += $(SUBDIRS-libaio)
SUBDIRS-$(CONFIG_Linux) += memshr
SUBDIRS-$(CONFIG_Linux) += blktap
SUBDIRS-$(CONFIG_Linux) += blktap2
-SUBDIRS-$(CONFIG_NetBSD) += libaio
+SUBDIRS-$(CONFIG_NetBSD) += $(SUBDIRS-libaio)
SUBDIRS-$(CONFIG_NetBSD) += blktap2
SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
SUBDIRS-y += libfsimage
diff --git a/tools/blktap2/drivers/Makefile b/tools/blktap2/drivers/Makefile
index d205fa07d4..405d2d3e94 100644
--- a/tools/blktap2/drivers/Makefile
+++ b/tools/blktap2/drivers/Makefile
@@ -14,7 +14,6 @@ CFLAGS += -Wno-unused
CFLAGS += -fno-strict-aliasing
CFLAGS += -I$(BLKTAP_ROOT)/include -I$(BLKTAP_ROOT)/drivers
CFLAGS += $(CFLAGS_libxenctrl)
-CFLAGS += -I $(LIBAIO_DIR)
CFLAGS += -I $(MEMSHR_DIR)
CFLAGS += -D_GNU_SOURCE
CFLAGS += -DUSE_NFS_LOCKS
@@ -30,7 +29,15 @@ REMUS-OBJS += hashtable.o
REMUS-OBJS += hashtable_itr.o
REMUS-OBJS += hashtable_utility.o
+ifneq ($(CONFIG_SYSTEM_LIBAIO),y)
+CFLAGS += -I $(LIBAIO_DIR)
LIBAIO_DIR = $(XEN_ROOT)/tools/libaio/src
+tapdisk2 tapdisk-stream tapdisk-diff $(QCOW_UTIL): AIOLIBS := $(LIBAIO_DIR)/libaio.a
+tapdisk-client tapdisk-stream tapdisk-diff $(QCOW_UTIL): CFLAGS += -I$(LIBAIO_DIR)
+else
+tapdisk2 tapdisk-stream tapdisk-diff $(QCOW_UTIL): AIOLIBS := -laio
+endif
+
MEMSHR_DIR = $(XEN_ROOT)/tools/memshr
MEMSHRLIBS :=
@@ -39,9 +46,6 @@ CFLAGS += -DMEMSHR
MEMSHRLIBS += $(MEMSHR_DIR)/libmemshr.a
endif
-tapdisk2 tapdisk-stream tapdisk-diff $(QCOW_UTIL): AIOLIBS := $(LIBAIO_DIR)/libaio.a
-tapdisk-client tapdisk-stream tapdisk-diff $(QCOW_UTIL): CFLAGS += -I$(LIBAIO_DIR)
-
ifeq ($(VHD_STATIC),y)
td-util: CFLAGS += -static
endif