dnl autoconf macroses for detecting ORBexpress (http://www.ooc.com)
dnl (C) Ruslan Shevchenko <Ruslan@Shevchenko.Kiev.UA>, 1998
dnl Modified for ORBexpress by Dimi Shahbaz.
dnl $Id: RSSH_CHECK_ORBEXPRESS.m4,v 1.1 2002/03/27 01:56:56 rssh Exp $
dnl
AC_DEFUN(RSSH_CHECK_ORBEXPRESS,[
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 ORBEXPRESS)

orbexpress=no

AC_ARG_WITH(orbexpress, [orbexpress: prefix to ORBexpress installation (default: /usr/local) ],\
            ORBEXPRESS_PREFIX=${with_orbexpress} , ORBEXPRESS_PREFIX=/usr/local )

AC_CHECKING(for ORBexpress)

AC_LANG_SAVE
AC_LANG_CPLUSPLUS

if test ! $ORBEXPRESS_PREFIX = no
then


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

dnl RSSH_CHECK_JTC

CXXCPPFLAGS="$CXXCPPFLAGS  -I$ORBEXPRESS_PREFIX/include"
CPPFLAGS="$CPPFLAGS  -I$ORBEXPRESS_PREFIX/include"

AC_CHECK_HEADER( CORBA.h, orbexpress=yes , orbexpress=no )
else
 orbexpress=no
fi

if test "x$orbexpress" = xyes
then

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

LIBS="-L$ORBEXPRESS_PREFIX/lib -lOEbridge -lOEipmc -lOEmirror -lOEorb -lOEtcp $LIBS"
         
AC_SUBST(ORBEXPRESS_PREFIX)

ORB_PREFIX=$ORBEXPRESS_PREFIX
AC_SUBST(ORB_PREFIX)

ORB=ORBexpress
AC_SUBST(ORB)


dnl THIS IS UGLY. SHOULD BE CHANGED?
IDL=$ORBEXPRESS_PREFIX/../../../../host/x86-linux/bin/idl2cpp
AC_SUBST(IDL,$IDL)
IDLCXX=$ORBEXPRESS_PREFIX/../../../../host/x86-linux/bin/idl2cpp
AC_SUBST(IDLCXX,$IDLCXX)

dnl THIS IS UGLY. SHOULD BE CHANGED?
IDLFLAGS="$IDLFLAGS -I$ORBEXPRESS_PREFIX/../../../../idl"
AC_SUBST(IDLFLAGS)

ORB_INCLUDE_PREFIX=.
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=.cxx
IDL_CLN_CPP_SUFFIX=.cxx
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=_s.h 
IDL_SRV_H_SUFFIX=_s.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=_s.cxx
IDL_SRV_CPP_SUFFIX=_s.cxx
AC_SUBST(IDL_SRV_CPP,$IDL_SRV_CPP)
AC_SUBST(IDL_SRV_CPP_SUFFIX,$IDL_SRV_CPP)

IDL_SRV_O=_s.o
IDL_SRV_OBJ_SUFFIX=_s.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='CORBA.h'
AC_DEFINE_UNQUOTED(CORBA_H,<$CORBA_H>)

AC_SUBST(HAVE_ORB_IDL)
  
AC_DEFINE(ORBEXPRESS)

else

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

fi

AC_LANG_RESTORE

AC_MSG_RESULT(ORBexpress check result: $orbexpress)

])dnl
dnl


syntax highlighted by Code2HTML, v. 0.9.1