dnl autoconf macroses for detecting Orbix/E (http://www.ooc.com)
dnl (C) Ruslan Shevchenko <Ruslan@Shevchenko.Kiev.UA>, 1998
dnl Modified for Orbix/E by Dimi Shahbaz. 2002
dnl $Id: RSSH_CHECK_ORBIXE.m4,v 1.1.2.1 2002/03/27 06:06:58 rssh Exp $
dnl
AC_DEFUN(RSSH_CHECK_ORBIXE,[
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_CHECKING(for ORBIXE)

orbixe=no

AC_ARG_WITH(orbixe, [orbixe: prefix to Orbix/E installation (default: /usr/local) ],\
            ORBIXE_PREFIX=${with_orbixe} , ORBIXE_PREFIX=/usr/local )

AC_ARG_WITH(ansicpp, [ansicpp: 'yes' if we use Orbix/E for ANSI C++ ],\
            USE_EA=${with_ansicpp}, USE_EA=no )

AC_CHECKING(for ORBIXE)

AC_LANG_SAVE
AC_LANG_CPLUSPLUS

if test ! $ORBIXE_PREFIX = no
then


svCPPFLAGS=$CPPFLAGS
svCXXFLAGS=$CXXFLAGS
svCXXCPPFLAGS=$CXXCPPFLAGS
svLIBS=$LIBS
svRSSH_ROLLBACK=$rssh_rollback
rssh_rollback=true

if test $USE_EA = yes
then
  ORBIXE_L=a
  ORBIXE_BL=A
else
  ORBIXE_L=e
  ORBIXE_BL=E
fi
ORBIXE_CPP_DIR=$ORBIXE_PREFIX/${ORBIXE_L}cpp
ORBIXE_CPP_LIB=obe${ORBIXE_L}_server

CXXCPPFLAGS="-I$ORBIXE_PREFIX/c/include $CXXCPPFLAGS" 
CXXCPPFLAGS="-I$ORBIXE_CPP_DIR/include $CXXCPPFLAGS"
CPPFLAGS="-I$ORBIXE_PREFIX/c/include  $CPPFLAGS" 
CPPFLAGS="-I$ORBIXE_CPP_DIR/include $CPPFLAGS" 

RSSH_ENABLE_PTHREADS

AC_CHECK_HEADER( OBE/CORBA.h, orbixe=yes , orbixe=no )
else
 orbixe=no
fi

if test "x$orbixe" = xyes
then

AC_CHECK_LIB(socket,socket, LIBS="-lsocket $LIBS",,)
AC_CHECK_LIB(nsl,gethostbyname, LIBS="-lnsl $LIBS",,)

LIBS="-L$ORBIXE_CPP_DIR/lib -L$ORBIXE_PREFIX/c/lib -l$ORBIXE_CPP_LIB -lJTC$ORBIXE_BL -lobec_server -lJTCC $LIBS"
         
AC_SUBST(ORBIXE_PREFIX)

ORB_PREFIX=$ORBIXE_PREFIX
AC_SUBST(ORB_PREFIX)

ORB=OrbixE
AC_SUBST(ORB)


IDL=$ORBIXE_PREFIX/bin/cidl
AC_SUBST(IDL,$IDL)
IDLCXX=$ORBIXE_PREFIX/bin/${ORBIXE_L}eidl
AC_SUBST(IDLCXX,$IDLCXX)

IDLFLAGS="$IDLFLAGS -I$ORBIXE_PREFIX/idl"
AC_SUBST(IDLFLAGS)

ORB_INCLUDE_PREFIX=OBE
AC_SUBST(ORB_INCLUDE_PREFIX)


IDL_CLN_H=.h
IDL_CLN_H_SUFFIX=.h
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,$IDL_CLN_H)
AC_DEFINE_UNQUOTED(IDL_CLN_H_SUFFIX,$IDL_CLN_H_SUFFIX)

IDL_CLN_CPP=.cpp
IDL_CLN_CPP_SUFFIX=.cpp
AC_SUBST(IDL_CLN_CPP,$IDL_CLN_CPP)
AC_SUBST(IDL_CLN_CPP_SUFFIX,$IDL_CLN_CPP)
AC_DEFINE_UNQUOTED(IDL_CLN_CPP_SUFFIX,$IDL_CLN_CPP)

IDL_CLN_O=.o 
IDL_CLN_OBJ_SUFFIX=.o 
AC_SUBST(IDL_CLN_O,$IDL_CLN_O)
AC_SUBST(IDL_CLN_OBJ_SUFFIX,$IDL_CLN_OBJ_SUFFIX)

IDL_SRV_H=_skel.h 
IDL_SRV_H_SUFFIX=_skel.h 
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)

IDL_SRV_CPP=_skel.cpp
IDL_SRV_CPP_SUFFIX=_skel.cpp
AC_SUBST(IDL_SRV_CPP,$IDL_SRV_CPP)
AC_SUBST(IDL_SRV_CPP_SUFFIX,$IDL_SRV_CPP)

IDL_SRV_O=_skel.o
IDL_SRV_OBJ_SUFFIX=_skel.o
AC_SUBST(IDL_SRV_O,$IDL_SRV_O)
AC_SUBST(IDL_SRV_OBJ_SUFFIX,$IDL_SRV_O)

IDL_TIE_H_SUFFIX=_tie_skel.h
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='OBE/CORBA.h'
AC_DEFINE_UNQUOTED(CORBA_H,<$CORBA_H>)

COSNAMING_H='OBE/CosNaming.h'
AC_DEFINE_UNQUOTED(COSNAMING_H,<$COSNAMING_H>)
ORB_COSNAMING_LIB="-lCosNamingC -lCosNaming$ORBIXE_BL"
AC_SUBST(ORB_COSNAMING_LIB)

AC_DEFINE(CORBA_MODULE_NAMESPACE_MAPPING)
AC_DEFINE(CORBA_HAVE_POA)
HAVE_ORB_IDL=1
AC_DEFINE(CORBA_ORB_HAVE_DESTROY)

AC_SUBST(HAVE_ORB_IDL)
  
AC_DEFINE(ORBIXE)

else

CPPFLAGS=$svCPPFLAGS
CXXCPPFLAGS=$svCXXCPPFLAGS
CXXFLAGS=$svCXXFLAGS
LIBS=$svLIBS
eval "$rssh_rollback"
rssh_rollback="$svRSSH_ROLLBACK"

fi

AC_LANG_RESTORE

AC_MSG_RESULT(OrbixE check result: $orbixe)

])dnl
dnl


syntax highlighted by Code2HTML, v. 0.9.1