aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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