Blame configure.ac

Packit db064d
dnl Process this file with autoconf to produce a configure script.
Packit db064d
Packit db064d
AC_PREREQ(2.57)
Packit db064d
AC_INIT(infiniband-diags, 2.2.0, linux-rdma@vger.kernel.org)
Packit db064d
AC_CONFIG_AUX_DIR(config)
Packit db064d
AC_CONFIG_MACRO_DIR(config)
Packit db064d
AM_CONFIG_HEADER(config.h)
Packit db064d
AM_INIT_AUTOMAKE([subdir-objects])
Packit db064d
Packit db064d
AC_SUBST(RELEASE, ${RELEASE:-unknown})
Packit db064d
AC_SUBST(TARBALL, ${TARBALL:-${PACKAGE}-${VERSION}.tar.gz})
Packit db064d
Packit db064d
dnl support debug mode
Packit db064d
AC_ARG_ENABLE(debug,
Packit db064d
[  --enable-debug Turn on debug mode],
Packit db064d
[case "${enableval}" in
Packit db064d
  yes) debug=true ;;
Packit db064d
  no)  debug=false ;;
Packit db064d
  *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
Packit db064d
esac],[debug=false])
Packit db064d
AM_CONDITIONAL(DEBUG, test x$debug = xtrue)
Packit db064d
Packit db064d
dnl Checks for programs
Packit db064d
AC_PROG_CC
Packit db064d
AM_PROG_CC_C_O
Packit db064d
AC_PROG_LIBTOOL
Packit db064d
Packit db064d
AC_CHECK_PROG(have_dash, [dash], true, false)
Packit db064d
AM_CONDITIONAL(HAVE_DASH, test x$have_dash = xtrue)
Packit db064d
Packit db064d
dnl Checks for libraries
Packit db064d
AC_CHECK_LIB(ibumad, umad_init, [],
Packit db064d
	AC_MSG_ERROR([umad_init() not found. diags require libibumad.]))
Packit db064d
AC_CHECK_MEMBER([struct umad_port.link_layer],
Packit db064d
			[ac_have_umad_port_link_layer=yes],
Packit db064d
			[ac_have_umad_port_link_layer=no],
Packit db064d
			[#include <infiniband/umad.h>])
Packit db064d
if test "$ac_have_umad_port_link_layer" = "yes"; then
Packit db064d
   AC_DEFINE([HAVE_UMAD_PORT_LINK_LAYER], 1, [Define to 1 if struct umad_port has link_layer member])
Packit db064d
fi
Packit db064d
AC_CHECK_LIB(osmcomp, cl_qmap_insert, [],
Packit db064d
	AC_MSG_ERROR([cl_qmap_insert() not found. diags require libosmcomp.]))
Packit db064d
Packit db064d
dnl Checks for header files.
Packit db064d
AC_HEADER_STDC
Packit db064d
AC_CHECK_HEADERS([stdlib.h string.h unistd.h fcntl.h inttypes.h netinet/in.h sys/ioctl.h sys/time.h])
Packit db064d
AC_CHECK_HEADER(infiniband/umad.h, [],
Packit db064d
	AC_MSG_ERROR([<infiniband/umad.h> not found. diags require libibumad.])
Packit db064d
)
Packit db064d
Packit db064d
dnl Checks for library functions
Packit db064d
AC_FUNC_ERROR_AT_LINE
Packit db064d
AC_FUNC_VPRINTF
Packit db064d
AC_CHECK_FUNCS([strchr strrchr strtol strtoul memset strtoull])
Packit db064d
Packit db064d
dnl Checks for typedefs, structures, and compiler characteristics.
Packit db064d
AC_C_CONST
Packit db064d
AC_C_INLINE
Packit db064d
Packit db064d
dnl Define a configure directory
Packit db064d
IBDIAG_CONFIG_PATH_TMP1="`eval echo ${sysconfdir}`"
Packit db064d
IBDIAG_CONFIG_PATH_TMP2="`echo $IBDIAG_CONFIG_PATH_TMP1 | sed 's/^NONE/$ac_default_prefix/'`"
Packit db064d
IBDIAG_CONFIG_PATH="`eval echo $IBDIAG_CONFIG_PATH_TMP2`/infiniband-diags"
Packit db064d
AC_SUBST(IBDIAG_CONFIG_PATH)
Packit db064d
AC_DEFINE_UNQUOTED([IBDIAG_CONFIG_PATH], "$IBDIAG_CONFIG_PATH", [Define the path to configurations])
Packit db064d
Packit db064d
dnl Check if we should include test utilities
Packit db064d
AC_MSG_CHECKING(for --enable-test-utils)
Packit db064d
AC_ARG_ENABLE(test-utils,
Packit db064d
[  --enable-test-utils build additional test utilities (default=no)],
Packit db064d
[case "${enableval}" in
Packit db064d
  yes) tutils=yes ;;
Packit db064d
  no)  tutils=no ;;
Packit db064d
  *) AC_MSG_ERROR(bad value ${enableval} for --enable-test-utils) ;;
Packit db064d
esac],[tutils=no])
Packit db064d
AM_CONDITIONAL(ENABLE_TEST_UTILS, test x$tutils = xyes)
Packit db064d
AC_MSG_RESULT(${tutils=no})
Packit db064d
Packit db064d
dnl Check if we should include compat utils
Packit db064d
AC_MSG_CHECKING(for --enable-compat-utils)
Packit db064d
AC_ARG_ENABLE(compat-utils,
Packit db064d
[  --enable-compat-utils build deprecated compatibility utilities (default=no)],
Packit db064d
[case "${enableval}" in
Packit db064d
  yes) cutils=yes ;;
Packit db064d
  no)  cutils=no ;;
Packit db064d
  *) AC_MSG_ERROR(bad value ${enableval} for --enable-compat-utils) ;;
Packit db064d
esac],[cutils=no])
Packit db064d
AM_CONDITIONAL(ENABLE_COMPAT_UTILS, test x$cutils = xyes)
Packit db064d
AC_MSG_RESULT(${cutils=no})
Packit db064d
Packit db064d
dnl Check for perl and perl install location
Packit db064d
AC_MSG_CHECKING(for --with-perl-path )
Packit db064d
AC_ARG_WITH(perl-path,
Packit db064d
    AC_HELP_STRING([--with-perl-path=path],
Packit db064d
                   [define perl location]),
Packit db064d
    [ case "$withval" in
Packit db064d
    no)
Packit db064d
        ;;
Packit db064d
    *)
Packit db064d
        withperlpath=yes
Packit db064d
        PERL=$withval
Packit db064d
        ;;
Packit db064d
    esac ]
Packit db064d
)
Packit db064d
AC_MSG_RESULT(${withperlpath=no})
Packit db064d
AC_SUBST(PERL)
Packit db064d
Packit db064d
if test $withperlpath = "no"
Packit db064d
then
Packit db064d
    AC_PATH_PROG([PERL], [perl])
Packit db064d
fi
Packit db064d
AC_SUBST(PERL)
Packit db064d
Packit db064d
AC_MSG_CHECKING(for --with-perl-installdir )
Packit db064d
AC_ARG_WITH(perl-installdir,
Packit db064d
    AC_HELP_STRING([--with-perl-installdir=path],
Packit db064d
                   [define perl install path]),
Packit db064d
    [ case "$withval" in
Packit db064d
    no)
Packit db064d
        ;;
Packit db064d
    *)
Packit db064d
        withperlinstalldir=yes
Packit db064d
        PERL_INSTALLDIR=$withval
Packit db064d
        ;;
Packit db064d
    esac ]
Packit db064d
)
Packit db064d
AC_MSG_RESULT(${withperlinstalldir=no})
Packit db064d
AC_SUBST(PERL_INSTALLDIR)
Packit db064d
Packit db064d
if test $withperlinstalldir = "no"
Packit db064d
then
Packit db064d
    PERL_INSTALLDIR=`$PERL -e 'use Config; $T=$Config{installvendorlib}; print $T;'`
Packit db064d
fi
Packit db064d
AC_SUBST(PERL_INSTALLDIR)
Packit db064d
Packit db064d
AC_CACHE_CHECK(whether ld accepts --version-script, ac_cv_version_script,
Packit db064d
    if test -n "`$LD --help < /dev/null 2>/dev/null | grep version-script`"; then
Packit db064d
        ac_cv_version_script=yes
Packit db064d
    else
Packit db064d
        ac_cv_version_script=no
Packit db064d
    fi)
Packit db064d
Packit db064d
AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$ac_cv_version_script" = "yes")
Packit db064d
Packit db064d
dnl Define override for IBPATH
Packit db064d
AC_ARG_WITH(ibpath_override,
Packit db064d
[  --with-ibpath_override=<path> define ib binaries path],
Packit db064d
AC_MSG_NOTICE(Using IBPATH : $with_ibpath_override),
Packit db064d
with_ibpath_override=)
Packit db064d
Packit db064d
dnl Make appropriate substitution for IB script path
Packit db064d
dnl Must expand nested unquoting
Packit db064d
IBSCRIPTPATH_TMP1="`eval echo ${sbindir}`"
Packit db064d
IBSCRIPTPATH_TMP2="`echo $IBSCRIPTPATH_TMP1 | sed 's/^NONE/$ac_default_prefix/'`"
Packit db064d
IBSCRIPTPATH="${with_ibpath_override:-`eval echo $IBSCRIPTPATH_TMP2`}"
Packit db064d
AC_SUBST(IBSCRIPTPATH)
Packit db064d
Packit db064d
dnl Begin libibnetdisc stuff
Packit db064d
ibnetdisc_api_version=`grep LIBVERSION $srcdir/libibnetdisc/libibnetdisc.ver | sed 's/LIBVERSION=//'`
Packit db064d
if test -z $ibnetdisc_api_version; then
Packit db064d
   echo "FAILED to find $srcdir/libibnetdisc/libibnetdisc.ver"
Packit db064d
   exit 1
Packit db064d
fi
Packit db064d
AC_SUBST(ibnetdisc_api_version)
Packit db064d
dnl End libibnetdisc stuff
Packit db064d
Packit db064d
dnl Begin libibmad stuff
Packit db064d
ibmad_api_version=`grep LIBVERSION $srcdir/libibmad/libibmad.ver | sed 's/LIBVERSION=//'`
Packit db064d
if test -z $ibmad_api_version; then
Packit db064d
   ibmad_api_version=1:0:0
Packit db064d
fi
Packit db064d
AC_SUBST(ibmad_api_version)
Packit db064d
dnl End libibmad stuff
Packit db064d
Packit db064d
Packit db064d
dnl Generate doc/man/*.in files if possible
Packit db064d
DOC_DATE="`date +%Y-%m-%d`"
Packit db064d
AC_SUBST(BUILD_DATE)
Packit db064d
AC_CHECK_PROG(have_rst2man, rst2man, "yes")
Packit db064d
if test x$have_rst2man != xyes; then
Packit db064d
AC_CHECK_PROG(have_rst2man, rst2man.py, "yes")
Packit db064d
fi
Packit db064d
if test x$have_rst2man == xyes; then
Packit db064d
	$srcdir/doc/generate
Packit db064d
else
Packit db064d
	if test -f $srcdir/doc/man/infiniband-diags.8.in; then
Packit db064d
		echo "WARNING: 'rst2man' not found; using premade man pages"
Packit db064d
	else
Packit db064d
		echo "FAILED to find 'rst2man' required to build man pages"
Packit db064d
		exit 1
Packit db064d
	fi
Packit db064d
fi
Packit db064d
dnl
Packit db064d
Packit db064d
AC_CONFIG_FILES([\
Packit db064d
	Makefile \
Packit db064d
	infiniband-diags.spec \
Packit db064d
	include/ibdiag_version.h \
Packit db064d
	scripts/ibcheckerrors \
Packit db064d
	scripts/ibcheckerrs \
Packit db064d
	scripts/ibchecknet \
Packit db064d
	scripts/ibchecknode \
Packit db064d
	scripts/ibcheckport \
Packit db064d
	scripts/ibcheckportstate \
Packit db064d
	scripts/ibcheckportwidth \
Packit db064d
	scripts/ibcheckstate \
Packit db064d
	scripts/ibcheckwidth \
Packit db064d
	scripts/ibclearcounters \
Packit db064d
	scripts/ibclearerrors \
Packit db064d
	scripts/ibdatacounts \
Packit db064d
	scripts/ibdatacounters \
Packit db064d
	scripts/ibhosts \
Packit db064d
	scripts/ibnodes \
Packit db064d
	scripts/ibswitches \
Packit db064d
	scripts/ibrouters \
Packit db064d
	scripts/iblinkinfo.pl \
Packit db064d
	scripts/ibqueryerrors.pl \
Packit db064d
	scripts/dump_lfts.sh \
Packit db064d
	scripts/dump_mfts.sh \
Packit db064d
	doc/man/ibaddr.8 \
Packit db064d
	doc/man/check_lft_balance.8 \
Packit db064d
	doc/man/ibcacheedit.8 \
Packit db064d
	doc/man/ibccconfig.8 \
Packit db064d
	doc/man/ibccquery.8 \
Packit db064d
	doc/man/dump_fts.8 \
Packit db064d
	doc/man/ibhosts.8 \
Packit db064d
	doc/man/ibidsverify.8 \
Packit db064d
	doc/man/iblinkinfo.8 \
Packit db064d
	doc/man/ibfindnodesusing.8 \
Packit db064d
	doc/man/ibnetdiscover.8 \
Packit db064d
	doc/man/ibnodes.8 \
Packit db064d
	doc/man/ibping.8 \
Packit db064d
	doc/man/ibportstate.8 \
Packit db064d
	doc/man/ibqueryerrors.8 \
Packit db064d
	doc/man/ibroute.8 \
Packit db064d
	doc/man/ibrouters.8 \
Packit db064d
	doc/man/ibstat.8 \
Packit db064d
	doc/man/ibstatus.8 \
Packit db064d
	doc/man/ibswitches.8 \
Packit db064d
	doc/man/ibsysstat.8 \
Packit db064d
	doc/man/ibtracert.8 \
Packit db064d
	doc/man/perfquery.8 \
Packit db064d
	doc/man/saquery.8 \
Packit db064d
	doc/man/sminfo.8 \
Packit db064d
	doc/man/smpdump.8 \
Packit db064d
	doc/man/smpquery.8 \
Packit db064d
	doc/man/vendstat.8 \
Packit db064d
	doc/man/infiniband-diags.8 \
Packit db064d
	libibnetdisc/Makefile \
Packit db064d
	libibmad/Makefile \
Packit db064d
])
Packit db064d
AC_OUTPUT