]> git.ipfire.org Git - thirdparty/freeswitch.git/blame - configure.ac
A tweak to the PCAP file parsing code in spandsp to allow for 802.1Q headers in
[thirdparty/freeswitch.git] / configure.ac
CommitLineData
4da77ea5
AM
1# -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.
3
8ef2aa54
MJ
4# Must change all of the below together
5# For a release, set revision for that tagged release as well and uncomment
c409499c 6AC_INIT([freeswitch], [1.9.0], bugs@freeswitch.org)
8ef2aa54 7AC_SUBST(SWITCH_VERSION_MAJOR, [1])
c409499c 8AC_SUBST(SWITCH_VERSION_MINOR, [9])
b641ab6d 9AC_SUBST(SWITCH_VERSION_MICRO, [0])
a330febb
KR
10AC_SUBST(SWITCH_VERSION_REVISION, [])
11AC_SUBST(SWITCH_VERSION_REVISION_HUMAN, [])
8ef2aa54
MJ
12
13AC_CONFIG_FILES([src/include/switch_version.h.in:src/include/switch_version.h.template])
7a5bc3b7 14
e8b9a4f7 15AC_CONFIG_AUX_DIR(build/config)
2513388d 16AM_INIT_AUTOMAKE
b324e263 17m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
4da77ea5 18AC_CONFIG_SRCDIR([src/switch.c])
42e78242 19AC_CONFIG_HEADER([src/include/switch_private.h])
8574988c 20AC_CONFIG_HEADER([libs/esl/src/include/esl_config_auto.h])
4062b636 21AC_CONFIG_HEADER([libs/xmlrpc-c/xmlrpc_amconfig.h])
42e78242 22
31d1e20f
BW
23AC_CANONICAL_HOST
24
55b3e6cb
MJ
25# Absolute source/build directory
26switch_srcdir=`(cd $srcdir && pwd)`
27switch_builddir=`pwd`
28AC_SUBST(switch_srcdir)
29AC_SUBST(switch_builddir)
30
6452f12b
BW
31#
32# --enable-64 has been moved up higher prior to AC_PROG_CC so that we can tuck in the -m64 flag
33# so devs on with Solaris wanting to build 64bit can not bother with adding any additional
34# flags on the ./configure line. User friendly.
35#
36
37# Enable 64 bit build
38AC_ARG_ENABLE(64,
39[AC_HELP_STRING([--enable-64],[build with 64 bit support])],[enable_64="$enable_64"],[enable_64="no"])
40
41if test "${enable_64}" = "yes"; then
42 case "$host" in
43 *-solaris2*)
44 # All three have to have -m64 for AC_PROG_CC to pick the right libtool
45 CFLAGS="$CFLAGS -m64"
46 LDFLAGS="$LDFLAGS -m64"
47 CXXFLAGS="$CXXFLAGS -m64"
48 ;;
49 *)
50 ;;
51 esac
52fi
53
3c291b3c
ST
54# use mtmalloc on Solaris SPARC if available
55AS_CASE([$host], [sparc-*-solaris2*], [AC_CHECK_LIB(mtmalloc, malloc)])
56
f5ecbc84 57# Whether to follow FHS
857a6131
MJ
58AC_ARG_ENABLE([fhs],[AS_HELP_STRING([--disable-fhs],
59 [Do Not follow the FHS when placing files and directories (default only when not specifying prefix])],[enable_fhs="$enableval"],[enable_fhs="yes"])
60
61AC_PREFIX_DEFAULT(/usr/local/freeswitch)
62# AC_PREFIX_DEFAULT does not get expanded until too late so we need to do this to use prefix in this script
63
64if test "x$prefix" = "xNONE" ; then
65 enable_fhs=no
66 prefix='/usr/local/freeswitch'
88aa159b 67fi
f5ecbc84 68
0d5b21e2
MJ
69if test "x${exec_prefix}" = "xNONE" ; then
70 exec_prefix="$prefix"
71fi
72
857a6131 73default_scriptdir="$prefix/scripts"
f5ecbc84 74default_grammardir="$prefix/grammar"
857a6131 75default_soundsdir="$prefix/sounds"
f5ecbc84 76default_htdocsdir="$prefix/htdocs"
f5ecbc84 77default_modulesdir="$prefix/mod"
857a6131 78default_dbdir="$prefix/db"
f5ecbc84 79default_storagedir="$prefix/storage"
ce96d95c 80default_cachedir="$prefix/cache"
857a6131
MJ
81default_recordingsdir="$prefix/recordings"
82rundir="$prefix/run"
83logdir="${prefix}/log"
84confdir="$prefix/conf"
85default_certsdir="$prefix/certs"
86default_fontsdir="$prefix/fonts"
87default_imagesdir="$prefix/images"
88
89if test "${enable_fhs}" = "yes"; then
90 eval full_datadir="${datadir}/freeswitch"
91 eval datadir=$full_datadir
fe50da3d
MJ
92 eval full_localstatedir="${localstatedir}"
93 eval localstatedir=$full_localstatedir
0d5b21e2 94 eval libdir=$libdir
fe50da3d 95 default_cachedir="${localstatedir}/cache/freeswitch"
67d1d1df
MJ
96 rundir="${localstatedir}/run/freeswitch"
97 logdir="${localstatedir}/log/freeswitch"
857a6131
MJ
98 localstatedir="${localstatedir}/lib/freeswitch"
99 default_scriptdir="${datadir}/scripts"
100 default_grammardir="${datadir}/grammar"
101 default_soundsdir="${datadir}/sounds"
102 default_htdocsdir="${datadir}/htdocs"
103 default_fontsdir="${datadir}/fonts"
fe50da3d
MJ
104 default_modulesdir="${libdir}/freeswitch/mod"
105 default_dbdir="${localstatedir}/db"
106 default_storagedir="${localstatedir}/storage"
107 default_recordingsdir="${localstatedir}/recordings"
108 default_imagesdir="${localstatedir}/images"
fe50da3d
MJ
109 eval confdir="${sysconfdir}/freeswitch"
110 eval default_certsdir="${confdir}/tls"
857a6131
MJ
111else
112 if test "$datadir" = "\${datarootdir}" ; then
113 datadir="${prefix}"
114 fi
115 if test "$localstatedir" = "\${prefix}/var" ; then
116 localstatedir="${prefix}"
117 fi
118fi
f5ecbc84 119
857a6131
MJ
120if test "$includedir" = "\${prefix}/include" ; then
121 includedir="${prefix}/include/freeswitch"
f5ecbc84
TC
122fi
123
857a6131
MJ
124default_pkgconfigdir="$libdir/pkgconfig"
125default_runtimedir="$rundir"
126default_logfiledir="$logdir"
127
0d5b21e2
MJ
128AC_SUBST(libdir)
129
f5ecbc84
TC
130# Where to install the modules
131AC_ARG_WITH([modinstdir],
132 [AS_HELP_STRING([--with-modinstdir=DIR], [Install modules into this location (default: $prefix/mod)])], [modulesdir="$withval"], [modulesdir="${default_modulesdir}"])
0d5b21e2 133eval modulesdir="${modulesdir}"
f5ecbc84
TC
134AC_SUBST(modulesdir)
135AC_DEFINE_UNQUOTED([SWITCH_MOD_DIR],"${modulesdir}",[where to install the modules to])
136
107f9135
MJ
137# Where to put pidfile
138AC_ARG_WITH([rundir],
f5ecbc84 139 [AS_HELP_STRING([--with-rundir=DIR], [Put pidfile into this location (default: $prefix/run)])], [runtimedir="$withval"], [runtimedir="${default_runtimedir}"])
5ccac21d
MJ
140AC_SUBST(runtimedir)
141AC_DEFINE_UNQUOTED([SWITCH_RUN_DIR],"${runtimedir}",[where to put pidfile to])
142
7ae3f5b7 143AC_ARG_WITH([logfiledir],
f5ecbc84 144 [AS_HELP_STRING([--with-logfiledir=DIR], [Put logfiles into this location (default: $localstatedir/log)])], [logfiledir="$withval"], [logfiledir="${default_logfiledir}"])
5ccac21d
MJ
145AC_SUBST(logfiledir)
146AC_DEFINE_UNQUOTED([SWITCH_LOG_DIR],"${logfiledir}",[where to put log files])
107f9135 147
7ae3f5b7 148AC_ARG_WITH([dbdir],
f5ecbc84 149 [AS_HELP_STRING([--with-dbdir=DIR], [Put database files into this location (default: $prefix/db)])], [dbdir="$withval"], [dbdir="${default_dbdir}"])
5ccac21d
MJ
150AC_SUBST(dbdir)
151AC_DEFINE_UNQUOTED([SWITCH_DB_DIR],"${dbdir}",[where to put db files])
152
7ae3f5b7 153AC_ARG_WITH([htdocsdir],
f5ecbc84 154 [AS_HELP_STRING([--with-htdocsdir=DIR], [Put html files into this location (default: $prefix/htdocs)])], [htdocsdir="$withval"], [htdocsdir="${default_htdocsdir}"])
89ae5f47
MJ
155AC_SUBST(htdocsdir)
156AC_DEFINE_UNQUOTED([SWITCH_HTDOCS_DIR],"${htdocsdir}",[where to put htdocs files])
157
857a6131
MJ
158AC_ARG_WITH([fontsdir],
159 [AS_HELP_STRING([--with-fontsdir=DIR], [Put font files into this location (default: $prefix/fonts)])], [fontsdir="$withval"], [fontsdir="${default_fontsdir}"])
160AC_SUBST(fontsdir)
161AC_DEFINE_UNQUOTED([SWITCH_FONTS_DIR],"${fontsdir}",[where to put font files])
162
7ae3f5b7 163AC_ARG_WITH([soundsdir],
f5ecbc84 164 [AS_HELP_STRING([--with-soundsdir=DIR], [Put sound files into this location (default: $prefix/sounds)])], [soundsdir="$withval"], [soundsdir="${default_soundsdir}"])
d1c60899
MJ
165AC_SUBST(soundsdir)
166AC_DEFINE_UNQUOTED([SWITCH_SOUNDS_DIR],"${soundsdir}",[where to put sounds files])
167
7ae3f5b7 168AC_ARG_WITH([grammardir],
f5ecbc84 169 [AS_HELP_STRING([--with-grammardir=DIR], [Put grammar files into this location (default: $prefix/grammar)])], [grammardir="$withval"], [grammardir="${default_grammardir}"])
89ae5f47
MJ
170AC_SUBST(grammardir)
171AC_DEFINE_UNQUOTED([SWITCH_GRAMMAR_DIR],"${grammardir}",[where to put grammar files])
172
dabb85c3 173AC_ARG_WITH([certsdir],
f5ecbc84 174 [AS_HELP_STRING([--with-certsdir=DIR], [Put certs files into this location (default: $prefix/certs)])], [certsdir="$withval"], [certsdir="${default_certsdir}"])
dabb85c3
AM
175AC_SUBST(certsdir)
176AC_DEFINE_UNQUOTED([SWITCH_CERTS_DIR],"${certsdir}",[where to put certs files])
177
7ae3f5b7 178AC_ARG_WITH([scriptdir],
f5ecbc84 179 [AS_HELP_STRING([--with-scriptdir=DIR], [Put script files into this location (default: $prefix/scripts)])], [scriptdir="$withval"], [scriptdir="${default_scriptdir}"])
5ccac21d
MJ
180AC_SUBST(scriptdir)
181AC_DEFINE_UNQUOTED([SWITCH_SCRIPT_DIR],"${scriptdir}",[where to put script files])
107f9135 182
7ae3f5b7 183AC_ARG_WITH([recordingsdir],
f5ecbc84 184 [AS_HELP_STRING([--with-recordingsdir=DIR], [Put recordings files into this location (default: $prefix/recordings)])], [recordingsdir="$withval"], [recordingsdir="${default_recordingsdir}"])
c064a2a5
MJ
185AC_SUBST(recordingsdir)
186AC_DEFINE_UNQUOTED([SWITCH_RECORDINGS_DIR],"${recordingsdir}",[where to put recording files])
187
857a6131
MJ
188AC_ARG_WITH([imagesdir],
189 [AS_HELP_STRING([--with-imagesdir=DIR], [Put images files into this location (default: $prefix/images)])], [imagesdir="$withval"], [imagesdir="${default_imagesdir}"])
190AC_SUBST(imagesdir)
191AC_DEFINE_UNQUOTED([SWITCH_IMAGES_DIR],"${imagesdir}",[where to put image files])
192
f3d851d1 193AC_ARG_WITH([storagedir],
f5ecbc84 194 [AS_HELP_STRING([--with-storagedir=DIR], [Put storage files into this location (default: $prefix/storage)])], [storagedir="$withval"], [storagedir="${default_storagedir}"])
f3d851d1
TC
195AC_SUBST(storagedir)
196AC_DEFINE_UNQUOTED([SWITCH_STORAGE_DIR],"${storagedir}",[where to put storage files])
197
ce96d95c
RT
198AC_ARG_WITH([cachedir],
199 [AS_HELP_STRING([--with-cachedir=DIR], [Put cache files into this location (default: $prefix/cache)])], [cachedir="$withval"], [cachedir="${default_cachedir}"])
200AC_SUBST(cachedir)
201AC_DEFINE_UNQUOTED([SWITCH_CACHE_DIR],"${cachedir}",[where to put cache files])
202
911e4a09 203AC_SUBST(confdir)
7da7790b 204AC_DEFINE_UNQUOTED([SWITCH_CONF_DIR],"${confdir}",[directory for configuration files])
911e4a09 205
857a6131
MJ
206AC_SUBST(datadir)
207AC_DEFINE_UNQUOTED([SWITCH_DATA_DIR],"${datadir}",[directory for data files])
208
209AC_SUBST(localstatedir)
210AC_DEFINE_UNQUOTED([SWITCH_LOCALSTATE_DIR],"${localstatedir}",[directory for local state files])
8b3f71cc
MJ
211AC_SUBST(bindir)
212AC_SUBST(includedir)
213
f20ba4d1 214AC_ARG_WITH([pkgconfigdir],
78472897 215 [AS_HELP_STRING([--with-pkgconfigdir=DIR], [Installation directory for pkgconfig file (default: ${libdir}/pkgconfig)])],
f20ba4d1
SK
216 [case "${withval}" in
217 yes|no) AC_MSG_ERROR([Invalid value ${withval} for option --with-pkgconfigdir]) ;;
218 *) pkgconfigdir="${withval}" ;;
219 esac
220 ],
f5ecbc84 221 [pkgconfigdir="${default_pkgconfigdir}"]
f20ba4d1
SK
222)
223AC_SUBST([pkgconfigdir])
224
6bc48b70
MJ
225#Set default language
226AC_LANG_C
4da77ea5
AM
227# Checks for programs.
228AC_PROG_CC
80eec6e5 229AC_PROG_CXX
40f18d30
MJ
230
231#check if the g++ compiler works
232AC_CACHE_CHECK([whether the C++ compiler works], [ac_cv_sys_cxx_works], [
233 AC_LANG_PUSH([C++])
3dd36873 234 AC_COMPILE_IFELSE([AC_LANG_SOURCE([int main() { }])], [ac_cv_sys_cxx_works=yes],
40f18d30
MJ
235 [ac_cv_sys_cxx_works=no])
236 AC_LANG_POP([C++])
237 ])
238[ if [ "x$ac_cv_sys_cxx_works" = "xno" ]; then ]
239 AC_MSG_FAILURE([The C++ compiler does not work. Please (re)install the C++ compiler])
240[ fi ]
241
bac1e3fd 242AC_PROG_AWK
4da77ea5 243AC_PROG_MAKE_SET
4da77ea5 244AC_PROG_INSTALL
3de6a7e9
MJ
245
246#override some default libtool behavior and invoke AC_PROG_LIBTOOL (see http://lists.gnu.org/archive/html/libtool/2007-03/msg00000.html)
247m4_defun([_LT_AC_LANG_F77_CONFIG], [:])
248m4_defun([_LT_AC_LANG_GCJ_CONFIG], [:])
249m4_defun([_LT_AC_LANG_RC_CONFIG], [:])
5b3f19fb 250AM_PROG_CC_C_O
bac1e3fd 251AC_PROG_LIBTOOL
4da77ea5 252
6bc48b70
MJ
253#Check for compiler vendor
254AX_COMPILER_VENDOR
255
1681b041
MJ
256# Set CC_FOR_BUILD
257if test "x${cross_compiling}" = "xyes"; then
258 CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
ab2cab26 259 case "$host" in
0876df6a 260 arm*-linux-gnueabi*|arm*-*-linux-gnueabi*)
ab2cab26
MJ
261 # spandsp modem
262 ac_cv_file__dev_ptmx=yes
1e51e868
MJ
263 # libjs
264 export ac_cv_va_copy=yes
ab2cab26 265 # srtp
1e51e868 266 export ac_cv_file__dev_urandom=yes
ab2cab26 267 # rpl_malloc
1e51e868
MJ
268 export ac_cv_func_realloc_0_nonnull=yes
269 export ac_cv_func_malloc_0_nonnull=yes
ab2cab26 270 # apr
1e51e868
MJ
271 export ac_cv_func_setpgrp_void=yes
272 export ac_cv_file__dev_zero=yes
273 export apr_cv_tcp_nodelay_with_cork=yes
274 export ac_cv_file_dbd_apr_dbd_mysql_c=no
275 export ac_cv_sizeof_ssize_t=4
276 export apr_cv_mutex_recursive=yes
277 export ac_cv_func_pthread_rwlock_init=yes
278 export apr_cv_type_rwlock_t=yes
279 export apr_cv_process_shared_works=yes
280 export apr_cv_mutex_robust_shared=yes
ab2cab26
MJ
281 ;;
282 esac
1681b041
MJ
283else
284 CC_FOR_BUILD='$(CC)'
285fi
286AC_SUBST(CC_FOR_BUILD)
287
ab2cab26
MJ
288if test -n "$lt_sysroot" ; then
289 APR_ADDTO(CFLAGS, --sysroot=$lt_sysroot)
290 APR_ADDTO(CXXFLAGS, --sysroot=$lt_sysroot)
0fd1e164 291 APR_ADDTO(CPPFLAGS, --sysroot=$lt_sysroot)
ab2cab26
MJ
292 APR_ADDTO(LDFLAGS, --sysroot=$lt_sysroot)
293 PKG_CONFIG_SYSROOT_DIR=$lt_sysroot
294fi
295
6bc48b70
MJ
296# Optimize
297AC_ARG_ENABLE(optimization,
298[AC_HELP_STRING([--enable-optimization],[Set if you want us to add max optimising compiler flags])],[enable_optimizer="$enableval"],[enable_optimizer="no"])
299
300if test "${enable_optimizer}" = "yes" ; then
301 AC_DEFINE([OPTIMZER],[],[Enable Optimization.])
302 AX_CC_MAXOPT
303fi
304
55b3e6cb 305# set defaults for use on all platforms
1c5e6144
MJ
306SWITCH_AM_CFLAGS="-I${switch_srcdir}/src/include -I${switch_builddir}/src/include -I${switch_srcdir}/libs/libteletone/src"
307SWITCH_AM_CXXFLAGS="-I${switch_srcdir}/src/include -I${switch_builddir}/src/include -I${switch_srcdir}/libs/libteletone/src"
387b405c 308SWITCH_AM_CPPFLAGS="-I${switch_srcdir}/src/include -I${switch_builddir}/src/include -I${switch_srcdir}/libs/libteletone/src"
1953ac5c 309SWITCH_AM_LDFLAGS="-lm"
55b3e6cb
MJ
310
311#set SOLINK variable based on compiler and host
312if test "x${ax_cv_c_compiler_vendor}" = "xsun" ; then
313 SOLINK="-Bdynamic -dy -G"
44d5d43b 314elif test "x${ax_cv_c_compiler_vendor}" = "xclang" ; then
55b3e6cb 315 case "$host" in
44d5d43b 316 *darwin*)
5e7986bf
MJ
317 SOLINK="-dynamic -force-flat-namespace"
318 ;;
44d5d43b 319 *)
7549be4b 320 SOLINK="-shared -Xlinker -x"
44d5d43b
MJ
321 ;;
322
323 esac
324elif test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then
325 case "$host" in
326# older Xcode test for darwin, Xcode 4/5 use clang above
6ae16d15 327 *darwin*)
55b3e6cb
MJ
328 SOLINK="-dynamic -bundle -force-flat-namespace"
329 ;;
872c349f
MB
330 *-solaris2*)
331 SOLINK="-shared -Xlinker"
332 ;;
55b3e6cb
MJ
333 *)
334 SOLINK="-shared -Xlinker -x"
335 ;;
336 esac
b8f1a177
BW
337elif test "x${ax_cv_c_compiler_vendor}" = "xintel" ; then
338 case "$host" in
339 *)
340 SOLINK="-shared -Xlinker -x"
341 ;;
342 esac
55b3e6cb
MJ
343else
344 AC_ERROR([Please update configure.in with SOLINK values for your compiler])
345fi
55b3e6cb 346
4a77854b
SK
347##
348# detect libtool major version,
349# set libtool library extension based on this
350# to work around some brokeness when using 'la' with libtool-1.5
351#
352AC_MSG_CHECKING([libtool major version])
353libtool="${switch_builddir}/libtool"
df33a43a 354LIBTOOL_MAJOR_VERSION="`$libtool --version 2>/dev/null| sed -e 's/([[^)]]*)//g;s/^[[^0-9]]*//;s/[[- ]].*//g;q'| awk 'BEGIN { FS = "." } { print $1 }' `"
0c0a4a53 355if test -z "$LIBTOOL_MAJOR_VERSION" ; then
751c2894 356 LIBTOOL_MAJOR_VERSION="`sed -n -e '/^VERSION/{s/^.*=\"\{0,1\}\([[0-9]]\{1,\}\)\..*/\1/;p;}' ${switch_srcdir}/build/config/ltmain.sh`"
0c0a4a53
SK
357fi
358if test -z "$LIBTOOL_MAJOR_VERSION" ; then
02a0a2a0 359 AC_MSG_ERROR([Failed to detect your libtool version, please open a bug report on https://freeswitch.org/jira])
0c0a4a53 360fi
4a77854b 361AC_MSG_RESULT([${LIBTOOL_MAJOR_VERSION}])
02141e30 362
4216e3e0 363LIBTOOL_LIB_EXTEN=so
02141e30 364
4a77854b 365if test "${LIBTOOL_MAJOR_VERSION}" = "2" ; then
02141e30
MJ
366 LIBTOOL_LIB_EXTEN="la"
367fi
4a77854b
SK
368AC_MSG_RESULT([using libtool library extension... ${LIBTOOL_LIB_EXTEN}])
369
1c058e0f
TC
370if test "$ax_cv_c_compiler_vendor" = "gnu"; then
371 saved_CFLAGS="$CFLAGS"
372 AC_CACHE_CHECK([whether compiler supports -Wno-unused-result],
373 [ac_cv_gcc_supports_w_no_unused_result], [
13d9e99a 374 CFLAGS="$CFLAGS -Wno-unused-result -Wno-error=unused-result"
1c058e0f
TC
375 AC_TRY_COMPILE([],[return 0;],
376 [ac_cv_gcc_supports_w_no_unused_result=yes],
377 [ac_cv_gcc_supports_w_no_unused_result=no])])
378 CFLAGS="$saved_CFLAGS"
379 AC_MSG_RESULT($ac_cv_gcc_supports_w_no_unused_result)
0742defa
MJ
380
381 saved_CFLAGS="$CFLAGS"
382 AC_CACHE_CHECK([whether compiler supports -Wno-misleading-indentation],
383 [ac_cv_gcc_supports_w_no_misleading_indentation], [
384 CFLAGS="$CFLAGS -Wno-misleading-indentation -Wno-error=misleading-indentation"
385 AC_TRY_COMPILE([],[return 0;],
386 [ac_cv_gcc_supports_w_no_misleading_indentation=yes],
387 [ac_cv_gcc_supports_w_no_misleading_indentation=no])])
388 CFLAGS="$saved_CFLAGS"
389 AC_MSG_RESULT($ac_cv_gcc_supports_w_no_misleading_indentation)
1c058e0f 390fi
02141e30 391
55b3e6cb
MJ
392# tweak compiler specific flags
393if test "x${ax_cv_c_compiler_vendor}" = "xsun" ; then
394 APR_ADDTO(SWITCH_AM_CFLAGS, -KPIC)
395 APR_ADDTO(SWITCH_AM_CFLAGS, -DPIC)
99913ce3
MJ
396 APR_ADDTO(SWITCH_AM_CFLAGS, -erroff=E_END_OF_LOOP_CODE_NOT_REACHED)
397 APR_ADDTO(SWITCH_AM_CFLAGS, -errtags=yes)
2343708a 398 APR_ADDTO(SWITCH_AM_CFLAGS, -D__FUNCTION__=__func__ )
399 APR_ADDTO(SWITCH_AM_CFLAGS, -mt)
99913ce3 400 APR_ADDTO(SWITCH_AM_CXXFLAGS, -errtags=yes)
514bde18
MJ
401 APR_ADDTO(SWITCH_AM_CXXFLAGS, -KPIC)
402 APR_ADDTO(SWITCH_AM_CXXFLAGS, -DPIC)
f32f6f24 403 APR_ADDTO(SWITCH_AM_CXXFLAGS, "-features=extensions")
2343708a 404 APR_ADDTO(SWITCH_AM_CXXFLAGS, -D__FUNCTION__=__func__)
405 APR_ADDTO(SWITCH_AM_CXXFLAGS, -mt)
f32f6f24 406
55b3e6cb 407 APR_ADDTO(SWITCH_AM_LDFLAGS, -R${prefix}/lib)
6d45f5f5
MJ
408 if test "${enable_64}" = "yes"; then
409 APR_ADDTO(SWITCH_AM_CFLAGS, -m64)
5b2d20bf
MJ
410 APR_ADDTO(SWITCH_AM_CXXFLAGS, -m64)
411 APR_ADDTO(SWITCH_AM_LDFLAGS, -m64)
1953ac5c 412 LIBS="$LIBS -m64"
6d45f5f5 413 fi
d755b340 414elif test "x${ax_cv_c_compiler_vendor}" = "xclang" ; then
91d62b7c
AM
415 APR_ADDTO(SWITCH_AM_CFLAGS, -fPIC -ffast-math)
416 APR_ADDTO(SWITCH_AM_CXXFLAGS, -fPIC -ffast-math)
302a339f 417 APR_ADDTO(SWITCH_AM_CFLAGS, -Werror)
55b3e6cb 418elif test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then
91d62b7c
AM
419 APR_ADDTO(SWITCH_AM_CFLAGS, -fPIC -ffast-math)
420 APR_ADDTO(SWITCH_AM_CXXFLAGS, -fPIC -ffast-math)
b8a8c885 421 AC_SUBST([AM_MOD_AVMD_CXXFLAGS], [-std=gnu99]) # FS-8809, needed for MAP_POPULATE
1c058e0f
TC
422 if test "$ac_cv_gcc_supports_w_no_unused_result" = yes; then
423 APR_ADDTO(SWITCH_AM_CFLAGS, -Werror)
94fd5db4 424 APR_ADDTO(SWITCH_AM_CFLAGS, -Wno-unused-result)
1c058e0f 425 fi
0742defa
MJ
426 if test "$ac_cv_gcc_supports_w_no_misleading_indentation" = yes; then
427 APR_ADDTO(SWITCH_AM_CFLAGS, -Wno-misleading-indentation)
428 fi
1953ac5c 429 if test "${enable_64}" = "yes"; then
5e7986bf 430 case "$host" in
5dee5ce1
BW
431 *darwin*)
432 osxvrm=`sw_vers -productVersion` # Get version.release.modlevel
433 osxrel=`echo $osxvrm | cut -d. -f2` # Get release only
434 if test "$osxrel" -ge 4; then # 10.4 and up are x64
435 APR_ADDTO(CFLAGS, -arch x86_64)
436 APR_ADDTO(LDFLAGS, -arch x86_64)
437 APR_ADDTO(CXXFLAGS, -arch x86_64)
438 fi
5e7986bf 439 ;;
148f67e0
BW
440 *-solaris2*)
441 APR_ADDTO(CFLAGS, -m64)
148f67e0
BW
442 APR_ADDTO(LDFLAGS, -m64)
443 APR_ADDTO(CXXFLAGS, -m64)
444 ;;
7803a752
MJ
445 *)
446 LIBS="$LIBS -m64"
447 ;;
5e7986bf 448 esac
1953ac5c 449 fi
55b3e6cb
MJ
450fi
451
f83e429d
MJ
452# Enable clang address sanitizer bit build
453AC_ARG_ENABLE(address_sanitizer,
454 [AC_HELP_STRING([--enable-address-sanitizer],[build with address sanitizer])],
455 [enable_address_sanitizer="$enable_address_sanitizer"],
456 [enable_address_sanitizer="no"])
457
458if test "${enable_address_sanitizer}" = "yes"; then
238e2289
MJ
459 APR_ADDTO(CFLAGS, -fsanitize=address -fno-omit-frame-pointer)
460 APR_ADDTO(CXXFLAGS, -fsanitize=address -fno-omit-frame-pointer)
461 APR_ADDTO(LDFLAGS, -fsanitize=address)
f83e429d
MJ
462fi
463
464
3976eb17
MJ
465case "${ax_cv_c_compiler_vendor}" in
466sun)
22fd90e7 467 VISIBILITY_FLAG=-xldscope=hidden
3976eb17
MJ
468;;
469*)
470 VISIBILITY_FLAG=-fvisibility=hidden
471;;
472esac
473AC_SUBST(VISIBILITY_FLAG)
474
ffe2ad4b
MJ
475#
476# gcc visibility cflag checks
477#
478AC_ARG_ENABLE([visibility],
479 [AS_HELP_STRING([--disable-visibility], [Disable or enable API visibility support (default: use if available)])],
480 [enable_visibility="${enableval}"],
481 [enable_visibility="detect"]
482)
483HAVE_VISIBILITY="no"
484
485if test "x${enable_visibility}" != "xno" ; then
486
487 case "${ax_cv_c_compiler_vendor}" in
488 gnu)
489 save_CFLAGS="${CFLAGS}"
490 CFLAGS="${CFLAGS} -fvisibility=hidden"
491 AC_MSG_CHECKING([whether the compiler supports -fvisibility=hidden])
492 AC_COMPILE_IFELSE(
493 [AC_LANG_PROGRAM(
494 [int foo __attribute__ ((visibility("default")));],
495 [;]
496 )],
497
498 [AC_MSG_RESULT([yes])
20bcb2ed
MJ
499 APR_ADDTO([SWITCH_AM_CFLAGS], [-fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DCJSON_API_VISIBILITY=1 -DHAVE_VISIBILITY=1])
500 APR_ADDTO([SWITCH_AM_CXXFLAGS], [-fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DCJSON_API_VISIBILITY=1 -DHAVE_VISIBILITY=1])
ffe2ad4b
MJ
501 HAVE_VISIBILITY="yes"],
502
503 [AC_MSG_RESULT([no])]
504 )
505 CFLAGS="${save_CFLAGS}"
506 ;;
507
900907a2 508 sun)
96114867
SK
509 # save_CFLAGS="${CFLAGS}"
510 # CFLAGS="${CFLAGS} -xldscope=hidden"
511 # AC_MSG_CHECKING([whether the compiler supports -xldscope=hidden])
512 # AC_COMPILE_IFELSE(
513 # [AC_LANG_PROGRAM(
514 # [int foo __attribute__ ((visibility("default")));],
515 # [;]
516 # )],
517 #
518 # [AC_MSG_RESULT([yes])
519 # APR_ADDTO([SWITCH_AM_CFLAGS], [-xldscope=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1])
520 # APR_ADDTO([SWITCH_AM_CXXFLAGS], [-xldscope=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1])
521 # HAVE_VISIBILITY="yes"],
522 #
523 # [AC_MSG_RESULT([no])]
524 # )
525 # CFLAGS="${save_CFLAGS}"
900907a2
MJ
526 ;;
527
ffe2ad4b
MJ
528 *)
529 if test "x${enable_visibility}" = "xyes" ; then
900907a2 530 AC_MSG_ERROR([Non-GNU / SUN compilers are currently unsupported])
ffe2ad4b 531 else
900907a2 532 AC_MSG_WARN([Non-GNU / SUN compilers are currently unsupported])
ffe2ad4b
MJ
533 fi
534 ;;
535 esac
536
537 #
538 # visibility explicitly requested but not supported by this compiler => error
539 #
540 if test "x${enable_visibility}" = "xyes" -a "x${HAVE_VISIBILITY}" = "xno" ; then
541 AC_MSG_ERROR([API visibility not supported by this compiler])
542 fi
543fi
544
fcd2a7b0
SK
545# Enable debugging (default: on)
546# (rename option if the default is changed)
2faabff7 547AC_ARG_ENABLE(debug,
fcd2a7b0 548[AC_HELP_STRING([--disable-debug],[build without debug information])],[enable_debug="$enableval"],[enable_debug="yes"])
2faabff7
AM
549
550if test "${enable_debug}" = "yes"; then
551 AC_DEFINE([DEBUG],[],[Enable extra debugging.])
554f476c 552 saved_CFLAGS="$CFLAGS"
44ea66c2 553 CFLAGS=
2faabff7 554 AX_CFLAGS_WARN_ALL_ANSI
02c7a3ac 555 SWITCH_ANSI_CFLAGS=$CFLAGS
554f476c 556 CFLAGS="$saved_CFLAGS"
2faabff7
AM
557
558 if test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then
1c058e0f
TC
559 if test "$ac_cv_gcc_supports_w_no_unused_result" = yes; then
560 APR_ADDTO(SWITCH_AM_CFLAGS, -Wno-unused-result)
561 fi
2faabff7 562 APR_ADDTO(SWITCH_AM_CFLAGS, -g -ggdb)
37845b42 563 export DEBUG_CFLAGS="-g -ggdb"
2faabff7
AM
564 fi
565
566fi
567
1540546c
MJ
568AC_ARG_ENABLE(libyuv,
569[AC_HELP_STRING([--disable-libyuv],[build without libyuv])],[enable_libyuv="$enableval"],[enable_libyuv="yes"])
570
571AM_CONDITIONAL([ENABLE_LIBYUV],[test "${enable_libyuv}" = "yes"])
572
573AC_ARG_ENABLE(libvpx,
574[AC_HELP_STRING([--disable-libvpx],[build without libvpx])],[enable_libvpx="$enableval"],[enable_libvpx="yes"])
575
576AM_CONDITIONAL([ENABLE_LIBVPX],[test "${enable_libvpx}" = "yes"])
577
59ba5a15
MJ
578AC_ARG_ENABLE(cpp,
579[AC_HELP_STRING([--disable-cpp],[build without cpp code])],[enable_cpp="$enableval"],[enable_cpp="yes"])
580
581AM_CONDITIONAL([ENABLE_CPP],[test "${enable_cpp}" = "yes"])
582
acd8d743
MJ
583AM_CONDITIONAL([DISABLE_CC],[test "${disable_cc}" = "yes"])
584
714e3133
MJ
585AC_ARG_ENABLE([system-xmlrpc-c],
586 [AS_HELP_STRING([--enable-system-xmlrpc-c],
587 [use system lib for xmlrpc-c])],,
588 [enable_xmlrpcc="no"])
589
590if test "${enable_xmlrpcc}" = "yes" ; then
591SYS_XMLRPC_CFLAGS=`xmlrpc-c-config --cflags`
592SYS_XMLRPC_LDFLAGS=`xmlrpc-c-config --libs`
593fi
594AC_SUBST(SYS_XMLRPC_CFLAGS)
595AC_SUBST(SYS_XMLRPC_LDFLAGS)
596AM_CONDITIONAL([SYSTEM_XMLRPCC],[test "${enable_xmlrpcc}" = "yes"])
597
257e8d6b 598for luaversion in lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua; do
98a190a1
SS
599 PKG_CHECK_MODULES([LUA],[${luaversion}],[have_lua=yes],[have_lua=no])
600 if test ${have_lua} = yes; then
601 break
602 fi
603done
8fc19a60
MJ
604if test x"${LUA_LIBS}" = x"" ; then
605 LUA_LIBS="-llua"
861961bd 606fi
07d09b78 607
a8b87ffe
AM
608AC_ARG_ENABLE(srtp,
609[AC_HELP_STRING([--disable-srtp],[build without srtp support])],[enable_srtp="$enableval"],[enable_srtp="yes"])
610
611AM_CONDITIONAL([ENABLE_SRTP],[test "${enable_srtp}" = "yes"])
612
810717ca
AM
613have_openal=no
614AC_CHECK_LIB(openal, alMidiGainSOFT, [have_openal="yes"])
615AM_CONDITIONAL([HAVE_OPENAL],[test "${have_openal}" = "yes"])
616
861bd209
BW
617AC_ARG_ENABLE(zrtp,
618 [AS_HELP_STRING([--enable-zrtp], [Compile with zrtp Support])],,[enable_zrtp="no"])
619if test "x$enable_zrtp" = "xyes" ; then
393b63b7 620 LIBS="-lpthread $LIBS"
861bd209
BW
621 APR_ADDTO(SWITCH_AM_CFLAGS, -DENABLE_ZRTP)
622fi
ae67ecce 623
c4d13331
MJ
624PA_LIBS=
625
626PKG_CHECK_MODULES(JACK, jack, have_jack=yes, have_jack=no)
627if test "x$have_jack" = "xyes" ; then
628PA_LIBS+=$JACK_LIBS
629fi
630
ae67ecce 631AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no)
1911a262 632if test "x$have_alsa" = "xyes" ; then
c4d13331 633PA_LIBS+=-lasound
ae67ecce 634fi
c4d13331
MJ
635
636AC_SUBST(PA_LIBS)
ae67ecce 637
861bd209
BW
638AM_CONDITIONAL([ENABLE_ZRTP],[test "x$enable_zrtp" != "xno"])
639
a4a52620
SK
640AM_CONDITIONAL([WANT_DEBUG],[test "${enable_debug}" = "yes"])
641
ab2bc7c6
TC
642AC_ARG_ENABLE(core-odbc-support,
643 [AS_HELP_STRING([--enable-core-odbc-support], [Compile with ODBC Support (default is optional)])],,[enable_core_odbc_support="optional"])
644if ! test "$enable_core_odbc_support" = "no"; then
645 AX_LIB_ODBC
646 if test "$ac_cv_found_odbc" = "yes" ; then
647 enable_core_odbc_support="yes"
648 elif test "$enable_core_odbc_support" = "yes"; then
649 AC_MSG_ERROR([no usable libodbc; please install unixodbc devel package or equivalent])
650 else
651 enable_core_odbc_support="no"
652 fi
ffc8e81b
TC
653fi
654
6e9fa3ba
AM
655CHECK_LIBUUID
656SWITCH_AM_LDFLAGS="$LIBUUID_LIBS $SWITCH_AM_LDFLAGS"
657SWITCH_AM_CFLAGS="$LIBUUID_CFLAGS $SWITCH_AM_CFLAGS"
658
5cb354dd 659AC_ARG_ENABLE(core-pgsql-support,
c5d0b633 660 [AS_HELP_STRING([--enable-core-pgsql-support], [Compile with PGSQL Support])],,[enable_core_pgsql_support="no"])
ba052c22 661AC_ARG_ENABLE(core-pgsql-pkgconfig,
299081ed 662 [AS_HELP_STRING([--disable-core-pgsql-pkgconfig], [Use pg_config to get PGQSL build options])],[enable_core_pgsql_pkgconfig="$enableval"],[enable_core_pgsql_pkgconfig="yes"])
5cb354dd
EG
663
664if test x"$enable_core_pgsql_support" = x"yes" ; then
ba052c22
TC
665 AC_PATH_PROG([PG_CONFIG], [pg_config], [no])
666 AC_PATH_PROG([PKG_CONFIG], [pkg-config], [no])
ba052c22
TC
667 if test "$PKG_CONFIG" = "no" \
668 || test x"$enable_core_pgsql_pkgconfig" = x"no" \
669 || ! pkg-config libpq; then
81185aa9
KR
670 if test "$PG_CONFIG" != "no"; then
671 AC_MSG_CHECKING([for PostgreSQL libraries via pg_config])
672 POSTGRESQL_CFLAGS="-I`$PG_CONFIG --includedir`"
673 POSTGRESQL_LIBDIR="-L`$PG_CONFIG --libdir`"
674 POSTGRESQL_LDFLAGS="-L`$PG_CONFIG --libdir` -lpq"
285e7dc3
KR
675 POSTGRESQL_VERSION=`$PG_CONFIG --version | awk '{ print $NF }'`
676 POSTGRESQL_MAJOR_VERSION=`$PG_CONFIG --version | awk '{ print $NF }' | awk -F. '{ print $1 }'`
677 POSTGRESQL_MINOR_VERSION=`$PG_CONFIG --version | awk '{ print $NF }' | awk -F. '{ print $2 }'`
678 POSTGRESQL_PATCH_VERSION=`$PG_CONFIG --version | awk '{ print $NF }' | awk -F. '{ print $3 }'`
81185aa9
KR
679 else
680 AC_MSG_ERROR([no usable pkg-config or pg_config; please install libpq devel package or equivalent])
681 fi
ba052c22 682 else
81185aa9
KR
683 AC_MSG_CHECKING([for PostgreSQL libraries via pkg_config])
684 POSTGRESQL_CFLAGS="`$PKG_CONFIG --cflags libpq`"
685 POSTGRESQL_LIBDIR="`$PKG_CONFIG libpq --libs-only-L`"
ba052c22
TC
686 POSTGRESQL_LDFLAGS="`$PKG_CONFIG --libs libpq`"
687 POSTGRESQL_VERSION="`$PKG_CONFIG --modversion libpq`"
1933c7cb
TC
688 POSTGRESQL_MAJOR_VERSION="`echo $POSTGRESQL_VERSION | cut -d. -f1 | sed 's/^\([[0-9]]*\)[[^0-9]].*/\1/'`"
689 POSTGRESQL_MINOR_VERSION="`echo $POSTGRESQL_VERSION | cut -d. -f2 | sed 's/^\([[0-9]]*\)[[^0-9]].*/\1/'`"
690 POSTGRESQL_PATCH_VERSION="`echo $POSTGRESQL_VERSION | cut -d. -f3 | sed 's/^\([[0-9]]*\)[[^0-9]].*/\1/'`"
691 test -n "$POSTGRESQL_PATCH_VERSION" || POSTGRESQL_PATCH_VERSION=0
ba052c22 692 fi
81185aa9
KR
693 save_LIBS="$LIBS"
694 LIBS="$POSTGRESQL_LIBDIR $LIBS"
695 AC_MSG_RESULT([$POSTGRESQL_LIBDIR])
696
ba052c22 697 AC_DEFINE([SWITCH_HAVE_PGSQL], [1], [Define to 1 if PostgreSQL libraries are available])
bb84b053 698 AM_CONDITIONAL([HAVE_PGSQL],[true])
ba052c22
TC
699 AC_DEFINE_UNQUOTED([POSTGRESQL_VERSION], "${POSTGRESQL_VERSION}", [Specifies the version of PostgreSQL we are linking against])
700 AC_DEFINE_UNQUOTED([POSTGRESQL_MAJOR_VERSION], ${POSTGRESQL_MAJOR_VERSION}, [Specifies the version of PostgreSQL we are linking against])
701 AC_DEFINE_UNQUOTED([POSTGRESQL_MINOR_VERSION], ${POSTGRESQL_MINOR_VERSION}, [Specifies the version of PostgreSQL we are linking against])
702 AC_DEFINE_UNQUOTED([POSTGRESQL_PATCH_VERSION], ${POSTGRESQL_PATCH_VERSION}, [Specifies the version of PostgreSQL we are linking against])
81185aa9 703
ba052c22
TC
704 AC_CHECK_LIB([pq], [PQgetvalue],, AC_MSG_ERROR([no usable libpq; please install PostgreSQL devel package or equivalent]))
705 AC_MSG_RESULT([yes])
81185aa9 706 SWITCH_AM_CXXFLAGS="$POSTGRESQL_CFLAGS $SWITCH_AM_CXXFLAGS"
ba052c22 707 SWITCH_AM_LDFLAGS="$POSTGRESQL_LDFLAGS $SWITCH_AM_LDFLAGS"
81185aa9
KR
708
709 LIBS="$save_LIBS"
bb84b053
TC
710else
711 AM_CONDITIONAL([HAVE_PGSQL],[false])
5cb354dd 712fi
25c725c2 713
603f3eff
MJ
714AC_ARG_ENABLE(deprecated-core-db-events,
715 [AS_HELP_STRING([--enable-deprecated-core-db-events], [Keep deprecated core db events])],,[enable_deprecated_core_db_events="no"])
716
717if test x"$enable_deprecated_core_db_events" = x"yes" ; then
718 AC_DEFINE([SWITCH_DEPRECATED_CORE_DB], [1], [Define to 1 to enable deprecated core db events])
719fi
720
f2067001
BW
721ESL_LDFLAGS=
722PLATFORM_CORE_LDFLAGS=
723PLATFORM_CORE_LIBS=
d28b2391 724
3b1278a3 725path_remove () {
aef982dd 726 echo "$1" | tr ':' '\n' | grep -Fxv "$2" | tr '\n' ':' | sed 's/:$//'
3b1278a3
TC
727}
728path_push_unique () {
729 x="$(eval echo \$$1)"
730 x="$(path_remove "$x" "$2")"
0a56e643
TC
731 if test -z "$x"; then
732 eval export $1="$2"
733 else
734 eval export $1="$2:$x"
735 fi
3b1278a3
TC
736}
737
55b3e6cb
MJ
738# tweak platform specific flags
739case "$host" in
5dee5ce1
BW
740 *darwin*)
741 # Common Apple Darwin settings
0952a99a 742 APR_ADDTO(SWITCH_AM_CFLAGS, -DMACOSX)
0952a99a 743 APR_REMOVEFROM(SWITCH_AM_CFLAGS, -fPIC)
ec044e62 744 APR_ADDTO(CPPFLAGS, -I/usr/local/opt/openssl/include)
85d6b9af 745 APR_ADDTO(LDFLAGS, -L/usr/local/opt/openssl/lib)
5dee5ce1
BW
746 if test "x$enable_core_odbc_support" != "xno"; then
747 APR_ADDTO([PLATFORM_CORE_LDFLAGS], [--framework CoreFoundation])
9a9ba4c3 748 fi
cdabd564 749 APR_ADDTO([PLATFORM_CORE_LIBS], [-ldl])
5dee5ce1
BW
750 # Get OSX and clang version
751 osxvrm=`sw_vers -productVersion` # Get version.release.modlevel
752 osxrel=`echo $osxvrm | cut -d. -f2` # Get release only
753 clangvers="`clang -v 2>&1 >/dev/null | grep version | sed -e 's/.*version \([[0-9]]*\).*$/\1/'`"
754 if test "$clangvers" -ge 6; then # Xcode 6 drops std lib search, add it to clang
755 APR_ADDTO(LDFLAGS, -L/usr/local/lib)
756 APR_ADDTO(CPPFLAGS, -I/usr/local/include)
757 fi
758 if test "$clangvers" -ge 4; then # Xcode 4 / 10.7 and up
759 APR_ADDTO(CFLAGS, -Wno-deprecated-declarations)
760 fi
761 if test "$osxrel" -ge 6; then # 10.6 and up
762 APR_ADDTO(CFLAGS, -pipe -no-cpp-precomp)
763 APR_ADDTO(LDFLAGS, -pipe -bind_at_load)
764 APR_ADDTO(CXXFLAGS, -pipe)
765 fi
55b3e6cb
MJ
766 ;;
767 *-solaris2*)
148f67e0 768 if test "${enable_64}" = "yes"; then
ec044e62 769 APR_ADDTO(CPPFLAGS, [-I/opt/64/include])
148f67e0 770 APR_ADDTO(LDFLAGS, [-L/opt/64/lib -Wl,-rpath,/opt/64/lib])
4dddcafc
BW
771 APR_ADDTO(SWITCH_AM_CFLAGS, [-I/opt/64/include])
772 APR_ADDTO(SWITCH_AM_LDFLAGS, [-L/opt/64/lib -Wl,-rpath,/opt/64/lib])
148f67e0 773 else
ec044e62 774 APR_ADDTO(CPPFLAGS, [-I/opt/include])
148f67e0
BW
775 APR_ADDTO(LDFLAGS, [-L/opt/lib -Wl,-rpath,/opt/lib])
776 APR_ADDTO(SWITCH_AM_CFLAGS, [-I/opt/include])
777 APR_ADDTO(SWITCH_AM_LDFLAGS, [-L/opt/lib -Wl,-rpath,/opt/lib])
778 fi
cb1cb69e 779 APR_ADDTO(SWITCH_AM_CFLAGS, -DPATH_MAX=2048 -D__EXTENSIONS__)
54a9eba4 780 APR_ADDTO(SWITCH_AM_LDFLAGS, -lsendfile -lresolv -lsocket -lnsl -luuid)
bb33c4e7 781 APR_ADDTO(ESL_LDFLAGS, -lnsl -lsocket)
a48da3b4 782 APR_ADDTO([PLATFORM_CORE_LIBS], [-ldl -lcrypt -lrt -lsendfile -lresolv -lsocket -lnsl -luuid])
55b3e6cb 783 ;;
4f2e0f19 784 *dragonfly*)
ec044e62 785 APR_ADDTO(CPPFLAGS, -I/usr/local/include)
4f2e0f19
MJ
786 APR_ADDTO(LDFLAGS, -L/usr/local/lib)
787 APR_ADDTO(SWITCH_AM_CFLAGS, -I/usr/local/include)
788 ;;
eab96981 789 *openbsd*)
ec044e62 790 APR_ADDTO(CPPFLAGS, -I/usr/local/include)
53ed9ce0 791 APR_ADDTO(LDFLAGS, -L/usr/local/lib -ltermcap)
eab96981
MJ
792 APR_ADDTO(SWITCH_AM_CFLAGS, -I/usr/local/include)
793 ;;
a91ba93d 794 *netbsd*)
ec044e62 795 APR_ADDTO(CPPFLAGS, -I/usr/pkg/include)
783a4083 796 APR_ADDTO(LDFLAGS, [-L/usr/pkg/lib -Wl,-rpath,/usr/pkg/lib])
a91ba93d
BW
797 APR_ADDTO(SWITCH_AM_CFLAGS, -I/usr/pkg/include)
798 ;;
f0b58efb 799 *bsd*)
ec044e62 800 APR_ADDTO(CPPFLAGS, -I/usr/local/include)
ec718814 801 APR_ADDTO(LDFLAGS, -L/usr/local/lib)
f0b58efb 802 APR_ADDTO(SWITCH_AM_CFLAGS, -I/usr/local/include)
041e3bf0 803 APR_ADDTO([PLATFORM_CORE_LIBS], [-lcrypt -lrt])
a48da3b4
SK
804 ;;
805 *linux*)
806 APR_ADDTO([PLATFORM_CORE_LIBS], [-ldl -lcrypt -lrt])
f0b58efb 807 ;;
55b3e6cb
MJ
808esac
809
514bde18
MJ
810APR_REMOVEFROM(SWITCH_AM_CXXFLAGS, -std=c99)
811
5a2f9d7a
ST
812# check for usable system MD5 library
813AS_CASE([$host],
814 [*-solaris2*], [AC_CHECK_LIB(md5, MD5Init)],
815 [*-freebsd*], [AC_CHECK_LIB(md, MD5Init)],
816 [*-openbsd*|*-netbsd*], [AC_CHECK_FUNCS([MD5Init])])
817
9b85b9c9
MJ
818AC_CHECK_LIB(z, inflateReset, have_libz=yes, AC_MSG_ERROR([no usable zlib; please install zlib devel package or equivalent]))
819if test "x$have_libz" = "xyes" ; then
820APR_ADDTO([PLATFORM_CORE_LIBS], [-lz])
821fi
822
7375ad9e 823PKG_CHECK_MODULES([MPG123], [libmpg123 >= 1.16.0],[
4ad0aa91
MJ
824 AM_CONDITIONAL([HAVE_MPG123],[true])],[
825 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_MPG123],[false])])
521a9793 826
c9452d15
MJ
827PKG_CHECK_MODULES([AMR], [opencore-amrnb >= 0.1.0],[
828 AM_CONDITIONAL([HAVE_AMR],[true])],[
829 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_AMR],[false])])
830
3ccf1704
DO
831PKG_CHECK_MODULES([AMRWB], [opencore-amrwb >= 0.1.0 vo-amrwbenc >= 0.1.0],[
832 AM_CONDITIONAL([HAVE_AMRWB],[true])],[
833 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_AMRWB],[false])])
834
48712895
TC
835AC_CHECK_LIB(apr-1, apr_pool_mutex_set, use_system_apr=yes, use_system_apr=no)
836AM_CONDITIONAL([SYSTEM_APR],[test "${use_system_apr}" = "yes"])
837AC_CHECK_LIB(aprutil-1, apr_queue_pop_timeout, use_system_aprutil=yes, use_system_aprutil=no)
838AM_CONDITIONAL([SYSTEM_APRUTIL],[test "${use_system_aprutil}" = "yes"])
839
a1d73dfd
CR
840save_LIBS="$LIBS"
841LIBS=
9b85b9c9
MJ
842AC_CHECK_LIB(jpeg, jpeg_std_error,, AC_MSG_ERROR([no usable libjpeg; please install libjpeg devel package or equivalent]))
843
844AC_CHECK_LIB(jbig, jbg_enc_out, have_libjbig=yes, have_libjbig=no)
845if test "x$have_libjbig" = "xyes" ; then
a1d73dfd 846SPANDSP_LA_JBIG="-ljbig $LIBS"
9b85b9c9
MJ
847AC_SUBST(SPANDSP_LA_JBIG)
848fi
a1d73dfd 849LIBS="$save_LIBS"
9b85b9c9
MJ
850
851AC_CHECK_LIB(lzma, lzma_code, have_liblzma=yes, have_liblzma=no)
852if test "x$have_liblzma" = "xyes" ; then
853SPANDSP_LA_LZMA="-llzma"
854AC_SUBST(SPANDSP_LA_LZMA)
855fi
856
857AC_CHECK_LIB(resolv, res_init, have_libresolv=yes, have_libresolv=no)
858if test "x$have_libresolv" = "xyes" ; then
859APR_ADDTO(SWITCH_AM_LDFLAGS, -lresolv)
860fi
861
55b3e6cb 862AC_SUBST(SWITCH_AM_CFLAGS)
02c7a3ac 863AC_SUBST(SWITCH_ANSI_CFLAGS)
514bde18 864AC_SUBST(SWITCH_AM_CXXFLAGS)
387b405c 865AC_SUBST(SWITCH_AM_CPPFLAGS)
55b3e6cb 866AC_SUBST(SWITCH_AM_LDFLAGS)
3ec59cdb 867AC_SUBST(ESL_LDFLAGS)
a48da3b4
SK
868AC_SUBST(PLATFORM_CORE_LDFLAGS)
869AC_SUBST(PLATFORM_CORE_LIBS)
6bc48b70 870AC_SUBST(SOLINK)
02141e30 871AC_SUBST(LIBTOOL_LIB_EXTEN)
6bc48b70 872
4da77ea5
AM
873# Checks for header files.
874AC_HEADER_DIRENT
875AC_HEADER_STDC
ba9c44bb 876AC_CHECK_HEADERS([sys/types.h sys/resource.h sched.h wchar.h sys/filio.h sys/ioctl.h sys/prctl.h sys/select.h netdb.h execinfo.h sys/time.h])
56008e2b 877
9461ed13
SS
878# Solaris 11 privilege management
879AS_CASE([$host],
880 [*-*-solaris2.11], [AC_CHECK_HEADER([priv.h], [AC_DEFINE([SOLARIS_PRIVILEGES],[1],[Solaris 11 privilege management])])]
881)
882
883
56008e2b
AM
884if test x"$ac_cv_header_wchar_h" = xyes; then
885 HAVE_WCHAR_H_DEFINE=1
886else
887 HAVE_WCHAR_H_DEFINE=0
888fi
889AC_SUBST(HAVE_WCHAR_H_DEFINE)
4da77ea5 890
6b6c83a7
JL
891# Needed by Abyss on Solaris:
892
893if test x"$ac_cv_header_sys_filio_h" = xyes; then
894 HAVE_SYS_FILIO_H_DEFINE=1
895else
896 HAVE_SYS_FILIO_H_DEFINE=0
897fi
898AC_SUBST(HAVE_SYS_FILIO_H_DEFINE)
899
900# Needed by Abyss on Solaris:
901
902if test x"$ac_cv_header_sys_ioctl_h" = xyes; then
903 HAVE_SYS_IOCTL_H_DEFINE=1
904else
905 HAVE_SYS_IOCTL_H_DEFINE=0
906fi
907AC_SUBST(HAVE_SYS_IOCTL_H_DEFINE)
908
909if test x"$ac_cv_header_sys_select_h" = xyes; then
910 HAVE_SYS_SELECT_H_DEFINE=1
911else
912 HAVE_SYS_SELECT_H_DEFINE=0
913fi
914AC_SUBST(HAVE_SYS_SELECT_H_DEFINE)
915
4da77ea5
AM
916# Checks for typedefs, structures, and compiler characteristics.
917AC_C_CONST
918AC_C_INLINE
919AC_TYPE_SIZE_T
920AC_HEADER_TIME
921AC_STRUCT_TM
922
923# Checks for library functions.
924AC_PROG_GCC_TRADITIONAL
a7bf6f8d 925AC_FUNC_MALLOC
4da77ea5
AM
926AC_TYPE_SIGNAL
927AC_FUNC_STRFTIME
a2921e26 928AC_CHECK_FUNCS([gethostname vasprintf mmap mlock mlockall usleep getifaddrs timerfd_create getdtablesize posix_openpt poll])
ba9c44bb 929AC_CHECK_FUNCS([sched_setscheduler setpriority setrlimit setgroups initgroups getrusage])
4062b636 930AC_CHECK_FUNCS([wcsncmp setgroups asprintf setenv pselect gettimeofday localtime_r gmtime_r strcasecmp stricmp _stricmp])
b382c0a4 931
8bcf3b4f
SK
932# Check availability and return type of strerror_r
933# (NOTE: apr-1-config sets -D_GNU_SOURCE at build-time, need to run the check with it too)
934save_CPPFLAGS="$CPPFLAGS"
935CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
936AC_FUNC_STRERROR_R
937CPPFLAGS="$save_CPPFLAGS"
938
ea5c0c21
MJ
939AX_HAVE_CPU_SET
940
eb9f9fb2 941AC_CHECK_LIB(rt, clock_gettime, [AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Define if you have clock_gettime()])])
d314f254 942AC_CHECK_LIB(rt, clock_getres, [AC_DEFINE(HAVE_CLOCK_GETRES, 1, [Define if you have clock_getres()])])
eb9f9fb2 943AC_CHECK_LIB(rt, clock_nanosleep, [AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define if you have clock_nanosleep()])])
6627dc86 944AC_CHECK_LIB(pthread, pthread_setschedparam, [AC_DEFINE(HAVE_PTHREAD_SETSCHEDPARAM, 1, [Define if you have pthread_setschedparam()])])
5f469ad2 945
4062b636 946AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket))
eb9f9fb2 947
d91f67d0
AM
948AC_CHECK_FILE(/dev/ptmx, [AC_DEFINE(HAVE_DEV_PTMX, 1, [Define if you have /dev/ptmx])])
949AC_CHECK_LIB(util, openpty, [AC_DEFINE(HAVE_OPENPTY, 1, [Define if you have openpty()])])
950
bf988471 951AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[
21159328
MJ
952#include <sys/types.h>
953#include <time.h>])
954
bf988471 955AC_CHECK_MEMBERS([struct tm.tm_zone],,,[
21159328
MJ
956#include <sys/types.h>
957#include <time.h>])
958
b382c0a4
MJ
959AC_CHECK_DECL([RLIMIT_MEMLOCK],
960 [AC_DEFINE([HAVE_RLIMIT_MEMLOCK],[1],[RLIMIT_MEMLOCK constant for setrlimit])],,
961 [#ifdef HAVE_SYS_RESOURCE_H
962 #include <sys/resource.h>
963 #endif])
964
965AC_CHECK_DECL([SCHED_RR],
966 [AC_DEFINE([HAVE_SCHED_RR],[1],[SCHED_RR constant for sched_setscheduler])],,
967 [#ifdef HAVE_SCHED_H
968 #include <sched.h>
969 #endif])
970
817439d7
AM
971AC_CHECK_DECL([SCHED_FIFO],
972 [AC_DEFINE([HAVE_SCHED_FIFO],[1],[SCHED_FIFO constant for sched_setscheduler])],,
973 [#ifdef HAVE_SCHED_H
974 #include <sched.h>
975 #endif])
976
b382c0a4
MJ
977#
978# use mlockall only on linux (for now; if available)
979#
980if test "x${ac_cv_func_mlockall}" = "xyes"; then
981 AC_MSG_CHECKING([whether to use mlockall])
982 case "$host" in
983 *-linux-*)
984 AC_DEFINE([USE_MLOCKALL],[1],[Enable mlockall support])
985 AC_MSG_RESULT([yes])
986 USE_MLOCKALL=yes
987 ;;
988 *-freebsd*)
883de14f
JL
989 APR_ADDTO(SWITCH_AM_CFLAGS, -fPIC)
990 APR_ADDTO(SWITCH_AM_CXXFLAGS, -fPIC)
b382c0a4
MJ
991 AC_MSG_RESULT([no, broken for non-root users])
992 ;;
993 *)
994 AC_MSG_RESULT([no])
995 ;;
996 esac
997
998 #
999 # setrlimit prerequisites
1000 #
1001 if test "x${USE_MLOCKALL}" = "xyes" -a \
1002 "x${ac_cv_func_setrlimit}" = "xyes" -a \
1003 "x${ac_cv_have_decl_RLIMIT_MEMLOCK}" = "xyes"
1004 then
1005 AC_DEFINE([USE_SETRLIMIT],[1],[Use setrlimit to disable mlock limit for non-root users])
1006 fi
1007fi
1008
1009#
1010# sched_setcheduler + round-robin scheduler prerequisites
1011#
1012if test "x${ac_cv_func_sched_setscheduler}" = "xyes" -a \
1013 "x${ac_cv_have_decl_SCHED_RR}" = "xyes"
1014then
1015 AC_DEFINE([USE_SCHED_SETSCHEDULER],[1],[Enable round-robin scheduler using sched_setscheduler])
1016fi
4062b636
AM
1017#
1018# xmlrpc-c checks
1019#
1020
6b6c83a7 1021AC_CHECK_FUNCS(setenv strtoll strtoull strtoq strtouq __strtoll __strtoull)
4062b636
AM
1022
1023HAVE_LIBWWW_SSL_DEFINE=0
1024AC_SUBST(HAVE_LIBWWW_SSL_DEFINE)
1025
1026DIRECTORY_SEPARATOR="/"
1027AC_SUBST(DIRECTORY_SEPARATOR)
1028
1029va_list_is_array=no
1030AC_MSG_CHECKING(whether va_list is an array)
1031AC_TRY_COMPILE([
1032#include <stdarg.h>
1033], [va_list list1, list2; list1 = list2;], ,
1034va_list_is_array=yes)
1035AC_MSG_RESULT($va_list_is_array)
1036if test x"$va_list_is_array" = xyes; then
1037 VA_LIST_IS_ARRAY_DEFINE=1
1038else
1039 VA_LIST_IS_ARRAY_DEFINE=0
1040fi
1041AC_SUBST(VA_LIST_IS_ARRAY_DEFINE)
1042
554f476c 1043
4062b636
AM
1044AC_MSG_CHECKING(whether compiler has __attribute__)
1045AC_TRY_COMPILE(, [int x __attribute__((__unused__));],
1046compiler_has_attribute=yes,
1047compiler_has_attribute=no)
1048AC_MSG_RESULT($compiler_has_attribute)
1049if test x"$compiler_has_attribute" = xyes; then
1050 ATTR_UNUSED="__attribute__((__unused__))"
1051else
1052 ATTR_UNUSED=
1053fi
1054AC_SUBST(ATTR_UNUSED)
1055
1056
554f476c
MJ
1057saved_CFLAGS="$CFLAGS"
1058AC_CACHE_CHECK([whether compiler supports -Wdeclaration-after-statement], [ac_cv_gcc_declaration_after_statement], [
1059CFLAGS="$CFLAGS -Wdeclaration-after-statement"
1060AC_TRY_COMPILE([],[return 0;],[ac_cv_gcc_declaration_after_statement=yes],[ac_cv_gcc_declaration_after_statement=no])
1061])
1062AC_MSG_RESULT($ac_cv_gcc_declaration_after_statement)
1063if test x"$ac_cv_gcc_declaration_after_statement" = xyes; then
1064 APR_ADDTO(SWITCH_ANSI_CFLAGS, -Wdeclaration-after-statement)
1065fi
1066CFLAGS="$saved_CFLAGS"
4da77ea5 1067
c7ccf84a
MJ
1068if test "x${ax_cv_c_compiler_vendor}" = "xclang" ; then
1069 # Next check added for Xcode 5 and systems with clang 5 llvm 3.3 or above, extended offset must be off
1070 AC_CACHE_CHECK([whether compiler supports -Wextended-offsetof], [ac_cv_clang_extended_offsetof], [
1071 AC_TRY_COMPILE([],[return 0;],[ac_cv_clang_extended_offsetof=yes],[ac_cv_clang_extended_offsetof=no])
1072 ])
1073 AC_MSG_RESULT($ac_cv_clang_extended_offsetof)
1074 if test x"$ac_cv_clang_extended_offsetof" = xyes; then
1075 APR_ADDTO(CFLAGS, -Wno-extended-offsetof)
1076 fi
44d5d43b
MJ
1077fi
1078
eb8ff5a0 1079# Tested and fixed lot of modules, but some are untested. Will be added back when the core team decide it ready
d3dbc740 1080# Untested modules : mod_osp mod_soundtouch mod_sangoma_codec mod_dingaling mod_opal mod_h323 mod_khomp
eb8ff5a0
MOC
1081# mod_unimrcp mod_cepstral mod_erlang_event mod_snmp mod_perl mod_java mod_managed
1082#
1083#saved_CFLAGS="$CFLAGS"
1084#AC_CACHE_CHECK([whether compiler supports -Wunused-but-set-variable], [ac_cv_gcc_unused_but_set_variable], [
1085#CFLAGS="$CFLAGS -Wunused-but-set-variable"
1086#AC_TRY_COMPILE([],[return 0;],[ac_cv_gcc_unused_but_set_variable=yes],[ac_cv_gcc_unused_but_set_variable=no])
1087#])
1088#AC_MSG_RESULT($ac_cv_gcc_unused_but_set_variable)
1089#if test x"$ac_cv_gcc_unused_but_set_variable" = xyes; then
1090# APR_ADDTO(SWITCH_ANSI_CFLAGS, -Wunused-but-set-variable)
1091#fi
1092#CFLAGS="$saved_CFLAGS"
f952719e 1093
44cc7d5c 1094AC_C_BIGENDIAN(AC_DEFINE([SWITCH_BYTE_ORDER],__BIG_ENDIAN,[Big Endian]),AC_DEFINE([SWITCH_BYTE_ORDER],__LITTLE_ENDIAN,[Little Endian]))
49a0eb29 1095
42e78242
MJ
1096# Checks for integer size
1097AC_CHECK_SIZEOF(char, 1)
1098AC_CHECK_SIZEOF(int, 4)
1099AC_CHECK_SIZEOF(long, 4)
1100AC_CHECK_SIZEOF(short, 2)
1101AC_CHECK_SIZEOF(long long, 8)
1102AC_TYPE_SIZE_T
1103AC_CHECK_TYPE(ssize_t, int)
1104
1105# Checks for pointer size
1106AC_CHECK_SIZEOF(void*, 4)
1107
1108if test "x$ac_cv_sizeof_voidp" != "x"; then
1109 voidp_size=$ac_cv_sizeof_voidp
1110else
1111 AC_ERROR([Cannot determine size of void*])
1112fi
1113
1114if test "$ac_cv_sizeof_short" = "2"; then
1115 short_value=short
1116fi
1117if test "$ac_cv_sizeof_int" = "4"; then
1118 int_value=int
1119fi
1120
1121if test "$ac_cv_sizeof_int" = "8"; then
1122 int64_t_fmt='#define SWITCH_INT64_T_FMT "d"'
1123 uint64_t_fmt='#define SWITCH_UINT64_T_FMT "u"'
1124 int64_value="int"
1125 long_value=int
1126elif test "$ac_cv_sizeof_long" = "8"; then
1127 int64_t_fmt='#define SWITCH_INT64_T_FMT "ld"'
1128 uint64_t_fmt='#define SWITCH_UINT64_T_FMT "lu"'
1129 int64_value="long"
1130 long_value=long
764b7958 1131 case "$host" in
44410b71
BW
1132 *pc-solaris2*)
1133 ;;
585cccd9
ST
1134 sparc-*-solaris2*)
1135 ;;
f6fe2667 1136 *-solaris2*|*apple-darwin*|*-openbsd*)
764b7958
MJ
1137 if test "$ac_cv_sizeof_long_long" = "8"; then
1138 int64_t_fmt='#define SWITCH_INT64_T_FMT "lld"'
1139 uint64_t_fmt='#define SWITCH_UINT64_T_FMT "llu"'
1140 int64_value="long long"
1141 long_value="long long"
1142 fi
1143 ;;
1144 esac
42e78242
MJ
1145elif test "$ac_cv_sizeof_long_long" = "8"; then
1146 int64_t_fmt='#define SWITCH_INT64_T_FMT "lld"'
1147 uint64_t_fmt='#define SWITCH_UINT64_T_FMT "llu"'
1148 int64_value="long long"
1149 long_value="long long"
1150elif test "$ac_cv_sizeof_longlong" = "8"; then
1151 int64_t_fmt='#define SWITCH_INT64_T_FMT "qd"'
1152 uint64_t_fmt='#define SWITCH_UINT64_T_FMT "qu"'
1153 int64_value="__int64"
1154 long_value="__int64"
1155else
1156 AC_ERROR([could not detect a 64-bit integer type])
1157fi
1158
1159if test "$ac_cv_type_size_t" = "yes"; then
1160 size_t_value="size_t"
1161else
1162 size_t_value="switch_int32_t"
1163fi
1164
1165if test "$ac_cv_type_ssize_t" = "yes"; then
1166 ssize_t_value="ssize_t"
1167else
1168 ssize_t_value="switch_int32_t"
1169fi
1170
1171APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], ssize_t, 8)
1172
1173if test "$ac_cv_sizeof_ssize_t" = "$ac_cv_sizeof_int"; then
1174 ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "d"'
1175elif test "$ac_cv_sizeof_ssize_t" = "$ac_cv_sizeof_long"; then
1176 ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "ld"'
1177else
1178 ssize_t_fmt='#error Can not determine the proper size for ssize_t'
1179fi
1180
1181APR_CHECK_SIZEOF_EXTENDED([#include <stddef.h>], size_t, 8)
1182
1183if test "$ac_cv_sizeof_size_t" = "$ac_cv_sizeof_int"; then
1184 size_t_fmt='#define SWITCH_SIZE_T_FMT "d"'
1185elif test "$ac_cv_sizeof_size_t" = "$ac_cv_sizeof_long"; then
1186 size_t_fmt='#define SWITCH_SIZE_T_FMT "ld"'
1187else
d90bac38 1188 size_t_fmt='#define SWITCH_SIZE_T_FMT "zu"'
42e78242
MJ
1189fi
1190
1191# Basically, we have tried to figure out the correct format strings
1192# for SWITCH types which vary between platforms, but we don't always get
1193# it right. If you find that we don't get it right for your platform,
1194# you can override our decision below.
1195# NOTE: borrowed much of this logic from apr.
1196case $host in
1197 s390*linux*)
1198 # uniquely, the 31-bit Linux/s390 uses "unsigned long int"
1199 # for size_t rather than "unsigned int":
1200 size_t_fmt='#define SWITCH_SIZE_T_FMT "lu"'
1201 ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "ld"'
1202 ;;
1203 *-os2*)
1204 size_t_fmt='#define SWITCH_SIZE_T_FMT "lu"'
1205 ;;
6d66ecfd
MJ
1206 *-openbsd*)
1207 size_t_fmt='#define SWITCH_SIZE_T_FMT "ld"'
1208 ;;
42e78242
MJ
1209 *aix4*|*aix5*)
1210 ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "ld"'
1211 size_t_fmt='#define SWITCH_SIZE_T_FMT "ld"'
1212 ;;
1213 *beos*)
1214 ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "ld"'
1215 size_t_fmt='#define SWITCH_SIZE_T_FMT "ld"'
1216 ;;
1217 *apple-darwin*)
5dee5ce1
BW
1218 ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "ld"'
1219 size_t_fmt='#define SWITCH_SIZE_T_FMT "lu"'
42e78242
MJ
1220 ;;
1221esac
1222
1223AC_SUBST(voidp_size)
1224AC_SUBST(short_value)
1225AC_SUBST(int_value)
1226AC_SUBST(long_value)
1227AC_SUBST(int64_value)
1228AC_SUBST(size_t_value)
1229AC_SUBST(ssize_t_value)
1230AC_SUBST(int64_t_fmt)
1231AC_SUBST(uint64_t_fmt)
1232AC_SUBST(ssize_t_fmt)
1233AC_SUBST(size_t_fmt)
42e78242 1234
f6fe2667
MJ
1235case $host in
1236 *-openbsd*)
1237 # OpenBSD's gunzip and friends don't like -d because its redundant, only gzip does
1238 AC_PATH_PROGS(ZCAT, gzip)
1239 ;;
1240 *)
1241 AC_PATH_PROGS(ZCAT, gunzip gzcat gzip zcat)
1242 ;;
1243esac
1244
50328a66
TC
1245AC_PATH_PROGS(BZIP, bzip2)
1246AC_PATH_PROGS(XZ, xz)
bc34fb76
MJ
1247AC_PATH_PROGS(TAR, gtar tar)
1248AC_PATH_PROGS(WGET, wget)
1249AC_PATH_PROGS(CURL, curl)
d2cf7f86 1250GETLIB="cd $switch_srcdir/libs && ${SHELL} $switch_builddir/build/getlib.sh"
c99d8c9b 1251AC_SUBST(GETLIB)
17d52112
MJ
1252GETG729="cd $switch_srcdir/libs && ${SHELL} $switch_builddir/build/getg729.sh"
1253AC_SUBST(GETG729)
d2cf7f86 1254GETSOUNDS="${SHELL} $switch_builddir/build/getsounds.sh"
3d5fcabe 1255AC_SUBST(GETSOUNDS)
c99d8c9b 1256
d1045b12
MJ
1257case $host in
1258 *-darwin*)
1259 path_push_unique PKG_CONFIG_PATH /usr/local/opt/curl/lib/pkgconfig
169a264c 1260 path_push_unique PKG_CONFIG_PATH /usr/local/opt/sqlite/lib/pkgconfig/
7da28a24 1261 path_push_unique PKG_CONFIG_PATH /usr/local/opt/ldns/lib/pkgconfig/
b186ca9f 1262 path_push_unique PKG_CONFIG_PATH /usr/local/opt/portaudio/lib/pkgconfig/
d1045b12
MJ
1263 ;;
1264esac
1265
c006db6f 1266if ! (test -x "$PKG_CONFIG" || test -x "$(which pkg-config)"); then
c96c733e
TC
1267 AC_MSG_ERROR([You need to install pkg-config to configure FreeSWITCH.])
1268fi
1269
cd650f60 1270# temporary workaround for Debian libldns-dev package bug
a3e1b7df 1271if test "$cross_compiling" != "yes" && test -f /usr/lib/pkg-config/libldns.pc; then
cd650f60
TC
1272 path_push_unique PKG_CONFIG_PATH /usr/lib/pkg-config
1273fi
1274
9d99c346
TC
1275module_enabled() {
1276 grep -v -e "\#" -e "^\$" modules.conf | sed -e "s|^.*/||" | grep "^${1}\$" >/dev/null
1277}
1278
ca7e3694
SK
1279AC_ARG_WITH(png,
1280 [AS_HELP_STRING([--without-png],
1281 [disable support for libpng])],
1282 [with_png="$withval"],
1283 [with_png="yes"])
1284if test "$with_png" = "yes"; then
1285 PKG_CHECK_MODULES([LIBPNG], [libpng >= 1.6.16],[
1286 AM_CONDITIONAL([HAVE_PNG],[true])],[
1287 PKG_CHECK_MODULES([LIBPNG], [libpng16 >= 1.6.16],[
1288 AM_CONDITIONAL([HAVE_PNG],[true])],[
1289 PKG_CHECK_MODULES([LIBPNG], [libpng >= 1.2.49],[
1290 AM_CONDITIONAL([HAVE_PNG],[true])],[
1291 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_PNG],[false])])])])
1292else
1293 AM_CONDITIONAL([HAVE_PNG],[false])
1294fi
086cf1c2 1295
ca7e3694
SK
1296AC_ARG_WITH(freetype,
1297 [AS_HELP_STRING([--without-freetype],
1298 [disable support for freetype])],
1299 [with_freetype="$withval"],
1300 [with_freetype="yes"])
1301if test "$with_freetype" = "yes"; then
1302 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 2.4.9],[
1303 AM_CONDITIONAL([HAVE_FREETYPE],[true])],[
1304 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_FREETYPE],[false])])
1305else
1306 AM_CONDITIONAL([HAVE_FREETYPE],[false])
1307fi
9b8a5edd
AM
1308
1309PKG_CHECK_MODULES([GUMBO], [gumbo >= 0.10.1],[
1310 AM_CONDITIONAL([HAVE_GUMBO],[true])],[
1311 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_GUMBO],[false])])
1312
bcfb72cb 1313PKG_CHECK_MODULES([SQLITE], [sqlite3 >= 3.6.20])
ad094b7a 1314PKG_CHECK_MODULES([CURL], [libcurl >= 7.19])
74da7aaf 1315PKG_CHECK_MODULES([PCRE], [libpcre >= 7.8])
b283db63 1316PKG_CHECK_MODULES([SPEEX], [speex >= 1.2rc1 speexdsp >= 1.2rc1])
f9d065cd
TC
1317PKG_CHECK_MODULES([YAML], [yaml-0.1 >= 0.1.4],[
1318 AM_CONDITIONAL([HAVE_YAML],[true])],[
c86b939f 1319 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_YAML],[false])])
a0e19e1c
TC
1320PKG_CHECK_MODULES([PORTAUDIO], [portaudio-2.0 >= 19],[
1321 AM_CONDITIONAL([HAVE_PORTAUDIO],[true])],[
1322 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_PORTAUDIO],[false])])
cd650f60
TC
1323PKG_CHECK_MODULES([LDNS], [libldns >= 1.6.6],[
1324 AM_CONDITIONAL([HAVE_LDNS],[true])],[
c44404d4
TC
1325 AC_CHECK_LIB([ldns], [ldns_str2rdf_a], [LDNS_LIBS=-lldns])
1326 AS_IF([test -z "$LDNS_LIBS"],[
9d99c346
TC
1327 if module_enabled mod_enum; then
1328 AC_MSG_ERROR([You need to either install libldns-dev or disable mod_enum in modules.conf])
1329 else
1330 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_LDNS],[false])
1331 fi],[
c44404d4 1332 AM_CONDITIONAL([HAVE_LDNS],[true])])])
91a6fc82
MJ
1333PKG_CHECK_MODULES([SNDFILE], [sndfile >= 1.0.20],[
1334 AM_CONDITIONAL([HAVE_SNDFILE],[true])],[
1335 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_SNDFILE],[false])])
4d62a1ad 1336
7375ad9e 1337PKG_CHECK_MODULES([MPG123], [libmpg123 >= 1.16.0],[
660e79ed
MJ
1338 AM_CONDITIONAL([HAVE_MPG123],[true])],[
1339 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_MPG123],[false])])
1340
c51b1b91 1341PKG_CHECK_MODULES([SHOUT], [shout >= 2.2.2],[
660e79ed
MJ
1342 AM_CONDITIONAL([HAVE_SHOUT],[true])],[
1343 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_SHOUT],[false])])
1344
3cb04ced
CS
1345mp3lame=false
1346AC_CHECK_LIB([mp3lame], [lame_init],[
1347 AC_CHECK_HEADER([lame/lame.h],[
1348 mp3lame=true
1349 AC_SUBST([MP3LAME_LIBS], [-lmp3lame])
1350 AC_SUBST([MP3LAME_CFLAGS], [$CPPFLAGS])])])
1351AM_CONDITIONAL([HAVE_MP3LAME],[$mp3lame])
660e79ed 1352
25dade86
AM
1353PKG_CHECK_MODULES([AVCODEC], [libavcodec >= 53.35.0],[
1354 AM_CONDITIONAL([HAVE_AVCODEC],[true])],[
1355 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_AVCODEC],[false])])
1356
d2d00056
MJ
1357PKG_CHECK_MODULES([X264], [x264 >= 0.142.2431],[
1358 AM_CONDITIONAL([HAVE_X264],[true])],[
1359 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_X264],[false])])
1360
25dade86
AM
1361PKG_CHECK_MODULES([AVFORMAT], [libavformat >= 53.21.1],[
1362 AM_CONDITIONAL([HAVE_AVFORMAT],[true])],[
1363 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_AVFORMAT],[false])])
6dec4de2 1364
a6c1a40b
MJ
1365PKG_CHECK_MODULES([AVUTIL], [libavutil >= 54.3.0],[
1366 AM_CONDITIONAL([HAVE_AVUTIL],[true])],[
1367 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_AVUTIL],[false])])
1368
1369PKG_CHECK_MODULES([AVRESAMPLE], [libavresample >= 2.1.0],[
1370 AM_CONDITIONAL([HAVE_AVRESAMPLE],[true])],[
1371 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_AVRESAMPLE],[false])])
1372
1373
f87f725e
MJ
1374PKG_CHECK_MODULES([SWSCALE], [libswscale >= 3.0.0],[
1375 AM_CONDITIONAL([HAVE_SWSCALE],[true])],[
1376 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_SWSCALE],[false])])
1377
c13d4bcb
AM
1378PKG_CHECK_MODULES([VLC], [libvlc >= 2.1.0],[
1379 AM_CONDITIONAL([HAVE_VLC],[true])],[
1380 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_VLC],[false])])
1381
3a8c6c38 1382PKG_CHECK_MODULES([OPENCV], [opencv >= 2.4.5],[
74737983
AM
1383 AM_CONDITIONAL([HAVE_OPENCV],[true])],[
1384 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_OPENCV],[false])])
1385
ecab16ed
SD
1386PKG_CHECK_MODULES([MAGICK], [ImageMagick >= 6.0.0],[
1387 AM_CONDITIONAL([HAVE_MAGICK],[true])],[
1388 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_MAGICK],[false])])
1389
91a6fc82
MJ
1390PKG_CHECK_MODULES([SILK], [silk >= 1.0.8],[
1391 AM_CONDITIONAL([HAVE_SILK],[true])],[
1392 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_SILK],[false])])
1393
1394PKG_CHECK_MODULES([BROADVOICE], [broadvoice >= 0.1.0],[
1395 AM_CONDITIONAL([HAVE_BROADVOICE],[true])],[
1396 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_BROADVOICE],[false])])
1397
6008cad2 1398PKG_CHECK_MODULES([ILBC], [ilbc2 >= 0.0.1],[
91a6fc82 1399 AM_CONDITIONAL([HAVE_ILBC],[true])],[
6008cad2
MJ
1400 PKG_CHECK_MODULES([ILBC], [ilbc >= 0.0.1],[
1401 AM_CONDITIONAL([HAVE_ILBC],[true])],[
1402 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_ILBC],[false])])])
91a6fc82
MJ
1403
1404PKG_CHECK_MODULES([G7221], [g722_1 >= 0.2.0],[
1405 AM_CONDITIONAL([HAVE_G7221],[true])],[
1406 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_G7221],[false])])
1407
1408PKG_CHECK_MODULES([CODEC2], [codec2 >= 0.2],[
1409 AM_CONDITIONAL([HAVE_CODEC2],[true])],[
1410 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_CODEC2],[false])])
1411
1412PKG_CHECK_MODULES([OPUS], [opus >= 1.1],[
1413 AM_CONDITIONAL([HAVE_OPUS],[true])],[
1414 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_OPUS],[false])])
1415
7375ad9e 1416PKG_CHECK_MODULES([SOUNDTOUCH], [soundtouch >= 1.7.0],[
91a6fc82
MJ
1417 AM_CONDITIONAL([HAVE_SOUNDTOUCH],[true])],[
1418 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_SOUNDTOUCH],[false])])
1419
1420PKG_CHECK_MODULES([FLITE], [flite >= 2.0.0],[
1421 AM_CONDITIONAL([HAVE_FLITE],[true])],[
1422 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_FLITE],[false])])
1423
1424PKG_CHECK_MODULES([MONGOC], [libmongoc-1.0 >= 1.0.8],[
1425 AM_CONDITIONAL([HAVE_MONGOC],[true])],[
1426 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_MONGOC],[false])])
1427
4bdb7129
JLC
1428PKG_CHECK_MODULES([MEMCACHED], [libmemcached >= 0.31],[
1429 AM_CONDITIONAL([HAVE_MEMCACHED],[true])
1430 MEMCACHED_LIBS="${MEMCACHED_LIBS} -lpthread"
1431 save_LIBS="${LIBS}"
1432 save_CPPFLAGS="${CPPFLAGS}"
1433 LIBS="${MEMCACHED_LIBS}"
1434 CPPFLAGS="${MEMCACHED_CFLAGS}"
1435 AC_CHECK_FUNCS([memcached_server_name memcached_stat_execute])
1436 AC_CHECK_TYPES([memcached_instance_st*],,, [[#include <libmemcached/memcached.h>]])
1437 LIBS="${save_LIBS}"
1438 CPPFLAGS="${save_CPPFLAGS}"
1439],[
1440 AC_MSG_RESULT([no])
1441 AM_CONDITIONAL([HAVE_MEMCACHED],[false])
1442])
1443
1a96f23f
WK
1444PKG_CHECK_MODULES([AMQP], [librabbitmq >= 0.5.2],[
1445 AM_CONDITIONAL([HAVE_AMQP],[true])],[
1446 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_AMQP],[false])])
1447
35b816bb
WK
1448PKG_CHECK_MODULES([H2O], [libh2o-evloop >= 0.11.0],[
1449 AM_CONDITIONAL([HAVE_H2O],[true])],[
1450 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_H2O],[false])])
1451
1452PKG_CHECK_MODULES([BROTLIENC], [libbrotlienc >= 0.1.0],[
1453 AM_CONDITIONAL([HAVE_BROTLIENC],[true])],[
1454 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_BROTLIENC],[false])])
1455
1456PKG_CHECK_MODULES([BROTLIDEC], [libbrotlidec >= 0.1.0],[
1457 AM_CONDITIONAL([HAVE_BROTLIDEC],[true])],[
1458 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_BROTLIDEC],[false])])
1459
5933a0d0
AM
1460PKG_CHECK_MODULES([TAP], [tap >= 0.1.0],[
1461 AM_CONDITIONAL([HAVE_TAP],[true])],[
1462 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_TAP],[false])])
1463
775ce5c0
WK
1464PKG_CHECK_MODULES([SMPP34], [libsmpp34 >= 1.10],[
1465 AM_CONDITIONAL([HAVE_SMPP34],[true])],[
1466 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_SMPP34],[false])])
1467
a7465e6c 1468PKG_CHECK_MODULES([HIREDIS], [hiredis >= 0.10.0],[
d1d0f553
WK
1469 AM_CONDITIONAL([HAVE_HIREDIS],[true])],[
1470 AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_HIREDIS],[false])])
1471
c5c13c26 1472AC_ARG_ENABLE(core-libedit-support,
8574988c 1473 [AS_HELP_STRING([--disable-core-libedit-support], [Compile without libedit Support])])
c5c13c26 1474
4bdef6e6
JLC
1475AS_IF([test "x$enable_core_libedit_support" != "xno"],[
1476 PKG_CHECK_MODULES([LIBEDIT], [libedit >= 2.11],,[
1477 AC_MSG_RESULT([no])
1478 AC_CHECK_LIB([edit], [el_line], [LIBEDIT_LIBS=-ledit])
7f5af042 1479 AC_CHECK_LIB([edit], [el_cursor], [ac_cv_has_el_cursor=yes])
4bdef6e6
JLC
1480 AC_CHECK_HEADER([histedit.h], [], [unset LIBEDIT_LIBS])
1481 AS_IF([test "x$LIBEDIT_LIBS" = "x"], [
1482 AC_MSG_ERROR([You need to either install libedit-dev (>= 2.11) or configure with --disable-core-libedit-support])
1483 ])])])
8574988c 1484
91a6fc82
MJ
1485dnl ---------------------------------------------------------------------------
1486dnl - OpenLDAP SDK
1487dnl ---------------------------------------------------------------------------
1488
1489AC_CHECK_LIB(ldap, ldap_search, with_ldap=yes)
1490dnl Check for other libraries we need to link with to get the main routines.
1491test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes], , -llber) }
1492test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes], , -llber -lkrb) }
1493test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes with_ldap_des=yes], , -llber -lkrb -ldes) }
1494test "$with_ldap_lber" != "yes" && { AC_CHECK_LIB(lber, ber_pvt_opt_on, with_ldap_lber=yes) }
1495
1496if test "$with_ldap" = "yes"; then
1497 if test "$with_ldap_des" = "yes" ; then
1498 OPENLDAP_LIBS="${OPENLDAP_LIBS} -ldes"
1499 fi
1500 if test "$with_ldap_krb" = "yes" ; then
1501 OPENLDAP_LIBS="${OPENLDAP_LIBS} -lkrb"
1502 fi
1503 if test "$with_ldap_lber" = "yes" ; then
1504 OPENLDAP_LIBS="${OPENLDAP_LIBS} -llber"
1505 fi
1506 OPENLDAP_LIBS="${OPENLDAP_LIBS} -lldap"
1507fi
1508
1509AM_CONDITIONAL([HAVE_LDAP],[test "x$with_ldap" == "xyes"])
1510
1511AC_SUBST(OPENLDAP_LIBS)
1512
8574988c
TC
1513AS_IF([test "x$enable_core_libedit_support" != "xno"], [
1514 # If making changes here, don't forget to run autoheader and
1515 # update libs/esl/src/include/esl_config_auto.h.in manually.
1516 AC_DEFINE([HAVE_LIBEDIT], [1], [Define to 1 if you have libedit is available])
7f5af042
MJ
1517if test x$ac_cv_has_el_cursor = xyes; then
1518 AC_DEFINE([HAVE_EL_CURSOR], [1], [Define to 1 if you have libedit el_cursor support])
1519fi
8574988c
TC
1520 save_LIBS="${LIBS}"
1521 save_CPPFLAGS="${CPPFLAGS}"
1522 LIBS="${LIBEDIT_LIBS}"
1523 CPPFLAGS="${LIBEDIT_CFLAGS}"
1524 AC_CHECK_DECLS([EL_PROMPT_ESC, EL_REFRESH],,, [[#include <histedit.h>]])
1525 AC_CHECK_FUNCS([el_wset])
1526 LIBS="${save_LIBS}"
1527 CPPFLAGS="${save_CPPFLAGS}"
1528])
28213aad 1529
219a2ecc
AT
1530SAC_OPENSSL
1531
9d6d8a1c
AT
1532if test x$HAVE_OPENSSL = x1; then
1533 openssl_CFLAGS="$openssl_CFLAGS -DHAVE_OPENSSL";
1d18b58b 1534 APR_ADDTO(SWITCH_AM_CFLAGS, -DHAVE_OPENSSL)
2fe3ef03 1535 AC_CHECK_LIB(ssl, SSL_CTX_set_tlsext_use_srtp, AC_DEFINE_UNQUOTED(HAVE_OPENSSL_DTLS_SRTP, 1, HAVE_OPENSSL_DTLS_SRTP), AC_MSG_ERROR([OpenSSL >= 1.0.1e and associated developement headers required]))
85d6b9af 1536 AC_CHECK_LIB(ssl, DTLSv1_method, AC_DEFINE_UNQUOTED(HAVE_OPENSSL_DTLS, 1, HAVE_OPENSSL_DTLS), AC_MSG_ERROR([OpenSSL >= 1.0.1e and associaed developement headers required]))
15f219ea 1537else
f2331de6 1538 AC_MSG_ERROR([OpenSSL >= 1.0.1e and associated developement headers required])
9d6d8a1c
AT
1539fi
1540
e69fe7e3 1541AX_CHECK_JAVA
7df787b7 1542
2e32d105
PO
1543# Option to enable static linking of Google's V8 inside mod_v8
1544AC_ARG_ENABLE(static-v8,
1545[AS_HELP_STRING([--enable-static-v8], [Statically link V8 into mod_v8])], [enable_static_v8="$enableval"], [enable_static_v8="no"])
1546AM_CONDITIONAL([ENABLE_STATIC_V8],[test "x$enable_static_v8" != "xno"])
c8fa0f0c
PO
1547
1548# Option to disable parallel build of Google's V8
1549AC_ARG_ENABLE(parallel-build-v8,
1550[AS_HELP_STRING([--disable-parallel-build-v8], [Disable parallel build of V8])], [enable_parallel_build_v8="$enableval"], [enable_parallel_build_v8="yes"])
1551AM_CONDITIONAL([ENABLE_PARALLEL_BUILD_V8],[test "x$enable_parallel_build_v8" != "xno"])
753fa8fb 1552
0d88d95f
MJ
1553if test "`uname -m`" = "x86_64"; then
1554 V8_TARGET="x64"
1555else
1556 V8_TARGET="x86"
1557fi
1558AC_SUBST(V8_TARGET)
1559
31b743d6 1560AM_CONDITIONAL([HAVE_ODBC],[test "x$enable_core_odbc_support" != "xno"])
778a82cc 1561AM_CONDITIONAL([HAVE_MYSQL],[test "$found_mysql" = "yes"])
49a0eb29 1562
719d37db
BW
1563#
1564# perl checks
1565#
1566
5014b80d 1567AC_CHECK_PROG(PERL,perl,[ac_cv_have_perl=yes],[ac_cv_have_perl=no])
5014b80d 1568
82dbc5d2
MJ
1569# -a "x$ac_cv_have_EXTERN_h" != "xno"
1570
1571if test "x$ac_cv_have_perl" != "xno"; then
230b2178 1572 PERL=perl
82dbc5d2 1573 PERL_SITEDIR="`$PERL -MConfig -e 'print $Config{archlib}'`"
5014b80d
BW
1574 PERL_LIBDIR="-L`$PERL -MConfig -e 'print $Config{archlib}'`/CORE"
1575 PERL_LIBS="`$PERL -MConfig -e 'print $Config{libs}'`"
94f35990
MJ
1576 PERL_CFLAGS="-w -DMULTIPLICITY `$PERL -MExtUtils::Embed -e ccopts | sed -e 's|-arch x86_64 -arch i386||'` -DEMBED_PERL"
1577 PERL_LDFLAGS="`$PERL -MExtUtils::Embed -e ldopts| sed -e 's|-arch x86_64 -arch i386||'`"
5014b80d 1578 PERL_INC="`$PERL -MExtUtils::Embed -e perl_inc`"
82dbc5d2 1579
5dd77913
MJ
1580 save_CFLAGS="$CFLAGS"
1581 CFLAGS="$PERL_CFLAGS"
1582 AC_CHECK_HEADER([EXTERN.h], [ac_cv_have_EXTERN_h=yes], [ac_cv_have_EXTERN_h=no], [[#include <EXTERN.h>
1583# include <perl.h>]])
1584 CFLAGS="$save_CFLAGS"
82dbc5d2 1585
548be286
MJ
1586 save_LDFLAGS="$LDFLAGS"
1587 LDFLAGS="$PERL_LDFLAGS"
1588 AC_CHECK_LIB([perl], [perl_alloc], ac_cv_use_libperl=yes, ac_cv_use_libperl=no)
1589 LDFLAGS="$save_LDFLAGS"
1590
5014b80d
BW
1591 AC_SUBST(PERL_SITEDIR)
1592 AC_SUBST(PERL_LIBDIR)
1593 AC_SUBST(PERL_LIBS)
1594 AC_SUBST(PERL_CFLAGS)
1595 AC_SUBST(PERL_LDFLAGS)
1596 AC_SUBST(PERL_INC)
1597fi
1598
548be286 1599AM_CONDITIONAL([HAVE_PERL],[test "x$ac_cv_have_perl" != "xno" -a "x$ac_cv_have_EXTERN_h" != "xno" -a "x$ac_cv_use_libperl" != "xno"])
82dbc5d2 1600
719d37db
BW
1601#
1602# php checks
1603#
1604
1605AC_CHECK_PROG(PHP,php,[ac_cv_have_php=yes],[ac_cv_have_php=no])
1606AC_CHECK_PROG(PHP_CONFIG,php-config,[ac_cv_have_php_config=yes],[ac_cv_have_php_config=no])
1607AM_CONDITIONAL([HAVE_PHP],[test "x$ac_cv_have_php" != "xno" -a "x$ac_cv_have_php_config" != "xno"])
1608
1609if test "x$ac_cv_have_php" != "xno" -a "x$ac_cv_have_php_config" != "xno"; then
1610 PHP=php
1611 PHP_CONFIG=php-config
1612 PHP_LDFLAGS="`$PHP_CONFIG --ldflags`"
1613 PHP_LIBS="`$PHP_CONFIG --libs | sed -r 's/ ?-l(bz2|pcre|xml2|gssapi_krb5|krb5|k5crypto|com_err|history|z|readline|gmp|ssl|crypto)//g'`"
1614 PHP_EXT_DIR="`$PHP_CONFIG --extension-dir`"
1615 PHP_INC_DIR="`$PHP -r 'echo ini_get("include_path");' | cut -d: -f2`"
1616 PHP_INI_DIR="`$PHP_CONFIG --configure-options | tr " " "\n" | grep -- --with-config-file-scan-dir | cut -f2 -d=`"
1617 PHP_CFLAGS="`$PHP_CONFIG --includes`"
1618 AC_SUBST(PHP_LDFLAGS)
1619 AC_SUBST(PHP_LIBS)
1620 AC_SUBST(PHP_EXT_DIR)
1621 AC_SUBST(PHP_INC_DIR)
1622 AC_SUBST(PHP_INI_DIR)
1623 AC_SUBST(PHP_CFLAGS)
1624fi
1625
e8c88aa1
SK
1626#
1627# Python checks for mod_python
1628#
1629AC_ARG_WITH(
1630 [python],
1631 [AS_HELP_STRING([--with-python], [Use system provided version of python (default: try)])],
1632 [with_python="$withval"],
1633 [with_python="try"]
1634)
1635
e8c88aa1
SK
1636if test "$with_python" != "no"
1637then
2d14539e
SK
1638 save_CFLAGS="$CFLAGS"
1639 save_LIBS="$LIBS"
1640
e8c88aa1
SK
1641 if test "$with_python" != "yes" -a "$with_python" != "try" ; then
1642 AC_MSG_CHECKING([for python])
1643 if test ! -x "$with_python" ; then
1644 AC_MSG_ERROR([Specified python does not exist or is not executable: $with_python])
1645 fi
1646 AC_MSG_RESULT([$with_python])
1647 AC_SUBST([PYTHON], ["$with_python"])
1648 else
1649 AC_PATH_PROG([PYTHON], ["python"], ["no"], ["$PATH:/usr/bin:/usr/local/bin"])
1650 fi
1651
1652 if test "$PYTHON" != "no" ; then
1653 AC_MSG_CHECKING([python version])
1654 PYTHON_VER="`$PYTHON -V 2>&1 | cut -d' ' -f2`"
1655
1656 if test -z "$PYTHON_VER" ; then
1657 AC_MSG_ERROR([Unable to detect python version])
1658 fi
1659 AC_MSG_RESULT([$PYTHON_VER])
1660
2d14539e 1661 AC_MSG_CHECKING([for python distutils])
baf944eb
SK
1662 python_result="`$PYTHON -c 'import distutils;' 2>&1`"
1663 if test -z "$python_result" ; then
2d14539e 1664 python_has_distutils="yes"
baf944eb
SK
1665 else
1666 python_has_distutils="no"
2d14539e
SK
1667 fi
1668 AC_MSG_RESULT([$python_has_distutils])
1669
baf944eb 1670 if test "$python_has_distutils" != "no" ; then
f08ac862
SK
1671 AC_MSG_CHECKING([location of site-packages])
1672
83680470 1673 PYTHON_SITE_DIR="`$PYTHON -c 'from distutils import sysconfig; print(sysconfig.get_python_lib(0));'`"
f08ac862
SK
1674
1675 if test -z "$PYTHON_SITE_DIR" ; then
1676 AC_MSG_ERROR([Unable to detect python site-packages path])
1677 elif test ! -d "$PYTHON_SITE_DIR" ; then
1678 AC_MSG_ERROR([Path $PYTHON_SITE_DIR returned by python does not exist!])
1679 fi
1680 AC_MSG_RESULT([$PYTHON_SITE_DIR])
1681 AC_SUBST([PYTHON_SITE_DIR], [$PYTHON_SITE_DIR])
1682
2d14539e
SK
1683 #
1684 # python distutils found, get settings from python directly
1685 #
93129e32 1686 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'`"
83680470
SK
1687 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));'`"
1688 PYTHON_LIB="`$PYTHON -c 'from distutils import sysconfig; print(\"python\" + sysconfig.get_config_var(\"VERSION\"));'`"
1689 PYTHON_LIBDIR="`$PYTHON -c 'from distutils import sysconfig; print(sysconfig.get_config_var(\"LIBDIR\"));'`"
ba892c27
SK
1690
1691 # handle python being installed into /usr/local
1692 AC_MSG_CHECKING([python libdir])
1693 if test -z "`echo $PYTHON_LIBDIR | grep "/usr/lib"`" ; then
1694 PYTHON_LDFLAGS="-L$PYTHON_LIBDIR $PYTHON_LDFLAGS"
1695 LIBS="-L$PYTHON_LIBDIR $LIBS"
1696 fi
1697 AC_MSG_RESULT([$PYTHON_LIBDIR])
e8c88aa1 1698
2d14539e
SK
1699 # check libpython
1700 AC_CHECK_LIB([$PYTHON_LIB], [main], [has_libpython="yes"], [has_libpython="no"])
1701
1702 if test "$has_libpython" = "no" ; then
1703 AS_IF([test "$with_python" = "try"],
1704 [AC_MSG_WARN([$PYTHON_LIB is unusable])],
1705 [AC_MSG_ERROR([$PYTHON_LIB is unusable])]
1706 )
1707 fi
e8c88aa1
SK
1708
1709 # check whether system libpython is usable and has threads support
2d14539e 1710 CFLAGS="$PYTHON_CFLAGS"
e8c88aa1
SK
1711 LIBS="$PYTHON_LDFLAGS"
1712 AC_CHECK_FUNC([PyThread_init_thread], [python_has_threads="yes"], [python_has_threads="no"])
e8c88aa1 1713
2d14539e
SK
1714 if test "$python_has_threads" = "no"; then
1715 AS_IF([test "$with_python" = "try"],
1716 [AC_MSG_WARN([Your python lacks threads support, can not build mod_python])],
1717 [AC_MSG_ERROR([Your python lacks threads support, can not build mod_python])]
1718 )
e8c88aa1
SK
1719 else
1720 AC_MSG_NOTICE([Your python seems OK, do not forget to enable mod_python in modules.conf])
2d14539e 1721 AC_SUBST([PYTHON_CFLAGS], [$PYTHON_CFLAGS])
e8c88aa1
SK
1722 AC_SUBST([PYTHON_LDFLAGS], [$PYTHON_LDFLAGS])
1723 fi
1724 else
2d14539e 1725 AS_IF([test "$with_python" = "try"],
baf944eb
SK
1726 [AC_MSG_WARN([Could not find or use python distutils module: $python_result])],
1727 [AC_MSG_ERROR([Could not find or use python distutils module: $python_result])]
2d14539e 1728 )
e8c88aa1
SK
1729 fi
1730
2d14539e
SK
1731 LIBS="$save_LIBS"
1732 CFLAGS="$save_CFLAGS"
1733
1734 unset python_has_threads
1735 unset python_has_distutils
baf944eb 1736 unset python_result
2d14539e
SK
1737 else
1738 AS_IF([test "$with_python" = "try"],
1739 [AC_MSG_WARN([Could not find python, mod_python will not build, use --with-python to specify the location])],
1740 [AC_MSG_ERROR([Could not find python, use --with-python to specify the location])]
1741 )
e8c88aa1
SK
1742 fi
1743else
1744 AC_MSG_WARN([python support disabled, building mod_python will fail!])
1745fi
1746
a2fd327f
ST
1747#
1748# SNMP checks for mod_snmp
1749#
1750AC_PATH_PROG([NET_SNMP_CONFIG], [net-snmp-config], [no])
1751if test "$NET_SNMP_CONFIG" != "no"; then
1752 AC_MSG_CHECKING([for Net-SNMP libraries via net-snmp-config])
1753 SNMP_LIBS="`$NET_SNMP_CONFIG --base-agent-libs`"
1754else
1755 # net-snmp-config not in path, fallback to sensible defaults
1756 SNMP_LIBS="-lnetsnmpmibs -lnetsnmpagent -lnetsnmp"
1757fi
1758
1759# fix linking error on Solaris patched Net-SNMP
1760AS_CASE([$host], [*-solaris2*], [AC_CHECK_LIB([dladm], [dladm_open], [SNMP_LIBS="$SNMP_LIBS -ldladm"])])
1761AC_SUBST(SNMP_LIBS)
1762
ea0316b8
AT
1763CHECK_ERLANG
1764
7dba19ce
MJ
1765# we never use this, and hard setting it will make cross compile work better
1766ac_cv_file_dbd_apr_dbd_mysql_c=no
1767
42e78242 1768AC_CONFIG_FILES([Makefile
7b3d3f7e
AM
1769 build/Makefile
1770 src/Makefile
1771 src/mod/Makefile
bcd9f49f
MJ
1772 src/mod/applications/mod_abstraction/Makefile
1773 src/mod/applications/mod_avmd/Makefile
fa3a1a0b 1774 src/mod/applications/mod_bert/Makefile
bcd9f49f
MJ
1775 src/mod/applications/mod_blacklist/Makefile
1776 src/mod/applications/mod_callcenter/Makefile
1777 src/mod/applications/mod_cidlookup/Makefile
1778 src/mod/applications/mod_cluechoo/Makefile
1779 src/mod/applications/mod_commands/Makefile
1780 src/mod/applications/mod_conference/Makefile
1781 src/mod/applications/mod_curl/Makefile
74737983 1782 src/mod/applications/mod_cv/Makefile
bcd9f49f
MJ
1783 src/mod/applications/mod_db/Makefile
1784 src/mod/applications/mod_directory/Makefile
1785 src/mod/applications/mod_distributor/Makefile
1786 src/mod/applications/mod_dptools/Makefile
1787 src/mod/applications/mod_easyroute/Makefile
1788 src/mod/applications/mod_enum/Makefile
1789 src/mod/applications/mod_esf/Makefile
1790 src/mod/applications/mod_esl/Makefile
aad61cad 1791 src/mod/applications/mod_expr/Makefile
bcd9f49f
MJ
1792 src/mod/applications/mod_fifo/Makefile
1793 src/mod/applications/mod_fsk/Makefile
1794 src/mod/applications/mod_fsv/Makefile
1795 src/mod/applications/mod_hash/Makefile
d1d0f553 1796 src/mod/applications/mod_hiredis/Makefile
bcd9f49f
MJ
1797 src/mod/applications/mod_httapi/Makefile
1798 src/mod/applications/mod_http_cache/Makefile
1799 src/mod/applications/mod_ladspa/Makefile
1800 src/mod/applications/mod_lcr/Makefile
1801 src/mod/applications/mod_limit/Makefile
1802 src/mod/applications/mod_memcache/Makefile
1803 src/mod/applications/mod_mongo/Makefile
1804 src/mod/applications/mod_mp4/Makefile
ae8ddfd4 1805 src/mod/applications/mod_mp4v2/Makefile
bcd9f49f
MJ
1806 src/mod/applications/mod_nibblebill/Makefile
1807 src/mod/applications/mod_oreka/Makefile
dc06a039 1808 src/mod/applications/mod_osp/Makefile
a537d803 1809 src/mod/applications/mod_prefix/Makefile
bcd9f49f
MJ
1810 src/mod/applications/mod_rad_auth/Makefile
1811 src/mod/applications/mod_random/Makefile
1812 src/mod/applications/mod_redis/Makefile
1813 src/mod/applications/mod_rss/Makefile
1814 src/mod/applications/mod_skel/Makefile
1815 src/mod/applications/mod_sms/Makefile
35b816bb 1816 src/mod/applications/mod_sms_flowroute/Makefile
bcd9f49f 1817 src/mod/applications/mod_snapshot/Makefile
bcd9f49f
MJ
1818 src/mod/applications/mod_snom/Makefile
1819 src/mod/applications/mod_sonar/Makefile
1820 src/mod/applications/mod_soundtouch/Makefile
1821 src/mod/applications/mod_spandsp/Makefile
1822 src/mod/applications/mod_spy/Makefile
ea181ca4 1823 src/mod/applications/mod_stress/Makefile
bcd9f49f
MJ
1824 src/mod/applications/mod_translate/Makefile
1825 src/mod/applications/mod_valet_parking/Makefile
1826 src/mod/applications/mod_vmd/Makefile
1827 src/mod/applications/mod_voicemail/Makefile
1828 src/mod/applications/mod_voicemail_ivr/Makefile
1829 src/mod/asr_tts/mod_cepstral/Makefile
1830 src/mod/asr_tts/mod_flite/Makefile
1831 src/mod/asr_tts/mod_pocketsphinx/Makefile
1832 src/mod/asr_tts/mod_tts_commandline/Makefile
1833 src/mod/asr_tts/mod_unimrcp/Makefile
1834 src/mod/codecs/mod_amr/Makefile
1835 src/mod/codecs/mod_amrwb/Makefile
1836 src/mod/codecs/mod_b64/Makefile
1837 src/mod/codecs/mod_bv/Makefile
92146d8e 1838 src/mod/codecs/mod_clearmode/Makefile
bcd9f49f 1839 src/mod/codecs/mod_codec2/Makefile
17d52112 1840 src/mod/codecs/mod_com_g729/Makefile
bcd9f49f
MJ
1841 src/mod/codecs/mod_dahdi_codec/Makefile
1842 src/mod/codecs/mod_g723_1/Makefile
1843 src/mod/codecs/mod_g729/Makefile
1844 src/mod/codecs/mod_h26x/Makefile
1845 src/mod/codecs/mod_ilbc/Makefile
1846 src/mod/codecs/mod_isac/Makefile
1847 src/mod/codecs/mod_mp4v/Makefile
1848 src/mod/codecs/mod_opus/Makefile
6dec4de2 1849 src/mod/codecs/mod_openh264/Makefile
bcd9f49f
MJ
1850 src/mod/codecs/mod_sangoma_codec/Makefile
1851 src/mod/codecs/mod_silk/Makefile
1852 src/mod/codecs/mod_siren/Makefile
1853 src/mod/codecs/mod_skel_codec/Makefile
1854 src/mod/codecs/mod_theora/Makefile
bcd9f49f
MJ
1855 src/mod/dialplans/mod_dialplan_asterisk/Makefile
1856 src/mod/dialplans/mod_dialplan_directory/Makefile
1857 src/mod/dialplans/mod_dialplan_xml/Makefile
1858 src/mod/directories/mod_ldap/Makefile
1859 src/mod/endpoints/mod_alsa/Makefile
1860 src/mod/endpoints/mod_dingaling/Makefile
524c566e 1861 src/mod/endpoints/mod_gsmopen/Makefile
bcd9f49f
MJ
1862 src/mod/endpoints/mod_h323/Makefile
1863 src/mod/endpoints/mod_khomp/Makefile
1864 src/mod/endpoints/mod_loopback/Makefile
1865 src/mod/endpoints/mod_opal/Makefile
59472c23 1866 src/mod/endpoints/mod_portaudio/Makefile
bcd9f49f
MJ
1867 src/mod/endpoints/mod_reference/Makefile
1868 src/mod/endpoints/mod_rtmp/Makefile
ad4eb5e0 1869 src/mod/endpoints/mod_skinny/Makefile
7b3d3f7e 1870 src/mod/endpoints/mod_sofia/Makefile
bcd9f49f 1871 src/mod/endpoints/mod_unicall/Makefile
5138f4d5 1872 src/mod/endpoints/mod_rtc/Makefile
1ffb1ee0 1873 src/mod/endpoints/mod_verto/Makefile
1a96f23f 1874 src/mod/event_handlers/mod_amqp/Makefile
bcd9f49f
MJ
1875 src/mod/event_handlers/mod_cdr_csv/Makefile
1876 src/mod/event_handlers/mod_cdr_mongodb/Makefile
1877 src/mod/event_handlers/mod_cdr_pg_csv/Makefile
1878 src/mod/event_handlers/mod_cdr_sqlite/Makefile
1879 src/mod/event_handlers/mod_erlang_event/Makefile
1880 src/mod/event_handlers/mod_event_multicast/Makefile
1881 src/mod/event_handlers/mod_event_socket/Makefile
1882 src/mod/event_handlers/mod_event_test/Makefile
4c1e7f24 1883 src/mod/event_handlers/mod_fail2ban/Makefile
bcd9f49f
MJ
1884 src/mod/event_handlers/mod_format_cdr/Makefile
1885 src/mod/event_handlers/mod_json_cdr/Makefile
d66839de 1886 src/mod/event_handlers/mod_kazoo/Makefile
bcd9f49f 1887 src/mod/event_handlers/mod_radius_cdr/Makefile
544c5faf 1888 src/mod/event_handlers/mod_odbc_cdr/Makefile
bcd9f49f 1889 src/mod/event_handlers/mod_rayo/Makefile
775ce5c0 1890 src/mod/event_handlers/mod_smpp/Makefile
bcd9f49f 1891 src/mod/event_handlers/mod_snmp/Makefile
c19bb4d1 1892 src/mod/event_handlers/mod_event_zmq/Makefile
ecab16ed 1893 src/mod/formats/mod_imagick/Makefile
bcd9f49f
MJ
1894 src/mod/formats/mod_local_stream/Makefile
1895 src/mod/formats/mod_native_file/Makefile
1896 src/mod/formats/mod_shell_stream/Makefile
1897 src/mod/formats/mod_shout/Makefile
1898 src/mod/formats/mod_sndfile/Makefile
1899 src/mod/formats/mod_ssml/Makefile
1900 src/mod/formats/mod_tone_stream/Makefile
1901 src/mod/formats/mod_vlc/Makefile
59472c23 1902 src/mod/formats/mod_portaudio_stream/Makefile
7b3d3f7e 1903 src/mod/languages/mod_java/Makefile
9b8392bc 1904 src/mod/languages/mod_lua/Makefile
bcd9f49f
MJ
1905 src/mod/languages/mod_managed/Makefile
1906 src/mod/languages/mod_perl/Makefile
7b3d3f7e 1907 src/mod/languages/mod_python/Makefile
b7623326 1908 src/mod/languages/mod_v8/Makefile
bcd9f49f 1909 src/mod/languages/mod_yaml/Makefile
3a273629 1910 src/mod/languages/mod_basic/Makefile
bcd9f49f 1911 src/mod/loggers/mod_console/Makefile
b5816d34 1912 src/mod/loggers/mod_graylog2/Makefile
bcd9f49f
MJ
1913 src/mod/loggers/mod_logfile/Makefile
1914 src/mod/loggers/mod_syslog/Makefile
c06287da 1915 src/mod/loggers/mod_raven/Makefile
bcd9f49f
MJ
1916 src/mod/say/mod_say_de/Makefile
1917 src/mod/say/mod_say_en/Makefile
1918 src/mod/say/mod_say_es/Makefile
11e62dd4 1919 src/mod/say/mod_say_es_ar/Makefile
bcd9f49f
MJ
1920 src/mod/say/mod_say_fa/Makefile
1921 src/mod/say/mod_say_fr/Makefile
1922 src/mod/say/mod_say_he/Makefile
1923 src/mod/say/mod_say_hr/Makefile
1924 src/mod/say/mod_say_hu/Makefile
1925 src/mod/say/mod_say_it/Makefile
1926 src/mod/say/mod_say_ja/Makefile
1927 src/mod/say/mod_say_nl/Makefile
1928 src/mod/say/mod_say_pl/Makefile
1929 src/mod/say/mod_say_pt/Makefile
1930 src/mod/say/mod_say_ru/Makefile
1931 src/mod/say/mod_say_sv/Makefile
1932 src/mod/say/mod_say_th/Makefile
1933 src/mod/say/mod_say_zh/Makefile
1934 src/mod/timers/mod_posix_timer/Makefile
1935 src/mod/timers/mod_timerfd/Makefile
1936 src/mod/xml_int/mod_xml_cdr/Makefile
1937 src/mod/xml_int/mod_xml_curl/Makefile
1938 src/mod/xml_int/mod_xml_ldap/Makefile
1939 src/mod/xml_int/mod_xml_radius/Makefile
1940 src/mod/xml_int/mod_xml_rpc/Makefile
1941 src/mod/xml_int/mod_xml_scgi/Makefile
2e1bdfb2 1942 src/mod/applications/mod_av/Makefile
a0a7b416 1943 src/mod/applications/mod_video_filter/Makefile
7b3d3f7e
AM
1944 src/include/switch_am_config.h
1945 build/getsounds.sh
1946 build/getlib.sh
17d52112 1947 build/getg729.sh
68b58406 1948 build/freeswitch.pc
7b3d3f7e 1949 build/modmake.rules
3ec53f0b 1950 libs/esl/Makefile
4e734db2 1951 libs/esl/perl/Makefile
719d37db 1952 libs/esl/php/Makefile
af192a2e 1953 libs/xmlrpc-c/include/xmlrpc-c/config.h
7b3d3f7e 1954 libs/xmlrpc-c/xmlrpc_config.h
6b6c83a7
JL
1955 libs/xmlrpc-c/config.mk
1956 libs/xmlrpc-c/srcdir.mk
1957 libs/xmlrpc-c/stamp-h
7b3d3f7e 1958 scripts/gentls_cert])
4da77ea5 1959
a6e9f279 1960AM_CONDITIONAL(ISLINUX, [test `uname -s` = Linux])
db399276 1961AM_CONDITIONAL(ISMAC, [test `uname -s` = Darwin])
fba1c2bf 1962AM_CONDITIONAL(ISFREEBSD, [test `uname -s` = FreeBSD])
a092a55a 1963AM_CONDITIONAL(IS64BITLINUX, [test `uname -m` = x86_64])
a6e9f279 1964
bcd9f49f
MJ
1965AM_CONDITIONAL(HAVE_G723_1, [ test -d ${switch_srcdir}/libs/libg723_1 ])
1966AM_CONDITIONAL(HAVE_G729, [ test -d ${switch_srcdir}/libs/libg729 ])
1967
c7753b06
MJ
1968#some vars to sub into the Makefile.am's
1969#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
1a2a79d0 1970LIBTOOL='$(SHELL) $(switch_builddir)/libtool'
c7753b06 1971TOUCH_TARGET='if test -f "$@";then touch "$@";fi;'
afe7d97f 1972CONF_MODULES='$$(grep -v "\#" $(switch_builddir)/modules.conf | sed -e "s|^.*/||" | sort | uniq )'
b9f2bdfb 1973CONF_DISABLED_MODULES='$$(grep "\#" $(switch_builddir)/modules.conf | grep -v "\#\#" | sed -e "s|^.*/||" | sort | uniq )'
afe7d97f
MJ
1974OUR_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 )'
1975OUR_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 )'
1976OUR_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 )'
1977OUR_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 )'
1978OUR_DISABLED_MODS='$$(tmp_mods="$(CONF_DISABLED_MODULES)"; mods="$$(for i in $$tmp_mods ; do echo $$i-all ; done )"; echo $$mods )'
1979OUR_DISABLED_CLEAN_MODS='$$(tmp_mods="$(CONF_DISABLED_MODULES)"; mods="$$(for i in $$tmp_mods ; do echo $$i-clean ; done )"; echo $$mods )'
1980OUR_DISABLED_INSTALL_MODS='$$(tmp_mods="$(CONF_DISABLED_MODULES)"; mods="$$(for i in $$tmp_mods ; do echo $$i-install ; done)"; echo $$mods )'
1981OUR_DISABLED_UNINSTALL_MODS='$$(tmp_mods="$(CONF_DISABLED_MODULES)"; mods="$$(for i in $$tmp_mods ; do echo $$i-uninstall ; done)"; echo $$mods )'
ed960392 1982
31069f33 1983#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`'
5f053e18 1984#AM_MAKEFLAGS='`test -n "$(VERBOSE)" || echo -s`'
c7753b06
MJ
1985AC_SUBST(LIBTOOL)
1986AC_SUBST(TOUCH_TARGET)
ed960392 1987AC_SUBST(CONF_DISABLED_MODULES)
5f053e18 1988AC_SUBST(CONF_MODULES)
ed960392 1989
5f053e18
MJ
1990AC_SUBST(OUR_MODS)
1991AC_SUBST(OUR_CLEAN_MODS)
1992AC_SUBST(OUR_INSTALL_MODS)
1993AC_SUBST(OUR_UNINSTALL_MODS)
ed960392
AM
1994AC_SUBST(OUR_DISABLED_MODS)
1995AC_SUBST(OUR_DISABLED_CLEAN_MODS)
1996AC_SUBST(OUR_DISABLED_INSTALL_MODS)
1997AC_SUBST(OUR_DISABLED_UNINSTALL_MODS)
c7753b06
MJ
1998AC_SUBST(AM_MAKEFLAGS)
1999
0763f694 2000ac_configure_args="$ac_configure_args --with-modinstdir=${modulesdir} CONFIGURE_CFLAGS='$CFLAGS $CPPFLAGS' CONFIGURE_CXXFLAGS='$CXXFLAGS $CPPFLAGS' CONFIGURE_LDFLAGS='$LDFLAGS' "
452b0bde 2001
40ff9a41
MJ
2002# --prefix='$prefix' --exec_prefix='$exec_prefix' --libdir='$libdir' --libexecdir='$libexecdir' --bindir='$bindir' --sbindir='$sbindir' \
2003# --localstatedir='$localstatedir' --datadir='$datadir'"
8f9ab613 2004
46f6981d 2005# Run configure in all the subdirs
236bfeea 2006AC_CONFIG_SUBDIRS([libs/srtp])
48712895
TC
2007if test "$use_system_apr" != "yes"; then
2008 AC_CONFIG_SUBDIRS([libs/apr])
2009fi
2010if test "$use_system_aprutil" != "yes"; then
2011 AC_CONFIG_SUBDIRS([libs/apr-util])
2012fi
236bfeea 2013AC_CONFIG_SUBDIRS([libs/iksemel])
236bfeea 2014AC_CONFIG_SUBDIRS([libs/libdingaling])
236bfeea 2015AC_CONFIG_SUBDIRS([libs/sofia-sip])
236bfeea
MJ
2016AC_CONFIG_SUBDIRS([libs/freetdm])
2017AC_CONFIG_SUBDIRS([libs/unimrcp])
236bfeea 2018AC_CONFIG_SUBDIRS([libs/spandsp])
236bfeea 2019if test "x${enable_zrtp}" = "xyes"; then
e5a1b54e 2020 AC_CONFIG_SUBDIRS([libs/libzrtp])
393b63b7 2021fi
ee3fc89f 2022
f6fe2667 2023case $host in
fb41b0f6
BW
2024 *-openbsd*|*-netbsd*)
2025 # libtool won't link static libs against shared ones on NetBSD/OpenBSD unless we tell it not to be stupid
f6fe2667
MJ
2026 AC_CONFIG_COMMANDS([hacklibtool], [cp libtool libtool.orig && sed -e "s/deplibs_check_method=.*/deplibs_check_method=pass_all/g" libtool.orig > libtool])
2027 ;;
2028esac
2029
2030
6e81dda1 2031AC_OUTPUT
5ccac21d
MJ
2032
2033##
2034## Configuration summary
2035##
2036
2037echo
8912b80e 2038echo "-------------------------- FreeSWITCH configuration --------------------------"
5ccac21d
MJ
2039echo ""
2040echo " Locations:"
5ccac21d
MJ
2041echo ""
2042echo " prefix: ${prefix}"
2043echo " exec_prefix: ${exec_prefix}"
2044echo " bindir: ${bindir}"
857a6131 2045echo " confdir: ${confdir}"
5ccac21d 2046echo " libdir: ${libdir}"
857a6131
MJ
2047echo " datadir: ${datadir}"
2048echo " localstatedir: ${localstatedir}"
2049echo " includedir: ${includedir}"
fd1b0279
TC
2050echo ""
2051echo " certsdir: ${certsdir}"
2052echo " dbdir: ${dbdir}"
2053echo " grammardir: ${grammardir}"
2054echo " htdocsdir: ${htdocsdir}"
857a6131 2055echo " fontsdir: ${fontsdir}"
fd1b0279 2056echo " logfiledir: ${logfiledir}"
5ccac21d 2057echo " modulesdir: ${modulesdir}"
fd1b0279
TC
2058echo " pkgconfigdir: ${pkgconfigdir}"
2059echo " recordingsdir: ${recordingsdir}"
857a6131 2060echo " imagesdir: ${imagesdir}"
5ccac21d 2061echo " runtimedir: ${runtimedir}"
fd1b0279
TC
2062echo " scriptdir: ${scriptdir}"
2063echo " soundsdir: ${soundsdir}"
2064echo " storagedir: ${storagedir}"
ce96d95c 2065echo " cachedir: ${cachedir}"
5ccac21d 2066echo ""
8912b80e 2067echo "------------------------------------------------------------------------------"