[Pvfs2-cvs] commit by pw in pvfs2/maint/config: ib.m4

CVS commit program cvs at parl.clemson.edu
Sun Jul 22 12:34:33 EDT 2007


Update of /projects/cvsroot/pvfs2/maint/config
In directory parlweb1:/tmp/cvs-serv24518/maint/config

Added Files:
	ib.m4 
Log Message:
Move a big chunk of configure out to a separate M4 include:  --with-ib.


--- /dev/null	2004-06-24 14:04:38.000000000 -0400
+++ ib.m4	2007-07-22 12:34:33.000000000 -0400
@@ -0,0 +1,162 @@
+AC_DEFUN([AX_IB],
+[
+    dnl Configure options for IB install path.
+    dnl --with-ib=<dir> is shorthand for
+    dnl    --with-ib-includes=<dir>/include
+    dnl    --with-ib-libs=<dir>/lib  (or lib64 if that exists)
+    ib_home=
+    AC_ARG_WITH(ib,
+    [  --with-ib=<dir>         Location of the IB installation (default no IB)],
+	if test -z "$withval" -o "$withval" = yes ; then
+	    AC_MSG_ERROR([Option --with-ib requires the path to your IB tree.])
+	elif test "$withval" != no ; then
+	    ib_home="$withval"
+	fi
+    )
+    AC_ARG_WITH(ib-includes,
+    [  --with-ib-includes=<dir>      Location of the IB includes],
+	if test -z "$withval" -o "$withval" = yes ; then
+	    AC_MSG_ERROR([Option --with-ib-includes requires path to IB headers.])
+	elif test "$withval" != no ; then
+	    IB_INCDIR="$withval"
+	fi
+    )
+    AC_ARG_WITH(ib-libs,
+    [  --with-ib-libs=<dir>          Location of the IB libraries],
+	if test -z "$withval" -o "$withval" = yes ; then
+	    AC_MSG_ERROR([Option --with-ib-libs requires path to IB libraries.])
+	elif test "$withval" != no ; then
+	    IB_LIBDIR="$withval"
+	fi
+    )
+    dnl If supplied the incls and libs explicitly, use them, else populate them
+    dnl using guesses from the --with-ib dir.
+    if test -n "$ib_home" ; then
+	if test -z "$IB_INCDIR"; then
+	    IB_INCDIR=$ib_home/include
+	fi
+	if test -z "$IB_LIBDIR"; then
+	    IB_LIBDIR=$ib_home/lib64
+	    if test ! -d "$IB_LIBDIR" ; then
+		IB_LIBDIR=$ib_home/lib
+	    fi
+	fi
+    fi
+    dnl If anything IB-ish was set, go look for header.
+    if test -n "$IB_INCDIR$IB_LIBDIR" ; then
+	save_cppflags="$CPPFLAGS"
+	CPPFLAGS="$CPPFLAGS -I$IB_INCDIR"
+	AC_CHECK_HEADER(vapi.h,, AC_MSG_ERROR([Header vapi.h not found.]))
+	dnl Run test is not possible on a machine that does not have an IB NIC,
+	dnl and link test is hard because we need so many little libraries.   Bail
+	dnl and just check for existence; full library list is in Makefile.in.
+	if test ! -f $IB_LIBDIR/libvapi.so ; then
+	    if test ! -f $IB_LIBDIR/libvapi.a ; then
+		AC_MSG_ERROR([Infiniband library libvapi.so not found.])
+	    fi
+	fi
+	BUILD_IB=1
+	AC_CHECK_HEADER(wrap_common.h,
+	    AC_DEFINE(HAVE_IB_WRAP_COMMON_H, 1, Define if IB wrap_common.h exists.),
+	    ,
+	    [#include <vapi.h>])
+	CPPFLAGS="$save_cppflags"
+    fi
+    AC_SUBST(BUILD_IB)
+    AC_SUBST(IB_INCDIR)
+    AC_SUBST(IB_LIBDIR)
+
+    dnl Configure options for OpenIB install path.
+    dnl --with-openib=<dir> is shorthand for
+    dnl    --with-openib-includes=<dir>/include
+    dnl    --with-openib-libs=<dir>/lib  (or lib64 if that exists)
+    openib_home=
+    AC_ARG_WITH(openib,
+    [  --with-openib=<dir>     Location of the OpenIB install (default no OpenIB)],
+	if test -z "$withval" -o "$withval" = yes ; then
+	    AC_MSG_ERROR([Option --with-openib requires the path to your OpenIB tree.])
+	elif test "$withval" != no ; then
+	    openib_home="$withval"
+	fi
+    )
+    AC_ARG_WITH(openib-includes,
+    [  --with-openib-includes=<dir>  Location of the OpenIB includes],
+	if test -z "$withval" -o "$withval" = yes ; then
+	    AC_MSG_ERROR([Option --with-openib-includes requires path to OpenIB headers.])
+	elif test "$withval" != no ; then
+	    OPENIB_INCDIR="$withval"
+	fi
+    )
+    AC_ARG_WITH(openib-libs,
+    [  --with-openib-libs=<dir>      Location of the OpenIB libraries],
+	if test -z "$withval" -o "$withval" = yes ; then
+	    AC_MSG_ERROR([Option --with-openib-libs requires path to OpenIB libraries.])
+	elif test "$withval" != no ; then
+	    OPENIB_LIBDIR="$withval"
+	fi
+    )
+    dnl If supplied the incls and libs explicitly, use them, else populate them
+    dnl using guesses from the --with-openib dir.
+    if test -n "$openib_home" ; then
+	if test -z "$OPENIB_INCDIR"; then
+	    OPENIB_INCDIR=$openib_home/include
+	fi
+	if test -z "$OPENIB_LIBDIR"; then
+	    OPENIB_LIBDIR=$openib_home/lib64
+	    if test ! -d "$OPENIB_LIBDIR" ; then
+		OPENIB_LIBDIR=$openib_home/lib
+	    fi
+	fi
+    fi
+    dnl If anything OpenIB-ish was set, go look for header.
+    if test -n "$OPENIB_INCDIR$OPENIB_LIBDIR" ; then
+	save_cppflags="$CPPFLAGS"
+	CPPFLAGS="$CPPFLAGS -I$OPENIB_INCDIR"
+	AC_CHECK_HEADER(infiniband/verbs.h,,
+	    AC_MSG_ERROR([Header infiniband/verbs.h not found.]))
+	dnl Run test is not possible on a machine that does not have an IB NIC.
+	dnl Link test would work, but just check for existence.
+	if test ! -f $OPENIB_LIBDIR/libibverbs.so ; then
+	    if test ! -f $OPENIB_LIBDIR/libibverbs.a ; then
+		AC_MSG_ERROR([OpenIB library libibverbs.so not found.])
+	    fi
+	fi
+	BUILD_OPENIB=1
+	CPPFLAGS="$save_cppflags"
+    fi
+    AC_SUBST(BUILD_OPENIB)
+    AC_SUBST(OPENIB_INCDIR)
+    AC_SUBST(OPENIB_LIBDIR)
+
+    if test -n "$BUILD_OPENIB" ; then
+	dnl Check for which version of the ibverbs library, device opening is
+	dnl different.  This format is the older one; newer is ibv_get_device_list.
+	save_ldflags="$LDFLAGS"
+	LDFLAGS="-L$OPENIB_LIBDIR -libverbs"
+	AC_MSG_CHECKING(for ibv_get_devices)
+	AC_TRY_LINK([], [
+	    ibv_get_devices();
+	    ],
+	    AC_MSG_RESULT(yes)
+	    AC_DEFINE(HAVE_IBV_GET_DEVICES, 1,
+		      Define if libibverbs has ibv_get_devices),
+	    AC_MSG_RESULT(no)
+	)
+	LDFLAGS="$save_ldflags"
+
+	dnl Check for existence of reregister event; it's somewhat new.
+	AC_MSG_CHECKING(for IBV_EVENT_CLIENT_REREGISTER)
+	AC_TRY_COMPILE([
+	    #include "infiniband/verbs.h"
+	], [
+	    enum ibv_event_type x = IBV_EVENT_CLIENT_REREGISTER;
+	],
+	    AC_MSG_RESULT(yes)
+	    AC_DEFINE(HAVE_IBV_EVENT_CLIENT_REREGISTER, 1,
+		      Define if libibverbs has reregister event),
+	    AC_MSG_RESULT(no)
+	)
+    fi
+])
+
+dnl vim: set ft=config : 



More information about the Pvfs2-cvs mailing list