mirror of
https://github.com/ipmitool/ipmitool.git
synced 2026-01-22 22:52:20 +08:00
179 lines
4.8 KiB
Plaintext
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([])
|
|
|