xref: /openbmc/ipmitool/configure.ac (revision 069e132e49ac009e5ac3fe16d825d74bafdaf1ef)
126da5193SZdenek Styblikdnl
226da5193SZdenek Styblikdnl autoconf for ipmitool
326da5193SZdenek Styblikdnl
426da5193SZdenek StyblikAC_INIT([src/ipmitool.c])
526da5193SZdenek StyblikAC_CANONICAL_SYSTEM
6e1c7b532SJim MankovichAM_INIT_AUTOMAKE([ipmitool], [1.8.15-cvs])
726da5193SZdenek StyblikAM_CONFIG_HEADER(config.h)
826da5193SZdenek StyblikAC_CONFIG_SRCDIR([src/ipmitool.c])
926da5193SZdenek StyblikAC_PREREQ(2.50)
1026da5193SZdenek StyblikAC_SUBST(ac_configure_args)
1126da5193SZdenek Styblik
1226da5193SZdenek Styblikdnl check for requirements
1326da5193SZdenek StyblikAC_PROG_CC
1426da5193SZdenek StyblikAC_PROG_INSTALL
1526da5193SZdenek StyblikAC_PROG_LN_S
1626da5193SZdenek StyblikAC_PROG_MAKE_SET
1726da5193SZdenek StyblikAC_CHECK_PROG([RPMBUILD], [rpmbuild], [rpmbuild], [rpm])
1826da5193SZdenek StyblikAC_CHECK_PROG([SED], [sed], [sed])
1926da5193SZdenek Styblik
2026da5193SZdenek StyblikAC_HEADER_STDC
2126da5193SZdenek StyblikAC_CHECK_HEADERS([stdlib.h string.h sys/ioctl.h sys/stat.h unistd.h paths.h])
2226da5193SZdenek StyblikAC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h sys/socket.h])
2326da5193SZdenek StyblikAC_CHECK_HEADERS([sys/byteorder.h byteswap.h])
2426da5193SZdenek Styblik
2526da5193SZdenek StyblikAC_C_CONST
2626da5193SZdenek StyblikAC_C_INLINE
2726da5193SZdenek StyblikAC_C_BIGENDIAN
2826da5193SZdenek Styblik
2926da5193SZdenek StyblikAC_FUNC_SELECT_ARGTYPES
3026da5193SZdenek StyblikAC_FUNC_STRTOD
3126da5193SZdenek StyblikAC_CHECK_FUNCS([alarm gethostbyname getaddrinfo getifaddrs socket select])
3226da5193SZdenek StyblikAC_CHECK_FUNCS([memmove memset strchr strdup strerror])
3326da5193SZdenek StyblikAC_CHECK_FUNCS([getpassphrase])
3426da5193SZdenek Styblik
35ce02ffafSZdenek StyblikCFLAGS="$CFLAGS -Wall -Wextra -std=c99 -pedantic -Wformat -Wformat-nonliteral"
3626da5193SZdenek Styblik
3726da5193SZdenek StyblikAM_PROG_LIBTOOL
3826da5193SZdenek StyblikLIBTOOL="$LIBTOOL --silent"
3926da5193SZdenek Styblik
4026da5193SZdenek StyblikAC_SEARCH_LIBS([gethostbyname], [nsl])
4126da5193SZdenek StyblikAC_SEARCH_LIBS([getaddrinfo], [nsl])
4226da5193SZdenek StyblikAC_SEARCH_LIBS([getifaddrs], [nsl])
4326da5193SZdenek StyblikAC_SEARCH_LIBS([socket], [socket], [],
4426da5193SZdenek Styblik	[AC_CHECK_LIB([nsl], [socket],
4526da5193SZdenek Styblik		[LIBS="$LIBS -lsocket -lnsl"], [], [-lsocket])])
4626da5193SZdenek Styblik
4726da5193SZdenek Styblikif test "x$prefix" = "xNONE"; then
4826da5193SZdenek Styblik	prefix="$ac_default_prefix"
4926da5193SZdenek Styblikfi
5026da5193SZdenek Styblik
5126da5193SZdenek Styblikif test "x$exec_prefix" = "xNONE"; then
5226da5193SZdenek Styblik	exec_prefix="$prefix"
5326da5193SZdenek Styblikfi
5426da5193SZdenek Styblik
5526da5193SZdenek Styblikdnl
5626da5193SZdenek Styblikdnl set default option values
5726da5193SZdenek Styblikdnl
5826da5193SZdenek Styblik
5926da5193SZdenek Styblikxenable_intf_bmc=no
6026da5193SZdenek Styblikxenable_intf_imb=yes
6126da5193SZdenek Styblikxenable_intf_open=yes
62e2c5b322SZdenek Styblikxenable_intf_usb=yes
63*069e132eSJeremy Kerrxenable_intf_dbus=yes
6426da5193SZdenek Styblikxenable_intf_lipmi=yes
6526da5193SZdenek Styblik#xenable_intf_serial=yes
6626da5193SZdenek Styblikxenable_intf_dummy=no
6726da5193SZdenek Styblikxenable_all_options=yes
6826da5193SZdenek Styblikxenable_ipmishell=yes
6926da5193SZdenek Styblik
7026da5193SZdenek Styblikdnl set some things so we build with GNU tools on Solaris
7126da5193SZdenek Styblikcase "$host_os" in
7226da5193SZdenek Stybliksolaris*)
7326da5193SZdenek Styblik	MAKE=gmake
7426da5193SZdenek Styblik	STRIP=gstrip
7526da5193SZdenek Styblik	LD=gld
7626da5193SZdenek Styblik	AR=gar
7726da5193SZdenek Styblik	# openssl libs are in /usr/sfw/lib on solaris 10
7826da5193SZdenek Styblik	LIBS="$LIBS -R/usr/sfw/lib"
7926da5193SZdenek Styblik	# disable the linux-specific interfaces
8026da5193SZdenek Styblik	xenable_intf_bmc=yes
8126da5193SZdenek Styblik	xenable_intf_imb=no
8226da5193SZdenek Styblik	xenable_intf_open=no
8326da5193SZdenek Styblik	xenable_intf_lipmi=no
8426da5193SZdenek Styblik	xenable_ipmishell=no
8526da5193SZdenek Styblik	xenable_all_options=no
8626da5193SZdenek Styblik	;;
8726da5193SZdenek Styblik*cygwin*)
8826da5193SZdenek Styblik	# disable the linux and solaris-specific interfaces
8926da5193SZdenek Styblik	xenable_intf_imb=no
9026da5193SZdenek Styblik	xenable_intf_open=no
9126da5193SZdenek Styblik	xenable_intf_lipmi=no
9226da5193SZdenek Styblik	xenable_intf_bmc=no
9326da5193SZdenek Styblik	;;
9426da5193SZdenek Styblik*darwin*|aix*)
9526da5193SZdenek Styblik	# disable the linux and solaris-specific interfaces
9626da5193SZdenek Styblik	xenable_intf_imb=no
9726da5193SZdenek Styblik	xenable_intf_open=no
9826da5193SZdenek Styblik	xenable_intf_lipmi=no
9926da5193SZdenek Styblik	xenable_intf_bmc=no
10026da5193SZdenek Styblik	xenable_ipmishell=no
10126da5193SZdenek Styblik	;;
10226da5193SZdenek Styblik*freebsd*)
10326da5193SZdenek Styblik	xenable_intf_imb=no
10426da5193SZdenek Styblik	xenable_intf_lipmi=no
10526da5193SZdenek Styblik	xenable_intf_bmc=no
10626da5193SZdenek Styblik	;;
10726da5193SZdenek Styblik*netbsd*)
10826da5193SZdenek Styblik	xenable_intf_imb=no
10926da5193SZdenek Styblik	xenable_intf_lipmi=no
11026da5193SZdenek Styblik	xenable_intf_bmc=no
11126da5193SZdenek Styblik	xenable_intf_open=no
11226da5193SZdenek Styblik	;;
11326da5193SZdenek Styblikgnu*)
11426da5193SZdenek Styblik	# disable the linux and solaris-specific interfaces on Hurd
11526da5193SZdenek Styblik	xenable_intf_imb=no
11626da5193SZdenek Styblik	xenable_intf_open=no
11726da5193SZdenek Styblik	;;
11826da5193SZdenek Styblikesac
11926da5193SZdenek Styblik
12026da5193SZdenek StyblikAC_SUBST(ARCH, $host_cpu)
12126da5193SZdenek StyblikAC_SUBST(OS, $host_os)
12226da5193SZdenek StyblikAC_SUBST(PSTAMP, $host)
12326da5193SZdenek StyblikAC_SUBST(BASEDIR, $prefix)
12426da5193SZdenek Styblik
12526da5193SZdenek Styblikdnl allow solaris builds to include all options
12626da5193SZdenek StyblikAC_ARG_ENABLE([solaris-opt],
12726da5193SZdenek Styblik	[AC_HELP_STRING([--enable-solaris-opt],
12826da5193SZdenek Styblik			[enable all options for Solaris [default=no]])],
12926da5193SZdenek Styblik	[xenable_solaris_opt=$enableval],
13026da5193SZdenek Styblik	[xenable_solaris_opt=no])
13126da5193SZdenek Styblikif test "x$xenable_all_options" = "xyes" || test "x$xenable_solaris_opt" = "xyes"; then
13226da5193SZdenek Styblik	AC_DEFINE(ENABLE_ALL_OPTIONS, [1], [Define to 1 to enable all command line options.])
13326da5193SZdenek Styblikfi
13426da5193SZdenek Styblik
135925a2fe5SParthasarathy Bhuvaragandnl Determine anonymous union/structure support in GCC
136925a2fe5SParthasarathy BhuvaraganAC_TRY_COMPILE([
137925a2fe5SParthasarathy Bhuvaragan#include <stdio.h>
138925a2fe5SParthasarathy Bhuvaragan	], [
139925a2fe5SParthasarathy Bhuvaragan	struct test {
140925a2fe5SParthasarathy Bhuvaragan		union {
141925a2fe5SParthasarathy Bhuvaragan			int a;
142925a2fe5SParthasarathy Bhuvaragan			unsigned int b;
143925a2fe5SParthasarathy Bhuvaragan		};
144925a2fe5SParthasarathy Bhuvaragan	} test;
145925a2fe5SParthasarathy Bhuvaragan
146925a2fe5SParthasarathy Bhuvaragan	printf("a is %d", test.a);
147925a2fe5SParthasarathy Bhuvaragan        ], ac_need_fms_extension=no, ac_need_fms_extension=yes)
148925a2fe5SParthasarathy Bhuvaraganif test "x$ac_need_fms_extension" = "xyes"; then
149925a2fe5SParthasarathy Bhuvaragan       CFLAGS="$CFLAGS -fms-extensions"
150925a2fe5SParthasarathy Bhuvaragan       AC_SUBST(CFLAGS)
151925a2fe5SParthasarathy Bhuvaraganfi
152925a2fe5SParthasarathy Bhuvaragan
15326da5193SZdenek Styblikdnl check for OpenSSL functionality
15426da5193SZdenek StyblikAC_ARG_ENABLE([internal-md5],
15526da5193SZdenek Styblik	[AC_HELP_STRING([--enable-internal-md5],
15626da5193SZdenek Styblik			[enable internal MD5 library [default=no]])],
15726da5193SZdenek Styblik	[xenable_internal_md5=$enableval],
15826da5193SZdenek Styblik	[xenable_internal_md5=no])
15926da5193SZdenek Styblik
16026da5193SZdenek StyblikAC_CHECK_LIB([crypto], [EVP_aes_128_cbc],
16126da5193SZdenek Styblik	[if test "x$xenable_internal_md5" != "xyes"; then
16226da5193SZdenek Styblik	    have_crypto=yes; LIBS="$LIBS -lcrypto"
16326da5193SZdenek Styblik	fi],
16426da5193SZdenek Styblik	[have_crypto=no], [-lcrypto])
16526da5193SZdenek Styblik
16626da5193SZdenek StyblikAC_CHECK_LIB([crypto], [MD5_Init],
16726da5193SZdenek Styblik	[if test "x$xenable_internal_md5" != "xyes"; then
16826da5193SZdenek Styblik	    if test "x$have_crypto" != "xyes"; then
16926da5193SZdenek Styblik	        LIBS="$LIBS -lcrypto"
17026da5193SZdenek Styblik	        have_md5=yes
17126da5193SZdenek Styblik	    fi
17226da5193SZdenek Styblik	    AC_DEFINE(HAVE_CRYPTO_MD5, [1], [Define to 1 if libcrypto supports MD5.])
17326da5193SZdenek Styblik	fi],
17426da5193SZdenek Styblik	[], [-lcrypto])
17526da5193SZdenek Styblik
17626da5193SZdenek StyblikAC_CHECK_LIB([crypto], [MD2_Init],
17726da5193SZdenek Styblik	[if test "x$xenable_internal_md5" != "xyes"; then
17826da5193SZdenek Styblik	    if test "x$have_crypto" != "xyes" && test "x$have_md5" != "xyes"; then
17926da5193SZdenek Styblik	        LIBS="$LIBS -lcrypto"
18026da5193SZdenek Styblik	        have_md2=yes
18126da5193SZdenek Styblik	    fi
18226da5193SZdenek Styblik	    AC_DEFINE(HAVE_CRYPTO_MD2, [1], [Define to 1 if libcrypto supports MD2.])
18326da5193SZdenek Styblik	fi],
18426da5193SZdenek Styblik	[], [-lcrypto])
18526da5193SZdenek Styblik
18626da5193SZdenek Styblikdnl enable IPMIv1.5 LAN interface
18726da5193SZdenek StyblikAC_ARG_ENABLE([intf-lan],
18826da5193SZdenek Styblik	[AC_HELP_STRING([--enable-intf-lan],
18926da5193SZdenek Styblik			[enable IPMIv1.5 LAN interface [default=yes]])],
19026da5193SZdenek Styblik	[xenable_intf_lan=$enableval],
19126da5193SZdenek Styblik	[xenable_intf_lan=yes])
19226da5193SZdenek Styblikif test "x$xenable_intf_lan" = "xstatic" || test "x$xenable_intf_lan" = "xplugin"; then
19326da5193SZdenek Styblik	xenable_intf_lan=yes
19426da5193SZdenek Styblikfi
19526da5193SZdenek Styblikif test "x$xenable_intf_lan" = "xyes"; then
19626da5193SZdenek Styblik	AC_DEFINE(IPMI_INTF_LAN, [1], [Define to 1 to enable LAN IPMIv1.5 interface.])
19726da5193SZdenek Styblik	AC_SUBST(INTF_LAN, [lan])
19826da5193SZdenek Styblik	AC_SUBST(INTF_LAN_LIB, [libintf_lan.la])
19926da5193SZdenek Styblik	IPMITOOL_INTF_LIB="$IPMITOOL_INTF_LIB lan/libintf_lan.la"
20026da5193SZdenek Styblikfi
20126da5193SZdenek Styblik
202e2c5b322SZdenek Styblikdnl enable IPMI USB interface
203e2c5b322SZdenek StyblikAC_ARG_ENABLE([intf-usb],
204e2c5b322SZdenek Styblik	[AC_HELP_STRING([--enable-intf-usb],
205e2c5b322SZdenek Styblik			[enable IPMI USB interface [default=yes]])],
206e2c5b322SZdenek Styblik		[xenable_intf_usb=$enableval],
207e2c5b322SZdenek Styblik		[xenable_intf_usb=yes])
208e2c5b322SZdenek Styblikif test "x$xenable_intf_usb" = "xstatic" || test "x$xenable_intf_usb" = "xplugin"; then
209e2c5b322SZdenek Styblik   xenable_intf_usb=yes
210e2c5b322SZdenek Styblikfi
211e2c5b322SZdenek Styblikif test "x$xenable_intf_usb" = "xyes"; then
212e2c5b322SZdenek Styblik	AC_DEFINE(IPMI_INTF_USB, [1], [Define to 1 to enable USB interface.])
213e2c5b322SZdenek Styblik	AC_SUBST(INTF_USB, [usb])
214e2c5b322SZdenek Styblik	AC_SUBST(INTF_USB_LIB, [libintf_usb.la])
215e2c5b322SZdenek Styblik	IPMITOOL_INTF_LIB="$IPMITOOL_INTF_LIB usb/libintf_usb.la"
216e2c5b322SZdenek Styblikfi
217e2c5b322SZdenek Styblik
218*069e132eSJeremy Kerrdnl enable IPMI dbus interface
219*069e132eSJeremy KerrAC_ARG_ENABLE([intf-dbus],
220*069e132eSJeremy Kerr	[AC_HELP_STRING([--enable-intf-dbus],
221*069e132eSJeremy Kerr			[enable IPMI dbus interface [default=yes]])],
222*069e132eSJeremy Kerr		[xenable_intf_dbus=$enableval],
223*069e132eSJeremy Kerr		[xenable_intf_dbus=yes])
224*069e132eSJeremy Kerrif test "x$xenable_intf_dbus" = "xstatic" || test "x$xenable_intf_dbus" = "xplugin"; then
225*069e132eSJeremy Kerr   xenable_intf_dbus=yes
226*069e132eSJeremy Kerrfi
227*069e132eSJeremy Kerrif test "x$xenable_intf_dbus" = "xyes"; then
228*069e132eSJeremy Kerr	AC_DEFINE(IPMI_INTF_DBUS, [1], [Define to 1 to enable dbus interface.])
229*069e132eSJeremy Kerr	AC_SUBST(INTF_DBUS, [dbus])
230*069e132eSJeremy Kerr	AC_SUBST(INTF_DBUS_LIB, [libintf_dbus.la])
231*069e132eSJeremy Kerr	IPMITOOL_INTF_LIB="$IPMITOOL_INTF_LIB dbus/libintf_dbus.la"
232*069e132eSJeremy Kerrfi
233*069e132eSJeremy Kerr
23426da5193SZdenek Styblikdnl enable IPMIv2.0 RMCP+ LAN interface
23526da5193SZdenek StyblikAC_ARG_ENABLE([intf-lanplus],
23626da5193SZdenek Styblik	[AC_HELP_STRING([--enable-intf-lanplus],
23726da5193SZdenek Styblik			[enable IPMIv2.0 RMCP+ LAN interface [default=auto]])],
23826da5193SZdenek Styblik	[xenable_intf_lanplus=$enableval],
23926da5193SZdenek Styblik	[xenable_intf_lanplus=$have_crypto])
24026da5193SZdenek Styblikif test "x$xenable_intf_lanplus" = "xstatic" || test "x$xenable_intf_lanplus" = "xplugin"; then
24126da5193SZdenek Styblik	xenable_intf_lanplus=yes
24226da5193SZdenek Styblikfi
24326da5193SZdenek Styblikif test "x$xenable_intf_lanplus" != "xno" && test "x$have_crypto" != "xyes"; then
24426da5193SZdenek Styblik	echo "** The lanplus interface requires an SSL library with EVP_aes_128_cbc defined."
24526da5193SZdenek Styblik	xenable_intf_lanplus=no
24626da5193SZdenek Styblikfi
24726da5193SZdenek Styblikif test "x$xenable_intf_lanplus" = "xyes"; then
24826da5193SZdenek Styblik	AC_DEFINE(IPMI_INTF_LANPLUS, [1], [Define to 1 to enable LAN+ IPMIv2 interface.])
24926da5193SZdenek Styblik	AC_SUBST(INTF_LANPLUS, [lanplus])
25026da5193SZdenek Styblik	AC_SUBST(INTF_LANPLUS_LIB, [libintf_lanplus.la])
25126da5193SZdenek Styblik	IPMITOOL_INTF_LIB="$IPMITOOL_INTF_LIB lanplus/libintf_lanplus.la"
25226da5193SZdenek Styblikelse
25326da5193SZdenek Styblik	xenable_intf_lanplus=no
25426da5193SZdenek Styblikfi
25526da5193SZdenek Styblik
25626da5193SZdenek StyblikORIG_CPPFLAGS=$CPPFLAGS
25726da5193SZdenek Styblik
25826da5193SZdenek Styblikdnl enable serial interface
25926da5193SZdenek StyblikAC_ARG_ENABLE([intf-serial],
26026da5193SZdenek Styblik	[AC_HELP_STRING([--enable-intf-serial],
26126da5193SZdenek Styblik			[enable direct Serial Basic/Terminal mode interface [default=yes]])],
26226da5193SZdenek Styblik	[xenable_intf_serial=$enableval], [xenable_intf_serial=yes])
26326da5193SZdenek Styblikif test "x$enable_intf_serial" = "xstatic" || test "x$enable_intf_serial" = "xplugin"; then
26426da5193SZdenek Styblik   xenable_intf_serial=yes
26526da5193SZdenek Styblikfi
26626da5193SZdenek Styblikif test "x$xenable_intf_serial" = "xyes"; then
26726da5193SZdenek Styblik    AC_DEFINE(IPMI_INTF_SERIAL, [1], [Define to 1 to enable serial interface.])
26826da5193SZdenek Styblik    AC_SUBST(INTF_SERIAL, [serial])
26926da5193SZdenek Styblik    AC_SUBST(INTF_SERIAL_LIB, [libintf_serial.la])
27026da5193SZdenek Styblik    IPMITOOL_INTF_LIB="$IPMITOOL_INTF_LIB serial/libintf_serial.la"
27126da5193SZdenek Styblikelse
27226da5193SZdenek Styblik	xenable_intf_serial=no
27326da5193SZdenek Styblikfi
27426da5193SZdenek Styblik
27526da5193SZdenek Styblikdnl look for OpenIPMI header files
27626da5193SZdenek StyblikAC_ARG_WITH([kerneldir],
27726da5193SZdenek Styblik	[AC_HELP_STRING([--with-kerneldir=DIR],
27826da5193SZdenek Styblik			[set kernel include path to DIR])],
27926da5193SZdenek Styblik	[if test "x$with_kerneldir" = "xyes"; then
28026da5193SZdenek Styblik	    with_kerneldir="/lib/modules/`uname -r`/build"
28126da5193SZdenek Styblik	fi
28226da5193SZdenek Styblik	CFLAGS="$CFLAGS -I ${with_kerneldir}/include"
28326da5193SZdenek Styblik	AC_SUBST(CFLAGS)
28426da5193SZdenek Styblik	CPPFLAGS="$CPPFLAGS -I ${with_kerneldir}/include"
28526da5193SZdenek Styblik	AC_SUBST(CPPFLAGS)
28626da5193SZdenek Styblik	if test -s ${with_kerneldir}/include/linux/version.h ; then
28726da5193SZdenek Styblik	    kernelver=`grep UTS_RELEASE ${with_kerneldir}/include/linux/version.h | \
28826da5193SZdenek Styblik	        sed 's/^\#define UTS_RELEASE \"\(2\.[0-9]\)\..*/\1/'`
28926da5193SZdenek Styblik	    if test "x$kernelver" = "x2.6"; then
29026da5193SZdenek Styblik	        CPPFLAGS="$CPPFLAGS -D__user="
29126da5193SZdenek Styblik	        AC_SUBST(CPPFLAGS)
29226da5193SZdenek Styblik	    fi
29326da5193SZdenek Styblik	fi])
29426da5193SZdenek Styblik
29526da5193SZdenek StyblikAH_TEMPLATE([HAVE_LINUX_COMPILER_H], [])
29626da5193SZdenek StyblikAC_MSG_CHECKING([for linux/compiler.h])
29726da5193SZdenek Styblik
29826da5193SZdenek Styblikm4_version_prereq([2.68],
29926da5193SZdenek Styblik	[AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <linux/compiler.h>]])],
30026da5193SZdenek Styblik		[AC_DEFINE(HAVE_LINUX_COMPILER_H, [1],
30126da5193SZdenek Styblik			[Define to 1 if you have the <linux/compiler.h> header file.])
30226da5193SZdenek Styblik		AC_MSG_RESULT([yes])],
30326da5193SZdenek Styblik		[AC_MSG_RESULT([no])])],
30426da5193SZdenek Styblik	[AC_PREPROC_IFELSE([#include <linux/compiler.h>],
30526da5193SZdenek Styblik		[AC_DEFINE(HAVE_LINUX_COMPILER_H, [1],
30626da5193SZdenek Styblik		[Define to 1 if you have the <linux/compiler.h> header file.])
30726da5193SZdenek Styblik		AC_MSG_RESULT([yes])],
30826da5193SZdenek Styblik		[AC_MSG_RESULT([no])])])
30926da5193SZdenek Styblik
31026da5193SZdenek StyblikCPPFLAGS=$ORIG_CPPFLAGS
31126da5193SZdenek StyblikAC_SUBST(CPPFLAGS)
31226da5193SZdenek Styblik
31326da5193SZdenek StyblikAC_CHECK_HEADER([sys/ioccom.h],
31426da5193SZdenek Styblik	[AC_DEFINE(HAVE_SYS_IOCCOM_H, [1],
31526da5193SZdenek Styblik	[Define to 1 if you have the <sys/ioccom.h> header file.])])
31626da5193SZdenek Styblik
31726da5193SZdenek StyblikAC_CHECK_HEADER([linux/ipmi.h],
31826da5193SZdenek Styblik	[AC_DEFINE(HAVE_OPENIPMI_H, [1],
31926da5193SZdenek Styblik	[Define to 1 if you have the <linux/ipmi.h> header file.])],
32026da5193SZdenek Styblik	[AC_CHECK_HEADER([sys/ipmi.h],
32126da5193SZdenek Styblik		[AC_DEFINE(HAVE_FREEBSD_IPMI_H, [1],
32226da5193SZdenek Styblik		[Define to 1 if you have the <sys/ipmi.h> header file.])],
32326da5193SZdenek Styblik		[echo "** Unable to find OpenIPMI header files.  Using internal version."])])
32426da5193SZdenek Styblik
32526da5193SZdenek Styblikdnl look for FreeIPMI files
32626da5193SZdenek StyblikAC_CHECK_LIB(freeipmi, ipmi_open_inband, [have_free=yes], [have_free=no])
32726da5193SZdenek Styblikif test "x$have_free" != "xyes"; then
32826da5193SZdenek Styblik	AC_CHECK_LIB(freeipmi, ipmi_ctx_open_inband, [have_free=yes], [have_free=no])
32926da5193SZdenek Styblikfi
33026da5193SZdenek StyblikAC_ARG_ENABLE([intf-free],
33126da5193SZdenek Styblik	[AC_HELP_STRING([--enable-intf-free],
33226da5193SZdenek Styblik		[enable FreeIPMI IPMI interface [default=auto]])],
33326da5193SZdenek Styblik	[xenable_intf_free=$enableval],
33426da5193SZdenek Styblik	[xenable_intf_free=$have_free])
33526da5193SZdenek Styblikif test "x$xenable_intf_free" = "xstatic" || test "x$xenable_intf_free" = "xplugin"; then
33626da5193SZdenek Styblik	xenable_intf_free=yes
33726da5193SZdenek Styblikfi
33826da5193SZdenek Styblikif test "x$xenable_intf_free" != "xno" && test "x$have_free" != "xyes"; then
33926da5193SZdenek Styblik	echo "** Unable to build FreeIPMI interface support!"
34026da5193SZdenek Styblik	xenable_intf_free=no
34126da5193SZdenek Styblikfi
34226da5193SZdenek Styblikif test "x$xenable_intf_free" = "xyes"; then
34326da5193SZdenek Styblikdnl Determine if you got the right FreeIPMI version
34426da5193SZdenek Styblik    AC_MSG_CHECKING([for libfreeipmi version 0.3.0])
34526da5193SZdenek Styblik    AC_TRY_COMPILE([
34626da5193SZdenek Styblik#include <sys/types.h>	/* For size_t */
34726da5193SZdenek Styblik#include <stdio.h>	/* For NULL */
34826da5193SZdenek Styblik#include <freeipmi/freeipmi.h>
34926da5193SZdenek Styblik#include <freeipmi/udm/ipmi-udm.h>
35026da5193SZdenek Styblik    ], [
35126da5193SZdenek Styblik    ipmi_device_t dev;
35226da5193SZdenek Styblik    dev = ipmi_open_inband(IPMI_DEVICE_KCS,
35326da5193SZdenek Styblik                           0,
35426da5193SZdenek Styblik                           0,
35526da5193SZdenek Styblik                           0,
35626da5193SZdenek Styblik                           NULL,
35726da5193SZdenek Styblik                           0);
35826da5193SZdenek Styblik    ], ac_free_version_0_3_0=yes, ac_free_version_0_3_0=no)
35926da5193SZdenek Styblik    AC_MSG_RESULT($ac_free_version_0_3_0)
36026da5193SZdenek Styblik    AC_MSG_CHECKING([for libfreeipmi version 0.4.0])
36126da5193SZdenek Styblik    AC_TRY_COMPILE([
36226da5193SZdenek Styblik#include <sys/types.h>	/* For size_t */
36326da5193SZdenek Styblik#include <stdio.h>	/* For NULL */
36426da5193SZdenek Styblik#include <freeipmi/freeipmi.h>
36526da5193SZdenek Styblik#include <freeipmi/udm/ipmi-udm.h>
36626da5193SZdenek Styblik    ], [
36726da5193SZdenek Styblik    ipmi_device_t dev = NULL;
36826da5193SZdenek Styblik    int rv;
36926da5193SZdenek Styblik    dev = ipmi_device_create();
37026da5193SZdenek Styblik    rv = ipmi_open_inband(dev,
37126da5193SZdenek Styblik                          IPMI_DEVICE_KCS,
37226da5193SZdenek Styblik                          0,
37326da5193SZdenek Styblik                          0,
37426da5193SZdenek Styblik                          0,
37526da5193SZdenek Styblik                          NULL,
37626da5193SZdenek Styblik                          0);
37726da5193SZdenek Styblik    ], ac_free_version_0_4_0=yes, ac_free_version_0_4_0=no)
37826da5193SZdenek Styblik    AC_MSG_RESULT($ac_free_version_0_4_0)
37926da5193SZdenek Styblik    AC_MSG_CHECKING([for libfreeipmi version 0.5.0])
38026da5193SZdenek Styblik    AC_TRY_COMPILE([
38126da5193SZdenek Styblik#include <sys/types.h>	/* For size_t */
38226da5193SZdenek Styblik#include <stdio.h>	/* For NULL */
38326da5193SZdenek Styblik#include <freeipmi/freeipmi.h>
38426da5193SZdenek Styblik#include <freeipmi/udm/ipmi-udm.h>
38526da5193SZdenek Styblik    ], [
38626da5193SZdenek Styblik    ipmi_device_t dev = NULL;
38726da5193SZdenek Styblik    int rv;
38826da5193SZdenek Styblik    dev = ipmi_device_create();
38926da5193SZdenek Styblik    rv = ipmi_open_inband(dev,
39026da5193SZdenek Styblik                          IPMI_DEVICE_KCS,
39126da5193SZdenek Styblik                          0,
39226da5193SZdenek Styblik                          0,
39326da5193SZdenek Styblik                          0,
39426da5193SZdenek Styblik                          NULL,
39526da5193SZdenek Styblik                          0,
39626da5193SZdenek Styblik                          0);
39726da5193SZdenek Styblik    ], ac_free_version_0_5_0=yes, ac_free_version_0_5_0=no)
39826da5193SZdenek Styblik    AC_MSG_RESULT($ac_free_version_0_5_0)
39926da5193SZdenek Styblik
40026da5193SZdenek Styblik    AC_MSG_CHECKING([for libfreeipmi version 0.6.0])
40126da5193SZdenek Styblik    AC_TRY_COMPILE([
40226da5193SZdenek Styblik#include <stdio.h>	/* For NULL */
40326da5193SZdenek Styblik#include <freeipmi/freeipmi.h>
40426da5193SZdenek Styblik    ], [
40526da5193SZdenek Styblik    ipmi_ctx_t ctx = NULL;
40626da5193SZdenek Styblik    int rv;
40726da5193SZdenek Styblik    ctx = ipmi_ctx_create();
40826da5193SZdenek Styblik    rv = ipmi_ctx_open_inband(ctx,
40926da5193SZdenek Styblik                              IPMI_DEVICE_KCS,
41026da5193SZdenek Styblik                              0,
41126da5193SZdenek Styblik                              0,
41226da5193SZdenek Styblik                              0,
41326da5193SZdenek Styblik                              NULL,
41426da5193SZdenek Styblik                              0,
41526da5193SZdenek Styblik                              0);
41626da5193SZdenek Styblik    ], ac_free_version_0_6_0=yes, ac_free_version_0_6_0=no)
41726da5193SZdenek Styblik    AC_MSG_RESULT($ac_free_version_0_6_0)
41826da5193SZdenek Styblik
41926da5193SZdenek Styblik    if test "x$ac_free_version_0_3_0" = "xyes" \
42026da5193SZdenek Styblik       || test "x$ac_free_version_0_4_0" = "xyes" \
42126da5193SZdenek Styblik       || test "x$ac_free_version_0_5_0" = "xyes" \
42226da5193SZdenek Styblik       || test "x$ac_free_version_0_6_0" = "xyes"; then
42326da5193SZdenek Styblik       AC_DEFINE(IPMI_INTF_FREE, [1], [Define to 1 to enable FreeIPMI interface.])
42426da5193SZdenek Styblik       AC_SUBST(INTF_FREE, [free])
42526da5193SZdenek Styblik       AC_SUBST(INTF_FREE_LIB, [libintf_free.la])
42626da5193SZdenek Styblik       IPMITOOL_INTF_LIB="$IPMITOOL_INTF_LIB free/libintf_free.la"
42726da5193SZdenek Styblik       if test "x$ac_free_version_0_3_0" = "xyes"; then
42826da5193SZdenek Styblik          AC_DEFINE(IPMI_INTF_FREE_0_3_0, [1], [Define to 1 for FreeIPMI 0.3.0.])
42926da5193SZdenek Styblik       fi
43026da5193SZdenek Styblik       if test "x$ac_free_version_0_4_0" = "xyes"; then
43126da5193SZdenek Styblik          AC_DEFINE(IPMI_INTF_FREE_0_4_0, [1], [Define to 1 for FreeIPMI 0.4.0.])
43226da5193SZdenek Styblik       fi
43326da5193SZdenek Styblik       if test "x$ac_free_version_0_5_0" = "xyes"; then
43426da5193SZdenek Styblik          AC_DEFINE(IPMI_INTF_FREE_0_5_0, [1], [Define to 1 for FreeIPMI 0.5.0.])
43526da5193SZdenek Styblik       fi
43626da5193SZdenek Styblik       if test "x$ac_free_version_0_6_0" = "xyes"; then
43726da5193SZdenek Styblik          AC_DEFINE(IPMI_INTF_FREE_0_6_0, [1], [Define to 1 for FreeIPMI 0.6.0.])
43826da5193SZdenek Styblik       fi
43926da5193SZdenek Styblik    else
44026da5193SZdenek Styblik       xenable_intf_free=no
44126da5193SZdenek Styblik    fi
44226da5193SZdenek Styblik
44326da5193SZdenek Styblik    AC_CHECK_LIB(freeipmi,
44426da5193SZdenek Styblik      ipmi_cmd_raw_ipmb,
44526da5193SZdenek Styblik      AC_DEFINE(IPMI_INTF_FREE_BRIDGING, [1],
44626da5193SZdenek Styblik        [Define to 1 to enable FreeIPMI Bridging Support.]))
44726da5193SZdenek Styblikfi
44826da5193SZdenek Styblik
44926da5193SZdenek Styblikdnl look for termios header file
45026da5193SZdenek StyblikAC_CHECK_HEADER([termios.h],
45126da5193SZdenek Styblik	[AC_DEFINE(HAVE_TERMIOS_H, [1], [Define to 1 if you have <termios.h>.])],
45226da5193SZdenek Styblik	[AC_CHECK_HEADER([sys/termios.h],
45326da5193SZdenek Styblik		[AC_DEFINE(HAVE_SYS_TERMIOS_H, [1], [Define to 1 if you have <sys/termios.h>.])],
45426da5193SZdenek Styblik		[echo "** Unable to find termios header file."])])
45526da5193SZdenek Styblik
45626da5193SZdenek Styblikdnl set RPM distro tag for use in RPM name
45726da5193SZdenek StyblikAC_ARG_WITH([rpm-distro],
45826da5193SZdenek Styblik	[AC_HELP_STRING([--with-rpm-distro=DISTRO],
45926da5193SZdenek Styblik			[set Linux distribution tag for use in RPM version string])],
46026da5193SZdenek Styblik	[AC_SUBST(DISTRO, $with_rpm_distro)])
46126da5193SZdenek Styblik
46226da5193SZdenek Styblikdnl set RPM release tag
46326da5193SZdenek StyblikAC_ARG_WITH([rpm-release],
46426da5193SZdenek Styblik	[AC_HELP_STRING([--with-rpm-release=RELEASE],
46526da5193SZdenek Styblik			[set release number for RPM release field])],
46626da5193SZdenek Styblik	[], [with_rpm_release=1])
46726da5193SZdenek StyblikAC_SUBST(RPM_RELEASE, $with_rpm_release)
46826da5193SZdenek Styblik
46926da5193SZdenek Styblikdnl enable Linux OpenIPMI interface
47026da5193SZdenek StyblikAC_ARG_ENABLE([intf-open],
47126da5193SZdenek Styblik	[AC_HELP_STRING([--enable-intf-open],
47226da5193SZdenek Styblik			[enable Linux OpenIPMI interface [default=auto]])],
47326da5193SZdenek Styblik	[xenable_intf_open=$enableval],
47426da5193SZdenek Styblik	[])
47526da5193SZdenek Styblikif test "x$xenable_intf_open" = "xstatic" || test "x$xenable_intf_open" = "xplugin"; then
47626da5193SZdenek Styblik	xenable_intf_open=yes
47726da5193SZdenek Styblikfi
47826da5193SZdenek Styblikif test "x$xenable_intf_open" = "xyes"; then
47926da5193SZdenek Styblik	AC_DEFINE(IPMI_INTF_OPEN, [1], [Define to 1 to enable Linux OpenIPMI interface.])
48026da5193SZdenek Styblik	AC_SUBST(INTF_OPEN, [open])
48126da5193SZdenek Styblik	AC_SUBST(INTF_OPEN_LIB, [libintf_open.la])
48226da5193SZdenek Styblik	IPMITOOL_INTF_LIB="$IPMITOOL_INTF_LIB open/libintf_open.la"
48326da5193SZdenek Styblik
48426da5193SZdenek Styblik	dnl Check for dual bridge support in OpenIPMI
48526da5193SZdenek Styblik	AC_MSG_CHECKING([for OpenIPMI dual bridge support])
48626da5193SZdenek Styblik	have_openipmi_dual_bridge=no
48726da5193SZdenek Styblik	ORIG_CPPFLAGS="$CPPFLAGS"
48826da5193SZdenek Styblik	CPPFLAGS="$CPPFLAGS -Isrc/plugins/open -DENABLE_INTF_OPEN_DUAL_BRIDGE"
48926da5193SZdenek Styblik	AC_TRY_COMPILE([
49026da5193SZdenek Styblik			#if defined(HAVE_OPENIPMI_H)
49126da5193SZdenek Styblik			# if defined(HAVE_LINUX_COMPILER_H)
49226da5193SZdenek Styblik			#  include <linux/compiler.h>
49326da5193SZdenek Styblik			# endif
49426da5193SZdenek Styblik			# include <linux/ipmi.h>
49526da5193SZdenek Styblik			#elif defined(HAVE_FREEBSD_IPMI_H)
49626da5193SZdenek Styblik			# include <sys/ipmi.h>
49726da5193SZdenek Styblik			#else
49826da5193SZdenek Styblik			# include "open.h"
49926da5193SZdenek Styblik			#endif
50026da5193SZdenek Styblik		], [
50126da5193SZdenek Styblik			struct ipmi_ipmb_addr a;
50226da5193SZdenek Styblik			a.transit_slave_addr = 0;
50326da5193SZdenek Styblik		], [have_openipmi_dual_bridge=yes])
50426da5193SZdenek Styblik	if test x"$have_openipmi_dual_bridge" = x"yes"; then
50526da5193SZdenek Styblik		AC_DEFINE(ENABLE_INTF_OPEN_DUAL_BRIDGE, [1],
50626da5193SZdenek Styblik			[Define to 1 to enable OpenIPMI interface dual bridge support])
50726da5193SZdenek Styblik	fi
50826da5193SZdenek Styblik	CPPFLAGS="$ORIG_CPPFLAGS"
50926da5193SZdenek Styblik	AC_MSG_RESULT([$have_openipmi_dual_bridge])
51026da5193SZdenek Styblikfi
51126da5193SZdenek Styblik
51226da5193SZdenek Styblikdnl enable Intel IMB interface
51326da5193SZdenek StyblikAC_ARG_ENABLE([intf-imb],
51426da5193SZdenek Styblik	[AC_HELP_STRING([--enable-intf-imb],
51526da5193SZdenek Styblik			[enable Intel IMB driver interface [default=auto]])],
51626da5193SZdenek Styblik	[xenable_intf_imb=$enableval],
51726da5193SZdenek Styblik	[])
51826da5193SZdenek Styblikif test "x$xenable_intf_imb" = "xstatic" || test "x$xenable_intf_imb" = "xplugin"; then
51926da5193SZdenek Styblik	xenable_intf_imb=yes
52026da5193SZdenek Styblikfi
52126da5193SZdenek Styblikif test "x$xenable_intf_imb" = "xyes"; then
52226da5193SZdenek Styblik	AC_DEFINE(IPMI_INTF_IMB, [1], [Define to 1 to enable Intel IMB interface.])
52326da5193SZdenek Styblik	AC_SUBST(INTF_IMB, [imb])
52426da5193SZdenek Styblik	AC_SUBST(INTF_IMB_LIB, [libintf_imb.la])
52526da5193SZdenek Styblik	IPMITOOL_INTF_LIB="$IPMITOOL_INTF_LIB imb/libintf_imb.la"
52626da5193SZdenek Styblikfi
52726da5193SZdenek Styblik
52826da5193SZdenek Styblikdnl enable Solaris LIPMI interface
52926da5193SZdenek StyblikAC_CHECK_HEADER([sys/lipmi/lipmi_intf.h], [have_lipmi=yes], [have_lipmi=no])
53026da5193SZdenek StyblikAC_ARG_ENABLE([intf-lipmi],
53126da5193SZdenek Styblik	[AC_HELP_STRING([--enable-intf-lipmi],
53226da5193SZdenek Styblik			[enable Solaris 9 x86 IPMI interface [default=no]])],
53326da5193SZdenek Styblik	[xenable_intf_lipmi=$enableval],
53426da5193SZdenek Styblik	[])
53526da5193SZdenek Styblikif test "x$xenable_intf_lipmi" = "xstatic" || test "x$xenable_intf_lipmi" = "xplugin"; then
53626da5193SZdenek Styblik	xenable_intf_lipmi=yes
53726da5193SZdenek Styblikfi
53826da5193SZdenek Styblikif test "x$xenable_intf_lipmi" != "xno" && test "x$have_lipmi" != "xyes"; then
53926da5193SZdenek Styblik	echo "** Unable to build Solaris 9 x86 IPMI interface support!"
54026da5193SZdenek Styblik	xenable_intf_lipmi=no
54126da5193SZdenek Styblikfi
54226da5193SZdenek Styblikif test "x$xenable_intf_lipmi" = "xyes"; then
54326da5193SZdenek Styblik	AC_DEFINE(IPMI_INTF_LIPMI, [1], [Define to 1 to enable Solaris 9 LIPMI interface.])
54426da5193SZdenek Styblik	AC_SUBST(INTF_LIPMI, [lipmi])
54526da5193SZdenek Styblik	AC_SUBST(INTF_LIPMI_LIB, [libintf_lipmi.la])
54626da5193SZdenek Styblik	IPMITOOL_INTF_LIB="$IPMITOOL_INTF_LIB lipmi/libintf_lipmi.la"
54726da5193SZdenek Styblikfi
54826da5193SZdenek Styblik
54926da5193SZdenek Styblikdnl enable Solaris BMC interface
55026da5193SZdenek StyblikAC_ARG_ENABLE([intf-bmc],
55126da5193SZdenek Styblik	[AC_HELP_STRING([--enable-intf-bmc],
55226da5193SZdenek Styblik			[enable Solaris 10 x86 IPMI interface [default=auto]])],
55326da5193SZdenek Styblik	[xenable_intf_bmc=$enableval],
55426da5193SZdenek Styblik	[xenable_intf_bmc=no])
55526da5193SZdenek Styblikif test "x$xenable_intf_bmc" = "xstatic" || test "x$xenable_intf_bmc" = "xplugin"; then
55626da5193SZdenek Styblik	xenable_intf_bmc=yes
55726da5193SZdenek Styblikfi
55826da5193SZdenek Styblikif test "x$xenable_intf_bmc" = "xyes"; then
55926da5193SZdenek Styblik	AC_DEFINE(IPMI_INTF_BMC, [1], [Define to 1 to enable Solaris 10 BMC interface.])
56026da5193SZdenek Styblik	AC_SUBST(INTF_BMC, [bmc])
56126da5193SZdenek Styblik	AC_SUBST(INTF_BMC_LIB, [libintf_bmc.la])
56226da5193SZdenek Styblik	IPMITOOL_INTF_LIB="$IPMITOOL_INTF_LIB bmc/libintf_bmc.la"
56326da5193SZdenek Styblikfi
56426da5193SZdenek Styblik
56526da5193SZdenek Styblikdnl enable Dummy interface for testing
56626da5193SZdenek StyblikAC_ARG_ENABLE([intf-dummy],
56726da5193SZdenek Styblik	[AC_HELP_STRING([--enable-intf-dummy],
56826da5193SZdenek Styblik			[enable Dummy(test) interface [default=no]])],
56926da5193SZdenek Styblik	[xenable_intf_dummy=$enableval], [xenable_intf_dummy=no])
57026da5193SZdenek Styblikif test "x$xenable_intf_dummy" = "xyes"; then
57126da5193SZdenek Styblik	AC_DEFINE(IPMI_INTF_DUMMY, [1], [Define to 1 to enable Dummy interface.])
57226da5193SZdenek Styblik	AC_SUBST(INTF_DUMMY, [dummy])
57326da5193SZdenek Styblik	AC_SUBST(INTF_DUMMY_LIB, [libintf_dummy.la])
57426da5193SZdenek Styblik	IPMITOOL_INTF_LIB="$IPMITOOL_INTF_LIB dummy/libintf_dummy.la"
57526da5193SZdenek Styblikfi
57626da5193SZdenek Styblik
57726da5193SZdenek StyblikAC_SUBST(IPMITOOL_INTF_LIB)
57826da5193SZdenek Styblik
57926da5193SZdenek Styblikif test "x$xenable_ipmishell" = "xyes"; then
58026da5193SZdenek Styblik	AC_SEARCH_LIBS([tgetent], [tinfo ncurses curses readline termcap])
58126da5193SZdenek Styblik	AC_SEARCH_LIBS([initscr], [ncurses curses], [have_curses=yes])
58226da5193SZdenek Styblik	AC_SEARCH_LIBS([readline], [readline edit], [have_readline=yes])
58326da5193SZdenek Styblik	if test "x$have_curses" != "xyes" || test "x$have_readline" != "xyes"; then
58426da5193SZdenek Styblik		xenable_ipmishell=no
58526da5193SZdenek Styblik	fi
58626da5193SZdenek Styblikfi
58726da5193SZdenek Styblik
58826da5193SZdenek Styblikdnl check for readline library to enable ipmi shell
58926da5193SZdenek StyblikAC_ARG_ENABLE([ipmishell],
59026da5193SZdenek Styblik	[AC_HELP_STRING([--enable-ipmishell],
59126da5193SZdenek Styblik			[enable IPMI shell interface [default=auto]])],
59226da5193SZdenek Styblik	[xenable_ipmishell=$enableval],
59326da5193SZdenek Styblik	[])
59426da5193SZdenek Styblikif test "x$xenable_ipmishell" = "xyes"; then
59526da5193SZdenek Styblik	AC_SEARCH_LIBS([tgetent], [tinfo ncurses curses readline termcap])
59626da5193SZdenek Styblik	AC_SEARCH_LIBS([initscr], [ncurses curses], [have_curses=yes])
59726da5193SZdenek Styblik	AC_SEARCH_LIBS([readline], [readline edit], [have_readline=yes])
59826da5193SZdenek Styblik	if test "x$have_curses" != "xyes"; then
59926da5193SZdenek Styblik		AC_MSG_ERROR([** Unable to find curses required by ipmishell.])
60026da5193SZdenek Styblik	fi
60126da5193SZdenek Styblik	if test "x$have_readline" != "xyes"; then
60226da5193SZdenek Styblik		AC_MSG_ERROR([** Unable to find readline required by ipmishell.])
60326da5193SZdenek Styblik	fi
60426da5193SZdenek Styblik	AC_DEFINE(HAVE_READLINE, [1], [Define to 1 if readline present.])
60526da5193SZdenek Styblikfi
60626da5193SZdenek Styblik
60726da5193SZdenek Styblikdnl Enable -Wall -Werror
60826da5193SZdenek StyblikAC_ARG_ENABLE([buildcheck],
60926da5193SZdenek Styblik	[AC_HELP_STRING([--enable-buildcheck],
61026da5193SZdenek Styblik			[enable -Wall -Werror for build testing [default=no]])],
61126da5193SZdenek Styblik	[xenable_buildcheck=$enableval],
61226da5193SZdenek Styblik	[xenable_buildcheck=no])
61326da5193SZdenek Styblikif test "x$xenable_buildcheck" != "xno"; then
61426da5193SZdenek Styblik	CFLAGS="$CFLAGS -Wall -Werror -Wpointer-arith -Wstrict-prototypes"
61526da5193SZdenek Styblikfi
61626da5193SZdenek StyblikAC_SUBST(CFLAGS)
61726da5193SZdenek Styblik
61826da5193SZdenek Styblikdnl Enable extra file security paranoia
61926da5193SZdenek StyblikAC_ARG_ENABLE([file-security],
62026da5193SZdenek Styblik	[AC_HELP_STRING([--enable-file-security],
62126da5193SZdenek Styblik			[enable extra security checks on files opened for read [default=no]])],
62226da5193SZdenek Styblik	[xenable_file_security=$enableval],
62326da5193SZdenek Styblik	[xenable_file_security=no])
62426da5193SZdenek Styblikif test "x$xenable_file_security" != "xno"; then
62526da5193SZdenek Styblik	AC_DEFINE(ENABLE_FILE_SECURITY, [1], [Define to 1 for extra file security.])
62626da5193SZdenek Styblikfi
62726da5193SZdenek Styblik
62826da5193SZdenek Styblik
62926da5193SZdenek StyblikAC_TRY_COMPILE([],[
63026da5193SZdenek Styblik	#include <stdio.h>
63126da5193SZdenek Styblik
63226da5193SZdenek Styblik	struct packstruct {
63326da5193SZdenek Styblik		unsigned char t0       :5;
63426da5193SZdenek Styblik		unsigned char t1       :5;
63526da5193SZdenek Styblik		unsigned char t2       :5;
63626da5193SZdenek Styblik		unsigned char t3       :5;
63726da5193SZdenek Styblik		unsigned char t4       :4;
63826da5193SZdenek Styblik	} __attribute__ ((packed));
63926da5193SZdenek Styblik
64026da5193SZdenek Styblik	int
64126da5193SZdenek Styblik	main(int argc, char ** argv)
64226da5193SZdenek Styblik	{
64326da5193SZdenek Styblik	if(sizeof(struct packstruct) != 3)
64426da5193SZdenek Styblik	return(1);
64526da5193SZdenek Styblik	else
64626da5193SZdenek Styblik	return(0);
64726da5193SZdenek Styblik	}
64826da5193SZdenek Styblik	],
64926da5193SZdenek Styblik	[],
65026da5193SZdenek Styblik	[AC_DEFINE(HAVE_PRAGMA_PACK,[1],
65126da5193SZdenek Styblik		[Define to 1 if you need to use #pragma pack instead of __attribute__ ((packed))])]
65226da5193SZdenek Styblik)
65326da5193SZdenek Styblik
65426da5193SZdenek Styblik
65526da5193SZdenek Styblikdnl Generate files for build
65626da5193SZdenek StyblikAC_CONFIG_FILES([Makefile
65726da5193SZdenek Styblik		doc/Makefile
65826da5193SZdenek Styblik		contrib/Makefile
65926da5193SZdenek Styblik		control/Makefile
66026da5193SZdenek Styblik		control/pkginfo
66126da5193SZdenek Styblik		control/prototype
66226da5193SZdenek Styblik		control/rpmmacros
66326da5193SZdenek Styblik		control/ipmitool.spec
66426da5193SZdenek Styblik		lib/Makefile
66526da5193SZdenek Styblik		include/Makefile
66626da5193SZdenek Styblik		include/ipmitool/Makefile
66726da5193SZdenek Styblik		src/Makefile
66826da5193SZdenek Styblik		src/plugins/Makefile
66926da5193SZdenek Styblik		src/plugins/lan/Makefile
67026da5193SZdenek Styblik		src/plugins/lanplus/Makefile
67126da5193SZdenek Styblik		src/plugins/open/Makefile
67226da5193SZdenek Styblik		src/plugins/free/Makefile
67326da5193SZdenek Styblik		src/plugins/imb/Makefile
67426da5193SZdenek Styblik		src/plugins/bmc/Makefile
675e2c5b322SZdenek Styblik		src/plugins/usb/Makefile
676*069e132eSJeremy Kerr		src/plugins/dbus/Makefile
67726da5193SZdenek Styblik		src/plugins/lipmi/Makefile
67826da5193SZdenek Styblik		src/plugins/serial/Makefile
67926da5193SZdenek Styblik		src/plugins/dummy/Makefile])
68026da5193SZdenek Styblik
68126da5193SZdenek StyblikAC_OUTPUT
68226da5193SZdenek Styblik
68326da5193SZdenek StyblikAC_MSG_RESULT([])
68426da5193SZdenek StyblikAC_MSG_RESULT([ipmitool $VERSION])
68526da5193SZdenek StyblikAC_MSG_RESULT([])
68626da5193SZdenek StyblikAC_MSG_RESULT([Interfaces])
68726da5193SZdenek StyblikAC_MSG_RESULT([  lan     : $xenable_intf_lan])
68826da5193SZdenek StyblikAC_MSG_RESULT([  lanplus : $xenable_intf_lanplus])
68926da5193SZdenek StyblikAC_MSG_RESULT([  open    : $xenable_intf_open])
69026da5193SZdenek StyblikAC_MSG_RESULT([  free    : $xenable_intf_free])
69126da5193SZdenek StyblikAC_MSG_RESULT([  imb     : $xenable_intf_imb])
69226da5193SZdenek StyblikAC_MSG_RESULT([  bmc     : $xenable_intf_bmc])
693e2c5b322SZdenek StyblikAC_MSG_RESULT([  usb     : $xenable_intf_usb])
694*069e132eSJeremy KerrAC_MSG_RESULT([  dbus    : $xenable_intf_dbus])
69526da5193SZdenek StyblikAC_MSG_RESULT([  lipmi   : $xenable_intf_lipmi])
69626da5193SZdenek StyblikAC_MSG_RESULT([  serial  : $xenable_intf_serial])
69726da5193SZdenek StyblikAC_MSG_RESULT([  dummy   : $xenable_intf_dummy])
69826da5193SZdenek StyblikAC_MSG_RESULT([])
69926da5193SZdenek StyblikAC_MSG_RESULT([Extra tools])
70026da5193SZdenek StyblikAC_MSG_RESULT([  ipmievd   : yes])
70126da5193SZdenek StyblikAC_MSG_RESULT([  ipmishell : $xenable_ipmishell])
70226da5193SZdenek StyblikAC_MSG_RESULT([])
70326da5193SZdenek Styblik
704