forked from Mirrors/freeswitch
034d4153c4
The revision was no longer picking up the last git commit. Instead, it was showing the last release. This commit appends the last git commit hash to the last release if a git repository is available. Further, it checks whether there are uncommitted changes in the git repository and adds an unclean tag to the version if this is the case. Note that currently this will append the git commit hash even on a tagged release if built directly from a git repository. Perhaps this isn't such a bad thing, but if it turns out not to be desired, I have an idea on how to squelch this without making unwarranted assumptions about the remote layout of someone's local repository.
1148 lines
38 KiB
Plaintext
1148 lines
38 KiB
Plaintext
# -*- 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.2-rc2], BUG-REPORT-ADDRESS)
|
|
AC_SUBST(SWITCH_VERSION_MAJOR, [1])
|
|
AC_SUBST(SWITCH_VERSION_MINOR, [2])
|
|
AC_SUBST(SWITCH_VERSION_MICRO, [0])
|
|
AC_SUBST(SWITCH_VERSION_REVISION, [-rc2])
|
|
|
|
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([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])
|
|
|
|
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"
|
|
SWITCH_AM_CXXFLAGS="-I${switch_srcdir}/src/include -I${switch_builddir}/src/include -I${switch_srcdir}/libs/libteletone/src"
|
|
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
|
|
*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
|
|
*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
|
|
|
|
|
|
|
|
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(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
|
|
*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 netdb.h execinfo.h])
|
|
|
|
# for xmlrpc-c config.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)
|
|
|
|
# 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])
|
|
|
|
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_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 <sys/types.h>
|
|
#include <time.h>])
|
|
|
|
AC_CHECK_MEMBERS([struct tm.tm_zone],,,[
|
|
#include <sys/types.h>
|
|
#include <time.h>])
|
|
|
|
AC_CHECK_DECL([RLIMIT_MEMLOCK],
|
|
[AC_DEFINE([HAVE_RLIMIT_MEMLOCK],[1],[RLIMIT_MEMLOCK constant for setrlimit])],,
|
|
[#ifdef HAVE_SYS_RESOURCE_H
|
|
#include <sys/resource.h>
|
|
#endif])
|
|
|
|
AC_CHECK_DECL([SCHED_RR],
|
|
[AC_DEFINE([HAVE_SCHED_RR],[1],[SCHED_RR constant for sched_setscheduler])],,
|
|
[#ifdef HAVE_SCHED_H
|
|
#include <sched.h>
|
|
#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
|
|
#
|
|
|
|
|
|
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 <stdarg.h>
|
|
], [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 <sys/types.h>], 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 <stddef.h>], 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(ncurses, tgetent,,
|
|
[AC_CHECK_LIB(curses, tgetent,,
|
|
[AC_MSG_ERROR([libtermcap, libcurses or libncurses are required!])] )] )
|
|
fi
|
|
|
|
SAC_OPENSSL
|
|
|
|
if test x$HAVE_OPENSSL = x1; then
|
|
openssl_CFLAGS="$openssl_CFLAGS -DHAVE_OPENSSL";
|
|
APR_ADDTO(SWITCH_AM_CFLAGS, -DHAVE_OPENSSL)
|
|
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_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/xmlrpc-c/include/xmlrpc-c/config.h
|
|
libs/xmlrpc-c/xmlrpc_config.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-3.8.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/projects/gnu])
|
|
fi
|
|
|
|
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 "------------------------------------------------------------------------------"
|