freeswitch/libs/unimrcp/configure.ac

286 lines
8.8 KiB
Plaintext

dnl
dnl Autoconf configuration file for UniMRCP.
dnl
dnl Use ./bootstrap to produce a configure script.
dnl
AC_PREREQ(2.59)
AC_INIT([unimrcp],[1.2.0])
AC_CONFIG_AUX_DIR([build])
AC_CONFIG_MACRO_DIR([build/acmacros])
dnl Set ac_macro_dir variable manually for autoconf 2.61 and above.
ac_macro_dir="build/acmacros"
AC_SUBST(ac_aux_dir)
AC_SUBST(ac_macro_dir)
dnl Include m4 macros for libtool 2.
sinclude(build/acmacros/libtool.m4)
sinclude(build/acmacros/ltoptions.m4)
sinclude(build/acmacros/ltsugar.m4)
sinclude(build/acmacros/ltversion.m4)
sinclude(build/acmacros/lt~obsolete.m4)
AC_PREFIX_DEFAULT(/usr/local/unimrcp)
dnl Define the directory layout.
APR_ENABLE_LAYOUT(classic, [plugindir logdir vardir])
AC_SUBST(plugindir)
AC_SUBST(logdir)
AC_SUBST(vardir)
dnl Reparse the configure arguments.
APR_PARSE_ARGUMENTS
dnl Generate ./config.nice to reuse ./configure command-line.
APR_CONFIG_NICE(config.nice)
AM_INIT_AUTOMAKE([no-define nostdinc foreign subdir-objects])
dnl Enable silent build rules available since automake 1.11.
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
dnl Set default language.
AC_LANG_C
AC_PROG_CC
AC_PROG_CXX
AM_PROG_CC_C_O
AC_PROG_INSTALL
dnl Skip detection of Fortran.
m4_undefine([AC_PROG_F77])
m4_defun([AC_PROG_F77],[])
AC_PROG_LIBTOOL
dnl Do not use autoconf generated compiler DEFS.
rm confdefs.h
touch confdefs.h
dnl Check for C compiler vendor.
AX_COMPILER_VENDOR
dnl Search for pkg-config.
AC_PATH_PROG(PKG_CONFIG, pkg-config)
dnl Get version information.
get_version="$srcdir/build/get-version.sh"
version_hdr="$srcdir/build/uni_version.h"
plugin_version_hdr="$srcdir/libs/mrcp-engine/include/mrcp_engine_plugin.h"
UNI_DOTTED_VERSION="`$get_version all $version_hdr UNI`"
UNI_LT_VERSION="-version-info `$get_version libtool $version_hdr UNI`"
PLUGIN_LT_VERSION="-version-info `$get_version libtool $plugin_version_hdr PLUGIN`"
AC_SUBST(UNI_DOTTED_VERSION)
AC_SUBST(UNI_LT_VERSION)
AC_SUBST(PLUGIN_LT_VERSION)
echo "UniMRCP Version: ${UNI_DOTTED_VERSION}"
dnl Check for the APR and APR-util libraries.
UNIMRCP_CHECK_APR
dnl Check for the Sofia-SIP library.
UNIMRCP_CHECK_SOFIA
dnl Enable inter-library dependencies.
AC_ARG_ENABLE(interlib-deps,
[AC_HELP_STRING([--disable-interlib-deps ],[disable inter-library dependencies (might break builds)])],
[enable_interlib_deps="$enableval"],
[enable_interlib_deps="yes"])
AC_MSG_NOTICE([enable inter-library dependencies: $enable_interlib_deps])
if test "${enable_interlib_deps}" = "yes"; then
link_all_deplibs=yes
link_all_deplibs_CXX=yes
else
link_all_deplibs=no
link_all_deplibs_CXX=no
fi
dnl Enable maintainer mode.
AC_ARG_ENABLE(maintainer-mode,
[AC_HELP_STRING([--enable-maintainer-mode ],[turn on debugging and compile time warnings])],
[enable_maintainer_mode="$enableval"],
[enable_maintainer_mode="no"])
AC_MSG_NOTICE([enable maintainer mode: $enable_maintainer_mode])
if test "${enable_maintainer_mode}" != "no"; then
APR_ADDTO(CFLAGS,-g)
if test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then
APR_ADDTO(CFLAGS,-Wall -Werror)
fi
fi
dnl UniMRCP client library.
AC_ARG_ENABLE(client-lib,
[AC_HELP_STRING([--disable-client-lib ],[exclude unimrcpclient lib from build])],
[enable_client_lib="$enableval"],
[enable_client_lib="yes"])
AM_CONDITIONAL([UNIMRCP_CLIENT_LIB],[test "${enable_client_lib}" = "yes"])
dnl Sample UniMRCP client application in C.
AC_ARG_ENABLE(client-app,
[AC_HELP_STRING([--disable-client-app ],[exclude sample unimrcpclient app from build])],
[enable_client_app="$enableval"],
[enable_client_app="yes"])
AM_CONDITIONAL([UNIMRCP_CLIENT_APP],[test "${enable_client_lib}" = "yes" && test "${enable_client_app}" = "yes"])
dnl Sample UniMRCP client application in C++.
AC_ARG_ENABLE(umc,
[AC_HELP_STRING([--disable-umc ],[exclude sample unimrcpclient C++ app from build])],
[enable_umc="$enableval"],
[enable_umc="yes"])
AM_CONDITIONAL([UMC],[test "${enable_client_lib}" = "yes" && test "${enable_umc}" = "yes"])
dnl Miscellaneous ASR client library and application.
AC_ARG_ENABLE(asr-client,
[AC_HELP_STRING([--disable-asr-client ],[exclude misc ASR client lib and app from build])],
[enable_asr_client="$enableval"],
[enable_asr_client="yes"])
AM_CONDITIONAL([ASR_CLIENT],[test "${enable_client_lib}" = "yes" && test "${enable_asr_client}" = "yes"])
AM_CONDITIONAL([COMMON_CLIENT_DATA],[test "${enable_client_app}" = "yes" || test "${enable_umc}" = "yes" ||test "${enable_asr_client}" = "yes"])
dnl UniMRCP server library.
AC_ARG_ENABLE(server-lib,
[AC_HELP_STRING([--disable-server-lib ],[exclude unimrcpserver lib from build])],
[enable_server_lib="$enableval"],
[enable_server_lib="yes"])
AM_CONDITIONAL([UNIMRCP_SERVER_LIB],[test "${enable_server_lib}" = "yes"])
dnl UniMRCP server application.
AC_ARG_ENABLE(server-app,
[AC_HELP_STRING([--disable-server-app ],[exclude unimrcpserver app from build])],
[enable_server_app="$enableval"],
[enable_server_app="yes"])
AM_CONDITIONAL([UNIMRCP_SERVER_APP],[test "${enable_server_lib}" = "yes" && test "${enable_server_app}" = "yes"])
dnl Demo synthesizer plugin.
UNI_PLUGIN_ENABLED(demosynth)
AM_CONDITIONAL([DEMOSYNTH_PLUGIN],[test "${enable_demosynth_plugin}" = "yes"])
dnl Demo recognizer plugin.
UNI_PLUGIN_ENABLED(demorecog)
AM_CONDITIONAL([DEMORECOG_PLUGIN],[test "${enable_demorecog_plugin}" = "yes"])
dnl Demo verifier plugin.
UNI_PLUGIN_ENABLED(demoverifier)
AM_CONDITIONAL([DEMOVERIFIER_PLUGIN],[test "${enable_demoverifier_plugin}" = "yes"])
dnl Recorder plugin.
UNI_PLUGIN_ENABLED(recorder)
AM_CONDITIONAL([RECORDER_PLUGIN],[test "${enable_recorder_plugin}" = "yes"])
dnl Enable test suites.
AC_ARG_ENABLE(test-suites,
[AC_HELP_STRING([--enable-test-suites ],[build test suites])],
[enable_test_suites="$enableval"],
[enable_test_suites="no"])
# Enable clang address sanitizer bit build
AC_ARG_ENABLE(address_sanitizer,
[AC_HELP_STRING([--enable-address-sanitizer],[build with address sanitizer])],
[enable_address_sanitizer="$enable_address_sanitizer"],
[enable_address_sanitizer="no"])
if test "${enable_address_sanitizer}" = "yes"; then
APR_ADDTO(CFLAGS, -fsanitize=address -fno-omit-frame-pointer)
APR_ADDTO(CXXFLAGS, -fsanitize=address -fno-omit-frame-pointer)
APR_ADDTO(LDFLAGS, -fsanitize=address)
fi
AM_CONDITIONAL([TEST_SUITES],[test "${enable_test_suites}" != "no"])
AM_CONDITIONAL(ISMAC, [test `uname -s` = Darwin])
AC_CONFIG_FILES([
Makefile
libs/Makefile
libs/apr-toolkit/Makefile
libs/mpf/Makefile
libs/mrcp/Makefile
libs/mrcp-signaling/Makefile
libs/mrcpv2-transport/Makefile
libs/mrcp-engine/Makefile
libs/mrcp-server/Makefile
libs/mrcp-client/Makefile
libs/uni-rtsp/Makefile
modules/Makefile
modules/mrcp-sofiasip/Makefile
modules/mrcp-unirtsp/Makefile
plugins/Makefile
plugins/mrcp-recorder/Makefile
plugins/demo-synth/Makefile
plugins/demo-recog/Makefile
plugins/demo-verifier/Makefile
platforms/Makefile
platforms/libunimrcp-server/Makefile
platforms/libunimrcp-client/Makefile
platforms/unimrcp-server/Makefile
platforms/unimrcp-client/Makefile
platforms/libasr-client/Makefile
platforms/asr-client/Makefile
platforms/umc/Makefile
tests/Makefile
tests/apttest/Makefile
tests/mpftest/Makefile
tests/mrcptest/Makefile
tests/rtsptest/Makefile
tests/strtablegen/Makefile
build/Makefile
build/pkgconfig/Makefile
build/pkgconfig/unimrcpclient.pc
build/pkgconfig/unimrcpserver.pc
build/pkgconfig/unimrcpplugin.pc
conf/Makefile
data/Makefile
docs/doxygen.conf
])
AC_OUTPUT
echo
echo '****************************** REPORT ******************************'
echo
echo UniMRCP version............... : $UNI_DOTTED_VERSION
echo
echo APR version................... : $apr_version
echo APR-util version.............. : $apu_version
echo Sofia-SIP version............. : $sofia_version
echo
echo Compiler...................... : $CC
echo Compiler flags................ : $CFLAGS
echo Preprocessor definitions...... : $CPPFLAGS
echo Linker flags.................. : $LDFLAGS
echo
echo UniMRCP client lib............ : $enable_client_lib
echo Sample UniMRCP client app..... : $enable_client_app
echo Sample UMC C++ client app..... : $enable_umc
echo Misc ASR client lib and app... : $enable_asr_client
echo
echo UniMRCP server lib............ : $enable_server_lib
echo UniMRCP server app............ : $enable_server_app
echo
echo Demo synthesizer plugin....... : $enable_demosynth_plugin
echo Demo recognizer plugin........ : $enable_demorecog_plugin
echo Demo verifier plugin.......... : $enable_demoverifier_plugin
echo Recorder plugin............... : $enable_recorder_plugin
echo
echo Installation layout........... : $layout_name
echo Installation directory........ : $prefix
echo
echo '********************************************************************'