autoconf-orb
Current changelog
Download releases


autoconf-orb is a set of autoconf macros capable to detect various ORBs. It can be used standalone (see example7 and example9), but is primarily intended to be used with automake-idl.


Installation
AI_CHECK_* (common features)
AI_CHECK_OMNIORB
AI_CHECK_TAO
AI_CHECK_MICO
AI_CHECK_ORBITCPP
AI_CHECK_ORBACUS
AI_CHECK_VISIBROKER
AI_CHECK_TUXEDO
AI_CHECK_ORBIX
AI_CHECK_ORB
AI_ORB_ARGS





Installation

  1. Package-specific installation:
    Use the following commands:

    ./configure --with-m4datadir=DIR
    make install

    where DIR is the directory of your package which contains additional autoconf macros.

  2. System-wide installation:
  3. Use the following commands:

    ./configure --prefix=PREFIX
    make install

    where PREFIX is automake's installation root. Usually, you can get it with the following command:

    aclocal --print-ac-dir | sed 's|/share/aclocal$||'

    Notice that you should have installed automake-idl in advance if you plan to use autoconf-orb in conjunction with it.

configure command-line options:
Option
Description
Default value(s)
--enable-omniorb
install omniORB detection macros
yes
--enable-tao
install TAO detection macros
yes
--enable-mico
install MICO detection macros
yes
--enable-orbitcpp
install orbitcpp detection macros
yes
--enable-orbacus
install ORBacus detection macros
yes
--enable-visibroker
install VisiBroker detection macros
yes
--enable-tuxedo
install Tuxedo detection macros
yes
--enable-orbix
install Orbix detection macros
yes
--prefix=PREFIX
installation prefix (not relevant if --with-m4datadir is used)
/usr/local
--with-m4datadir=DIR installation directory
PREFIX/share/aclocal

Note: AI_CHECK_ORB now has the much more convenient feature of package-wide restriction of allowed ORBs. The installation-wide restriction feature described here (the --enable-orb options in the table above) may be considered as deprecated but will be kept for backward compatibility.




AI_CHECK_*

This is not a real macro but a section which contains the common features for the macros below.

configure command-line options:
Option
Description
Default value(s)
--enable-orb-buildtest try to build a test program
no
--enable-orb-linkmode
specify the mode for linking against the ORB libraries:
default
default
prefer shared libraries but do not reject static ones
max_static
prefer static libraries but do not reject shared ones
all_static
force static libraries (reject shared ones)

config.h defines:
HAVE_ORB_TIE
if the ORB IDL compiler generates TIE implementation skeletons
HAVE_ORB_TIE_FLATTENED
if the ORB IDL compiler generates flattened TIE implementation skeletons

  1. If you  use --enable-orb-linkmode=all_static and any of the ORB's mandatory libraries does not have a static version, then the detection will fail.
  2. If you want to produce entirely static executables then use LDFLAGS=-static; --enable-orb-linkmode has effect only on the ORB's libraries.
  3. None of the AI_CHECK_* macros calls AC_MSG_ERROR upon unsuccessful detection. If your package cannot be built without an ORB you should call it yourself.




AI_CHECK_OMNIORB

This macro checks for omniORB. It detects either version 3.x.y or 4.x.y.
You may use this macro if:
  1. Your package supports only omniORB.
  2. Multi-ORB builds (see example6).
configure command-line options:
Option
Description
Default value(s)
--with-omniorb-prefix=OMNIORB_PREFIX architecture-independent prefix
/usr/local or /usr or /usr/pkg or /opt/sfw or /usr/sfw or /opt/local or /sw
--with-omniorb-exec-prefix=OMNIORB_EXEC_PREFIX
architecture-dependent prefix
OMNIORB_PREFIX
--with-openssl-prefix=OPENSSL_PREFIX
OpenSSL architecture-independent prefix
/usr/local or /usr or /usr/pkg or /opt/sfw or /usr/sfw or /opt/local or /sw or /usr/local/openssl or /usr/openssl or /usr/pkg/openssl or /opt/sfw/openssl or /usr/sfw/openssl or /opt/local/openssl or /sw/openssl
--with-openssl-exec-prefix=OPENSSL_EXEC_PREFIX
OpenSSL architecture-dependent prefix
OPENSSL_PREFIX

After the macro is run, the shell variable $OMNIORB is set to either "yes" or "no", depending on whether omniORB has been found or not.

AC_SUBST'ed shell variables (only if $OMNIORB is "yes"):
Variable name
Value

if omniORB 3.x.y
if omniORB 4.x.y
$ORB_TYPE
"omniORB"
$ORB_VERSION
"3.x.y"
"4.x.y"
$ORB_BIN_DIRS
A space-separated list of the directories which contain omniORB's and supplementary executables
$ORB_LIB_DIRS
A space-separated list of the directories which contain omniORB's and supplementary libraries
$ORB_INC_DIRS
A space-separated list of the directories which contain omniORB's and supplementary headers
$ORB_COSS_IDL_DIRS
A space-separated list of the directories which contain omniORB's and supplementary COSS IDLs
$IDLC
"PATH=$ORB_BIN_DIRS:$PATH LD_LIBRARY_PATH=$ORB_LIB_DIRS:$LD_LIBRARY_PATH omniidl"
$IDLCXXFLAGS
"-bcxx -Wba -Wbtp -Wbh=.hpp -Wbs=.cpp -Wbd=Dyn.cpp -Wbuse_quotes"
$IDLCPPFLAGS
"-I$ORB_COSS_IDL_DIRS"
$ORB_CFLAGS
pthread $CFLAGS
$ORB_CXXFLAGS
pthread $CFLAGS
$ORB_CPPFLAGS
"-I$ORB_INC_DIRS" + architecture-specific defines "-I$ORB_INC_DIRS" + architecture-specific defines (if needed at all)
$ORB_LIBS
"-lomniORB3"
"-lomniORB4"
+ "-lomniDynamic3 -lCOS3 -lCOSDynamic3" (whichever are available)
+ "-lomniConnectionMgmt4 -lomniCodeSets4 -lomniDynamic4 -lCOS4 -lCOSDynamic4" (whichever are available)
+ either "-ltcpwrapGK" or "-lomniGK_stub" or "-lomniGK_alone" (whichever is available in this order)
+ "-lomnisslTP" (if avalable) and OpenSSL's libs
+ "-lm" + socket and pthread libs
$ORB_LDFLAGS
"-L$ORB_LIB_DIRS"

config.h and Makefile.am defines (only if $OMNIORB is "yes"):
if omniORB 3.x.y if omniORB 4.x.y
HAVE_OMNIORB
HAVE_OMNIORB
HAVE_OMNIORB3 HAVE_OMNIORB4
HAVE_ORB_TIE HAVE_ORB_TIE
HAVE_LIBomniDynamic3 (if -lomniDynamic3 is detected) HAVE_LIBomniDynamic4 (if -lomniDynamic4 is detected)
HAVE_LIBCOS3 (if -lCOS3 is detected) HAVE_LIBCOS4 (if -lCOS4 is detected)
HAVE_LIBCOSDynamic3 (if -lCOSDynamic3 is detected) HAVE_LIBCOSDynamic4 (if -lCOSDynamic4 is detected)

HAVE_LIBomniCodeSets4 (if -lomniCodeSets4 is detected)

HAVE_LIBomniConnectionMgmt4 (if -lomniConnectionMgmt4 is detected)

HAVE_LIBomnisslTP (if -lomnisslTP is detected)




AI_CHECK_TAO

This macro checks for TAO.
You may use this macro if:
  1. Your package supports only TAO.
  2. Multi-ORB builds (see example6).

TAO has two possible layouts: autotools-installed (./configure --prefix=... && make && make install), and stock-built. Unlike omniORB 4.x.y (which also has two possible layouts with similar characteristics)  there are different command-line options for the different layouts.

configure command-line options:
Option
Description
Default value(s)
--with-acetao-prefix=ACETAO_PREFIX
ACE+TAO architecture-independent prefix
/usr/local or /usr or /usr/pkg or /opt/sfw or /usr/sfw or /opt/local or /sw
--with-acetao-exec-prefix=ACETAO_EXEC_PREFIX
ACE+TAO architecture-dependent prefix
ACETAO_PREFIX
--with-ace-root=ACE_ROOT search for stock-built ACE in DIR
$ACE_ROOT
--with-tao-root=TAO_ROOT search for stock-built TAO in DIR $TAO_ROOT or ACE_ROOT/TAO
--enable-tao-exceptions
TAO has been built with C++ exception handling enabled (applicable only when using stock-built layout)
yes
--enable-tao-inline
TAO has been built with code inlining enabled (applicable only when using stock-built layout) yes
--with-openssl-prefix=OPENSSL_PREFIX
OpenSSL architecture-independent prefix
/usr/local or /usr or /usr/pkg or /opt/sfw or /usr/sfw or /opt/local or /sw or /usr/local/openssl or /usr/openssl or /usr/pkg/openssl or /opt/sfw/openssl or /usr/sfw/openssl or /opt/local/openssl or /sw/openssl
--with-openssl-exec-prefix=OPENSSL_EXEC_PREFIX
OpenSSL architecture-dependent prefix
OPENSSL_PREFIX
--with-zlib-prefix=ZLIB_PREFIX
zlib architecture-independent prefix /usr/local or /usr or /usr/pkg or /opt/sfw or /usr/sfw or /opt/local or /sw
--with-zlib-exec-prefix=ZLIB_EXEC_PREFIX
zlib architecture-dependent prefix ZLIB_PREFIX
--with-libbzip2-prefix=LIBBZIP2_PREFIX
libbzip2 architecture-independent prefix /usr/local or /usr or /usr/pkg or /opt/sfw or /usr/sfw or /opt/local or /sw
--with-libbzip2-exec-prefix=LIBBZIP2_EXEC_PREFIX
libbzip2 architecture-dependent prefix LIBBZIP2_PREFIX
Here is the order of preference:
  1. If --with-acetao-prefix is used, then try an autotools-installed layout with the specified prefix.
  2. If --with-ace-root is used, then try a stock-built layout with the specified root.
  3. If $ACE_ROOT is not empty, then try a stock-built layout with the specified root.
  4. Try an autotools-installed layout with the default prefixes.
After the macro is run, the shell variable $TAO is set to either "yes" or "no", depending on whether TAO has been found or not.

AC_SUBST'ed shell variables (only if $TAO is "yes"):
Variable name
Value
$ORB_TYPE
"TAO"
$ORB_VERSION
TAO's version
$ORB_BIN_DIRS
A space-separated list of the directories which contain TAO's and supplementary executables
$ORB_LIB_DIRS
A space-separated list of the directories which contain TAO's and supplementary libraries
$ORB_INC_DIRS
A space-separated list of the directories which contain TAO's and supplementary headers
$ORB_COSS_IDL_DIRS
A space-separated list of the directories which contain TAO's and supplementary COSS IDLs
$IDLC
"ACE_ROOT=$ACE_ROOT TAO_ROOT=$TAO_ROOT PATH=$ORB_BIN_DIRS:$PATH LD_LIBRARY_PATH=$ORB_LIB_DIRS:$LD_LIBRARY_PATH tao_idl"
$IDLCXXFLAGS
"-GT -in -hc .hpp -hs Server.hpp -hT Server_T.hpp -cs .cpp -ss Server.cpp -sT Server_T.cpp -ci .inl
$IDLCPPFLAGS
"-I$ORB_COSS_IDL_DIRS"
$ORB_CFLAGS
pthread $CFLAGS
$ORB_CXXFLAGS
pthread $CFLAGS
$ORB_CPPFLAGS
"-I$ORB_INC_DIRS"
+ "-DACE_HAS_EXCEPTIONS -D__ACE_INLINE__ -DACE_NO_INLINE" (whichever are needed)
+ "-DACE_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS" (if linking statically; this includes max static, all static and entirely static modes)
$ORB_LIBS
"-lTAO -lACE"
+ "-lTAO_SSLIOP -lTAO_Security -lTAO_Metrics -lTAO_RTCosScheduling -lTAO_RTKokyuEvent -lTAO_RTEventLogAdmin_Skel -lTAO_RTEventLogAdmin -lTAO_RTSchedEvent -lTAO_RTOLDEvent -lTAO_RT_Notification -lTAO_RTSched -lTAO_IFRService -lTAO_HTIOP -lTAO_FaultTolerance -lTAO_RTCORBAEvent -lTAO_FT_ServerORB -lTAO_FT_ClientORB -lTAO_FTORB -lTAO_FTRT_EventChannel -lTAO_FtRtEvent -lTAO_RTEvent_Skel -lTAO_RTEvent -lTAO_FTRT_ClientORB -lTAO_FTORB_Utils -lTAO_DsNotifyLogAdmin_Skel -lTAO_DsNotifyLogAdmin -lTAO_DsEventLogAdmin_Skel -lTAO_DsEventLogAdmin -lTAO_DsLogAdmin_Skel -lTAO_DsLogAdmin -lTAO_CosTrading_Skel -lTAO_CosTrading -lTAO_CosTime -lTAO_CosNotification_Persist -lTAO_CosNotification_MC_Ext -lTAO_CosNotification_Skel -lTAO_CosNotification_MC -lTAO_CosNotification -lTAO_ETCL -lTAO_CosLoadBalancing -lTAO_PortableGroup -lTAO_CosLifeCycle -lTAO_CosEvent_Skel -lTAO_CosEvent -lTAO_CosConcurrency_Skel -lTAO_CosConcurrency -lTAO_AV -lTAO_CosProperty_Skel -lTAO_CosProperty -lTAO_CosNaming_Skel -lTAO_CosNaming -lTAO_Svc_Utils -lTAO_Utils -lTAO_TypeCodeFactory -lTAO_TC_IIOP -lTAO_TC -lTAO_Strategies -lTAO_SmartProxies -lTAO_RTScheduler -lTAO_RTPortableServer -lTAO_RTCORBA -lTAO_PI_Server -lTAO_ImR_Client -lTAO_IORTable -lTAO_IORManip -lTAO_DynamicInterface -lTAO_Messaging -lTAO_DynamicAny -lTAO_Domain -lTAO_IFR_Client -lTAO_EndpointPolicy -lTAO_DiffServPolicy -lTAO_Compression -lTAO_CSD_ThreadPool -lTAO_CSD_Framework -lTAO_IORInterceptor -lTAO_ObjRefTemplate -lTAO_PortableServer -lTAO_Valuetype -lTAO_BiDirGIOP -lTAO_PI -lTAO_CodecFactory -lTAO_AnyTypeCode -lTAO_Codeset" (whichever are available)
+ "-lTAO_RTEventLogAdmin_Serv -lTAO_RTEvent_Serv -lTAO_DsNotifyLogAdmin_Serv -lTAO_DsEventLogAdmin_Serv -lTAO_DsLogAdmin_Serv -lTAO_CosTrading_Serv -lTAO_CosNotification_Serv -lTAO_CosEvent_Serv -lTAO_CosConcurrency_Serv -lTAO_CosProperty_Serv -lTAO_CosNaming_Serv -lACEXML_Parser -lACEXML -lACE_HTBP -lACE_SSL -lACE_Monitor_Control -lACE_ETCL_Parser -lACE_ETCL -lKokyu" (whichever are needed)
+ "-lm" + socket, pthread and OpenSSL's, zlib's and libbzip2's (if needed) libs
$ORB_LDFLAGS
"-L$ORB_LIB_DIRS"

config.h and Makefile.am defines (only if $TAO is "yes"):
HAVE_TAO
HAVE_ORB_TIE
HAVE_LIBTAO_Codeset (if -lTAO_Codeset is detected)
HAVE_LIBTAO_AnyTypeCode (if -lTAO_AnyTypeCode is detected)
HAVE_LIBTAO_CodecFactory (if -lTAO_CodecFactory is detected)
HAVE_LIBTAO_PI (if -lTAO_PI is detected)
HAVE_LIBTAO_BiDirGIOP (if -lTAO_BiDirGIOP is detected)
HAVE_LIBTAO_Valuetype (if -lTAO_Valuetype is detected)
HAVE_LIBTAO_PortableServer (if -lTAO_PortableServer is detected)
HAVE_LIBTAO_ObjRefTemplate (if -lTAO_ObjRefTemplate is detected)
HAVE_LIBTAO_IORInterceptor (if -lTAO_IORInterceptor is detected)
HAVE_LIBTAO_CSD_Framework (if -lTAO_CSD_Framework is detected)
HAVE_LIBTAO_CSD_ThreadPool (if -lTAO_CSD_ThreadPool is detected)
HAVE_LIBTAO_Compression (if -lTAO_Compression is detected)
HAVE_LIBTAO_Bzip2Compressor (if -lTAO_Bzip2Compressor is detected)
HAVE_LIBTAO_ZlibCompressor (if -lTAO_ZlibCompressor is detected)
HAVE_LIBTAO_DiffServPolicy (if -lTAO_DiffServPolicy is detected)
HAVE_LIBTAO_EndpointPolicy (if -lTAO_EndpointPolicy is detected)
HAVE_LIBTAO_IFR_Client (if -lTAO_IFR_Client is detected)
HAVE_LIBTAO_Domain (if -lTAO_Domain is detected)
HAVE_LIBTAO_DynamicAny (if -lTAO_DynamicAny is detected)
HAVE_LIBTAO_Messaging (if -lTAO_Messaging is detected)
HAVE_LIBTAO_DynamicInterface (if -lTAO_DynamicInterface is detected)
HAVE_LIBTAO_IORManip (if -lTAO_IORManip is detected)
HAVE_LIBTAO_IORTable (if -lTAO_IORTable is detected)
HAVE_LIBTAO_ImR_Client (if -lTAO_ImR_Client is detected)
HAVE_LIBTAO_PI_Server (if -lTAO_PI_Server is detected)
HAVE_LIBTAO_RTCORBA (if -lTAO_RTCORBA is detected)
HAVE_LIBTAO_RTPortableServer (if -lTAO_RTPortableServer is detected)
HAVE_LIBTAO_RTScheduler (if -lTAO_RTScheduler is detected)
HAVE_LIBTAO_SmartProxies (if -lTAO_SmartProxies is detected)
HAVE_LIBTAO_Strategies (if -lTAO_Strategies is detected)
HAVE_LIBTAO_Monitor (if -lTAO_Monitor is detected)
HAVE_LIBTAO_TC (if -lTAO_TC is detected)
HAVE_LIBTAO_TC_IIOP (if -lTAO_TC_IIOP is detected)
HAVE_LIBTAO_TypeCodeFactory (if -lTAO_TypeCodeFactory is detected)
HAVE_LIBTAO_ZIOP (if -lTAO_ZIOP is detected)
HAVE_LIBTAO_Utils (if -lTAO_Utils is detected)
HAVE_LIBTAO_Svc_Utils (if -lTAO_Svc_Utils is detected)
HAVE_LIBTAO_CosNaming (if -lTAO_CosNaming is detected)
HAVE_LIBTAO_CosNaming_Skel (if -lTAO_CosNaming_Skel is detected)
HAVE_LIBTAO_CosProperty (if -lTAO_CosProperty is detected)
HAVE_LIBTAO_CosProperty_Skel (if -lTAO_CosProperty_Skel is detected)
HAVE_LIBTAO_AV (if -lTAO_AV is detected)
HAVE_LIBTAO_CosConcurrency (if -lTAO_CosConcurrency is detected)
HAVE_LIBTAO_CosConcurrency_Skel (if -lTAO_CosConcurrency_Skel is detected)
HAVE_LIBTAO_CosEvent (if -lTAO_CosEvent is detected)
HAVE_LIBTAO_CosEvent_Skel (if -lTAO_CosEvent_Skel is detected)
HAVE_LIBTAO_CosLifeCycle (if -lTAO_CosLifeCycle is detected)
HAVE_LIBTAO_PortableGroup (if -lTAO_PortableGroup is detected)
HAVE_LIBTAO_CosLoadBalancing (if -lTAO_CosLoadBalancing is detected)
HAVE_LIBTAO_ETCL (if -lTAO_ETCL is detected)
HAVE_LIBTAO_CosNotification (if -lTAO_CosNotification is detected)
HAVE_LIBTAO_CosNotification_MC (if -lTAO_CosNotification_MC is detected)
HAVE_LIBTAO_CosNotification_Skel (if -lTAO_CosNotification_Skel is detected)
HAVE_LIBTAO_CosNotification_MC_Ext (if -lTAO_CosNotification_MC_Ext is detected)
HAVE_LIBTAO_CosNotification_Persist (if -lTAO_CosNotification_Persist is detected)
HAVE_LIBTAO_CosTime (if -lTAO_CosTime is detected)
HAVE_LIBTAO_CosTrading (if -lTAO_CosTrading is detected)
HAVE_LIBTAO_CosTrading_Skel (if -lTAO_CosTrading_Skel is detected)
HAVE_LIBTAO_DsLogAdmin (if -lTAO_DsLogAdmin is detected)
HAVE_LIBTAO_DsLogAdmin_Skel (if -lTAO_DsLogAdmin_Skel is detected)
HAVE_LIBTAO_DsEventLogAdmin (if -lTAO_DsEventLogAdmin is detected)
HAVE_LIBTAO_DsEventLogAdmin_Skel (if -lTAO_DsEventLogAdmin_Skel is detected)
HAVE_LIBTAO_DsNotifyLogAdmin (if -lTAO_DsNotifyLogAdmin is detected)
HAVE_LIBTAO_DsNotifyLogAdmin_Skel (if -lTAO_DsNotifyLogAdmin_Skel is detected)
HAVE_LIBTAO_FTORB_Utils (if -lTAO_FTORB_Utils is detected)
HAVE_LIBTAO_FTRT_ClientORB (if -lTAO_FTRT_ClientORB is detected)
HAVE_LIBTAO_RTEvent (if -lTAO_RTEvent is detected)
HAVE_LIBTAO_RTEvent_Skel (if -lTAO_RTEvent_Skel is detected)
HAVE_LIBTAO_FtRtEvent (if -lTAO_FtRtEvent is detected)
HAVE_LIBTAO_FTRT_EventChannel (if -lTAO_FTRT_EventChannel is detected)
HAVE_LIBTAO_FTORB (if -lTAO_FTORB is detected)
HAVE_LIBTAO_FT_ClientORB (if -lTAO_FT_ClientORB is detected)
HAVE_LIBTAO_FT_ServerORB (if -lTAO_FT_ServerORB is detected)
HAVE_LIBTAO_RTCORBAEvent (if -lTAO_RTCORBAEvent is detected)
HAVE_LIBTAO_FaultTolerance (if -lTAO_FaultTolerance is detected)
HAVE_LIBTAO_HTIOP (if -lTAO_HTIOP is detected)
HAVE_LIBTAO_IFRService (if -lTAO_IFRService is detected)
HAVE_LIBTAO_RTSched (if -lTAO_RTSched is detected)
HAVE_LIBTAO_RT_Notification (if -lTAO_RT_Notification is detected)
HAVE_LIBTAO_RTOLDEvent (if -lTAO_RTOLDEvent is detected)
HAVE_LIBTAO_RTSchedEvent (if -lTAO_RTSchedEvent is detected)
HAVE_LIBTAO_RTEventLogAdmin (if -lTAO_RTEventLogAdmin is detected)
HAVE_LIBTAO_RTEventLogAdmin_Skel (if -lTAO_RTEventLogAdmin_Skel is detected)
HAVE_LIBTAO_RTKokyuEvent (if -lTAO_RTKokyuEvent is detected)
HAVE_LIBTAO_RTCosScheduling (if -lTAO_RTCosScheduling is detected)
HAVE_LIBTAO_Metrics (if -lTAO_Metrics is detected)
HAVE_LIBTAO_Security (if -lTAO_Security is detected)
HAVE_LIBTAO_SSLIOP (if -lTAO_SSLIOP is detected)

  1. If you rely on including IDL files relative to the directory of the processed IDL file (i.e. #include "..."), then see this bugreport:
    http://groups.google.com/group/comp.soft-sys.ace/browse_thread/thread/e97e998b21bac48a/1bfd2209b06f80b1
  2. If you have problems with statically linked programs, then see these bugreports:
    http://groups.google.com/group/comp.soft-sys.ace/browse_thread/thread/1af0d608155ccc17/4cfe5b4c5c02b06b
    http://groups.google.com/group/comp.soft-sys.ace/browse_thread/thread/375a73acbb5983d9/9c01354e42e5ecc2
  3. If when using autotools-installed layout many of the libraries cannot be detected (but the binary files are in place), then see this bugreport:
    http://groups.google.com/group/comp.soft-sys.ace/browse_thread/thread/638b50e3806e540b/94097d834481fc1d




AI_CHECK_MICO

This macro checks for MICO.
You may use this macro if:
  1. Your package supports only MICO.
  2. Multi-ORB builds (see example6).
configure command-line options:
Option
Description
Default value(s)
--with-mico-prefix=MICO_PREFIX
MICO architecture-independent prefix
MICO_EXEC_PREFIX or /usr/local or /usr or /usr/pkg or /opt/sfw or /usr/sfw or /opt/local or /sw
--with-mico-exec-prefix=MICO_EXEC_PREFIX
MICO architecture-dependent prefix
MICO_PREFIX
--with-openssl-prefix=OPENSSL_PREFIX
OpenSSL architecture-independent prefix
/usr/local or /usr or /usr/pkg or /opt/sfw or /usr/sfw or /opt/local or /sw or /usr/local/openssl or /usr/openssl or /usr/pkg/openssl or /opt/sfw/openssl or /usr/sfw/openssl /opt/local/openssl or /sw/openssl
--with-openssl-exec-prefix=OPENSSL_EXEC_PREFIX
OpenSSL architecture-dependent prefix
OPENSSL_PREFIX

After the macro is run, the shell variable $MICO is set to either "yes" or "no", depending on whether MICO has been found or not.

AC_SUBST'ed shell variables (only if $MICO is "yes"):
Variable name
Value
$ORB_TYPE
"MICO"
$ORB_VERSION
MICO's version
$ORB_BIN_DIRS
A space-separated list of the directories which contain MICO's and supplementary executables
$ORB_LIB_DIRS
A space-separated list of the directories which contain MICO's and supplementary libraries
$ORB_INC_DIRS
A space-separated list of the directories which contain MICO's and supplementary headers
$ORB_COSS_IDL_DIRS
A space-separated list of the directories which contain MICO's and supplementary COSS IDLs
$IDLC
"PATH=$ORB_BIN_DIRS:$PATH LD_LIBRARY_PATH=$ORB_LIB_DIRS:$LD_LIBRARY_PATH idl"
$IDLCXXFLAGS
"--codegen-c++ --any --c++-suffix=cpp --c++-skel --hh-suffix=hpp --poa-ties --use-quotes"
$IDLCPPFLAGS "-I$ORB_COSS_IDL_DIRS"
$ORB_CFLAGS
pthread $CFLAGS or "" (if threads were not needed)
$ORB_CXXFLAGS
pthread $CFLAGS or "" (if threads were not needed)
$ORB_CPPFLAGS
"-I$ORB_INC_DIRS"
$ORB_LIBS
"-lmico$ORB_VERSION"
+ "-lmicocoss$ORB_VERSION" (if available)
+ "-lm" + socket, pthread (if needed) and OpenSSL's (if needed) libs
$ORB_LDFLAGS
"-L$ORB_LIB_DIRS"

config.h and Makefile.am defines (only if $MICO is "yes"):
HAVE_MICO
HAVE_ORB_TIE
HAVE_LIBmicocoss (if -lmicocoss$ORB_VERSION is detected)
HAVE_MICO_SEPARATE_COSS_DIR (if MICO has a separate directory for COSS headers)



 
AI_CHECK_ORBITCPP

This macro checks for orbitcpp.
You may use this macro if:
  1. Your package supports only orbitcpp.
  2. Multi-ORB builds (see example6).
configure command-line options:
Option
Description
Default value(s)
--with-orbitcpp-prefix=ORBITCPP_PREFIX
orbitcpp architecture-independent prefix
/usr/local or /usr or /usr/pkg or /opt/sfw or /usr/sfw or /opt/local or /sw
--with-orbitcpp-exec-prefix=ORBITCPP_EXEC_PREFIX
orbitcpp architecture-dependent prefix
ORBITCPP_PREFIX
--with-orbit2-prefix=ORBIT2_PREFIX
Orbit2 architecture-independent prefix
ORBITCPP_PREFIX
--with-orbit2-exec-prefix=ORBIT2_EXEC_PREFIX
Orbit2 architecture-dependent prefix
ORBITCPP_EXEC_PREFIX
--with-libidl-exec-prefix=LIBIDL_EXEC_PREFIX
libIDL architecture-dependent prefix
ORBIT2_EXEC_PREFIX

After the macro is run, the shell variable $ORBITCPP is set to either "yes" or "no", depending on whether orbitcpp has been found or not.

AC_SUBST'ed shell variables (only if $ORBITCPP is "yes"):
Variable name
Value
$ORB_TYPE
"orbitcpp"
$ORB_VERSION
orbitcpp's version
$ORB_BIN_DIRS
A space-separated list of the directories which contain orbitcpp's and supplementary executables
$ORB_LIB_DIRS
A space-separated list of the directories which contain orbitcpp's and supplementary libraries
$ORB_INC_DIRS
A space-separated list of the directories which contain orbitcpp's and supplementary headers
$ORB_COSS_IDL_DIRS
A space-separated list of the directories which contain orbitcpp's and supplementary COSS IDLs
$IDLC
"PATH=$ORB_BIN_DIRS:$PATH LD_LIBRARY_PATH=$ORB_LIB_DIRS:$LD_LIBRARY_PATH $SHELL -c 'orbit-idl-2 -l c $@ && orbit-idl-2 -l cpp $@' orbit-idl-2"
$IDLCXXFLAGS
"--onlytop --showcpperrors --idlwarnlevel=4"
$IDLCPPFLAGS
"-I$ORB_COSS_IDL_DIRS"
$ORB_CFLAGS
-DORBIT2=1
+ `pkg-config --cflags-only-other glib-2.0 gobject-2.0 gmodule-no-export-2.0 gthread-2.0`
$ORB_CXXFLAGS
-DORBIT2=1
+ `pkg-config --cflags-only-other glib-2.0 gobject-2.0 gmodule-no-export-2.0 gthread-2.0`
$ORB_CPPFLAGS
"-I$ORB_INC_DIRS"
$ORB_LIBS

"-lORBit-2-cpp -lORBit-2"
+ "-lORBitCosNaming-2-cpp" (if available)
+ `pkg-config --libs-only-l glib-2.0 gobject-2.0 gmodule-no-export-2.0 gthread-2.0`
+ "-lm" + socket libs
$ORB_LDFLAGS
"-L$ORB_LIB_DIRS"
+ `pkg-config --libs-only-other glib-2.0 gobject-2.0 gmodule-no-export-2.0 gthread-2.0`

config.h and Makefile.am defines (only if $ORBITCPP is "yes"):
HAVE_ORBITCPP
HAVE_LIBORBitCosNaming_2_cpp (if -lORBitCosNaming-2-cpp is detected)

orbitcpp, ORBit-2 and libIDL (in combination) are not quite ready to be used with autotools-idl out of the box, i.e. they require patches not only to be built but to produce usable code, too.
  1. The minimum supported version of orbitcpp is 1.3.10. That  is because the --onlytop IDL compiler option was not implemented in the C++ backend in previous versions. However, orbitcpp 1.3.10 was never released as a source package. You have two options for getting the source:

  2. If you rely on including IDL files relative to the directory of the processed IDL file (i.e. #include "..."), then see this bugreport:
    http://bugzilla.gnome.org/show_bug.cgi?id=322472

  3. If you want to use the Intel C++ compiler, then see this bugreport:
    http://bugzilla.gnome.org/show_bug.cgi?id=322490

  4. Additional orbitcpp limitations:




AI_CHECK_ORBACUS

This macro checks for ORBacus.
You may use this macro if:
  1. Your package supports only ORBacus.
  2. Multi-ORB builds (see example6).
configure command-line options:
Option
Description
Default value(s)
--with-orbacus-prefix=ORBACUS_PREFIX
ORBacus architecture-independent prefix
/usr/local or /usr or /usr/pkg or /opt/sfw or /usr/sfw or /opt/local or /sw
--with-orbacus-exec-prefix=ORBACUS_EXEC_PREFIX
ORBacus architecture-dependent prefix
ORBACUS_PREFIX
--with-jtc-prefix=JTC_PREFIX
JTC architecture-independent prefix
ORBACUS_PREFIX or /usr/local or /usr or /usr/pkg or /opt/sfw or /usr/sfw or /opt/local or /sw
--with-jtc-exec-prefix=JTC_EXEC_PREFIX
JTC architecture-dependent prefix
JTC_PREFIX

After the macro is run, the shell variable $ORBACUS is set to either "yes" or "no", depending on whether ORBacus has been found or not.

AC_SUBST'ed shell variables (only if $ORBACUS is "yes"):
Variable name
Value
$ORB_TYPE
"ORBacus"
$ORB_VERSION
ORBacus' version
$ORB_BIN_DIRS
A space-separated list of the directories which contain ORBacus' and supplementary executables
$ORB_LIB_DIRS
A space-separated list of the directories which contain ORBacus' and supplementary libraries
$ORB_INC_DIRS
A space-separated list of the directories which contain ORBacus' and supplementary headers
$ORB_COSS_IDL_DIRS
A space-separated list of the directories which contain ORBacus' and supplementary COSS IDLs
$IDLC
"PATH=$ORB_BIN_DIRS:$PATH LD_LIBRARY_PATH=$ORB_LIB_DIRS:$LD_LIBRARY_PATH idl"
$IDLCXXFLAGS
"--h-suffix .hpp --skel-suffix Server --tie"
$IDLCPPFLAGS
"-I$ORB_COSS_IDL_DIRS"
$ORB_CFLAGS
pthread $CFLAGS
$ORB_CXXFLAGS
pthread $CFLAGS
$ORB_CPPFLAGS
"-I$ORB_INC_DIRS" 
$ORB_LIBS
"-lOB"
+ "-lJTC" (if needed or detected)
+ "-lBalancerUtil -lBalancer -lOCI_udp -lOCI_bidir -lOBBiDir -lCosTime -lCosNaming -lCosProperty -lCosEvent" (whichever are available)
+ "-lm" + socket and pthread libs
$ORB_LDFLAGS
"-L$ORB_LIB_DIRS"

config.h and Makefile.am defines (only if $ORBACUS is "yes"):
HAVE_ORBACUS
HAVE_ORB_TIE
HAVE_LIBJTC (if -lJTC is detected)
HAVE_LIBCosEvent (if -lCosEvent is detected)
HAVE_LIBCosProperty (if -lCosProperty is detected)
HAVE_LIBCosNaming (if -lCosNaming is detected)
HAVE_LIBCosTime (if -lCosTime is detected)
HAVE_LIBOBBiDir (if -lOBBiDir is detected)
HAVE_LIBOCI_bidir (if -lOCI_bidir is detected)
HAVE_LIBOCI_udp (if -lOCI_udp is detected)
HAVE_LIBBalancer (if -lBalancer is detected)
HAVE_LIBBalancerUtil (if -lBalancerUtil is detected)




AI_CHECK_VISIBROKER

This macro checks for VisiBroker.
You may use this macro if:
  1. Your package supports only VisiBroker.
  2. Multi-ORB builds (see example6).
configure command-line options:
Option
Description
Default value(s)
--with-visibroker-prefix=VISIBROKER_PREFIX VisiBroker prefix
/opt/Borland/VisiBroker or /opt/Borland/BDP or /usr/local or /usr or /usr/pkg or /opt/sfw or /usr/sfw or /opt/local or /sw
--enable-visibroker-its_support
Try to detect its_support library
no
--enable-visibroker-vbsec
Try to detect vbsec library
no

After the macro is run, the shell variable $VISIBROKER is set to either "yes" or "no", depending on whether VisiBroker has been found or not.

AC_SUBST'ed shell variables (only if $VISIBROKER is "yes"):
Variable name
Value
$ORB_TYPE
"VisiBroker"
$ORB_VERSION
VisiBroker's version
$ORB_BIN_DIRS
A space-separated list of the directories which contain VisiBroker's and supplementary executables
$ORB_LIB_DIRS
A space-separated list of the directories which contain VisiBroker's and supplementary libraries
$ORB_INC_DIRS
A space-separated list of the directories which contain VisiBroker's and supplementary headers
$ORB_COSS_IDL_DIRS
A space-separated list of the directories which contain VisiBroker's and supplementary COSS IDLs
$IDLC
"PATH=$ORB_BIN_DIRS:$PATH LD_LIBRARY_PATH=$ORB_LIB_DIRS:$LD_LIBRARY_PATH idl2cpp"
$IDLCXXFLAGS
"-client_ext \"\" -server_ext Server -hdr_suffix hpp -src_suffix cpp -type_code_info -excep_spec -namespace -tie"
$IDLCPPFLAGS
"-I$ORB_COSS_IDL_DIRS"
$ORB_CFLAGS
pthread $CFLAGS
$ORB_CXXFLAGS
pthread $CFLAGS
$ORB_CPPFLAGS
"-I$ORB_INC_DIRS" 
$ORB_LIBS
"-lvport -lvdlog -lorb -llmgr"
"-lvbsysmib -lpluggable -lnmsg -ltelcolog -lcosnotify -lcostm -lcosnm -lcosev" (whichever are available)
"-lvbsec -lits_support" (whichever are requested and available)
+ "-lm" + socket and pthread libs
$ORB_LDFLAGS
"-L$ORB_LIB_DIRS"

config.h and Makefile.am defines (only if $VISIBROKER is "yes"):
HAVE_VISIBROKER
HAVE_ORB_TIE
HAVE_ORB_TIE_FLATTENED
HAVE_LIBcosev (if -lcosev is detected)
HAVE_LIBcosnm (if -lcosnm is detected)
HAVE_LIBcostm (if -lcostm is detected)
HAVE_LIBcosnotify (if -lcosnotify is detected)
HAVE_LIBtelcolog (if -ltelcolog is detected)
HAVE_LIBnmsg (if -lnmsg is detected)
HAVE_LIBpluggable (if -lpluggable is detected)
HAVE_LIBvbsysmib (if -lvbsysmib is detected)
HAVE_LIBits_support (if -lits_support is detected)
HAVE_LIBvbsec (if -lvbsec is detected)

The detected libraries may have various suffixes depending on their characteristics. The detection honours:
  1. Multi-threaded over single-threaded.
  2. 64-bit over 32-bit.
  3. STL over Classical iostreams.
The core libraries (vport, vdlog and orb) can only be multi-threaded.
The its_support and vbsec libraries are optional and off by default because each one of them requires special preparations in order to run a program linked with it.




AI_CHECK_TUXEDO

This macro checks for Tuxedo.
You may use this macro if:
  1. Your package supports only Tuxedo.
  2. Multi-ORB builds (see example6).
configure command-line options:
Option
Description
Default value(s)
--with-tuxedo-prefix=TUXEDO_PREFIX
Tuxedo prefix
/usr/local or /usr or /usr/pkg or /opt/sfw or /usr/sfw or /opt/local or /sw
--with-openssl-prefix=OPENSSL_PREFIX
OpenSSL architecture-independent prefix
/usr/local or /usr or /usr/pkg or /opt/sfw or /usr/sfw or /opt/local or /sw or /usr/local/openssl or /usr/openssl or /usr/pkg/openssl or /opt/sfw/openssl or /usr/sfw/openssl /opt/local/openssl or /sw/openssl
--with-openssl-exec-prefix=OPENSSL_EXEC_PREFIX
OpenSSL architecture-dependent prefix
OPENSSL_PREFIX

After the macro is run, the shell variable $TUXEDO is set to either "yes" or "no", depending on whether Tuxedo has been found or not.

AC_SUBST'ed shell variables (only if $TUXEDO is "yes"):
Variable name
Value
$ORB_TYPE
"Tuxedo"
$ORB_VERSION
Tuxedo's version
$ORB_BIN_DIRS
A space-separated list of the directories which contain Tuxedo's and supplementary executables
$ORB_LIB_DIRS
A space-separated list of the directories which contain Tuxedo's and supplementary libraries
$ORB_INC_DIRS
A space-separated list of the directories which contain Tuxedo's and supplementary headers
$ORB_COSS_IDL_DIRS
A space-separated list of the directories which contain Tuxedo's and supplementary COSS IDLs
$IDLC
"TUXDIR=$TUXEDO_PREFIX PATH=$ORB_BIN_DIRS:$PATH LD_LIBRARY_PATH=$ORB_LIB_DIRS:$LD_LIBRARY_PATH idl"
$IDLCXXFLAGS
"-T -P"
$IDLCPPFLAGS
"-I$ORB_COSS_IDL_DIRS"
$ORB_CFLAGS
pthread $CFLAGS
$ORB_CXXFLAGS
pthread $CFLAGS
$ORB_CPPFLAGS
"-I$ORB_INC_DIRS" 
$ORB_LIBS
"$TUXEDO_PREFIX/lib/tgiopservice.o $TUXEDO_PREFIX/lib/tpfwinit.o -lenv -lomg -lnative -lorb -lorbpoa -lorbutl -ltmib -licbgp -lskel -ltux -lbuft -lfml -lfml32 -lengine"
+ "-lm" + socket and pthread and OpenSSL's libs
$ORB_LDFLAGS
"-L$ORB_LIB_DIRS"

config.h and Makefile.am defines (only if $TUXEDO is "yes"):
HAVE_TUXEDO
HAVE_ORB_TIE
HAVE_ORB_TIE_FLATTENED

The object files and libraries for $ORB_LIBS are taken verbatim from Tuxedo's buildobjserver and buildobjclient commands (which are the only official way to link a Tuxedo CORBA program). That is why they are all mandatory and no additional libraries are checked for.




AI_CHECK_ORBIX

This macro checks for Orbix.
You may use this macro if:
  1. Your package supports only Orbix.
  2. Multi-ORB builds (see example6).
configure command-line options:
Option
Description
Default value(s)
--with-orbix-prefix=ORBIX_PREFIX
Orbix prefix
/opt/progress/orbix or /opt/iona or /usr/local or /usr or /usr/pkg or /opt/sfw or /usr/sfw or /opt/local or /sw

After the macro is run, the shell variable $ORBIX is set to either "yes" or "no", depending on whether Orbix has been found or not.

AC_SUBST'ed shell variables (only if $ORBIX is "yes"):
Variable name
Value
$ORB_TYPE
"Orbix"
$ORB_VERSION
Orbix' version
$ORB_BIN_DIRS
A space-separated list of the directories which contain Orbix' and supplementary executables
$ORB_LIB_DIRS
A space-separated list of the directories which contain Orbix' and supplementary libraries
$ORB_INC_DIRS
A space-separated list of the directories which contain Orbix' and supplementary headers
$ORB_COSS_IDL_DIRS
A space-separated list of the directories which contain Orbix' and supplementary COSS IDLs
$IDLC
"IT_PRODUCT_DIR=$ORBIX_PREFIX PATH=$ORB_BIN_DIRS:$PATH LD_LIBRARY_PATH=$ORB_LIB_DIRS:$LD_LIBRARY_PATH idl"
$IDLCXXFLAGS
"-base:-h.hpp:-c.cpp -poa:-hServer.hpp:-sServer.cpp:-b.hpp:-xTIE"
$IDLCPPFLAGS
"-I$ORB_COSS_IDL_DIRS"
$ORB_CFLAGS
pthread $CFLAGS
$ORB_CXXFLAGS
pthread $CFLAGS
$ORB_CPPFLAGS
"-I$ORB_INC_DIRS" 
$ORB_LIBS
"-lit_art -lit_ifc"
"-lit_pss_r -lit_pss -lit_xa -lit_ots_psk -lit_ots -lit_message_routing_psk -lit_message_routing -lit_load_balancing -lit_lease -lit_trader_psk -lit_trader -lit_notify_psk -lit_notify -lit_event_psk -lit_event -lit_naming_admin -lit_naming -lit_portable_interceptor -lit_poa -lit_location -lit_dynany" (whichever are available)
"-lit_giop -lit_messaging_bridge -lit_messaging -lit_atli2_ip -lit_atli2 -lit_key_replacer_stubs" (whichever are needed)
+ "-lm" + socket and pthread libs
$ORB_LDFLAGS
"-L$ORB_LIB_DIRS"

config.h and Makefile.am defines (only if $ORBIX is "yes"):
HAVE_ORBIX
HAVE_ORB_TIE
HAVE_ORB_TIE_FLATTENED
HAVE_LIBit_dynany (if -lit_dynany is detected)
HAVE_LIBit_location (if -lit_location is detected)
HAVE_LIBit_poa (if -lit_poa is detected)
HAVE_LIBit_portable_interceptor (if -lit_portable_interceptor is detected)
HAVE_LIBit_naming (if -lit_naming is detected)
HAVE_LIBit_naming_admin (if -lit_naming_admin is detected)
HAVE_LIBit_event (if -lit_event is detected)
HAVE_LIBit_event_psk (if -lit_event_psk is detected)
HAVE_LIBit_notify (if -lit_notify is detected)
HAVE_LIBit_notify_psk (if -lit_notify_psk is detected)
HAVE_LIBit_trader (if -lit_trader is detected)
HAVE_LIBit_trader_psk (if -lit_trader_psk is detected)
HAVE_LIBit_lease (if -lit_lease is detected)
HAVE_LIBit_load_balancing (if -lit_load_balancing is detected)
HAVE_LIBit_message_routing (if -lit_message_routing is detected)
HAVE_LIBit_message_routing_psk (if -lit_message_routing_psk is detected)
HAVE_LIBit_ots (if -lit_ots is detected)
HAVE_LIBit_ots_psk (if -lit_ots_psk is detected)
HAVE_LIBit_xa (if -lit_xa is detected)
HAVE_LIBit_pss (if -lit_pss is detected)
HAVE_LIBit_pss_r (if -lit_pss_r is detected)

Since config.guess always detects the CPU of a x86 machine under Solaris as i386 (even if it is a 64-bit one and you intend to build 64-bit binaries with -m64) you must set the host CPU manually if you want to detect the 64-bit Orbix libraries. Here is how to do it:

./configure --host=`./config.guess | sed s/i386/x86_64/`

If you leave the default i386 host CPU type then autoconf-orb will try to link against the 32-bit libraries only.




AI_CHECK_ORB ([PREFERRED_ORBS], [ALLOWED_ORBS])

This macro tries to find a suitable ORB among all the supported ones using the macros above.

ORB
AI_CHECK_ORB arguments
--enable command line option
for more info, see:
omniORB
"omniORB" or "omniorb" --enable-omniorb AI_CHECK_OMNIORB
TAO
"TAO" or "tao"
--enable-tao
AI_CHECK_TAO
MICO
"MICO" or "mico"
--enable-mico AI_CHECK_MICO
orbitcpp
"orbitcpp"
--enable-orbitcpp
AI_CHECK_ORBITCPP
ORBacus
"ORBacus" or "orbacus"
--enable-orbacus
AI_CHECK_ORBACUS
VisiBroker
"VisiBroker" or "visibroker"
--enable-visibroker
AI_CHECK_VISIBROKER
Tuxedo
"Tuxedo" or "tuxedo"
--enable-tuxedo
AI_CHECK_TUXEDO
Orbix
"Orbix" or "orbix"
--enable-orbix
AI_CHECK_ORBIX

PREFERRED_ORBS
is an optional ordered list of ORBs according to the package developer's preferences. If the user does not use an explicit --enable-orb option then only these ORBs will be tried and in the specified order.
ALLOWED_ORBS is an optional unoredered list of ORBs which are supported by the package. Detection code for the ORBs which are not in this list will not be generated in the configure script at all. If this parameter is missing or is empty then it is assumed to be equal to a list of all the ORBs for which support has been installed.
Invalid entries in PREFERRED_ORBS and ALLOWED_ORBS are ignored (e.g. a typo or an ORB which is in PREFERRED_ORBS but not in ALLOWED_ORBS).

After the macro is run, the shell variable $ORB is set to either "yes" or "no", depending on whether a suitable ORB has been found or not.

AC_SUBST'ed shell variables (only if $ORB is "yes"):
Variable name
Value
$ORB_TYPE
The ORB type (as seen in the first column of the table above)
$ORB_VERSION
The ORB version (the format is ORB-specific)
$ORB_BIN_DIRS
A space-separated list of the directories which must be in $PATH when executing a program built against the ORB
(actually, this is required only under CygWin (MS Windows))

$ORB_LIB_DIRS
A space-separated list of the directories which must be in $LD_LIBRARY_PATH or $LIBPATH or $LIBRARY_PATH or $DYLD_LIBRARY_PATH or $SHLIB_PATH (whichever is used by the OS) when executing a program built against the ORB
$ORB_INC_DIRS
A space-separated list of the directories which must be in $CPPFLAGS with -I options while compiling a program against the ORB
$ORB_COSS_IDL_DIRS
A space-separated list of the directories which must be in $IDLCPPFLAGS with -I options while compiling an IDL file with the ORB's IDL compiler
$IDLC
The command used to invoke the ORB's IDL compiler (without any flags)
$IDLCXXFLAGS
ORB-specific flags for the IDL compiler (idlfix from automake-idl highly depends on the content of this variable)
$IDLCPPFLAGS
ORB-independent flags for the IDL compiler (-D and -I flags only)
$ORB_CFLAGS
Compiler flags required to compile a C source file against the ORB (without -D and -I flags)
$ORB_CXXFLAGS
Compiler flags required to compile a C++ source file against the ORB (without -D and -I flags)
$ORB_CPPFLAGS
Compiler flags required to preprocess a C or C++ source file against the ORB (-D and -I flags only)
$ORB_LIBS
-l linker flags required to link an executable against the ORB
$ORB_LDFLAGS
-L linker flags required to link an executable against the ORB

ORBs are tried in this order:
  1. User-preferred (the ones which are specified with an explicit --enable-orb option on configure's command line). The ORBs which are in the developer-preferred list are tried first.
  2. Developer-preferred (see PREFERRED_ORBS above) excluding user-unpreferred ones (the ones which are specified with an explicit --disable-orb option on configure's command line). The ORBs are tried in the specified order.
  3. Default ordered (omniORB, TAO, MICO, orbitcpp, ORBacus, VisiBroker, Tuxedo, Orbix) excluding user-unpreferred ones and the ORBs which are not allowed at all (see ALLOWED_ORBS above).
Each one of these sets is tried only if all the sets preceeding it are empty.

After an ORB is detected, a very simple program may optionally be built against it. If this build fails, the detection of the respective ORB is considered unsuccessful and the details about the build failure may be found in config.log. This test build may be enabled by the user the --enable-orb-buildtest configure's option.




AI_ORB_ARGS ([ALLOWED_ORBS])

This macro is used to include all the command-line options from AI_CHECK_ORB and the ORB-specific macros without actually executing any of them. It is useful when you need to display the options in the help message of the current configure script but the actual values will only be passed down to other configure scripts in subpackages (see example6). For an explanation of the ALLOWED_ORBS parameter, see AI_CHECK_ORB.