Ian Campbell
2011-Nov-10 10:12 UTC
[Xen-devel] [PATCH] tools: use system installed libaio by default
# HG changeset patch # User Ian Campbell <ian.campbell@citrix.com> # Date 1320919937 0 # Node ID ecf11c010610c30e8be0f3f567e417680c51e527 # Parent 31eee4e06a2010c16750fc51f74459542a0b12a4 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> diff -r 31eee4e06a20 -r ecf11c010610 Config.mk --- a/Config.mk Thu Nov 10 08:04:16 2011 +0000 +++ b/Config.mk Thu Nov 10 10:12:17 2011 +0000 @@ -225,6 +225,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 -r 31eee4e06a20 -r ecf11c010610 README --- a/README Thu Nov 10 08:04:16 2011 +0000 +++ b/README Thu Nov 10 10:12:17 2011 +0000 @@ -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 -r 31eee4e06a20 -r ecf11c010610 tools/Makefile --- a/tools/Makefile Thu Nov 10 08:04:16 2011 +0000 +++ b/tools/Makefile Thu Nov 10 10:12:17 2011 +0000 @@ -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 -r 31eee4e06a20 -r ecf11c010610 tools/blktap2/drivers/Makefile --- a/tools/blktap2/drivers/Makefile Thu Nov 10 08:04:16 2011 +0000 +++ b/tools/blktap2/drivers/Makefile Thu Nov 10 10:12:17 2011 +0000 @@ -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 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Jackson
2011-Nov-22 17:25 UTC
Re: [PATCH] tools: use system installed libaio by default
Ian Campbell writes ("[Xen-devel] [PATCH] tools: use system installed libaio by default"):> # HG changeset patch > # User Ian Campbell <ian.campbell@citrix.com> > # Date 1320919937 0 > # Node ID ecf11c010610c30e8be0f3f567e417680c51e527 > # Parent 31eee4e06a2010c16750fc51f74459542a0b12a4 > tools: use system installed libaio by default....> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>