dnl@synposis RSSH_CHECK_CORBA_ORB dnl dnl set CORBA support for omniORB v3-pr2 or highter dnl ( http://www.uk.research.att.com/omniORB/omniORB.html) dnl dnl@author (C) Ruslan Shevchenko <[EMAIL PROTECTED]>, 1999, 2000 dnl@id $Id: RSSH_CHECK_OMNIORB.m4,v 1.7 2000/08/05 01:07:58 rssh Exp $ dnl AC_DEFUN([RSSH_CHECK_OMNIORB],[ AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_CXX])dnl AC_REQUIRE([AC_PROG_CPP])dnl AC_REQUIRE([AC_PROG_CXXCPP])dnl AC_ARG_WITH(omniORB, prefix to omniORB installation (default: $OMNI_ROOT) ,\ OMNI_PREFIX=${with_omni} , OMNI_PREFIX=/usr/local ) AC_CHECKING(for omniORB) if test "x$OMNI_ROOT" = "x" then dnl OMNI NOT SET AC_MSG_RESULT(OMNI_ROOT not set) omni=no else AC_LANG_SAVE AC_LANG_CPLUSPLUS svCXXCPPFLAGS=$CXXCPPFLAGS svCPPFLAGS=$CPPFLAGS svLIBS=$LIBS svLDFLAGS=$LDFLAGS ORB_INCLUDES="-I$OMNI_ROOT/include" CXXCPPFLAGS="$CXXCPPFLAGS -I$OMNI_ROOT/include " CPPFLAGS="$CPPFLAGS -I$OMNI_ROOT/include " RSSH_ENABLE_PTHREADS echo build_cpu=$build_cpu case $build_cpu in sparc*) AC_DEFINE(__sparc__) ;; esac echo build_os=$build_os case $build_os in solaris*) AC_DEFINE(__sunos__) __OSVERSION__=5 AC_DEFINE(__OSVERSION__) ;; esac AC_CHECK_HEADER( omniORB3/CORBA.h, omni=yes , omni=no, ) if test "x$omni" = "xyes" then ORB_LDFLAGS="-L$OMNI_ROOT/lib" LIBS="$LIBS -lomnithread" AC_CACHE_CHECK("are we have omnithreads", rssh_cv_check_omnithreads, AC_TRY_LINK( #include <omnithread.h> ,omni_mutex my_mutex, rssh_cv_check_omnithreads=yes,rssh_cv_check_omnithreads=no) ) if test ! $rssh_cv_check_omnithreads = yes then AC_MSG_RESULT("omnithreads not found") omni_lib=no fi AC_CHECK_LIB(socket,socket, LIBS="-lsocket $LIBS",,) AC_CHECK_LIB(nsl,gethostbyname, LIBS="-lnsl $LIBS",,) LIBS="-lomniORB3 -ltcpwrapGK $LIBS" AC_CACHE_CHECK("whether we can link with omniORB3", rssh_cv_check_omniORBlib, AC_TRY_LINK( #include <omniORB3/CORBA.h> ,ORB_var orb, rssh_cv_check_omniORBlib=yes,rssh_cv_check_omniORBlib=no ) ) if test ! $rssh_cv_check_omniORBlib = yes then AC_MSG_RESULT("omniORB libs not found") omni_lib=no fi ORB_LIBS="-lomniORB3 -lomnithread" fi if test "x$omni_lib" = "xno" then AC_MSG_RESULT(omniORB library linking failed) omni="" fi fi if test "x$omni" = "omni" then CXXCPPFLAGS=$svCXXCPPFLAGS CPPFLAGS=$svCPPFLAGS LIBS=$svLIBS LDFLAGS=$svLDFLAGS ORB=unknown omni=no else AC_SUBST(CORBA_INCLUDES) ORB5PREFIX=$OMNI_ROOT AC_SUBST(ORB_PREFIX) ORB=omniORB AC_SUBST(ORB) IDL=omniidl AC_SUBST(IDL) IDLFLAGS="$IDLFLAGS -bcxx -I$OMNI_ROOT/idl" AC_SUBST(IDLFLAGS) ORB_INCLUDE_PREFIX= AC_SUBST(ORB_INCLUDE_PREFIX) IDL_CLN_H=.hh IDL_CLN_H_SUFFIX=.hh IDL_CLN_H1_SUFFIX=no AC_SUBST(IDL_CLN_H,$IDL_CLN_H) AC_SUBST(IDL_CLN_H_SUFFIX,$IDL_CLN_H_SUFFIX) AC_SUBST(IDL_CLN_H1_SUFFIX,$IDL_CLN_H1_SUFFIX) AC_DEFINE_UNQUOTED(IDL_CLN_H_SUFFIX,$IDL_CLN_H_SUFFIX) IDL_CLN_CPP=SK.cc IDL_CLN_CPP_SUFFIX=SK.cc AC_SUBST(IDL_CLN_CPP,$IDL_CLN_CPP) AC_SUBST(IDL_CLN_CPP_SUFFIX,$IDL_CLN_CPP_SUFFIX) AC_DEFINE_UNQUOTED(IDL_CLN_CPP_SUFFIX,$IDL_CLN_CPP) IDL_CLN_O=SK.o IDL_CLN_OBJ_SUFFIX=SK.o AC_SUBST(IDL_CLN_O,$IDL_CLN_O) AC_SUBST(IDL_CLN_OBJ_SUFFIX,$IDL_CLN_OBJ_SUFFIX) IDL_SRV_H=.hh IDL_SRV_H_SUFFIX=.hh IDL_SRV_H1_SUFFIX=no AC_SUBST(IDL_SRV_H,$IDL_SRV_H) AC_SUBST(IDL_SRV_H_SUFFIX,$IDL_SRV_H_SUFFIX) AC_SUBST(IDL_SRV_H1_SUFFIX,$IDL_SRV_H1_SUFFIX) AC_DEFINE_UNQUOTED(IDL_SRV_H_SUFFIX,$IDL_SRV_H_SUFFIX) IDL_SRV_CPP=SK.cc IDL_SRV_CPP_SUFFIX=SK.cc AC_SUBST(IDL_SRV_CPP,$IDL_SRV_CPP) AC_SUBST(IDL_SRV_CPP_SUFFIX,$IDL_SRV_CPP_SUFFIX) AC_DEFINE_UNQUOTED(IDL_SRV_H_SUFFIX,$IDL_SRV_H_SUFFIX) IDL_SRV_O=SK.o IDL_SRV_OBJ_SUFFIX=SK.o AC_SUBST(IDL_SRV_O,$IDL_SRV_O) AC_SUBST(IDL_SRV_OBJ_SUFFIX,$IDL_SRV_OBJ_SUFFIX) IDL_TIE_H_SUFFIX=no IDL_TIE_H1_SUFFIX=no IDL_TIE_CPP_SUFFIX=no AC_SUBST(IDL_TIE_H_SUFFIX,$IDL_TIE_H_SUFFIX) AC_SUBST(IDL_TIE_H1_SUFFIX,$IDL_TIE_H1_SUFFIX) AC_SUBST(IDL_TIE_CPP_SUFFIX,$IDL_TIE_CPP_SUFFIX) CORBA_H='omniORB3/CORBA.h' AC_DEFINE_UNQUOTED(CORBA_H,<$CORBA_H>) COSNAMING_H='omniORB3/Naming.hh' AC_DEFINE_UNQUOTED(COSNAMING_H,<$COSNAMING_H>) ORB_COSNAMING_LIB= AC_SUBST(ORB_COSNAMING_LIB) dnl i. e. it's build into ORB lib HAVE_ORB_IDL=1 AC_SUBST(HAVE_ORB_IDL) AC_CACHE_CHECK("whether CORBA modules mapped to namespaces", rssh_cv_corba_namespaces, AC_TRY_COMPILE(#include <$CORBA_H> , [ #ifndef HAS_Cplusplus_Namespace #error "we have no namespaces" we have no namespaces -- $$$$ #else return 0; #endif ], rssh_cv_corba_namespaces=yes, rssh_cv_corba_namespaces=no) ) if test "$rssh_cv_corba_namespaces" = "yes" then AC_DEFINE(CORBA_MODULE_NAMESPACE_MAPPING) else AC_DEFINE(CORBA_MODULE_CLASS_MAPPING) fi AC_DEFINE(OMNIORB) CORBA_HAVE_POA=1 AC_DEFINE(CORBA_HAVE_POA) CORBA_ORB_INIT_HAVE_3_ARGS=1 AC_DEFINE(CORBA_ORB_INIT_HAVE_3_ARGS) CORBA_ORB_INIT_THIRD_ARG='"omniORB3"' AC_DEFINE(CORBA_ORB_INIT_THIRD_ARG, "omniORB3") fi AC_LANG_RESTORE AC_MSG_RESULT(for omniORB: $omni) ])dnl dnl