ipmitool/ipmitool/configure.in
Duncan Laurie 3b58655b89 automatically configure gnu tools for building if on solaris
update pkg tag for building solaris packages
2004-04-12 05:35:50 +00:00

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([])