From 6ec3f6ba23e20c00af0cdd281b8faeb84b769742 Mon Sep 17 00:00:00 2001 From: Nathan Scott Date: Thu, 8 Jun 2006 03:57:56 +0000 Subject: [PATCH] Ongoing xfs_repair/libxfs scaling work - incorporate lio_listio detection into the build. Merge of master-melb:xfs-cmds:26199a by kenmcd. --- aclocal.m4 | 44 +++++++++++++++++++++++++++++++++++++++++--- configure.in | 3 +++ doc/CHANGES | 4 ++++ include/builddefs.in | 1 + m4/Makefile | 3 ++- m4/package_aiodev.m4 | 37 +++++++++++++++++++++++++++++++++++++ 6 files changed, 88 insertions(+), 4 deletions(-) create mode 100644 m4/package_aiodev.m4 diff --git a/aclocal.m4 b/aclocal.m4 index 3fc6603d9..4ea73f5b7 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.9.6 -*- Autoconf -*- +# generated automatically by aclocal 1.8.3 -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -73,6 +73,44 @@ AC_DEFUN([AC_MULTILIB], AC_SUBST(libdirsuffix) ]) +# +# Check if we have a libaio.h installed +# +AC_DEFUN([AC_PACKAGE_WANT_AIO], + [ AC_CHECK_HEADERS(libaio.h, [ have_aio=true ], [ have_aio=false ]) + AC_SUBST(have_aio) + ]) + +# +# Check if we have an aio.h installed +# +AC_DEFUN([AC_PACKAGE_NEED_AIO_H], + [ AC_CHECK_HEADERS(aio.h) + if test $ac_cv_header_aio_h = no; then + echo + echo 'FATAL ERROR: could not find a valid header.' + exit 1 + fi + ]) + +# +# Check if we have the lio_listio routine in either libc/librt +# +AC_DEFUN([AC_PACKAGE_NEED_LIO_LISTIO], + [ AC_CHECK_FUNCS(lio_listio) + if test $ac_cv_func_lio_listio = yes; then + librt="" + else + AC_CHECK_LIB(rt, lio_listio,, [ + echo + echo 'FATAL ERROR: could not find a library with lio_listio.' + exit 1]) + librt="-lrt" + fi + AC_SUBST(librt) + ]) + + # # Generic macro, sets up all of the global packaging variables. # The following environment variables may be set to override defaults: diff --git a/configure.in b/configure.in index eddeef4cc..809046e79 100644 --- a/configure.in +++ b/configure.in @@ -39,6 +39,9 @@ AC_PACKAGE_GLOBALS(xfsprogs) AC_PACKAGE_UTILITIES(xfsprogs) AC_MULTILIB($enable_lib64) +AC_PACKAGE_NEED_AIO_H +AC_PACKAGE_NEED_LIO_LISTIO + AC_PACKAGE_NEED_UUID_H AC_PACKAGE_NEED_UUIDCOMPARE diff --git a/doc/CHANGES b/doc/CHANGES index fe8725395..1655cc7f6 100644 --- a/doc/CHANGES +++ b/doc/CHANGES @@ -1,3 +1,7 @@ +[cvs] + - More updates to repair/libxfs for improving performance + - Incorporate librt into the build process for lio_listio + xfsprogs-2.8.1 (29 May 2006) - Fix endianness issues on FreeBSD. diff --git a/include/builddefs.in b/include/builddefs.in index 50f7b652b..59533eb1d 100644 --- a/include/builddefs.in +++ b/include/builddefs.in @@ -25,6 +25,7 @@ OPTIMIZER = @opt_build@ MALLOCLIB = @malloc_lib@ LOADERFLAGS = @LDFLAGS@ +LIBRT = @librt@ LIBUUID = @libuuid@ LIBPTHREAD = @libpthread@ LIBTERMCAP = @libtermcap@ diff --git a/m4/Makefile b/m4/Makefile index ce7b445d9..ab0ed4834 100644 --- a/m4/Makefile +++ b/m4/Makefile @@ -7,6 +7,7 @@ include $(TOPDIR)/include/builddefs LSRCFILES = \ manual_format.m4 \ + package_aiodev.m4 \ package_globals.m4 \ package_libcdev.m4 \ package_pthread.m4 \ @@ -15,7 +16,7 @@ LSRCFILES = \ package_uuiddev.m4 \ multilib.m4 -default: +default: include $(BUILDRULES) diff --git a/m4/package_aiodev.m4 b/m4/package_aiodev.m4 new file mode 100644 index 000000000..5620a04c1 --- /dev/null +++ b/m4/package_aiodev.m4 @@ -0,0 +1,37 @@ +# +# Check if we have a libaio.h installed +# +AC_DEFUN([AC_PACKAGE_WANT_AIO], + [ AC_CHECK_HEADERS(libaio.h, [ have_aio=true ], [ have_aio=false ]) + AC_SUBST(have_aio) + ]) + +# +# Check if we have an aio.h installed +# +AC_DEFUN([AC_PACKAGE_NEED_AIO_H], + [ AC_CHECK_HEADERS(aio.h) + if test $ac_cv_header_aio_h = no; then + echo + echo 'FATAL ERROR: could not find a valid header.' + exit 1 + fi + ]) + +# +# Check if we have the lio_listio routine in either libc/librt +# +AC_DEFUN([AC_PACKAGE_NEED_LIO_LISTIO], + [ AC_CHECK_FUNCS(lio_listio) + if test $ac_cv_func_lio_listio = yes; then + librt="" + else + AC_CHECK_LIB(rt, lio_listio,, [ + echo + echo 'FATAL ERROR: could not find a library with lio_listio.' + exit 1]) + librt="-lrt" + fi + AC_SUBST(librt) + ]) + -- 2.47.2