[EMAIL PROTECTED] wrote:
> 
> I'm new to the world of autoconf and was wondering if anyone had a
> sample configure.in for configuring projects with the ACE
> libraries.
> 
> many thanks in advance,
> 

yes, this is part of my CORBA 
toolkit, which now I start to submit to autoconf archive.

Now the process of submission is in initial stage, now I can 
simple send you all set of my macroses with example of configure.in and
you can retrieve ACE-related part from aclocal.m4 by hand.

WBR.



> -allen
dnl RSSH_CHECK_ORACLE.m4
dnl auticonf macroses for determination of parameters of ORACLE installation
dnl (C) Ruslan Shevchenko <[EMAIL PROTECTED]>, 1998
dnl $Id: aclocal.m4,v 1.13 2000/07/06 15:55:00 jos Exp $
dnl
dnl Process this file with autoconf to produce a configure script.
dnl
dnl
AC_DEFUN(RSSH_CHECK_ORACLE,[

AC_CHECKING(for Oracle)

echo ORACLE_HOME=$ORACLE_HOME

AC_ARG_WITH(oracle, ORACLE_HOME (default: $ORACLE_HOME), \
 ORACLE_HOME=${with_oracle} , )

echo ORACLE_HOME=$ORACLE_HOME

dnl
dnl Some customization, local to grad.kiev.ua:
dnl

if test "x$ORACLE_HOME" = "x"
then
 if test -f /u01/app/oracle/product/8.0.4/rdbms/demo/oratypes.h
 then
   ORACLE_HOME=/u01/app/oracle/product/8.0.4
 else
   if test -f /usr/oracle7/rdbms/demo/oratypes.h
   then
     ORACLE_HOME=/usr/oracle7
   fi
 fi
fi

dnl
dnl finally, add OCI includes to includes:
dnl

if test "x$ORACLE_HOME" = "x"
then
  oracle=no
  AC_MSG_WARN(ORACLE_HOME not found!)
else

  oracle=$ORACLE_HOME
  AC_SUBST(ORACLE_HOME,$ORACLE_HOME)

  CPPFLAGS="$CPPFLAGS -I$ORACLE_HOME/rdbms/demo"
  CPPFLAGS="$CPPFLAGS -I$ORACLE_HOME/plsql/public"
  CPPFLAGS="$CPPFLAGS -I$ORACLE_HOME/network/public"

dnl
dnl Check client libs:
dnl

  ORACLE_LIBDIR=$ORACLE_HOME/lib
  LIBS="-L$ORACLE_LIBDIR  $LIBS"

  if test -d /opt/SUNWspro/lib
  then
    LIBS="-L/opt/SUNWspro/lib $LIBS"
  fi

  if test -d /opt/SUNWspro/SC4.2/lib
  then
    LIBS="-L/opt/SUNWspro/SC4.2/lib $LIBS"
  fi

  if test -f $ORACLE_HOME/lib/libclntsh.so
  then
    LIBS="$LIBS -lclntsh"
    if test -f $ORACLE_HOME/lib/liboi.so
    then
      LIBS="$LIBS -loi"
    fi
  else
    AC_MSG_WARN("Can not find ORACLE client library");
    oracle=no 
  fi
fi

AC_MSG_RESULT(oracle is $oracle)

])dnl

dnl  set of additional configure scripts.
dnl   (C) Ruslan Shevchenko <[EMAIL PROTECTED]>, 1998
dnl   $Id: aclocal.m4,v 1.13 2000/07/06 15:55:00 jos Exp $
dnl --------------------------------------------------------------------
dnl
dnl
AC_DEFUN(RSSH_CHECK_ORB,[
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_PROG_CPP])dnl
AC_REQUIRE([AC_PROG_CXX])dnl
AC_REQUIRE([AC_PROG_CXXCPP])dnl

AC_ARG_WITH(orb, [orb used (one of TAO  omniBroker  ORBacus)] ,\
            ORB=${with_orb} , ORB=unknown )

AC_CHECKING(ORB)

if test x$ORB = x
then
  ORB=unknown
fi

if test "x$ORB" = "xunknown"
then
  RSSH_CHECK_TAO
  if test "x$ORB" = "xunknown"
  then
    RSSH_CHECK_ORBACUS
  fi
  if test "x$ORB" = "xunknown" ; then
    RSSH_CHECK_OMNIORB
    if test "x$ORB" = "xunknown" ; then
      AC_MSG_ERROR(no orb found)
    fi
  fi
else
 if test "x$ORB" = "xTAO"; then 
   RSSH_CHECK_TAO
 else
   if test "x$ORB" = "xORBacus" ; then
     RSSH_CHECK_ORBACUS
   else
     if test "x$ORB" = "xomniORB" ; then
       RSSH_CHECK_OMNIORB
     else
       AC_MSG_ERROR(unknown ORB)
     fi
   fi
 fi
fi

AC_MSG_RESULT("Result for ORB: $ORB")

])dnl
dnl
dnl autoconf macroses for detecting omniORB
dnl http://www.uk.research.att.com/omniORB/omniORB.html
dnl v3-pr2 or highter
dnl (C) Ruslan Shevchenko <[EMAIL PROTECTED]>, 1998, 2000
dnl $Id: aclocal.m4,v 1.13 2000/07/06 15:55:00 jos 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 TAO 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_SOLARIS_THREADSAFE_FLAG

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
dnl autoconf macroses for detecting ORBacus (http://www.ooc.com)
dnl (C) Ruslan Shevchenko <[EMAIL PROTECTED]>, 1998
dnl $Id: aclocal.m4,v 1.13 2000/07/06 15:55:00 jos Exp $
dnl
AC_DEFUN(RSSH_CHECK_ORBACUS,[
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 ORBACUS)

orbacus=no

AC_ARG_WITH(ob, prefix to OB installation (default: /usr/local) ,\
            OB_PREFIX=${with_ob} , OB_PREFIX=/usr/local )

AC_CHECKING(for ORBacus)
AC_LANG_SAVE
AC_LANG_CPLUSPLUS

if test ! $OB_PREFIX = no
then

svCPPFLAGS=$CPPFLAGS
svCXXCPPFLAGS=$CXXCPPFLAGS
svLIBS=$LIBS

RSSH_CHECK_JTC

CXXCPPFLAGS="$CXXCPPFLAGS -I/usr/include/g++-3 -I$OB_PREFIX/include"
CPPFLAGS="$CPPFLAGS -I/usr/include/g++-3 -I$OB_PREFIX/include"

AC_CHECK_HEADER( OB/CORBA.h, orbacus=yes , orbacus=no )
else
 orbacus=no
fi

if test "x$orbacus" = xyes
then

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

LIBS="-L$OB_PREFIX/lib -lOB $LIBS"
         
AC_SUBST(OB_PREFIX)

ORB_PREFIX=$OB_PREFIX
AC_SUBST(ORB_PREFIX)

ORB=ORBacus
AC_SUBST(ORB)


IDL=idl
AC_SUBST(IDL,$IDL)

IDLFLAGS="$IDLFLAGS -I$OB_PREFIX/idl -I$OB_PREFIX/idl/OB"
AC_SUBST(IDLFLAGS)

ORB_INCLUDE_PREFIX=OB
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 
AC_SUBST(IDL_CLN_O,$IDL_CLN_O)

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_H_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_CPP_SUFFIX)


CORBA_H='OB/CORBA.h'
AC_DEFINE_UNQUOTED(CORBA_H,<$CORBA_H>)

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

AC_CACHE_CHECK("if OB_INTEGER_VERSION defined",
rssh_cv_have_ob_integer_version,
AC_TRY_COMPILE(#include <$CORBA_H>
,
[
#ifndef OB_INTEGER_VERSION
#error "OB_INTEGER_VERSION_NOT_DEFINED"
ob integer version not defined and C++ compiler think, that errors are warning
#else
return 0;
#endif
], rssh_cv_have_ob_integer_version=1, rssh_cv_have_ob_integer_version=0)
)


if test "x$rssh_cv_have_ob_integer_version" = "x1" 
then
AC_CACHE_CHECK("if this is 4.x branch ",
rssh_cv_ob_4,
AC_TRY_COMPILE(#include <$CORBA_H>
,
[
#if (OB_INTEGER_VERSION >= 3999951L )
return 0;
#else
#error "qqq"
ob integer version < ,,, but C++ compiler think, that errors are warning
#endif
],rssh_cv_ob_4=yes,rssh_cv_ob_4=no)
)
fi


if test "x$rssh_cv_ob_4" = "xyes" 
then
AC_DEFINE(CORBA_MODULE_NAMESPACE_MAPPING)
AC_DEFINE(CORBA_HAVE_POA)
HAVE_ORB_IDL=1
AC_DEFINE(CORBA_SYSTEM_EXCEPTION_IS_STREAMBLE)
else
HAVE_ORB_IDL=0
AC_DEFINE(CORBA_MODULE_C_MAPPING)
CORBA_SKELETON_SUFFIX=_skel
AC_DEFINE_UNQUOTED(CORBA_SKELETON_SUFFIX,$CORBA_SKELETON_SUFFIX)
fi
AC_SUBST(HAVE_ORB_IDL)
  
AC_DEFINE(ORBACUS)

else

CPPFLAGS=$svCPPFLAGS
CXXCPPFLAGS=$svCXXCPPFLAGS
LIBS=$svLIBS

fi

AC_LANG_RESTORE

AC_MSG_RESULT(ORBacus check result: $orbacus)

])dnl
dnl
dnl  set of additional configure scripts.
dnl   (C) Ruslan Shevchenko <[EMAIL PROTECTED]>, 1998, 2000
dnl   $Id: aclocal.m4,v 1.13 2000/07/06 15:55:00 jos Exp $
dnl --------------------------------------------------------------------
dnl
dnl
AC_DEFUN(RSSH_CHECK_JTC,[
AC_REQUIRE([RSSH_SOLARIS_THREADSAFE_FLAG_VAR])

AC_ARG_WITH(jtc, prefix to OB installation (default: /usr/local) ,
            JTC_PREFIX=${jtc} , JTC_PREFIX=/usr/local )

AC_CHECKING("for JTC")

  svLIBS=$LIBS
  svCXXFLAGS="$CXXFLAGS"
  svCXXCPPFLAGS="$CXXCPPFLAGS"

  AC_LANG_SAVE
  AC_LANG_CPLUSPLUS

  CXXCPPFLAGS="$CXXCPPFLAGS  -I$JTC_PREFIX/include"
  CPPFLAGS="$CPPFLAGS  -I$JTC_PREFIX/include"
  CXXFLAGS="$CXXFLAGS $CXXFLAGS_MT"

  AC_CHECK_HEADER(JTC/JTC.h,have_jtc_header=yes,have_jtc_header=no)

  if test $have_jtc_header = yes
  then
    # check for libraries:
    for i in "$LIBS"
    do
    case $i in 
     -L*)
         if test "$i" = "-L${JTC_PREFIX}/lib"
         then
           jtc_prefix_lib_found=yes
         fi
         ;;
    esac
    done
    if test "x$jtc_prefix_lib_found" = x
    then
     LIBDIR=-L${JTC_PREFIX}/lib
    fi

    AC_CHECK_LIB(posix4,nanosleep, LIBS="-lposix4 $LIBS",have_posix4=no) 

    LIBS="$LIBDIR -lJTC $LIBS" 

    
    AC_CACHE_CHECK("whether we can link with JTC",
      rssh_cv_check_jtc=yes,
      AC_TRY_LINK(
#include <JTC/JTC.h>
,JTCInitialize bootJTC(0,NULL),
                 rssh_cv_check_jtc=yes,rssh_cv_check_jtc=no)
    )

  else
    rssh_cv_check_jtc=no
  fi
  
  if test "x$rssh_cv_check_jtc" = x
  then
   rssh_cv_check_jtc=yes
  fi

  if test "$rssh_cv_check_jtc" = no
  then
   LIBS=$svLIBS
   CXXFLAGS="$svCXXFLAGS"
   CXXCPPFLAGS="$svCXXCPPFLAGS"
  fi

  AC_LANG_RESTORE

AC_MSG_RESULT("Result for JTC: $rssh_cv_check_jtc")

if test $rssh_cv_check_jtc = yes
then
  AC_DEFINE(HAVE_JTC,1)
else
  LIBS=$svLIBS
  CXXFLAGS="$svCXXFLAGS"
  CXXCPPFLAGS="$svCXXCPPFLAGS"
fi

])dnl
dnl
dnl   (C) Ruslan Shevchenko <[EMAIL PROTECTED]>, 1998
dnl   $Id: aclocal.m4,v 1.13 2000/07/06 15:55:00 jos Exp $
dnl --------------------------------------------------------------------
dnl RSSH_CHECK_RTTI(ACTION-IF-FOUND,ACTION-IF-NOT-FOUND)
dnl   rssh_cv_check_rtto : yes | flag-for-settings | no 
dnl
AC_DEFUN(RSSH_CHECK_RTTI,[
AC_REQUIRE([AC_PROG_CXX])dnl
AC_REQUIRE([RSSH_CHECK_SUNPRO_CC])dnl
AC_REQUIRE([RSSH_TRY_RTTI_NOCACHE])dnl
AC_MSG_CHECKING( "try set c++ compiler flags for rtti support" )

AC_CACHE_VAL(rssh_cv_check_rtti,[

 svCXXFLAGS=$CXXFLAGS

 RSSH_TRY_RTTI_NOCACHE

 if test $rssh_try_rtti_result = yes
 then
   rssh_cv_check_rtti=yes
 else
  if test x$rssh_cv_check_sunpro_cc = xyes
  then
     rssh_cv_check_rtti="-features=rtti"
     rssh_try_set_rtti_try=yes
  fi
  if test "x$GXX" = xyes 
  then
    rssh_cv_check_rtti="-frtti"
    rssh_try_set_rtti_try=yes
  fi
  if test $rssh_try_set_rtti_try = yes
  then
    CXXFLAGS="$CXXFLAGS $rssh_cv_check_rtti"
    rssh_check_rtti_once=yes
    RSSH_TRY_RTTI_NOCACHE
  fi
  if test $rssh_try_rtti_result = no
  then
    rssh_cv_check_rtti=no
    CXXFLAGS=$svCXXFLAGS
  else
    if test x$rssh_cv_check_rtti = x
    then
        rssh_cv_check_rtti=yes
    fi
  fi
 fi

])

AC_MSG_RESULT($rssh_cv_check_rtti)

if test $rssh_cv_check_rtti != no
then
  if test $rssh_cv_check_rtti != yes
  then
    if test "x$rssh_check_rtti_once" != xyes
    then
      CXXFLAGS="$CXXFLAGS $rssh_cv_check_rtti"
      rssh_check_rtti_once=yes
    fi
    if test $rssh_cv_check_rtti = -frtti
    then
      AC_MSG_WARN("Old version with gcc with broken rtti detected")
    fi
  fi
  [$1]
else
  if test "x$rssh_cv_check_rtti" != x
  then
   if test "x$rssh_check_rtti_once" != xyes
   then
     CXXFLAGS="$CXXFLAGS $rssh_cv_check_rtti"
     rssh_check_rtti_once=yes
   fi
  fi
  [$2]
fi 
  
if test "x$rssh_check_rtti_once" = xyes
then
  AC_DEFINE(HAVE_RTTI,1)
fi

])dnl
dnl
dnl
dnl  set of additional configure scripts.
dnl   (C) Ruslan Shevchenko <[EMAIL PROTECTED]>, 1998
dnl   $Id: aclocal.m4,v 1.13 2000/07/06 15:55:00 jos Exp $
dnl --------------------------------------------------------------------
dnl RSSH_CHECK_STL
dnl  check, if STL is aviable.
dnl  it's perform search of STL, at first in compiler include libs, then 
dnl  in argument of --with-stl if aviable, then in /usr/local/include/STL
dnl
dnl
AC_DEFUN(RSSH_CHECK_STL,[

AC_ARG_WITH(stl, prefix to STL if STL is not in include dir (default: none) ,
            STL_PREFIX=${stl} , STL_PREFIX=/usr/local/include/STL )

AC_CHECKING("for STL")

AC_LANG_SAVE
AC_LANG_CPLUSPLUS

dnl don not use AC_CHECK_HEADERS here, becouse we not need caching.
AC_TRY_CPP([#include <algo.h>],have_stl_default=yes,have_stl_default=no)

if test $have_stl_default = yes
then
  have_stl=yes
else
  svCXXCPPFLAGS="$CXXCPPFLAGS"
  CXXCPPFLAGS="$CXXCPPFLAGS  -I$STL_PREFIX"
  CPPFLAGS="$CPPFLAGS  -I$STL_PREFIX"

  AC_CHECK_HEADER(algo.h,have_stl=yes,have_stl=no)

  if test $have_stl = no
  then
    AC_MSG_ERROR("can not find STL")
  fi
fi


AC_LANG_RESTORE

AC_MSG_RESULT("Result for STL: $have_stl")

])dnl
dnl
dnl macros for autoconf.
dnl RSSH_CHECK_SUNPROC_C
dnl check : are we using SUM workshop C compiler.
dnl (C_ Ruslan Shevchenko <[EMAIL PROTECTED]>, 1998
dnl $Id: aclocal.m4,v 1.13 2000/07/06 15:55:00 jos Exp $
dnl
dnl RSSH_CHECK_SUNPRO_C([ACTION-IF-YES],[ACTION-IF-NOT])
dnl Corresponding cache value: rssh_cv_check_sunpro_c is set to yes or no.
dnl
AC_DEFUN(RSSH_CHECK_SUNPRO_C,[
AC_MSG_CHECKING( Are we use Sun Worckshop C compiler )
AC_LANG_SAVE
AC_LANG_C
AC_CACHE_VAL(rssh_cv_check_sunpro_c,[
  AC_TRY_COMPILE(,
#ifndef __SUNPRO_C
#error this is not Sun Workshop
#endif
    ,
   rssh_cv_check_sunpro_c=yes,
   rssh_cv_check_sunpro_c=no
  )
])
AC_LANG_RESTORE
if test ${rssh_cv_check_sunpro_c} = yes
then
  [$1]
  :
else
  [$2]
  :
fi
AC_MSG_RESULT($rssh_cv_check_sunpro_c)
])dnl
dnl
dnl
dnl addditional macros for autoconf
dnl RSSH_CHECK_SUNPROC_CC -- check, are we using Sun CC Workshop C++ compiler
dnl Author: (C) Ruslan Shevchenko <[EMAIL PROTECTED]>,
dnl $Id: aclocal.m4,v 1.13 2000/07/06 15:55:00 jos Exp $
dnl 
dnl RSSH_CHECK_SUNPRO_CC([ACTION-IF-YES],[ACTION-IF-NO])
dnl Corresponding cache value: rssh_cv_check_sunpro_cc is set to yes or no.
dnl
AC_DEFUN(RSSH_CHECK_SUNPRO_CC,[
AC_REQUIRE([AC_PROG_CXX])
AC_MSG_CHECKING( Are we use Sun Worckshop C++ compiler )
AC_CACHE_VAL(rssh_cv_check_sunpro_cc,[
  AC_LANG_SAVE
  AC_LANG_CPLUSPLUS
  AC_TRY_COMPILE(,
[
#ifndef __SUNPRO_CC
#error this is not Sun Workshop
#endif
]
    ,
   rssh_cv_check_sunpro_cc=yes,
   rssh_cv_check_sunpro_cc=no
  )
  AC_LANG_RESTORE
])
if test ${rssh_cv_check_sunpro_cc} = yes
then
  [$1]
  :
else
  [$2]
  :
fi
AC_MSG_RESULT($rssh_cv_check_sunpro_cc)
])dnl
dnl
dnl autoconf macroses for detecting TAO (http://www.ooc.com)
dnl (C) Ruslan Shevchenko <[EMAIL PROTECTED]>, 1998, 2000
dnl $Id: aclocal.m4,v 1.13 2000/07/06 15:55:00 jos Exp $
dnl
AC_DEFUN(RSSH_CHECK_TAO,[
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(tao, prefix to TAO installation (default: $TAO_ROOT) ,\
            TAO_PREFIX=${with_tao} , TAO_PREFIX=/usr/local )

AC_CHECKING(for TAO)

svCXXCPPFLAGS=$CXXCPPFLAGS
svCPPFLAGS=$CPPFLAGS
svLIBS=$LIBS
svLDFLAGS=$LDFLAGS

if  test "x$ACE_ROOT" = "x"
then
  AC_MSG_RESULT(ACE_ROOT not set)
  tao=no
else

AC_LANG_SAVE
AC_LANG_CPLUSPLUS

ORB_INCLUDES="-I$ACE_ROOT -I$ACE_ROOT/TAO -I$ACE_ROOT/TAO/orbsvcs/orbsvcs"
CXXCPPFLAGS="$CXXCPPFLAGS $ORB_INCLUDES"
CPPFLAGS="$CPPFLAGS $ORB_INCLUDES"

AC_CHECK_HEADER( tao/corba.h, tao=yes , tao=no, )

if test "x$tao" = "xyes" 
then
  LDFLAGS="$LDFLAGS -L$ACE_ROOT/ace"
  AC_CHECK_LIB(ACE,main, LIBS="-lACE $LIBS",ace_lib=no,)
  AC_CHECK_LIB(TAO,main, LIBS="-lTAO $LIBS",tao_lib=no,)
  AC_CHECK_LIB(socket,socket, LIBS="-lsocket $LIBS",,)
  AC_CHECK_LIB(nsl,gethostbyname, LIBS="-lnsl $LIBS",,)
fi

if test "x$ace_lib" = "xno"
then
 tao=no
fi

if test "x$tao_lib" = "xno"
then
 tao=no
fi

fi

if test "x$tao" = "xno"
then
  CXXCPPFLAGS=$svCXXCPPFLAGS
  CPPFLAGS=$svCPPFLAGS
  LIBS=$svLIBS
  LDFLAGS=$svLDFLAGS
else
  ORB_PREFIX=$ACE_ROOT
  AC_SUBST(ORB_PREFIX)

  ORB=TAO
  AC_SUBST(ORB)

  IDL=$ACE_ROOT/TAO/TAO_IDL/tao_idl
  AC_SUBST(IDL)

  IDLFLAGS="$IDLFLAGS -I$ACE_ROOT/TAO/orbsvcs/orbsvcs"
  AC_SUBST(IDLFLAGS)

  ORB_INCLUDE_PREFIX=tao
  AC_SUBST(ORB_INCLUDE_PREFIX)


  IDL_CLN_H=C.h
  IDL_CLN_H_SUFFIX=C.h
  IDL_CLN_H1_SUFFIX=C.i
  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=C.cpp
  IDL_CLN_CPP_SUFFIX=C.cpp
  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_SUFFIX)

  IDL_CLN_O=C.o 
  IDL_CLN_OBJ_SUFFIX=C.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=S.i 
  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=S.cpp
  IDL_SRV_CPP_SUFFIX=S.cpp
  AC_SUBST(IDL_SRV_CPP)
  AC_SUBST(IDL_SRV_CPP_SUFFIX)
  AC_DEFINE_UNQUOTED(IDL_SRV_CPP_SUFFIX,$IDL_SRV_CPP_SUFFIX)

  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_OBJ_SUFFIX)

  IDL_TIE_H_SUFFIX=S_T.h
  IDL_TIE_H1_SUFFIX=S_T.i
  IDL_TIE_CPP_SUFFIX=S_T.cpp
  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='tao/corba.h'
  AC_DEFINE_UNQUOTED(CORBA_H,<$CORBA_H>)

  COSNAMING_H='CosNamingC.h'
  AC_DEFINE_UNQUOTED(COSNAMING_H,<$COSNAMING_H>)
  ORB_COSNAMING_LIB="-lorbsvcs"
  AC_SUBST(ORB_COSNAMING_LIB)

  HAVE_ORB_IDL=1
  AC_SUBST(HAVE_ORB_IDL)

  CORBA_HAVE_POA=1
  AC_DEFINE_UNQUOTED(CORBA_HAVE_POA,$CORBA_HAVE_POA)

  AC_CACHE_CHECK("whether TAO support namespaces",
  rssh_cv_tao_corba_namespaces,
  AC_TRY_COMPILE(#include <$CORBA_H>
,
[
#ifndef ACE_HAS_USING_KEYWORD
#error "we have no namespaces"
we have no namespaces -- $$$$
#else
return 0;
#endif
], rssh_cv_tao_corba_namespaces=yes, rssh_cv_tao_corba_namespaces=0)
  )

  if test "$rssh_cv_tao_corba_namespaces" = "yes" 
  then
    AC_DEFINE(CORBA_MODULE_NAMESPACE_MAPPING)
  else
    AC_DEFINE(CORBA_MODULE_CLASS_MAPPING)
  fi
  
  AC_DEFINE(RSSH_TAO)

fi

AC_LANG_RESTORE

AC_MSG_RESULT(for TAO: $tao)

])dnl
dnl
dnl RSSH_PROG_CXXAR
dnl   (C) Ruslan Shevchenko <[EMAIL PROTECTED]>, 1998
dnl   $Id: aclocal.m4,v 1.13 2000/07/06 15:55:00 jos Exp $
dnl --------------------------------------------------------------------
dnl RSSH_PROG_CXXAR
dnl check for program, which we use for creating static C++ libraries.
dnl set it name to AR, flags to ARFLAGS
dnl
dnl
AC_DEFUN(RSSH_PROG_CXXAR,[
AC_REQUIRE([RSSH_CHECK_SUNPRO_CC])
if test x$rssh_cv_check_sunpro_cc = xyes
then
  AR=CC
  ARFLAGS="\$(CXXFLAGS) -xar -o"
else
  AR=ar
  ARFLAGS=cru
fi
if test x$GCC=xyes
then
  CXXLIBPREPARE="\$(CXX) \$(CXXFLAGS)"
else
  CXXLIBPREPARE="echo dummy"
fi
AC_SUBST(AR,$AR)
AC_SUBST(ARFLAGS, $ARFLAGS)
AC_SUBST(CXXLIBPREPARE,$CXXLIBPREPARE)
])dnl
dnl
dnl autoconf macros: RSSH_PROG_CXXLD
dnl   (C) Ruslan Shevchenko <[EMAIL PROTECTED]>, 1998
dnl   $Id: aclocal.m4,v 1.13 2000/07/06 15:55:00 jos Exp $
dnl --------------------------------------------------------------------
dnl RSSH_PROG_CXXLD
dnl check for program, which used for creating shared C++ libraries.
dnl set variables LD and LD_CREATE_FLAGS.
dnl
dnl
AC_DEFUN(RSSH_PROG_CXXLD,[
AC_REQUIRE([RSSH_CHECK_SUNPRO_CC])
if test x$rssh_cv_check_sunpro_cc = xyes
then 
  LD=CC
  LD_CREATE_FLAGS="\$(CXXFLAGS) -G -o"
else
  LD=ld
  LD_CREATE_FLAGS="-o"
fi
AC_SUBST(LD,$LD)
AC_SUBST(LD_CREATE_FLAGS, $LD_CREATE_FLAGS)
])dnl
dnl
dnl  set of additional configure scripts.
dnl   (C) Ruslan Shevchenko <[EMAIL PROTECTED]>, 1998
dnl   $Id: aclocal.m4,v 1.13 2000/07/06 15:55:00 jos Exp $
dnl ----------------------------------------------------------------
dnl 
dnl RSSH_SOLARIS_THREADSAFE_FLAG
dnl  append option -mt to CXXFLAGS and CFLAGS if we work on solaris 
dnl  with Sun Workshop
dnl
dnl RSSH_SOLARIS_THREADSAFE_FLAG
AC_DEFUN(RSSH_SOLARIS_THREADSAFE_FLAG,[
AC_REQUIRE([RSSH_SOLARIS_THREADSAFE_FLAG_VAR])dnl
if test x$rssh_solaris_threadsafe_flag_var_once = xyes
then
  if test "x$rssh_solaris_threadsafe_flag_once" = x
  then
    CXXFLAGS="$CXXFLAGS $CXXFLAGS_MT"
    rssh_solaris_threadsafe_flag_once=yes
  fi
fi
])dnl
dnl
dnl
dnl  set of additional configure scripts.
dnl   (C) Ruslan Shevchenko <[EMAIL PROTECTED]>, 1998
dnl   $Id: aclocal.m4,v 1.13 2000/07/06 15:55:00 jos Exp $
dnl ----------------------------------------------------------------
dnl 
dnl RSSH_SOLARIS_THREADSAFE_FLAG_VAR
dnl  set CXXFLAGS_MT to "-mt"  if we work on solaris 
dnl  with Sun Workshop
dnl
dnl RSSH_SOLARIS_THREADSAFE_FLAG
AC_DEFUN(RSSH_SOLARIS_THREADSAFE_FLAG_VAR,[
AC_REQUIRE([RSSH_CHECK_SUNPRO_CC])dnl
AC_MSG_CHECKING( Are we need add -mt for thread-safe comiling )
if test x$rssh_cv_check_sunpro_cc = xyes
then
  if test "x$rssh_solaris_threadsafe_flag_var_once" = x
  then
    CXXFLAGS_MT="-mt"
    rssh_solaris_threadsafe_flag_var_once=yes
  fi
fi
AC_MSG_RESULT( $rssh_cv_check_sunpro_cc )
])dnl
dnl
dnl
dnl   (C) Ruslan Shevchenko <[EMAIL PROTECTED]>, 1998
dnl   $Id: aclocal.m4,v 1.13 2000/07/06 15:55:00 jos Exp $
dnl --------------------------------------------------------------------
dnl RSSH_TRY_RTTI_NOCACHE
dnl if C++ compiler have rtti support enabled, than 
dnl and set $rssh_try_rtti_result to "yes" or "no", depend from result.
dnl
AC_DEFUN(RSSH_TRY_RTTI_NOCACHE,[
AC_REQUIRE([AC_PROG_CXX])
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_RUN([
struct X { virtual int z() { return 1; } };
struct Y:public X { virtual int z() { return 2; } };
int check_dynamic_cast(X& x) {  return dynamic_cast<Y*>(&x)!=0; }
int main() { X x; return check_dynamic_cast(x); }
], 
rssh_try_rtti_result=yes, 
rssh_try_rtti_result=no,
AC_MSG_ERROR("Sorry have no support for crosscompiling yet.")
)
AC_LANG_RESTORE
])dnl
dnl
dnl
dnl configure.in for CosQuery.
dnl part of ua.kiev.grad. framework.
dnl (C) Ruslan Shevchenko <[EMAIL PROTECTED]>, 1998, 1999
dnl $Id: configure.in,v 1.12 2000/07/17 07:21:25 rssh Exp $
dnl
dnl Process this file with autoconf to produce a configure script.

AC_SUBST(PACKAGE, CosQuery)
AC_SUBST(VERSION, 1.01)

AC_INIT(src/include/CosQueryPostConfig.h)
AC_CONFIG_AUX_DIR(config)


dnl check system type
AC_CANONICAL_SYSTEM

dnl
dnl Checks for programs.
dnl
AC_CANONICAL_HOST
AC_PROG_CC
AC_PROG_CXX
AC_PROG_CXXCPP
AC_PROG_RANLIB
AC_PROG_INSTALL
AC_PROG_MAKE_SET

RSSH_PROG_CXXAR
RSSH_PROG_CXXLD


RSSH_CHECK_SUNPRO_C
RSSH_CHECK_SUNPRO_CC

RSSH_SOLARIS_THREADSAFE_FLAG_VAR
RSSH_CHECK_RTTI

RSSH_CHECK_ORB

dnl
dnl check for C API
dnl 

AC_CHECK_HEADER(errno.h,AC_DEFINE(HAVE_ERRNO_H),)
AC_CHECK_HEADER(sys/errno.h,AC_DEFINE(HAVE_SYS_ERRNO_H),)

dnl
dnl Check for byte order
dnl

AC_C_BIGENDIAN
dnl 
dnl Location of IDL files from OB:
dnl

AC_ARG_WITH(idl-ob-location, location of OB idl's (default: /usr/local/include/OB), \
     IDL_OB_LOCATION=${idl_ob_location},
     IDL_OB_LOCATION=/usr/local/include/OB )

dnl special hook for IntMember.h, which situated in OB directory.
CPPFLAGS="$CPPFLAGS -I${IDL_OB_LOCATION}"

IDLFLAGS="$IDLFLAGS -I`pwd`/idl"
AC_SUBST(IDLFLAGS,"$IDLFLAGS")
INCLUDES="$INCLUDES $IDLFLAGS"

dnl
dnl Location of ORCALE
dnl

RSSH_CHECK_ORACLE
if test $oracle = no
then
 AC_MSG_WARN(you can build client stub library only)
 AC_MSG_WARN(target client-stub-library in Makefile)

else

dnl
dnl Check for STL
dnl

RSSH_CHECK_STL

AC_LANG_CPLUSPLUS
AC_CHECK_HEADER(deque,AC_DEFINE(HAVE_DEQUE),)
AC_CHECK_HEADER(deque.h,AC_DEFINE(HAVE_DEQUE_H),)
AC_CHECK_HEADER(vector,AC_DEFINE(HAVE_VECTOR),)
AC_CHECK_HEADER(vector.h,AC_DEFINE(HAVE_VECTOR_H),)
AC_CHECK_HEADER(algo,AC_DEFINE(HAVE_ALGO),)
AC_CHECK_HEADER(algo.h,AC_DEFINE(HAVE_ALGO_H),)
AC_CHECK_HEADER(map,AC_DEFINE(HAVE_MAP),)
AC_CHECK_HEADER(map.h,AC_DEFINE(HAVE_MAP_H),)

fi


dnl
dnl Check for CosTime service.
dnl
dnl disabled
dnl RSSH_CHECK_COSTIME

dnl
dnl define some helper Makefile.in variables.
dnl
COSQUERY_GEN_DIR=`pwd`/generated
AC_SUBST(COSQUERY_GEN_DIR)

CPPFLAGS="-I${COSQUERY_GEN_DIR} $CPPFLAGS"

AC_SUBST(CPPFLAGS,$CPPFLAGS)

PROJECT_ROOT=`pwd`
project_root=$PROJECT_ROOT
AC_SUBST(PROJECT_ROOT)
AC_SUBST(project_root)

dnl Checks for header files.
AC_CONFIG_HEADER(src/include/CosQueryConfig.h)


LIBS="$LIBS $LIBS_COLLECTION"
AC_SUBST(LIBS,"$LIBS")

AC_CONFIG_SUBDIRS(tests/steps/)

AC_OUTPUT(Makefile \
          config/entry.mak \
          idl/Makefile \
          idl/CosQueryIDLConfig.idl \
          src/Makefile \
          include/Makefile \
          include/CosQueryFacade/Makefile \
          tests/Makefile \
          jlib/Makefile )



Reply via email to