# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. # Must change all of the below together # For a release, set revision for that tagged release as well and uncomment AC_INIT([freeswitch], [1.5.6b], bugs@freeswitch.org) AC_SUBST(SWITCH_VERSION_MAJOR, [1]) AC_SUBST(SWITCH_VERSION_MINOR, [5]) AC_SUBST(SWITCH_VERSION_MICRO, [6b]) AC_SUBST(SWITCH_VERSION_REVISION, []) AC_SUBST(SWITCH_VERSION_REVISION_HUMAN, []) AC_CONFIG_FILES([src/include/switch_version.h.in:src/include/switch_version.h.template]) AC_CONFIG_AUX_DIR(build/config) AM_INIT_AUTOMAKE(libfreeswitch,0.1) AC_CONFIG_SRCDIR([src/switch.c]) AC_CONFIG_HEADER([src/include/switch_private.h]) AC_CONFIG_HEADER([libs/xmlrpc-c/xmlrpc_amconfig.h]) AC_PREFIX_DEFAULT(/usr/local/freeswitch) # AC_PREFIX_DEFAULT does not get expanded until too late so we need to do this to use prefix in this script if test "x$prefix" = "xNONE" ; then prefix='/usr/local/freeswitch' fi AC_CANONICAL_HOST # Absolute source/build directory switch_srcdir=`(cd $srcdir && pwd)` switch_builddir=`pwd` AC_SUBST(switch_srcdir) AC_SUBST(switch_builddir) # Where to install the modules AC_ARG_WITH([modinstdir], [AS_HELP_STRING([--with-modinstdir=DIR], [Install modules into this location (default: $prefix/mod)])], [modulesdir="$withval"], [modulesdir="${prefix}/mod"]) AC_SUBST(modulesdir) AC_DEFINE_UNQUOTED([SWITCH_MOD_DIR],"${modulesdir}",[where to install the modules to]) if test "$localstatedir" = "\${prefix}/var" ; then rundir="$prefix/run" logdir="${prefix}/log" else rundir="$localstatedir/run/freeswitch" logdir="$localstatedir/log/freeswitch" fi # Where to put pidfile AC_ARG_WITH([rundir], [AS_HELP_STRING([--with-rundir=DIR], [Put pidfile into this location (default: $prefix/run)])], [runtimedir="$withval"], [runtimedir="$rundir"]) AC_SUBST(runtimedir) AC_DEFINE_UNQUOTED([SWITCH_RUN_DIR],"${runtimedir}",[where to put pidfile to]) AC_ARG_WITH([logfiledir], [AS_HELP_STRING([--with-logfiledir=DIR], [Put logfiles into this location (default: $localstatedir/log)])], [logfiledir="$withval"], [logfiledir="$logdir"]) AC_SUBST(logfiledir) AC_DEFINE_UNQUOTED([SWITCH_LOG_DIR],"${logfiledir}",[where to put log files]) AC_ARG_WITH([dbdir], [AS_HELP_STRING([--with-dbdir=DIR], [Put database files into this location (default: $prefix/db)])], [dbdir="$withval"], [dbdir="$prefix/db"]) AC_SUBST(dbdir) AC_DEFINE_UNQUOTED([SWITCH_DB_DIR],"${dbdir}",[where to put db files]) AC_ARG_WITH([htdocsdir], [AS_HELP_STRING([--with-htdocsdir=DIR], [Put html files into this location (default: $prefix/htdocs)])], [htdocsdir="$withval"], [htdocsdir="$prefix/htdocs"]) AC_SUBST(htdocsdir) AC_DEFINE_UNQUOTED([SWITCH_HTDOCS_DIR],"${htdocsdir}",[where to put htdocs files]) AC_ARG_WITH([soundsdir], [AS_HELP_STRING([--with-soundsdir=DIR], [Put sound files into this location (default: $prefix/sounds)])], [soundsdir="$withval"], [soundsdir="$prefix/sounds"]) AC_SUBST(soundsdir) AC_DEFINE_UNQUOTED([SWITCH_SOUNDS_DIR],"${soundsdir}",[where to put sounds files]) AC_ARG_WITH([grammardir], [AS_HELP_STRING([--with-grammardir=DIR], [Put grammar files into this location (default: $prefix/grammar)])], [grammardir="$withval"], [grammardir="$prefix/grammar"]) AC_SUBST(grammardir) AC_DEFINE_UNQUOTED([SWITCH_GRAMMAR_DIR],"${grammardir}",[where to put grammar files]) AC_ARG_WITH([certsdir], [AS_HELP_STRING([--with-certsdir=DIR], [Put certs files into this location (default: $prefix/certs)])], [certsdir="$withval"], [certsdir="$prefix/certs"]) AC_SUBST(certsdir) AC_DEFINE_UNQUOTED([SWITCH_CERTS_DIR],"${certsdir}",[where to put certs files]) AC_ARG_WITH([scriptdir], [AS_HELP_STRING([--with-scriptdir=DIR], [Put script files into this location (default: $prefix/scripts)])], [scriptdir="$withval"], [scriptdir="$prefix/scripts"]) AC_SUBST(scriptdir) AC_DEFINE_UNQUOTED([SWITCH_SCRIPT_DIR],"${scriptdir}",[where to put script files]) AC_ARG_WITH([recordingsdir], [AS_HELP_STRING([--with-recordingsdir=DIR], [Put recordings files into this location (default: $prefix/recordings)])], [recordingsdir="$withval"], [recordingsdir="$prefix/recordings"]) AC_SUBST(recordingsdir) AC_DEFINE_UNQUOTED([SWITCH_RECORDINGS_DIR],"${recordingsdir}",[where to put recording files]) AC_ARG_WITH([storagedir], [AS_HELP_STRING([--with-storagedir=DIR], [Put storage files into this location (default: $prefix/storage)])], [storagedir="$withval"], [storagedir="$prefix/storage"]) AC_SUBST(storagedir) AC_DEFINE_UNQUOTED([SWITCH_STORAGE_DIR],"${storagedir}",[where to put storage files]) if test "$sysconfdir" = "\${prefix}/etc" ; then confdir="$prefix/conf" else confdir="$sysconfdir" fi sysconfdir="$confdir" AC_SUBST(confdir) AC_DEFINE_UNQUOTED([SWITCH_CONF_DIR],"${confdir}",[directory for configuration files]) AC_SUBST(libdir) AC_SUBST(bindir) AC_SUBST(includedir) AC_ARG_WITH([pkgconfigdir], [AS_HELP_STRING([--with-pkgconfigdir=DIR], [Installation directory for pkgconfig file (default: ${libdir}/pkgconfig)])], [case "${withval}" in yes|no) AC_MSG_ERROR([Invalid value ${withval} for option --with-pkgconfigdir]) ;; *) pkgconfigdir="${withval}" ;; esac ], [pkgconfigdir="${libdir}/pkgconfig"] ) AC_SUBST([pkgconfigdir]) #Set default language AC_LANG_C # Checks for programs. AC_PROG_CC AC_PROG_CXX #check if the g++ compiler works AC_CACHE_CHECK([whether the C++ compiler works], [ac_cv_sys_cxx_works], [ AC_LANG_PUSH([C++]) AC_COMPILE_IFELSE([int main() { }], [ac_cv_sys_cxx_works=yes], [ac_cv_sys_cxx_works=no]) AC_LANG_POP([C++]) ]) [ if [ "x$ac_cv_sys_cxx_works" = "xno" ]; then ] AC_MSG_FAILURE([The C++ compiler does not work. Please (re)install the C++ compiler]) [ fi ] AC_PROG_AWK AC_PROG_MAKE_SET AC_PROG_INSTALL #override some default libtool behavior and invoke AC_PROG_LIBTOOL (see http://lists.gnu.org/archive/html/libtool/2007-03/msg00000.html) m4_defun([_LT_AC_LANG_F77_CONFIG], [:]) m4_defun([_LT_AC_LANG_GCJ_CONFIG], [:]) m4_defun([_LT_AC_LANG_RC_CONFIG], [:]) AM_PROG_CC_C_O AC_PROG_LIBTOOL #Check for compiler vendor AX_COMPILER_VENDOR # Optimize AC_ARG_ENABLE(optimization, [AC_HELP_STRING([--enable-optimization],[Set if you want us to add max optimising compiler flags])],[enable_optimizer="$enableval"],[enable_optimizer="no"]) if test "${enable_optimizer}" = "yes" ; then AC_DEFINE([OPTIMZER],[],[Enable Optimization.]) AX_CC_MAXOPT fi AX_PATH_LIBGNUTLS() # set defaults for use on all platforms SWITCH_AM_CFLAGS="-I${switch_srcdir}/src/include -I${switch_builddir}/src/include -I${switch_srcdir}/libs/libteletone/src -I${switch_srcdir}/libs/stfu" SWITCH_AM_CXXFLAGS="-I${switch_srcdir}/src/include -I${switch_builddir}/src/include -I${switch_srcdir}/libs/libteletone/src -I${switch_srcdir}/libs/stfu" SWITCH_AM_LDFLAGS="-lm" #set SOLINK variable based on compiler and host if test "x${ax_cv_c_compiler_vendor}" = "xsun" ; then SOLINK="-Bdynamic -dy -G" elif test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then case "$host" in *darwin12.*|*darwin11.*|*darwin10.*) SOLINK="-dynamic -force-flat-namespace" ;; *darwin*) SOLINK="-dynamic -bundle -force-flat-namespace" ;; *-solaris2*) SOLINK="-shared -Xlinker" ;; *) SOLINK="-shared -Xlinker -x" ;; esac else AC_ERROR([Please update configure.in with SOLINK values for your compiler]) fi # set DYNAMIC_LIB_EXTEN # we should really be using libtool so we don't need to do this case "$host" in *cygwin* | *mingw*) DYNAMIC_LIB_EXTEN="dll" ;; *) DYNAMIC_LIB_EXTEN="so" ;; esac ## # detect libtool major version, # set libtool library extension based on this # to work around some brokeness when using 'la' with libtool-1.5 # AC_MSG_CHECKING([libtool major version]) libtool="${switch_builddir}/libtool" LIBTOOL_MAJOR_VERSION="`$libtool --version 2>/dev/null| sed -e 's/([[^)]]*)//g;s/^[[^0-9]]*//;s/[[- ]].*//g;q'| awk 'BEGIN { FS = "." } { print $1 }' `" if test -z "$LIBTOOL_MAJOR_VERSION" ; then LIBTOOL_MAJOR_VERSION="`sed -n -e '/^VERSION/{s/^.*=\"\{0,1\}\([[0-9]]\{1,\}\)\..*/\1/;p;}' ${switch_srcdir}/build/config/ltmain.sh`" fi if test -z "$LIBTOOL_MAJOR_VERSION" ; then AC_MSG_ERROR([Failed to detect your libtool version, please open a bug report on http://jira.freeswitch.org/]) fi AC_MSG_RESULT([${LIBTOOL_MAJOR_VERSION}]) LIBTOOL_LIB_EXTEN="$DYNAMIC_LIB_EXTEN" if test "${LIBTOOL_MAJOR_VERSION}" = "2" ; then LIBTOOL_LIB_EXTEN="la" fi AC_MSG_RESULT([using libtool library extension... ${LIBTOOL_LIB_EXTEN}]) # Enable 64 bit build AC_ARG_ENABLE(64, [AC_HELP_STRING([--enable-64],[build with 64 bit support])],[enable_64="$enable_64"],[enable_64="no"]) # tweak compiler specific flags if test "x${ax_cv_c_compiler_vendor}" = "xsun" ; then APR_ADDTO(SWITCH_AM_CFLAGS, -KPIC) APR_ADDTO(SWITCH_AM_CFLAGS, -DPIC) APR_ADDTO(SWITCH_AM_CFLAGS, -erroff=E_END_OF_LOOP_CODE_NOT_REACHED) APR_ADDTO(SWITCH_AM_CFLAGS, -errtags=yes) APR_ADDTO(SWITCH_AM_CFLAGS, -D__FUNCTION__=__func__ ) APR_ADDTO(SWITCH_AM_CFLAGS, -mt) APR_ADDTO(SWITCH_AM_CXXFLAGS, -errtags=yes) APR_ADDTO(SWITCH_AM_CXXFLAGS, -KPIC) APR_ADDTO(SWITCH_AM_CXXFLAGS, -DPIC) APR_ADDTO(SWITCH_AM_CXXFLAGS, "-features=extensions") APR_ADDTO(SWITCH_AM_CXXFLAGS, -D__FUNCTION__=__func__) APR_ADDTO(SWITCH_AM_CXXFLAGS, -mt) APR_ADDTO(SWITCH_AM_LDFLAGS, -R${prefix}/lib) if test "${enable_64}" = "yes"; then APR_ADDTO(SWITCH_AM_CFLAGS, -m64) APR_ADDTO(SWITCH_AM_CXXFLAGS, -m64) APR_ADDTO(SWITCH_AM_LDFLAGS, -m64) LIBS="$LIBS -m64" fi elif test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then APR_ADDTO(SWITCH_AM_CFLAGS, -fPIC) APR_ADDTO(SWITCH_AM_CXXFLAGS, -fPIC) APR_ADDTO(SWITCH_AM_CFLAGS, -Werror) if test "${enable_64}" = "yes"; then case "$host" in *darwin12.*|*darwin11.*|*darwin10.*|*darwin9.*|*darwin8.*) APR_ADDTO(CFLAGS, -arch x86_64) APR_ADDTO(LDFLAGS, -arch x86_64) APR_ADDTO(CXXFLAGS, -arch x86_64) ;; *) LIBS="$LIBS -m64" ;; esac fi fi # # gcc visibility cflag checks # AC_ARG_ENABLE([visibility], [AS_HELP_STRING([--disable-visibility], [Disable or enable API visibility support (default: use if available)])], [enable_visibility="${enableval}"], [enable_visibility="detect"] ) HAVE_VISIBILITY="no" if test "x${enable_visibility}" != "xno" ; then case "${ax_cv_c_compiler_vendor}" in gnu) save_CFLAGS="${CFLAGS}" CFLAGS="${CFLAGS} -fvisibility=hidden" AC_MSG_CHECKING([whether the compiler supports -fvisibility=hidden]) AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [int foo __attribute__ ((visibility("default")));], [;] )], [AC_MSG_RESULT([yes]) APR_ADDTO([SWITCH_AM_CFLAGS], [-fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1]) APR_ADDTO([SWITCH_AM_CXXFLAGS], [-fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1]) HAVE_VISIBILITY="yes"], [AC_MSG_RESULT([no])] ) CFLAGS="${save_CFLAGS}" ;; sun) # save_CFLAGS="${CFLAGS}" # CFLAGS="${CFLAGS} -xldscope=hidden" # AC_MSG_CHECKING([whether the compiler supports -xldscope=hidden]) # AC_COMPILE_IFELSE( # [AC_LANG_PROGRAM( # [int foo __attribute__ ((visibility("default")));], # [;] # )], # # [AC_MSG_RESULT([yes]) # APR_ADDTO([SWITCH_AM_CFLAGS], [-xldscope=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1]) # APR_ADDTO([SWITCH_AM_CXXFLAGS], [-xldscope=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1]) # HAVE_VISIBILITY="yes"], # # [AC_MSG_RESULT([no])] # ) # CFLAGS="${save_CFLAGS}" ;; *) if test "x${enable_visibility}" = "xyes" ; then AC_MSG_ERROR([Non-GNU / SUN compilers are currently unsupported]) else AC_MSG_WARN([Non-GNU / SUN compilers are currently unsupported]) fi ;; esac # # visibility explicitly requested but not supported by this compiler => error # if test "x${enable_visibility}" = "xyes" -a "x${HAVE_VISIBILITY}" = "xno" ; then AC_MSG_ERROR([API visibility not supported by this compiler]) fi fi # Enable debugging (default: on) # (rename option if the default is changed) AC_ARG_ENABLE(debug, [AC_HELP_STRING([--disable-debug],[build without debug information])],[enable_debug="$enableval"],[enable_debug="yes"]) if test "${enable_debug}" = "yes"; then AC_DEFINE([DEBUG],[],[Enable extra debugging.]) saved_CFLAGS="$CFLAGS" CFLAGS= AX_CFLAGS_WARN_ALL_ANSI SWITCH_ANSI_CFLAGS=$CFLAGS CFLAGS="$saved_CFLAGS" if test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then APR_ADDTO(SWITCH_AM_CFLAGS, -g -ggdb) export DEBUG_CFLAGS="-g -ggdb" fi fi AC_ARG_ENABLE(cpp, [AC_HELP_STRING([--disable-cpp],[build without cpp code])],[enable_cpp="$enableval"],[enable_cpp="yes"]) AM_CONDITIONAL([ENABLE_CPP],[test "${enable_cpp}" = "yes"]) AC_ARG_ENABLE(srtp, [AC_HELP_STRING([--disable-srtp],[build without srtp support])],[enable_srtp="$enableval"],[enable_srtp="yes"]) AM_CONDITIONAL([ENABLE_SRTP],[test "${enable_srtp}" = "yes"]) AC_ARG_ENABLE(zrtp, [AS_HELP_STRING([--enable-zrtp], [Compile with zrtp Support])],,[enable_zrtp="no"]) if test "x$enable_zrtp" = "xyes" ; then LIBS="-lpthread $LIBS" APR_ADDTO(SWITCH_AM_CFLAGS, -DENABLE_ZRTP) fi PA_LIBS= PKG_CHECK_MODULES(JACK, jack, have_jack=yes, have_jack=no) if test "x$have_jack" = "xyes" ; then PA_LIBS+=$JACK_LIBS fi AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no) if test "x$have_alsa" = "xyes" ; then PA_LIBS+=-lasound fi AC_SUBST(PA_LIBS) AM_CONDITIONAL([ENABLE_ZRTP],[test "x$enable_zrtp" != "xno"]) AM_CONDITIONAL([WANT_DEBUG],[test "${enable_debug}" = "yes"]) AC_ARG_ENABLE(core-odbc-support, [AS_HELP_STRING([--enable-core-odbc-support], [Compile with ODBC Support])],,[enable_core_odbc_support="no"]) AX_LIB_ODBC if test "$ac_cv_found_odbc" = "yes" ; then enable_core_odbc_support="yes" fi if test "x$enable_core_odbc_support" != "xno"; then AC_CHECK_LIB([odbc], [SQLDisconnect],, AC_MSG_ERROR([no usable libodbc; please install unixodbc devel package or equivalent])) fi CHECK_LIBUUID SWITCH_AM_LDFLAGS="$LIBUUID_LIBS $SWITCH_AM_LDFLAGS" SWITCH_AM_CFLAGS="$LIBUUID_CFLAGS $SWITCH_AM_CFLAGS" AC_ARG_ENABLE(core-pgsql-support, [AS_HELP_STRING([--enable-core-pgsql-support], [Compile with PGSQL Support])],,[enable_core_pgsql_support="no"]) if test x"$enable_core_pgsql_support" = x"yes" ; then AC_PATH_PROG([PG_CONFIG], [pg_config], [no]) if test "$PG_CONFIG" != "no"; then AC_MSG_CHECKING([for PostgreSQL libraries]) POSTGRESQL_CXXFLAGS="`$PG_CONFIG --cppflags` -I`$PG_CONFIG --includedir`" POSTGRESQL_LDFLAGS="`$PG_CONFIG --ldflags|sed 's/ -Wl,--as-needed//g'` -L`$PG_CONFIG --libdir` -lpq" POSTGRESQL_VERSION=`$PG_CONFIG --version | sed -e 's#PostgreSQL ##'` POSTGRESQL_MAJOR_VERSION=`$PG_CONFIG --version | sed -re 's#PostgreSQL ([0-9]+).[0-9]+.[0-9]+#\1#'` POSTGRESQL_MINOR_VERSION=`$PG_CONFIG --version | sed -re 's#PostgreSQL [0-9]+.([0-9]+).[0-9]+#\1#'` POSTGRESQL_PATCH_VERSION=`$PG_CONFIG --version | sed -re 's#PostgreSQL [0-9]+.[0-9]+.([0-9]+)#\1#'` AC_DEFINE([SWITCH_HAVE_PGSQL], [1], [Define to 1 if PostgreSQL libraries are available]) AC_DEFINE_UNQUOTED([POSTGRESQL_VERSION], "${POSTGRESQL_VERSION}", [Specifies the version of PostgreSQL we are linking against]) AC_DEFINE_UNQUOTED([POSTGRESQL_MAJOR_VERSION], ${POSTGRESQL_MAJOR_VERSION}, [Specifies the version of PostgreSQL we are linking against]) AC_DEFINE_UNQUOTED([POSTGRESQL_MINOR_VERSION], ${POSTGRESQL_MINOR_VERSION}, [Specifies the version of PostgreSQL we are linking against]) AC_DEFINE_UNQUOTED([POSTGRESQL_PATCH_VERSION], ${POSTGRESQL_PATCH_VERSION}, [Specifies the version of PostgreSQL we are linking against]) AC_CHECK_LIB([pq], [PQgetvalue],, AC_MSG_ERROR([no usable libpq; please install PostgreSQL devel package or equivalent])) AC_MSG_RESULT([yes]) SWITCH_AM_CXXFLAGS="$POSTGRESQL_CXXFLAGS $SWITCH_AM_CXXFLAGS" SWITCH_AM_LDFLAGS="$POSTGRESQL_LDFLAGS $SWITCH_AM_LDFLAGS" else AC_MSG_RESULT([no]) AC_MSG_FAILURE([Unabled to find pg_config in PATH. Is PostgreSQL installed?]) fi fi AC_ARG_ENABLE(deprecated-core-db-events, [AS_HELP_STRING([--enable-deprecated-core-db-events], [Keep deprecated core db events])],,[enable_deprecated_core_db_events="no"]) if test x"$enable_deprecated_core_db_events" = x"yes" ; then AC_DEFINE([SWITCH_DEPRECATED_CORE_DB], [1], [Define to 1 to enable deprecated core db events]) fi AC_ARG_ENABLE(timerfd-wrapper, [AC_HELP_STRING([--enable-timerfd-wrapper],[timerfd is in the kernel but not in your libc])],[enable_timer_fd_wrapper="$enableval"],[enable_timer_fd_wrapper="no"]) AM_CONDITIONAL([ENABLE_TIMERFD_WRAPPER],[test "x$enable_timer_fd_wrapper" != "xno"]) AC_CHECK_LIB(z, inflateReset, have_libz=yes, AC_MSG_ERROR([no usable zlib; please install zlib devel package or equivalent])) if test "x$have_libz" = "xyes" ; then APR_ADDTO(SWITCH_AM_LDFLAGS, -lz) fi AC_CHECK_LIB(jpeg, jpeg_std_error,, AC_MSG_ERROR([no usable libjpeg; please install libjpeg devel package or equivalent])) AC_CHECK_LIB(jbig, jbg_enc_out, have_libjbig=yes, have_libjbig=no) if test "x$have_libjbig" = "xyes" ; then SPANDSP_LA_JBIG="-ljbig" AC_SUBST(SPANDSP_LA_JBIG) fi AC_CHECK_LIB(lzma, lzma_code, have_liblzma=yes, have_liblzma=no) if test "x$have_liblzma" = "xyes" ; then SPANDSP_LA_LZMA="-llzma" AC_SUBST(SPANDSP_LA_LZMA) fi AC_CHECK_LIB(resolv, res_init, have_libresolv=yes, have_libresolv=no) if test "x$have_libresolv" = "xyes" ; then APR_ADDTO(SWITCH_AM_LDFLAGS, -lresolv) fi ESL_LDFLAGS= PLATFORM_CORE_LDFLAGS= PLATFORM_CORE_LIBS= # tweak platform specific flags case "$host" in *darwin12.*|*darwin11.*) APR_ADDTO(SWITCH_AM_CFLAGS, -DMACOSX) APR_ADDTO(CFLAGS, -pipe -no-cpp-precomp -Wno-deprecated-declarations) APR_ADDTO(LDFLAGS, -pipe -bind_at_load) APR_ADDTO(CXXFLAGS, -pipe) APR_REMOVEFROM(SWITCH_AM_CFLAGS, -fPIC) if test "x$enable_core_odbc_support" != "xno"; then APR_ADDTO([PLATFORM_CORE_LDFLAGS], [--framework CoreFoundation]) fi APR_ADDTO([PLATFORM_CORE_LIBS], [-ldl]) ;; *darwin10.*) APR_ADDTO(SWITCH_AM_CFLAGS, -DMACOSX) APR_ADDTO(CFLAGS, -pipe -no-cpp-precomp) APR_ADDTO(LDFLAGS, -pipe -bind_at_load) APR_ADDTO(CXXFLAGS, -pipe) APR_REMOVEFROM(SWITCH_AM_CFLAGS, -fPIC) if test "x$enable_core_odbc_support" != "xno"; then APR_ADDTO([PLATFORM_CORE_LDFLAGS], [--framework CoreFoundation]) fi APR_ADDTO([PLATFORM_CORE_LIBS], [-ldl]) ;; *darwin*) APR_ADDTO(SWITCH_AM_CFLAGS, -DMACOSX) APR_REMOVEFROM(SWITCH_AM_CFLAGS, -fPIC) if test "x$enable_core_odbc_support" != "xno"; then APR_ADDTO([PLATFORM_CORE_LDFLAGS], [--framework CoreFoundation]) fi APR_ADDTO([PLATFORM_CORE_LIBS], [-ldl]) ;; *-solaris2*) APR_ADDTO(SWITCH_AM_CFLAGS, -DPATH_MAX=2048 -D__EXTENSIONS__) APR_ADDTO(SWITCH_AM_LDFLAGS, -lsendfile -lresolv -lsocket -lnsl -luuid) APR_ADDTO(ESL_LDFLAGS, -lnsl -lsocket) APR_ADDTO([PLATFORM_CORE_LIBS], [-ldl -lcrypt -lrt -lsendfile -lresolv -lsocket -lnsl -luuid]) ;; *bsd*) APR_ADDTO(SWITCH_AM_CFLAGS, -I/usr/local/include) APR_ADDTO([PLATFORM_CORE_LIBS], [-lcrypt -lrt]) ;; *linux*) APR_ADDTO([PLATFORM_CORE_LIBS], [-ldl -lcrypt -lrt]) ;; esac APR_REMOVEFROM(SWITCH_AM_CXXFLAGS, -std=c99) AC_SUBST(SWITCH_AM_CFLAGS) AC_SUBST(SWITCH_ANSI_CFLAGS) AC_SUBST(SWITCH_AM_CXXFLAGS) AC_SUBST(SWITCH_AM_LDFLAGS) AC_SUBST(ESL_LDFLAGS) AC_SUBST(PLATFORM_CORE_LDFLAGS) AC_SUBST(PLATFORM_CORE_LIBS) AC_SUBST(SOLINK) AC_SUBST(DYNAMIC_LIB_EXTEN) AC_SUBST(LIBTOOL_LIB_EXTEN) # Checks for header files. AC_HEADER_DIRENT AC_HEADER_STDC AC_CHECK_HEADERS([sys/types.h sys/resource.h sched.h wchar.h sys/filio.h sys/ioctl.h sys/select.h netdb.h execinfo.h]) if test x"$ac_cv_header_wchar_h" = xyes; then HAVE_WCHAR_H_DEFINE=1 else HAVE_WCHAR_H_DEFINE=0 fi AC_SUBST(HAVE_WCHAR_H_DEFINE) # Needed by Abyss on Solaris: if test x"$ac_cv_header_sys_filio_h" = xyes; then HAVE_SYS_FILIO_H_DEFINE=1 else HAVE_SYS_FILIO_H_DEFINE=0 fi AC_SUBST(HAVE_SYS_FILIO_H_DEFINE) # Needed by Abyss on Solaris: if test x"$ac_cv_header_sys_ioctl_h" = xyes; then HAVE_SYS_IOCTL_H_DEFINE=1 else HAVE_SYS_IOCTL_H_DEFINE=0 fi AC_SUBST(HAVE_SYS_IOCTL_H_DEFINE) if test x"$ac_cv_header_sys_select_h" = xyes; then HAVE_SYS_SELECT_H_DEFINE=1 else HAVE_SYS_SELECT_H_DEFINE=0 fi AC_SUBST(HAVE_SYS_SELECT_H_DEFINE) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE AC_TYPE_SIZE_T AC_HEADER_TIME AC_STRUCT_TM # Checks for library functions. AC_PROG_GCC_TRADITIONAL AC_FUNC_MALLOC AC_TYPE_SIGNAL AC_FUNC_STRFTIME AC_CHECK_FUNCS([gethostname vasprintf mmap mlock mlockall usleep getifaddrs timerfd_create getdtablesize posix_openpt]) AC_CHECK_FUNCS([sched_setscheduler setpriority setrlimit setgroups initgroups]) AC_CHECK_FUNCS([wcsncmp setgroups asprintf setenv pselect gettimeofday localtime_r gmtime_r strcasecmp stricmp _stricmp]) # Check availability and return type of strerror_r # (NOTE: apr-1-config sets -D_GNU_SOURCE at build-time, need to run the check with it too) save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" AC_FUNC_STRERROR_R CPPFLAGS="$save_CPPFLAGS" AX_HAVE_CPU_SET AC_CHECK_LIB(rt, clock_gettime, [AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Define if you have clock_gettime()])]) AC_CHECK_LIB(rt, clock_getres, [AC_DEFINE(HAVE_CLOCK_GETRES, 1, [Define if you have clock_getres()])]) AC_CHECK_LIB(rt, clock_nanosleep, [AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define if you have clock_nanosleep()])]) AC_CHECK_LIB(pthread, pthread_setschedparam, [AC_DEFINE(HAVE_PTHREAD_SETSCHEDPARAM, 1, [Define if you have pthread_setschedparam()])]) AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket)) AC_CHECK_FILE(/dev/ptmx, [AC_DEFINE(HAVE_DEV_PTMX, 1, [Define if you have /dev/ptmx])]) AC_CHECK_LIB(util, openpty, [AC_DEFINE(HAVE_OPENPTY, 1, [Define if you have openpty()])]) AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[ #include #include ]) AC_CHECK_MEMBERS([struct tm.tm_zone],,,[ #include #include ]) AC_CHECK_DECL([RLIMIT_MEMLOCK], [AC_DEFINE([HAVE_RLIMIT_MEMLOCK],[1],[RLIMIT_MEMLOCK constant for setrlimit])],, [#ifdef HAVE_SYS_RESOURCE_H #include #endif]) AC_CHECK_DECL([SCHED_RR], [AC_DEFINE([HAVE_SCHED_RR],[1],[SCHED_RR constant for sched_setscheduler])],, [#ifdef HAVE_SCHED_H #include #endif]) AC_CHECK_DECL([SCHED_FIFO], [AC_DEFINE([HAVE_SCHED_FIFO],[1],[SCHED_FIFO constant for sched_setscheduler])],, [#ifdef HAVE_SCHED_H #include #endif]) # # use mlockall only on linux (for now; if available) # if test "x${ac_cv_func_mlockall}" = "xyes"; then AC_MSG_CHECKING([whether to use mlockall]) case "$host" in *-linux-*) AC_DEFINE([USE_MLOCKALL],[1],[Enable mlockall support]) AC_MSG_RESULT([yes]) USE_MLOCKALL=yes ;; *-freebsd*) APR_ADDTO(SWITCH_AM_CFLAGS, -fPIC) APR_ADDTO(SWITCH_AM_CXXFLAGS, -fPIC) AC_MSG_RESULT([no, broken for non-root users]) ;; *) AC_MSG_RESULT([no]) ;; esac # # setrlimit prerequisites # if test "x${USE_MLOCKALL}" = "xyes" -a \ "x${ac_cv_func_setrlimit}" = "xyes" -a \ "x${ac_cv_have_decl_RLIMIT_MEMLOCK}" = "xyes" then AC_DEFINE([USE_SETRLIMIT],[1],[Use setrlimit to disable mlock limit for non-root users]) fi fi # # sched_setcheduler + round-robin scheduler prerequisites # if test "x${ac_cv_func_sched_setscheduler}" = "xyes" -a \ "x${ac_cv_have_decl_SCHED_RR}" = "xyes" then AC_DEFINE([USE_SCHED_SETSCHEDULER],[1],[Enable round-robin scheduler using sched_setscheduler]) fi # # xmlrpc-c checks # AC_CHECK_FUNCS(setenv strtoll strtoull strtoq strtouq __strtoll __strtoull) HAVE_LIBWWW_SSL_DEFINE=0 AC_SUBST(HAVE_LIBWWW_SSL_DEFINE) DIRECTORY_SEPARATOR="/" AC_SUBST(DIRECTORY_SEPARATOR) va_list_is_array=no AC_MSG_CHECKING(whether va_list is an array) AC_TRY_COMPILE([ #include ], [va_list list1, list2; list1 = list2;], , va_list_is_array=yes) AC_MSG_RESULT($va_list_is_array) if test x"$va_list_is_array" = xyes; then VA_LIST_IS_ARRAY_DEFINE=1 else VA_LIST_IS_ARRAY_DEFINE=0 fi AC_SUBST(VA_LIST_IS_ARRAY_DEFINE) AC_MSG_CHECKING(whether compiler has __attribute__) AC_TRY_COMPILE(, [int x __attribute__((__unused__));], compiler_has_attribute=yes, compiler_has_attribute=no) AC_MSG_RESULT($compiler_has_attribute) if test x"$compiler_has_attribute" = xyes; then ATTR_UNUSED="__attribute__((__unused__))" else ATTR_UNUSED= fi AC_SUBST(ATTR_UNUSED) saved_CFLAGS="$CFLAGS" AC_CACHE_CHECK([whether compiler supports -Wdeclaration-after-statement], [ac_cv_gcc_declaration_after_statement], [ CFLAGS="$CFLAGS -Wdeclaration-after-statement" AC_TRY_COMPILE([],[return 0;],[ac_cv_gcc_declaration_after_statement=yes],[ac_cv_gcc_declaration_after_statement=no]) ]) AC_MSG_RESULT($ac_cv_gcc_declaration_after_statement) if test x"$ac_cv_gcc_declaration_after_statement" = xyes; then APR_ADDTO(SWITCH_ANSI_CFLAGS, -Wdeclaration-after-statement) fi CFLAGS="$saved_CFLAGS" # Tested and fixed lot of modules, but some are untested. Will be added back when the core team decide it ready # Untested modules : mod_osp mod_soundtouch mod_sangoma_codec mod_dingaling mod_opal mod_skypopen mod_h323 mod_khomp # mod_unimrcp mod_cepstral mod_erlang_event mod_snmp mod_perl mod_java mod_managed # #saved_CFLAGS="$CFLAGS" #AC_CACHE_CHECK([whether compiler supports -Wunused-but-set-variable], [ac_cv_gcc_unused_but_set_variable], [ #CFLAGS="$CFLAGS -Wunused-but-set-variable" #AC_TRY_COMPILE([],[return 0;],[ac_cv_gcc_unused_but_set_variable=yes],[ac_cv_gcc_unused_but_set_variable=no]) #]) #AC_MSG_RESULT($ac_cv_gcc_unused_but_set_variable) #if test x"$ac_cv_gcc_unused_but_set_variable" = xyes; then # APR_ADDTO(SWITCH_ANSI_CFLAGS, -Wunused-but-set-variable) #fi #CFLAGS="$saved_CFLAGS" AC_C_BIGENDIAN(AC_DEFINE([SWITCH_BYTE_ORDER],__BIG_ENDIAN,[Big Endian]),AC_DEFINE([SWITCH_BYTE_ORDER],__LITTLE_ENDIAN,[Little Endian])) # Checks for integer size AC_CHECK_SIZEOF(char, 1) AC_CHECK_SIZEOF(int, 4) AC_CHECK_SIZEOF(long, 4) AC_CHECK_SIZEOF(short, 2) AC_CHECK_SIZEOF(long long, 8) AC_TYPE_SIZE_T AC_CHECK_TYPE(ssize_t, int) # Checks for pointer size AC_CHECK_SIZEOF(void*, 4) if test "x$ac_cv_sizeof_voidp" != "x"; then voidp_size=$ac_cv_sizeof_voidp else AC_ERROR([Cannot determine size of void*]) fi if test "$ac_cv_sizeof_short" = "2"; then short_value=short fi if test "$ac_cv_sizeof_int" = "4"; then int_value=int fi if test "$ac_cv_sizeof_int" = "8"; then int64_t_fmt='#define SWITCH_INT64_T_FMT "d"' uint64_t_fmt='#define SWITCH_UINT64_T_FMT "u"' int64_value="int" long_value=int elif test "$ac_cv_sizeof_long" = "8"; then int64_t_fmt='#define SWITCH_INT64_T_FMT "ld"' uint64_t_fmt='#define SWITCH_UINT64_T_FMT "lu"' int64_value="long" long_value=long case "$host" in *-solaris2*|*apple-darwin*|*-openbsd*) if test "$ac_cv_sizeof_long_long" = "8"; then int64_t_fmt='#define SWITCH_INT64_T_FMT "lld"' uint64_t_fmt='#define SWITCH_UINT64_T_FMT "llu"' int64_value="long long" long_value="long long" fi ;; esac elif test "$ac_cv_sizeof_long_long" = "8"; then int64_t_fmt='#define SWITCH_INT64_T_FMT "lld"' uint64_t_fmt='#define SWITCH_UINT64_T_FMT "llu"' int64_value="long long" long_value="long long" elif test "$ac_cv_sizeof_longlong" = "8"; then int64_t_fmt='#define SWITCH_INT64_T_FMT "qd"' uint64_t_fmt='#define SWITCH_UINT64_T_FMT "qu"' int64_value="__int64" long_value="__int64" else AC_ERROR([could not detect a 64-bit integer type]) fi if test "$ac_cv_type_size_t" = "yes"; then size_t_value="size_t" else size_t_value="switch_int32_t" fi if test "$ac_cv_type_ssize_t" = "yes"; then ssize_t_value="ssize_t" else ssize_t_value="switch_int32_t" fi APR_CHECK_SIZEOF_EXTENDED([#include ], ssize_t, 8) if test "$ac_cv_sizeof_ssize_t" = "$ac_cv_sizeof_int"; then ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "d"' elif test "$ac_cv_sizeof_ssize_t" = "$ac_cv_sizeof_long"; then ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "ld"' else ssize_t_fmt='#error Can not determine the proper size for ssize_t' fi APR_CHECK_SIZEOF_EXTENDED([#include ], size_t, 8) if test "$ac_cv_sizeof_size_t" = "$ac_cv_sizeof_int"; then size_t_fmt='#define SWITCH_SIZE_T_FMT "d"' elif test "$ac_cv_sizeof_size_t" = "$ac_cv_sizeof_long"; then size_t_fmt='#define SWITCH_SIZE_T_FMT "ld"' else size_t_fmt='#define SWITCH_SIZE_T_FMT "zu"' fi # Basically, we have tried to figure out the correct format strings # for SWITCH types which vary between platforms, but we don't always get # it right. If you find that we don't get it right for your platform, # you can override our decision below. # NOTE: borrowed much of this logic from apr. case $host in s390*linux*) # uniquely, the 31-bit Linux/s390 uses "unsigned long int" # for size_t rather than "unsigned int": size_t_fmt='#define SWITCH_SIZE_T_FMT "lu"' ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "ld"' ;; *-os2*) size_t_fmt='#define SWITCH_SIZE_T_FMT "lu"' ;; *-openbsd*) size_t_fmt='#define SWITCH_SIZE_T_FMT "ld"' ;; *aix4*|*aix5*) ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "ld"' size_t_fmt='#define SWITCH_SIZE_T_FMT "ld"' ;; *beos*) ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "ld"' size_t_fmt='#define SWITCH_SIZE_T_FMT "ld"' ;; *apple-darwin*) osver=`uname -r` case $osver in [0-7].*) ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "d"' ;; *) ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "ld"' ;; esac size_t_fmt='#define SWITCH_SIZE_T_FMT "lu"' ;; esac AC_SUBST(voidp_size) AC_SUBST(short_value) AC_SUBST(int_value) AC_SUBST(long_value) AC_SUBST(int64_value) AC_SUBST(size_t_value) AC_SUBST(ssize_t_value) AC_SUBST(int64_t_fmt) AC_SUBST(uint64_t_fmt) AC_SUBST(ssize_t_fmt) AC_SUBST(size_t_fmt) case $host in *-openbsd*) # OpenBSD's gunzip and friends don't like -d because its redundant, only gzip does AC_PATH_PROGS(ZCAT, gzip) ;; *) AC_PATH_PROGS(ZCAT, gunzip gzcat gzip zcat) ;; esac AC_PATH_PROGS(BZIP, bzip2) AC_PATH_PROGS(XZ, xz) AC_PATH_PROGS(TAR, gtar tar) AC_PATH_PROGS(WGET, wget) AC_PATH_PROGS(CURL, curl) GETLIB="cd $switch_srcdir/libs && ${SHELL} $switch_builddir/build/getlib.sh" AC_SUBST(GETLIB) GETG729="cd $switch_srcdir/libs && ${SHELL} $switch_builddir/build/getg729.sh" AC_SUBST(GETG729) GETSOUNDS="${SHELL} $switch_builddir/build/getsounds.sh" AC_SUBST(GETSOUNDS) LIBCURL_DEPS= AC_ARG_WITH(libcurl, AC_HELP_STRING([--with-libcurl=DIR],[look for the curl library in DIR]), [_libcurl_with=$withval],[_libcurl_with=ifelse([$1],,[yes],[$1])]) AC_CACHE_CHECK([whether to use system libcurl library], [ac_cv_use_system_curl], [ LIBCURL_CHECK_CONFIG([yes], [7.13.0], [ac_cv_use_system_curl='yes'], [ac_cv_use_system_curl='no']) ]) if test "$_libcurl_with" = "no" ; then ac_cv_use_system_curl=no; fi if test "$_libcurl_with" = "yes" ; then ac_cv_use_system_curl=yes; fi if test "$ac_cv_use_system_curl" = "yes" ; then AC_CACHE_CHECK([whether to use system libcurl library], [ac_cv_curl_usable], [ AC_CHECK_LIB(curl, Curl_setopt, [ac_cv_curl_usable="yes"], [ac_cv_curl_usable="no"]) ]) fi if test "$ac_cv_curl_usable" != "yes" ; then ac_cv_use_system_curl=no; fi if test "$ac_cv_use_system_curl" != "yes" ; then LIBCURL_DEPS='${switch_builddir}/libs/curl/lib/libcurl.la' LIBCURL='${switch_builddir}/libs/curl/lib/libcurl.la' LIBCURL_CPPFLAGS='-I${switch_srcdir}/libs/curl/include' else SWITCH_AM_LDFLAGS="$LIBCURL $SWITCH_AM_LDFLAGS" fi SWITCH_AM_CFLAGS="$LIBCURL_CPPFLAGS $SWITCH_AM_CFLAGS" SWITCH_AM_CXXFLAGS="$LIBCURL_CPPFLAGS $SWITCH_AM_CXXFLAGS" AM_CONDITIONAL([CURL_BUILTIN],[test "${ac_cv_use_system_curl}" != "yes"]) AC_SUBST(LIBCURL_DEPS) AC_ARG_ENABLE(core-libedit-support, [AS_HELP_STRING([--disable-core-libedit-support], [Compile without libedit Support])], [enable_core_libedit_support="$enableval"], [enable_core_libedit_support="yes"]) if test "$enable_core_libedit_support" = "yes" ; then AC_CHECK_LIB(tinfo, tgetent, [have_libtinfo="yes"], [have_libtinfo="no"]) if test "$have_libtinfo" == "yes" ; then TINFO_LIBS="-ltinfo" else TINFO_LIBS="" AC_CHECK_LIB(ncurses, tgetent,, [AC_CHECK_LIB(curses, tgetent,, [AC_MSG_ERROR([libtermcap, libcurses or libncurses are required!])] )] ) fi AC_SUBST(TINFO_LIBS) fi SAC_OPENSSL if test x$HAVE_OPENSSL = x1; then openssl_CFLAGS="$openssl_CFLAGS -DHAVE_OPENSSL"; APR_ADDTO(SWITCH_AM_CFLAGS, -DHAVE_OPENSSL) AC_CHECK_LIB(ssl, SSL_CTX_set_tlsext_use_srtp, AC_DEFINE_UNQUOTED(HAVE_OPENSSL_DTLS_SRTP, 1, HAVE_OPENSSL_DTLS_SRTP)) AC_CHECK_LIB(ssl, DTLSv1_method, AC_DEFINE_UNQUOTED(HAVE_OPENSSL_DTLS, 1, HAVE_OPENSSL_DTLS), AC_MSG_WARN([OpenSSL version < 1.0.1e you might want to upgrade])) else AC_MSG_ERROR([OpenSSL and associaed developement headers required]) fi AX_CHECK_JAVA AM_CONDITIONAL([HAVE_ODBC],[test "x$enable_core_odbc_support" != "xno"]) AM_CONDITIONAL([HAVE_LIBEDIT],[test "x$enable_core_libedit_support" != "xno"]) AM_CONDITIONAL([HAVE_MYSQL],[test "$found_mysql" = "yes"]) # # Python checks for mod_python # AC_ARG_WITH( [python], [AS_HELP_STRING([--with-python], [Use system provided version of python (default: try)])], [with_python="$withval"], [with_python="try"] ) if test "$with_python" != "no" then save_CFLAGS="$CFLAGS" save_LIBS="$LIBS" if test "$with_python" != "yes" -a "$with_python" != "try" ; then AC_MSG_CHECKING([for python]) if test ! -x "$with_python" ; then AC_MSG_ERROR([Specified python does not exist or is not executable: $with_python]) fi AC_MSG_RESULT([$with_python]) AC_SUBST([PYTHON], ["$with_python"]) else AC_PATH_PROG([PYTHON], ["python"], ["no"], ["$PATH:/usr/bin:/usr/local/bin"]) fi if test "$PYTHON" != "no" ; then AC_MSG_CHECKING([python version]) PYTHON_VER="`$PYTHON -V 2>&1 | cut -d' ' -f2`" if test -z "$PYTHON_VER" ; then AC_MSG_ERROR([Unable to detect python version]) fi AC_MSG_RESULT([$PYTHON_VER]) AC_MSG_CHECKING([for python distutils]) python_result="`$PYTHON -c 'import distutils;' 2>&1`" if test -z "$python_result" ; then python_has_distutils="yes" else python_has_distutils="no" fi AC_MSG_RESULT([$python_has_distutils]) if test "$python_has_distutils" != "no" ; then AC_MSG_CHECKING([location of site-packages]) PYTHON_SITE_DIR="`$PYTHON -c 'from distutils import sysconfig; print(sysconfig.get_python_lib(0));'`" if test -z "$PYTHON_SITE_DIR" ; then AC_MSG_ERROR([Unable to detect python site-packages path]) elif test ! -d "$PYTHON_SITE_DIR" ; then AC_MSG_ERROR([Path $PYTHON_SITE_DIR returned by python does not exist!]) fi AC_MSG_RESULT([$PYTHON_SITE_DIR]) AC_SUBST([PYTHON_SITE_DIR], [$PYTHON_SITE_DIR]) # # python distutils found, get settings from python directly # PYTHON_CFLAGS="`$PYTHON -c 'from distutils import sysconfig; flags = [[\"-I\" + sysconfig.get_python_inc(0), \"-I\" + sysconfig.get_python_inc(1), \" \".join(sysconfig.get_config_var(\"CFLAGS\").split())]]; print(\" \".join(flags));' | sed -e 's/-arch i386//g;s/-arch x86_64//g'`" PYTHON_LDFLAGS="`$PYTHON -c 'from distutils import sysconfig; libs = sysconfig.get_config_var(\"LIBS\").split() + sysconfig.get_config_var(\"SYSLIBS\").split(); libs.append(\"-lpython\"+sysconfig.get_config_var(\"VERSION\")); print(\" \".join(libs));'`" PYTHON_LIB="`$PYTHON -c 'from distutils import sysconfig; print(\"python\" + sysconfig.get_config_var(\"VERSION\"));'`" PYTHON_LIBDIR="`$PYTHON -c 'from distutils import sysconfig; print(sysconfig.get_config_var(\"LIBDIR\"));'`" # handle python being installed into /usr/local AC_MSG_CHECKING([python libdir]) if test -z "`echo $PYTHON_LIBDIR | grep "/usr/lib"`" ; then PYTHON_LDFLAGS="-L$PYTHON_LIBDIR $PYTHON_LDFLAGS" LIBS="-L$PYTHON_LIBDIR $LIBS" fi AC_MSG_RESULT([$PYTHON_LIBDIR]) # check libpython AC_CHECK_LIB([$PYTHON_LIB], [main], [has_libpython="yes"], [has_libpython="no"]) if test "$has_libpython" = "no" ; then AS_IF([test "$with_python" = "try"], [AC_MSG_WARN([$PYTHON_LIB is unusable])], [AC_MSG_ERROR([$PYTHON_LIB is unusable])] ) fi # check whether system libpython is usable and has threads support CFLAGS="$PYTHON_CFLAGS" LIBS="$PYTHON_LDFLAGS" AC_CHECK_FUNC([PyThread_init_thread], [python_has_threads="yes"], [python_has_threads="no"]) if test "$python_has_threads" = "no"; then AS_IF([test "$with_python" = "try"], [AC_MSG_WARN([Your python lacks threads support, can not build mod_python])], [AC_MSG_ERROR([Your python lacks threads support, can not build mod_python])] ) else AC_MSG_NOTICE([Your python seems OK, do not forget to enable mod_python in modules.conf]) AC_SUBST([PYTHON_CFLAGS], [$PYTHON_CFLAGS]) AC_SUBST([PYTHON_LDFLAGS], [$PYTHON_LDFLAGS]) fi else AS_IF([test "$with_python" = "try"], [AC_MSG_WARN([Could not find or use python distutils module: $python_result])], [AC_MSG_ERROR([Could not find or use python distutils module: $python_result])] ) fi LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" unset python_has_threads unset python_has_distutils unset python_result else AS_IF([test "$with_python" = "try"], [AC_MSG_WARN([Could not find python, mod_python will not build, use --with-python to specify the location])], [AC_MSG_ERROR([Could not find python, use --with-python to specify the location])] ) fi else AC_MSG_WARN([python support disabled, building mod_python will fail!]) fi CHECK_ERLANG AC_CONFIG_FILES([Makefile build/Makefile src/Makefile src/mod/Makefile src/mod/applications/mod_expr/Makefile src/mod/applications/mod_spandsp/Makefile src/mod/applications/mod_osp/Makefile src/mod/applications/mod_stress/Makefile src/mod/applications/mod_hash/Makefile src/mod/codecs/mod_com_g729/Makefile src/mod/endpoints/mod_html5/Makefile src/mod/endpoints/mod_portaudio/Makefile src/mod/endpoints/mod_skinny/Makefile src/mod/endpoints/mod_skypopen/Makefile src/mod/endpoints/mod_sofia/Makefile src/mod/formats/mod_portaudio_stream/Makefile src/mod/asr_tts/mod_unimrcp/Makefile src/mod/languages/mod_java/Makefile src/mod/languages/mod_lua/Makefile src/mod/languages/mod_python/Makefile src/mod/languages/mod_spidermonkey/Makefile src/mod/event_handlers/mod_erlang_event/Makefile src/include/switch_am_config.h build/getsounds.sh build/getlib.sh build/getg729.sh build/freeswitch.pc build/modmake.rules libs/esl/eslmake.rules libs/xmlrpc-c/xmlrpc_config.h libs/xmlrpc-c/config.mk libs/xmlrpc-c/srcdir.mk libs/xmlrpc-c/stamp-h scripts/gentls_cert]) AM_CONDITIONAL(ISLINUX, [test `uname -s` = Linux]) AM_CONDITIONAL(ISMAC, [test `uname -s` = Darwin]) AM_CONDITIONAL(IS64BITLINUX, [test `uname -m` = x86_64]) #some vars to sub into the Makefile.am's #LIBS+=> core.log || error="yes";if test -n "$(VERBOSE)" -o "$$error" = "yes";then cat core.log;fi;if test "$$error" = "yes";then exit 1;fi LIBTOOL='`if test -z "$(VERBOSE)" ; then echo $(SHELL) $(switch_builddir)/quiet_libtool ;else echo $(switch_builddir)/libtool; fi;`' TOUCH_TARGET='if test -f "$@";then touch "$@";fi;' CONF_MODULES='$$(grep -v "\#" $(switch_builddir)/modules.conf | sed -e "s|^.*/||" | sort | uniq )' CONF_DISABLED_MODULES='$$(grep "\#" $(switch_builddir)/modules.conf | grep -v "\#\#" | sed -e "s|^.*/||" | sort | uniq )' OUR_MODS='$$(if test -z "$(MODULES)" ; then tmp_mods="$(CONF_MODULES)"; else tmp_mods="$(MODULES)" ; fi ; mods="$$(for i in $$tmp_mods ; do echo $$i-all ; done )"; echo $$mods )' OUR_CLEAN_MODS='$$(if test -z "$(MODULES)" ; then tmp_mods="$(CONF_MODULES)"; else tmp_mods="$(MODULES)" ; fi ; mods="$$(for i in $$tmp_mods ; do echo $$i-clean ; done )"; echo $$mods )' OUR_INSTALL_MODS='$$(if test -z "$(MODULES)" ; then tmp_mods="$(CONF_MODULES)"; else tmp_mods="$(MODULES)" ; fi ; mods="$$(for i in $$tmp_mods ; do echo $$i-install ; done)"; echo $$mods )' OUR_UNINSTALL_MODS='$$(if test -z "$(MODULES)" ; then tmp_mods="$(CONF_MODULES)"; else tmp_mods="$(MODULES)" ; fi ; mods="$$(for i in $$tmp_mods ; do echo $$i-uninstall ; done)"; echo $$mods )' OUR_DISABLED_MODS='$$(tmp_mods="$(CONF_DISABLED_MODULES)"; mods="$$(for i in $$tmp_mods ; do echo $$i-all ; done )"; echo $$mods )' OUR_DISABLED_CLEAN_MODS='$$(tmp_mods="$(CONF_DISABLED_MODULES)"; mods="$$(for i in $$tmp_mods ; do echo $$i-clean ; done )"; echo $$mods )' OUR_DISABLED_INSTALL_MODS='$$(tmp_mods="$(CONF_DISABLED_MODULES)"; mods="$$(for i in $$tmp_mods ; do echo $$i-install ; done)"; echo $$mods )' OUR_DISABLED_UNINSTALL_MODS='$$(tmp_mods="$(CONF_DISABLED_MODULES)"; mods="$$(for i in $$tmp_mods ; do echo $$i-uninstall ; done)"; echo $$mods )' AM_MAKEFLAGS='"OUR_MODULES=$(OUR_MODS)" "OUR_CLEAN_MODULES=$(OUR_CLEAN_MODS)" "OUR_INSTALL_MODULES=$(OUR_INSTALL_MODS)" "OUR_UNINSTALL_MODULES=$(OUR_UNINSTALL_MODS)" "OUR_DISABLED_MODULES=$(OUR_DISABLED_MODS)" "OUR_DISABLED_CLEAN_MODULES=$(OUR_DISABLED_CLEAN_MODS)" "OUR_DISABLED_INSTALL_MODULES=$(OUR_DISABLED_INSTALL_MODS)" "OUR_DISABLED_UNINSTALL_MODULES=$(OUR_DISABLED_UNINSTALL_MODS)" `test -n "$(VERBOSE)" || echo -s`' #AM_MAKEFLAGS='`test -n "$(VERBOSE)" || echo -s`' AC_SUBST(LIBTOOL) AC_SUBST(TOUCH_TARGET) AC_SUBST(CONF_DISABLED_MODULES) AC_SUBST(CONF_MODULES) AC_SUBST(OUR_MODS) AC_SUBST(OUR_CLEAN_MODS) AC_SUBST(OUR_INSTALL_MODS) AC_SUBST(OUR_UNINSTALL_MODS) AC_SUBST(OUR_DISABLED_MODS) AC_SUBST(OUR_DISABLED_CLEAN_MODS) AC_SUBST(OUR_DISABLED_INSTALL_MODS) AC_SUBST(OUR_DISABLED_UNINSTALL_MODS) AC_SUBST(AM_MAKEFLAGS) ac_configure_args="$ac_configure_args CONFIGURE_CFLAGS='$CFLAGS' CONFIGURE_CXXFLAGS='$CXXFLAGS' CONFIGURE_LDFLAGS='$LDFLAGS' " # --prefix='$prefix' --exec_prefix='$exec_prefix' --libdir='$libdir' --libexecdir='$libexecdir' --bindir='$bindir' --sbindir='$sbindir' \ # --localstatedir='$localstatedir' --datadir='$datadir'" # Run configure in all the subdirs AC_CONFIG_SUBDIRS([libs/srtp]) AC_CONFIG_SUBDIRS([libs/sqlite]) if test "$enable_core_libedit_support" = "yes" ; then AC_CONFIG_SUBDIRS([libs/libedit]) fi AC_CONFIG_SUBDIRS([libs/pcre]) AC_CONFIG_SUBDIRS([libs/apr]) AC_CONFIG_SUBDIRS([libs/apr-util]) AC_CONFIG_SUBDIRS([libs/ilbc]) AC_CONFIG_SUBDIRS([libs/curl]) AC_CONFIG_SUBDIRS([libs/iksemel]) AC_CONFIG_SUBDIRS([libs/js/nsprpub]) AC_CONFIG_SUBDIRS([libs/js]) AC_CONFIG_SUBDIRS([libs/libdingaling]) AC_CONFIG_SUBDIRS([libs/libsndfile]) AC_CONFIG_SUBDIRS([libs/sofia-sip]) AC_CONFIG_SUBDIRS([libs/speex]) AC_CONFIG_SUBDIRS([libs/portaudio]) AC_CONFIG_SUBDIRS([libs/openzap]) AC_CONFIG_SUBDIRS([libs/freetdm]) AC_CONFIG_SUBDIRS([libs/unimrcp]) AC_CONFIG_SUBDIRS([libs/tiff-4.0.2]) AC_CONFIG_SUBDIRS([libs/spandsp]) AC_CONFIG_SUBDIRS([libs/broadvoice]) AC_CONFIG_SUBDIRS([libs/libg722_1]) AC_CONFIG_SUBDIRS([libs/silk]) AC_CONFIG_SUBDIRS([libs/libcodec2]) if test "x${enable_zrtp}" = "xyes"; then AC_CONFIG_SUBDIRS([libs/libzrtp]) fi AC_CONFIG_SUBDIRS([libs/libwebsockets]) case $host in *-openbsd*) # libtool won't link static libs against shared ones on OpenBSD unless we tell it not to be stupid AC_CONFIG_COMMANDS([hacklibtool], [cp libtool libtool.orig && sed -e "s/deplibs_check_method=.*/deplibs_check_method=pass_all/g" libtool.orig > libtool]) ;; esac AC_OUTPUT ## ## Registering for ClueCon ## if ! test -f noreg ; then echo "" echo "" echo $ECHO_N "Registering you for ClueCon http://www.cluecon.com $ECHO_C" 1>&6 sleep 1 echo $ECHO_N ".$ECHO_C" 1>&6 sleep 1 echo $ECHO_N ".$ECHO_C" 1>&6 sleep 1 echo $ECHO_N ".$ECHO_C" 1>&6 sleep 1 echo $ECHO_N ".$ECHO_C" 1>&6 sleep 1 echo $ECHO_N ".$ECHO_C" 1>&6 sleep 1 AC_MSG_RESULT([ See you in August. ;-)]) sleep 2 echo "" fi ## ## Configuration summary ## echo echo "-------------------------- FreeSWITCH configuration --------------------------" echo "" echo " Locations:" echo " Selected layout: ${layout_name}" echo "" echo " prefix: ${prefix}" echo " exec_prefix: ${exec_prefix}" echo " bindir: ${bindir}" echo " libdir: ${libdir}" echo " modulesdir: ${modulesdir}" echo " sysconfdir: ${sysconfdir}" echo " runtimedir: ${runtimedir}" echo " logfiledir: ${logfiledir}" echo "" echo "------------------------------------------------------------------------------"