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