dnl Process this file with autoconf to produce a configure script.

AC_INIT(wsmancli, 2.2.5)
AC_CONFIG_SRCDIR(wsmancli.spec.in)
AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
AM_CONFIG_HEADER(config.h)
AM_MAINTAINER_MODE

AC_ISC_POSIX
AC_PROG_CC
AC_PROG_CXX
AM_PROG_CC_STDC
AC_HEADER_STDC

WSMAN_PKG=$PACKAGE_NAME
AC_SUBST(WSMAN_PKG)
PACKAGE_BUILDTS=`date +%Y%m%d%H%M`
AC_SUBST(PACKAGE_BUILDTS)

PKG_CHECK_MODULES(OPENWSMAN, [openwsman >= 2.2.3])
have_cunit=no
AC_CHECK_HEADERS([CUnit/Basic.h], have_cunit="yes" )
AM_CONDITIONAL(BUILD_CUNIT_TESTS, test "$have_cunit" == "yes")
dnl *************************************
dnl *** Warnings to show if using GCC ***
dnl *************************************

AC_ARG_ENABLE(more-warnings,
	      [  --disable-more-warnings  Inhibit compiler warnings],
	      set_more_warnings=no)

if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
	CFLAGS="$CFLAGS \
		-Wall -Wstrict-prototypes -Wmissing-declarations \
		-Wmissing-prototypes -Wnested-externs -Wpointer-arith \
                -Wunused -Werror"
fi

AC_OUTPUT([
	wsmancli.spec
	Makefile
	src/Makefile
	examples/Makefile
	examples/cpp/Makefile
        tests/Makefile
        tests/interop/Makefile
        tests/cunit/Makefile
])

