ipmitool/ipmitool/configure.in

179 lines
4.8 KiB
Plaintext

dnl
dnl autoconf for ipmitool
dnl
AC_INIT([src/ipmitool.c])
AM_INIT_AUTOMAKE([ipmitool], [1.5.8])
AM_CONFIG_HEADER(config.h)
AC_CONFIG_SRCDIR([src/ipmitool.c])
AC_PREREQ(2.50)
IPMITOOL_PKG=ipmitool
AC_SUBST(IPMITOOL_PKG)
AC_SUBST(ac_configure_args)
dnl check for programs
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_CHECK_PROG(SED, sed, sed)
dnl setup libtool
AC_LIB_LTDL
AC_LIBTOOL_DLOPEN
AC_LIBLTDL_CONVENIENCE
AM_PROG_LIBTOOL
LIBTOOL="$LIBTOOL --silent"
AC_SUBST(INCLTDL)
AC_SUBST(LIBLTDL)
AC_CONFIG_SUBDIRS(libltdl)
AC_SEARCH_LIBS(gethostbyname, nsl)
AC_SEARCH_LIBS(socket, socket, ,
[AC_CHECK_LIB(nsl, socket, LIBS="$LIBS -lsocket -lnsl", , -lsocket)])
dnl check for headers
AC_HEADER_STDC
AC_CHECK_HEADERS([stdlib.h string.h sys/ioctl.h sys/stat.h unistd.h])
AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h sys/socket.h])
dnl check for typedefs, structs, and compiler options
AC_C_CONST
AC_C_INLINE
AC_C_BIGENDIAN
dnl check for lib functions
AC_FUNC_MALLOC
AC_FUNC_SELECT_ARGTYPES
AC_FUNC_STAT
AC_FUNC_STRTOD
AC_CHECK_FUNCS([alarm gethostbyname socket select])
AC_CHECK_FUNCS([memmove memset strchr strdup strerror])
dnl check for byteswap functionality
AC_CHECK_HEADERS([sys/byteorder.h byteswap.h])
dnl set kernel directory for openipmi header files
AC_ARG_WITH([kerneldir],
[[ --with-kerneldir=DIR Set kernel path to DIR]],
[kerneldir="$withval"],
[kerneldir="/usr/src/linux-2.4"])
CFLAGS="$CFLAGS -I${kerneldir}/include"
AC_SUBST(CFLAGS)
have_openipmi=no
AC_CHECK_HEADER([linux/ipmi.h],
[have_openipmi=yes],
[AC_MSG_WARN([Unable to find OpenIPMI header files])])
if test "x$prefix" = "xNONE"; then
prefix="$ac_default_prefix"
fi
if test "x$exec_prefix" = "xNONE"; then
exec_prefix="$prefix"
fi
dnl enable plugins for interfaces
AC_ARG_WITH([plugin-path],
[[ --with-plugin-path=DIR Set plugin path to DIR]],
[pluginpath="$withval"],
[pluginpath="${exec_prefix}/lib/ipmitool"])
AC_DEFINE_UNQUOTED(PLUGIN_PATH, "$pluginpath", "IPMI interface plugin path")
AC_SUBST(pluginpath)
STATIC_INTF_LIST=
STATIC_INTF=
STATIC_INTF_EXT=
STATIC_INTF_LIB=
PLUGIN_INTF_LAN=
STATIC_INTF_LAN=
LDFLAGS_INTF_LAN=
AC_ARG_ENABLE([intf-lan],
[[ --enable-intf-lan enable IPMI-over-LAN interface [default=yes]]],
[if test "x$enableval" = "xyes"; then
AC_SUBST(INTF_LAN,lan)
PLUGIN_INTF_LAN="libintf_lan.la"
LDFLAGS_INTF_LAN="-rpath $pluginpath -avoid-version"
DYNAMIC_INTF_LIST="lan $DYNAMIC_INTF_LIST"
elif test "x$enableval" = "xstatic"; then
AC_SUBST(INTF_LAN,lan)
STATIC_INTF_LAN="libintf_lan.la"
STATIC_INTF_LIST="lan $STATIC_INTF_LIST"
fi],
[AC_SUBST(INTF_LAN,lan)
PLUGIN_INTF_LAN="libintf_lan.la"
LDFLAGS_INTF_LAN="-rpath $pluginpath -avoid-version"
DYNAMIC_INTF_LIST="lan $DYNAMIC_INTF_LIST"
])
AC_SUBST(PLUGIN_INTF_LAN)
AC_SUBST(STATIC_INTF_LAN)
AC_SUBST(LDFLAGS_INTF_LAN)
PLUGIN_INTF_OPEN=
STATIC_INTF_OPEN=
LDFLAGS_INTF_OPEN=
AC_ARG_ENABLE([intf-open],
[[ --enable-intf-open enable OpenIPMI device interface [default=no]]],
[if test "x$enableval" = "xyes"; then
if test "x$have_openipmi" = "xyes"; then
AC_SUBST(INTF_OPEN,open)
PLUGIN_INTF_OPEN="libintf_open.la"
LDFLAGS_INTF_OPEN="-rpath $pluginpath -avoid-version"
DYNAMIC_INTF_LIST="open $DYNAMIC_INTF_LIST"
else
echo "** Unable to build OpenIPMI interface support!"
exit 1
fi
elif test "x$enableval" = "xstatic"; then
AC_SUBST(INTF_OPEN,open)
STATIC_INTF_OPEN="libintf_open.la"
STATIC_INTF_LIST="open $STATIC_INTF_LIST"
fi])
AC_SUBST(PLUGIN_INTF_OPEN)
AC_SUBST(STATIC_INTF_OPEN)
AC_SUBST(LDFLAGS_INTF_OPEN)
for name in $STATIC_INTF_LIST; do
STATIC_INTF="$STATIC_INTF { \"intf_${name}\", ${name}_intf_setup },";
STATIC_INTF_EXT="$STATIC_INTF_EXT extern int ${name}_intf_setup(struct ipmi_intf ** intf);";
STATIC_INTF_LIB="$STATIC_INTF_LIB \$(top_builddir)/src/plugins/${name}/libintf_${name}.la";
done
AC_SUBST(STATIC_INTF)
AC_SUBST(STATIC_INTF_EXT)
AC_SUBST(STATIC_INTF_LIB)
enable_ipmievd=no
AC_ARG_ENABLE([ipmievd],
[[ --enable-ipmievd enable IPMI event daemon [default=no]]],,)
AM_CONDITIONAL(IPMIEVD, test "x$enable_ipmievd" = "xyes")
AC_CONFIG_FILES([ipmitool.spec
Makefile
doc/Makefile
contrib/Makefile
lib/Makefile
include/Makefile
include/ipmitool/Makefile
src/Makefile
src/plugins/ipmi_intf_static.c
src/plugins/Makefile
src/plugins/lan/Makefile
src/plugins/open/Makefile])
AC_OUTPUT
AC_MSG_RESULT([])
AC_MSG_RESULT([$PACKAGE $VERSION])
AC_MSG_RESULT([])
AC_MSG_RESULT([ Interface Path........ : $pluginpath])
AC_MSG_RESULT([ Static Interfaces..... : $STATIC_INTF_LIST])
AC_MSG_RESULT([ Dynamic Interfaces.... : $DYNAMIC_INTF_LIST])
AC_MSG_RESULT([ Build ipmievd......... : $enable_ipmievd])
AC_MSG_RESULT([])