diff --git a/ipmitool/configure.in b/ipmitool/configure.in index 1238c66..9c9620a 100644 --- a/ipmitool/configure.in +++ b/ipmitool/configure.in @@ -183,6 +183,8 @@ else enable_intf_lanplus=no fi +ORIG_CPPFLAGS=$CPPFLAGS + dnl look for OpenIPMI header files AC_ARG_WITH([kerneldir], [AC_HELP_STRING([--with-kerneldir=DIR], @@ -192,6 +194,8 @@ AC_ARG_WITH([kerneldir], fi CFLAGS="$CFLAGS -I ${with_kerneldir}/include" AC_SUBST(CFLAGS) + CPPFLAGS="$CPPFLAGS -I ${with_kerneldir}/include" + AC_SUBST(CPPFLAGS) if test -s ${with_kerneldir}/include/linux/version.h ; then kernelver=`grep UTS_RELEASE ${with_kerneldir}/include/linux/version.h | \ sed 's/^\#define UTS_RELEASE \"\(2\.[0-9]\)\..*/\1/'` @@ -200,11 +204,23 @@ AC_ARG_WITH([kerneldir], AC_SUBST(CPPFLAGS) fi fi]) + +AH_TEMPLATE([HAVE_LINUX_COMPILER_H], []) +AC_MSG_CHECKING([for linux/compiler.h]) +AC_PREPROC_IFELSE([#include ], + [AC_DEFINE(HAVE_LINUX_COMPILER_H, [1], + [Define to 1 if you have the header file.]) + AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no])]) + +CPPFLAGS=$ORIG_CPPFLAGS +AC_SUBST(CPPFLAGS) + AC_CHECK_HEADER([linux/ipmi.h], [AC_DEFINE(HAVE_OPENIPMI_H, [1], [Define to 1 if you have the header file.])], [AC_CHECK_HEADER([sys/ipmi.h], - [AC_DEFINE(HAVE_FREEBSD_IPMI_H, [1], + [AC_DEFINE(HAVE_OPENIPMI_H, [1], [Define to 1 if you have the header file.])], [echo "** Unable to find OpenIPMI header files. Using internal version."])]) diff --git a/ipmitool/src/ipmievd.c b/ipmitool/src/ipmievd.c index 624603a..b28dd5d 100644 --- a/ipmitool/src/ipmievd.c +++ b/ipmitool/src/ipmievd.c @@ -54,7 +54,9 @@ #ifdef IPMI_INTF_OPEN # if defined(HAVE_OPENIPMI_H) -# include +# if defined(HAVE_LINUX_COMPILER_H) +# include +# endif # include # elif defined(HAVE_FREEBSD_IPMI_H) # include diff --git a/ipmitool/src/plugins/open/open.c b/ipmitool/src/plugins/open/open.c index ce6c7a1..1ea1e31 100644 --- a/ipmitool/src/plugins/open/open.c +++ b/ipmitool/src/plugins/open/open.c @@ -50,7 +50,9 @@ #endif #if defined(HAVE_OPENIPMI_H) -# include +# if defined(HAVE_LINUX_COMPILER_H) +# include +# endif # include #elif defined(HAVE_FREEBSD_IPMI_H) /* FreeBSD OpenIPMI-compatible header */ @@ -61,7 +63,7 @@ extern int verbose; -#define IPMI_OPENIPMI_DEV "/dev/ipmi0" +#define IPMI_OPENIPMI_DEV "/dev/ipmi0" #define IPMI_OPENIPMI_DEVFS "/dev/ipmi/0" #define IPMI_OPENIPMI_DEVFS2 "/dev/ipmidev/0" @@ -274,4 +276,3 @@ struct ipmi_intf ipmi_open_intf = { my_addr: IPMI_BMC_SLAVE_ADDR, target_addr: IPMI_BMC_SLAVE_ADDR, }; -