mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-10 18:47:22 +00:00
269 lines
8.1 KiB
Plaintext
269 lines
8.1 KiB
Plaintext
dnl
|
|
dnl autoconf for ipmitool
|
|
dnl
|
|
AC_INIT([src/ipmitool.c])
|
|
AC_CANONICAL_SYSTEM
|
|
AM_INIT_AUTOMAKE([ipmitool], [1.5.9])
|
|
AM_CONFIG_HEADER(config.h)
|
|
AC_CONFIG_SRCDIR([src/ipmitool.c])
|
|
AC_PREREQ(2.50)
|
|
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])
|
|
AC_CHECK_FUNCS([getpassphrase])
|
|
|
|
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])])
|
|
|
|
have_lipmi=no
|
|
AC_CHECK_HEADER([sys/lipmi/lipmi_intf.h],
|
|
[have_lipmi=yes])
|
|
|
|
if test "x$prefix" = "xNONE"; then
|
|
prefix="$ac_default_prefix"
|
|
fi
|
|
|
|
if test "x$exec_prefix" = "xNONE"; then
|
|
exec_prefix="$prefix"
|
|
fi
|
|
|
|
case "$host_os" in
|
|
solaris*)
|
|
MAKE=gmake
|
|
STRIP=gstrip
|
|
LD=gld
|
|
AR=gar
|
|
;;
|
|
esac
|
|
|
|
AC_SUBST(ARCH, $host_cpu)
|
|
AC_SUBST(OS, $host_os)
|
|
AC_SUBST(PSTAMP, $host)
|
|
AC_SUBST(BASEDIR, $prefix)
|
|
|
|
dnl Solaris convention is command-line tools have *adm and GUIs have *tool suffix
|
|
AC_ARG_ENABLE([ipmiadm],
|
|
[[ --enable-ipmiadm enable rename of ipmitool to ipmiadm]],,
|
|
[case "$host_os" in
|
|
solaris*)
|
|
IPMITOOL_BIN="ipmiadm"
|
|
enable_ipmiadm=yes
|
|
;;
|
|
*)
|
|
IPMITOOL_BIN="ipmitool"
|
|
enable_ipmiadm=no
|
|
;;
|
|
esac])
|
|
AM_CONDITIONAL(IPMIADM, test "x$enable_ipmiadm" = "xyes")
|
|
AC_DEFINE_UNQUOTED(IPMITOOL_BIN, "$IPMITOOL_BIN", "IPMItool binary name")
|
|
AC_SUBST(IPMITOOL_BIN)
|
|
|
|
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_BIN}"])
|
|
|
|
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]]
|
|
[[ plugin : build dynamic]]
|
|
[[ static : link statically [default]]]
|
|
[[ --diable-intf-lan disable IPMI-over-LAN interface]],
|
|
[if test "x$enableval" = "xplugin" || test "x$enableval" = "xdynamic"; 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" || test "x$enableval" = "xyes"; 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)
|
|
STATIC_INTF_LAN="libintf_lan.la"
|
|
STATIC_INTF_LIST="lan $STATIC_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 Linux OpenIPMI interface]]
|
|
[[ plugin : build dynamic]]
|
|
[[ static : link statically [default]]]
|
|
[[ --diable-intf-open disable Linux OpenIPMI interface]],
|
|
[if test "x$have_openipmi" = "xyes"; then
|
|
if test "x$enableval" = "xplugin" || test "x$enableval" = "xdynamic"; 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"
|
|
elif test "x$enableval" = "xstatic" || test "x$enableval" = "xyes"; then
|
|
AC_SUBST(INTF_OPEN,open)
|
|
STATIC_INTF_OPEN="libintf_open.la"
|
|
STATIC_INTF_LIST="open $STATIC_INTF_LIST"
|
|
fi
|
|
else
|
|
echo "** Unable to build Linux OpenIPMI interface support!"
|
|
fi],
|
|
[if test "x$have_openipmi" = "xyes"; 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)
|
|
|
|
PLUGIN_INTF_LIPMI=
|
|
STATIC_INTF_LIPMI=
|
|
LDFLAGS_INTF_LIPMI=
|
|
AC_ARG_ENABLE([intf-lipmi],
|
|
[[ --enable-intf-lipmi enable Solaris x86 IPMI interface]]
|
|
[[ plugin : build dynamic]]
|
|
[[ static : link statically [default]]]
|
|
[[ --diable-intf-lipmi disable Solaris x86 IPMI interface]],
|
|
[if test "x$have_lipmi" = "xyes"; then
|
|
if test "x$enableval" = "xplugin" || test "x$enableval" = "xdynamic"; then
|
|
AC_SUBST(INTF_LIPMI,lipmi)
|
|
PLUGIN_INTF_LIPMI="libintf_lipmi.la"
|
|
LDFLAGS_INTF_LIPMI="-rpath $pluginpath -avoid-version"
|
|
DYNAMIC_INTF_LIST="lipmi $DYNAMIC_INTF_LIST"
|
|
elif test "x$enableval" = "xstatic" || test "x$enableval" = "xyes"; then
|
|
AC_SUBST(INTF_LIPMI,lipmi)
|
|
STATIC_INTF_LIPMI="libintf_lipmi.la"
|
|
STATIC_INTF_LIST="lipmi $STATIC_INTF_LIST"
|
|
fi
|
|
else
|
|
echo "** Unable to build Solaris x86 IPMI interface support!"
|
|
fi],
|
|
[if test "x$have_lipmi" = "xyes"; then
|
|
AC_SUBST(INTF_LIPMI,lipmi)
|
|
STATIC_INTF_LIPMI="libintf_lipmi.la"
|
|
STATIC_INTF_LIST="lipmi $STATIC_INTF_LIST"
|
|
fi])
|
|
AC_SUBST(PLUGIN_INTF_LIPMI)
|
|
AC_SUBST(STATIC_INTF_LIPMI)
|
|
AC_SUBST(LDFLAGS_INTF_LIPMI)
|
|
|
|
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)
|
|
|
|
dnl Enable ipmi event daemon binary that requires OpenIPMI
|
|
AC_ARG_ENABLE([ipmievd],
|
|
[[ --enable-ipmievd enable event daemon - requires OpenIPMI [default=no]]],,enable_ipmievd=no)
|
|
AM_CONDITIONAL(IPMIEVD, test "x$enable_ipmievd" = "xyes")
|
|
if test "x$enable_ipmievd" = "xyes"; then
|
|
if test "x$have_openipmi" = "xyes"; then
|
|
IPMIEVD_SRC="ipmievd.c"
|
|
IPMIEVD_BIN="ipmievd"
|
|
else
|
|
echo "** Unable to build IPMI event daemon: OpenIPMI not found!"
|
|
fi
|
|
fi
|
|
AC_SUBST(IPMIEVD_SRC)
|
|
AC_SUBST(IPMIEVD_BIN)
|
|
|
|
AC_CONFIG_FILES([ipmitool.spec
|
|
Makefile
|
|
doc/Makefile
|
|
doc/ipmitool.1
|
|
contrib/Makefile
|
|
control/Makefile
|
|
control/pkginfo
|
|
control/prototype
|
|
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
|
|
src/plugins/lipmi/Makefile])
|
|
|
|
AC_OUTPUT
|
|
|
|
AC_MSG_RESULT([])
|
|
AC_MSG_RESULT([$PACKAGE $VERSION])
|
|
AC_MSG_RESULT([])
|
|
AC_MSG_RESULT([ IPMItool Binary....... : $IPMITOOL_BIN])
|
|
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([])
|
|
|