From 7bc4421f26954c2acd817c690cbbde03a4391878 Mon Sep 17 00:00:00 2001 From: Radek Novacek Date: Mon, 23 Jul 2012 12:41:11 +0200 Subject: Move all providers to src/ directory --- src/service/acinclude.m4 | 407 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 407 insertions(+) create mode 100644 src/service/acinclude.m4 (limited to 'src/service/acinclude.m4') diff --git a/src/service/acinclude.m4 b/src/service/acinclude.m4 new file mode 100644 index 0000000..52538d0 --- /dev/null +++ b/src/service/acinclude.m4 @@ -0,0 +1,407 @@ +dnl +dnl $Id: acinclude.m4,v 1.2 2009/05/22 03:50:48 tyreld Exp $ +dnl +dnl +dnl (C) Copyright IBM Corp. 2004, 2005, 2009 +dnl +dnl THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE +dnl ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE +dnl CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. +dnl +dnl You can obtain a current copy of the Eclipse Public License from +dnl http://www.eclipse.org/legal/epl-v10.html +dnl +dnl Author: Konrad Rzeszutek +dnl Contributors: Viktor Mihajlovski +dnl Date : 09/20/2004 +dnl +dnl +dnl CHECK_CMPI: Check for CMPI headers and set the CPPFLAGS +dnl with the -I +dnl +dnl CHECK_PEGASUS_2_3_2: Check for Pegasus 2.3.2 and set +dnl the HAVE_PEGASUS_2_3_2 +dnl flag +dnl + +AC_DEFUN([CHECK_PEGASUS_2_3_2], + [ + AC_MSG_CHECKING(for Pegasus 2.3.2) + if which cimserver > /dev/null 2>&1 + then + test_CIMSERVER=`cimserver -v` + fi + if test "$test_CIMSERVER" == "2.3.2"; then + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_PEGASUS_2_3_2,1,[Defined to 1 if Pegasus 2.3.2 is used]) + else + AC_MSG_RESULT(no) + + fi + ] +) + +dnl +dnl CHECK_PEGASUS_2_4: Check for Pegasus 2.4 and set the +dnl the -DPEGASUS_USE_EXPERIMENTAL_INTERFACES flag +dnl +AC_DEFUN([CHECK_PEGASUS_2_4], + [ + AC_MSG_CHECKING(for Pegasus 2.4) + if which cimserver > /dev/null 2>&1 + then + test_CIMSERVER=`cimserver -v` + fi + if test "$test_CIMSERVER" == "2.4"; then + AC_MSG_RESULT(yes) + CPPFLAGS="$CPPFLAGS -DPEGASUS_USE_EXPERIMENTAL_INTERFACES" + AC_DEFINE_UNQUOTED(HAVE_PEGASUS_2_4,1,[Defined to 1 if Pegasus 2.4 is used]) + else + AC_MSG_RESULT(no) + + fi + ] +) + + +dnl +dnl Helper functions +dnl +AC_DEFUN([_CHECK_CMPI], + [ + AC_MSG_CHECKING($1) + AC_TRY_LINK( + [ + #include + #include + #include + #include + ], + [ + CMPIBroker broker; + CMPIStatus status = {CMPI_RC_OK, NULL}; + CMPIString *s = CMNewString(&broker, "TEST", &status); + ], + [ + have_CMPI=yes + dnl AC_MSG_RESULT(yes) + ], + [ + have_CMPI=no + dnl AC_MSG_RESULT(no) + ]) + +]) + +AC_DEFUN([_CHECK_INDHELP_HEADER], + [ + AC_MSG_CHECKING($1) + AC_TRY_COMPILE( + [ + #include + #include + ], + [ + CMPISelectExp *filter = NULL; + ind_set_select("/root/cimv2",NULL,filter); + ], + [ + have_INDHELP=yes + dnl AC_MSG_RESULT(yes) + ], + [ + have_INDHELP=no + dnl AC_MSG_RESULT(no) + ]) + +]) + +dnl +dnl The main function to check for CMPI headers +dnl Modifies the CPPFLAGS with the right include directory and sets +dnl the 'have_CMPI' to either 'no' or 'yes' +dnl + +AC_DEFUN([CHECK_CMPI], + [ + AC_MSG_CHECKING(for CMPI headers) + dnl Check just with the standard include paths + CMPI_CPP_FLAGS="$CPPFLAGS" + _CHECK_CMPI(standard) + if test "$have_CMPI" == "yes"; then + dnl The standard include paths worked. + AC_MSG_RESULT(yes) + else + _DIRS_="/usr/include/cmpi \ + /usr/local/include/cmpi \ + $PEGASUS_ROOT/src/Pegasus/Provider/CMPI \ + /opt/tog-pegasus/include/Pegasus/Provider/CMPI \ + /usr/include/Pegasus/Provider/CMPI \ + /usr/include/openwbem \ + /usr/sniacimom/include" + for _DIR_ in $_DIRS_ + do + _cppflags=$CPPFLAGS + _include_CMPI="$_DIR_" + CPPFLAGS="$CPPFLAGS -I$_include_CMPI" + _CHECK_CMPI($_DIR_) + if test "$have_CMPI" == "yes"; then + dnl Found it + AC_MSG_RESULT(yes) + dnl Save the new -I parameter + CMPI_CPP_FLAGS="$CPPFLAGS" + break + fi + CPPFLAGS=$_cppflags + done + fi + CPPFLAGS="$CMPI_CPP_FLAGS" + if test "$have_CMPI" == "no"; then + AC_MSG_ERROR(no. Sorry cannot find CMPI headers files.) + fi + ] +) + +dnl +dnl The main function to check for the indication_helper header. +dnl Modifies the CPPFLAGS with the right include directory and sets +dnl the 'have_INDHELP' to either 'no' or 'yes' +dnl + +AC_DEFUN([CHECK_INDHELP_HEADER], + [ + INDHELP_CPP_FLAGS="$CPPFLAGS" + AC_MSG_CHECKING(for indication helper header) + dnl Check just with the standard include paths + _CHECK_INDHELP_HEADER(standard) + if test "$have_INDHELP" == "yes"; then + dnl The standard include paths worked. + AC_MSG_RESULT(yes) + else + _DIRS_="/usr/include/sblim \ + /usr/local/include/sblim" + for _DIR_ in $_DIRS_ + do + _cppflags=$CPPFLAGS + _include_INDHELP="$_DIR_" + CPPFLAGS="$CPPFLAGS -I$_include_INDHELP" + _CHECK_INDHELP_HEADER($_DIR_) + if test "$have_INDHELP" == "yes"; then + dnl Found it + AC_MSG_RESULT(yes) + dnl Save the new -I parameter + INDHELP_CPP_FLAGS="$CPPFLAGS" + break + fi + CPPFLAGS=$_cppflags + done + fi + CPPFLAGS="$INDHELP_CPP_FLAGS" + if test "$have_INDHELP" == "no"; then + AC_MSG_RESULT(no) + fi + ] +) + +dnl +dnl The check for the CMPI provider directory +dnl Sets the PROVIDERDIR variable. +dnl + +AC_DEFUN([CHECK_PROVIDERDIR], + [ + AC_MSG_CHECKING(for CMPI provider directory) + _DIRS="$libdir/cmpi" + save_exec_prefix=${exec_prefix} + save_prefix=${prefix} + if test xNONE == x${prefix}; then + prefix=/usr/local + fi + if test xNONE == x${exec_prefix}; then + exec_prefix=$prefix + fi + for _dir in $_DIRS + do + _xdir=`eval echo $_dir` + AC_MSG_CHECKING( $_dir ) + if test -d $_xdir ; then + dnl Found it + AC_MSG_RESULT(yes) + if test x"$PROVIDERDIR" == x ; then + PROVIDERDIR=$_dir + fi + break + fi + done + if test x"$PROVIDERDIR" == x ; then + PROVIDERDIR="$libdir"/cmpi + AC_MSG_RESULT(implied: $PROVIDERDIR) + fi + exec_prefix=$save_exec_prefix + prefix=$save_prefix + ] +) + +dnl +dnl The "check" for the CIM server type in PATH and +dnl the sbin directories. +dnl Sets the CIMSERVER variable. +dnl + +AC_DEFUN([CHECK_CIMSERVER], + [ + AC_MSG_CHECKING(for CIM servers) + if test x"$CIMSERVER" = x + then + _SERVERS="sfcbd cimserver owcimomd" + _SAVE_PATH=$PATH + PATH=/usr/sbin:/usr/local/sbin:$PATH + for _name in $_SERVERS + do + AC_MSG_CHECKING( $_name ) + for _path in `echo $PATH | sed "s/:/ /g"` + do + if test -f $_path/$_name ; then + dnl Found it + AC_MSG_RESULT(yes) + if test x"$CIMSERVER" == x ; then + case $_name in + sfcbd) CIMSERVER=sfcb;; + cimserver) CIMSERVER=pegasus;; + owcimomd) CIMSERVER=openwbem;; + esac + fi + break; + fi + done + done + PATH=$_SAVE_PATH + if test x"$CIMSERVER" == x ; then + CIMSERVER=sfcb + AC_MSG_RESULT(implied: $CIMSERVER) + fi + fi + # Cross platform only needed for sfcb currently + if test $CIMSERVER = sfcb + then + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_CHECK_SIZEOF(int) + case "$build_cpu" in + i*86) case "$host_cpu" in + powerpc*) if test $ac_cv_sizeof_int == 4 + then + REGISTER_FLAGS="-X P32" + fi ;; + esac ;; + esac + AC_SUBST(REGISTER_FLAGS) + fi + ] +) + +dnl +dnl The check for the SBLIM test suite +dnl Sets the TESTSUITEDIR variable and the TESTSUITE conditional +dnl + +AC_DEFUN([CHECK_TESTSUITE], + [ + AC_MSG_CHECKING(for SBLIM testsuite) + _DIRS="$datadir/sblim-testsuite" + save_exec_prefix=${exec_prefix} + save_prefix=${prefix} + if test xNONE == x${prefix}; then + prefix=/usr/local + fi + if test xNONE == x${exec_prefix}; then + exec_prefix=$prefix + fi + for _name in $_DIRS + do + AC_MSG_CHECKING( $_name ) + _xname=`eval echo $_name` + if test -x $_xname/run.sh ; then + dnl Found it + AC_MSG_RESULT(yes) + if test x"$TESTSUITEDIR" == x; then + TESTSUITEDIR=$_name + fi + AC_SUBST(TESTSUITEDIR) + break; + fi + done + if test x"$TESTSUITEDIR" == x ; then + AC_MSG_RESULT(no) + fi + AM_CONDITIONAL(TESTSUITE,[test x"$TESTSUITEDIR" != x]) + exec_prefix=$save_exec_prefix + prefix=$save_prefix + ] +) + +dnl +dnl The main function to check for the cmpi-base common header +dnl Modifies the CPPFLAGS with the right include directory and sets +dnl the 'have_SBLIMBASE' to either 'no' or 'yes' +dnl +AC_DEFUN([_CHECK_SBLIM_BASE], + [ + AC_MSG_CHECKING($1) + _ldflags=$LDFLAGS + LDFLAGS="$LDFLAGS -lcmpiOSBase_Common" + AC_TRY_LINK( + [ + #include + ], + [ + get_system_name(); + ], + [ + have_SBLIMBASE=yes + LDFLAGS=$_ldflags + dnl AC_MSG_RESULT(yes) + ], + [ + have_SBLIMBASE=no + LDFLAGS=$_ldflags + dnl AC_MSG_RESULT(no) + ]) + +]) + +AC_DEFUN([CHECK_SBLIM_BASE], + [ + AC_MSG_CHECKING(for SBLIM Base) + SBLIMBASE_CPP_FLAGS="$CPPFLAGS" + dnl Check just with the standard include paths + _CHECK_SBLIM_BASE(standard) + if test "$have_SBLIMBASE" == "yes"; then + dnl The standard include paths worked. + AC_MSG_RESULT(yes) + else + _DIRS_="/usr/include/sblim \ + /usr/local/include/sblim" + for _DIR_ in $_DIRS_ + do + _cppflags=$CPPFLAGS + _include_SBLIMBASE="$_DIR_" + CPPFLAGS="$CPPFLAGS -I$_include_SBLIMBASE" + _CHECK_SBLIM_BASE($_DIR_) + if test "$have_SBLIMBASE" == "yes"; then + dnl Found it + AC_MSG_RESULT(yes) + dnl Save the new -I parameter + SBLIMBASE_CPP_FLAGS="$CPPFLAGS" + LIBSBLIMBASE=-lcmpiOSBase_Common + break + fi + CPPFLAGS=$_cppflags + done + fi + CPPFLAGS=$SBLIMBASE_CPP_FLAGS + AC_SUBST(LIBSBLIMBASE) + if test "$have_SBLIMBASE" == "no"; then + AC_MSG_ERROR(no. The required SBLIM Base package is missing.) + fi + ] +) -- cgit