AC_DEFUN([AI_CHECK_ORB], [ AC_MSG_NOTICE([checking for a supported ORB...]) AC_ARG_ENABLE( [omniorb], AS_HELP_STRING(--enable-omniorb,use omniORB), [ USE_OMNIORB="${enableval}" ], [ USE_OMNIORB="" ]) AC_ARG_ENABLE( [mico], AS_HELP_STRING(--enable-mico,use MICO), [ USE_MICO="${enableval}" ], [ USE_MICO="" ]) AC_ARG_ENABLE( [tao], AS_HELP_STRING(--enable-tao,use TAO), [ USE_TAO="${enableval}" ], [ USE_TAO="" ]) AC_ARG_ENABLE( [orbitcpp], AS_HELP_STRING(--enable-orbitcpp,use orbitcpp), [ USE_ORBITCPP="${enableval}" ], [ USE_ORBITCPP="" ]) AC_ARG_ENABLE( [orbacus], AS_HELP_STRING(--enable-orbacus,use ORBacus), [ USE_ORBACUS="${enableval}" ], [ USE_ORBACUS="" ]) AC_ARG_ENABLE( [visibroker], AS_HELP_STRING(--enable-visibroker,use VisiBroker), [ USE_VISIBROKER="${enableval}" ], [ USE_VISIBROKER="" ]) checkOmniorb() { AI_CHECK_OMNIORB test "x${OMNIORB}" = "xyes" } checkMico() { AI_CHECK_MICO test "x${MICO}" = "xyes" } checkTao() { AI_CHECK_TAO test "x${TAO}" = "xyes" } checkOrbitcpp() { AI_CHECK_ORBITCPP test "x${ORBITCPP}" = "xyes" } checkOrbacus() { AI_CHECK_ORBACUS test "x${ORBACUS}" = "xyes" } checkVisibroker() { AI_CHECK_VISIBROKER test "x${VISIBROKER}" = "xyes" } findOrb() { ORB="yes" AI_CONTINUE_ORB_CHECKS="yes" dnl Try user's preferences (--enable-xxx options). if test "x${AI_CONTINUE_ORB_CHECKS}" = "xyes" then if test "x${USE_OMNIORB}" = "xyes" then AI_CONTINUE_ORB_CHECKS="no" if checkOmniorb then return fi fi if test "x${USE_MICO}" = "xyes" then AI_CONTINUE_ORB_CHECKS="no" if checkMico then return fi fi if test "x${USE_TAO}" = "xyes" then AI_CONTINUE_ORB_CHECKS="no" if checkTao then return fi fi if test "x${USE_ORBITCPP}" = "xyes" then AI_CONTINUE_ORB_CHECKS="no" if checkOrbitcpp then return fi fi if test "x${USE_ORBACUS}" = "xyes" then AI_CONTINUE_ORB_CHECKS="no" if checkOrbacus then return fi fi if test "x${USE_VISIBROKER}" = "xyes" then AI_CONTINUE_ORB_CHECKS="no" if checkVisibroker then return fi fi fi dnl Try developer's preferences (AI_CHECK_ORB parameter). if test "x${AI_CONTINUE_ORB_CHECKS}" = "xyes" then for orb in "${1}" do case "x${orb}" in xomniORB|xomniorb) AI_CONTINUE_ORB_CHECKS="no" if test "x${USE_OMNIORB}" != "xno" then if checkOmniorb then return fi fi ;; xMICO|xmico) AI_CONTINUE_ORB_CHECKS="no" if test "x${USE_MICO}" != "xno" then if checkMico then return fi fi ;; xTAO|xtao) AI_CONTINUE_ORB_CHECKS="no" if test "x${USE_TAO}" != "xno" then if checkTao then return fi fi ;; xorbitcpp) AI_CONTINUE_ORB_CHECKS="no" if test "x${USE_ORBITCPP}" != "xno" then if checkOrbitcpp then return fi fi ;; xORBacus|xorbacus) AI_CONTINUE_ORB_CHECKS="no" if test "x${USE_ORBACUS}" != "xno" then if checkOrbacus then return fi fi ;; xVisiBroker|xvisibroker) AI_CONTINUE_ORB_CHECKS="no" if test "x${USE_VISIBROKER}" != "xno" then if checkVisibroker then return fi fi ;; esac done fi dnl Try the default preferences. if test "x${AI_CONTINUE_ORB_CHECKS}" = "xyes" then AI_CONTINUE_ORB_CHECKS="no" if test "x${USE_OMNIORB}" != "xno" then if checkOmniorb then return fi fi if test "x${USE_MICO}" != "xno" then if checkMico then return fi fi if test "x${USE_TAO}" != "xno" then if checkTao then return fi fi if test "x${USE_ORBITCPP}" != "xno" then if checkOrbitcpp then return fi fi if test "x${USE_ORBACUS}" != "xno" then if checkOrbacus then return fi fi if test "x${USE_VISIBROKER}" != "xno" then if checkVisibroker then return fi fi fi ORB="no" AC_MSG_NOTICE([ORB not found]) } findOrb "$1" ])