]>
Commit | Line | Data |
---|---|---|
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 | |
8e76877a | 6 | AC_INIT([freeswitch], [1.0.head], BUG-REPORT-ADDRESS) |
8ef2aa54 MJ |
7 | AC_SUBST(SWITCH_VERSION_MAJOR, [1]) |
8 | AC_SUBST(SWITCH_VERSION_MINOR, [0]) | |
8e76877a MJ |
9 | AC_SUBST(SWITCH_VERSION_MICRO, [head]) |
10 | #AC_SUBST(SWITCH_VERSION_REVISION, []) | |
8ef2aa54 MJ |
11 | |
12 | AC_CONFIG_FILES([src/include/switch_version.h.in:src/include/switch_version.h.template]) | |
4df02914 | 13 | AC_CONFIG_FILES([.version:.version.in]) |
7a5bc3b7 | 14 | |
e8b9a4f7 | 15 | AC_CONFIG_AUX_DIR(build/config) |
4da77ea5 AM |
16 | AM_INIT_AUTOMAKE(libfreeswitch,0.1) |
17 | AC_CONFIG_SRCDIR([src/switch.c]) | |
42e78242 | 18 | AC_CONFIG_HEADER([src/include/switch_private.h]) |
4062b636 | 19 | AC_CONFIG_HEADER([libs/xmlrpc-c/xmlrpc_amconfig.h]) |
42e78242 | 20 | |
a642381f | 21 | AC_PREFIX_DEFAULT(/usr/local/freeswitch) |
94206d80 MJ |
22 | # AC_PREFIX_DEFAULT does not get expanded until too late so we need to do this to use prefix in this script |
23 | if test "x$prefix" = "xNONE" ; then | |
24 | prefix='/usr/local/freeswitch' | |
25 | fi | |
55b3e6cb | 26 | |
31d1e20f BW |
27 | AC_CANONICAL_HOST |
28 | ||
55b3e6cb MJ |
29 | # Absolute source/build directory |
30 | switch_srcdir=`(cd $srcdir && pwd)` | |
31 | switch_builddir=`pwd` | |
32 | AC_SUBST(switch_srcdir) | |
33 | AC_SUBST(switch_builddir) | |
34 | ||
b552cb3a | 35 | # Where to install the modules |
2bcd991b | 36 | AC_ARG_WITH([modinstdir], |
5ccac21d MJ |
37 | [AS_HELP_STRING([--with-modinstdir=DIR], [Install modules into this location (default: $prefix/mod)])], [modulesdir="$withval"], [modulesdir="${prefix}/mod"]) |
38 | AC_SUBST(modulesdir) | |
39 | AC_DEFINE_UNQUOTED([SWITCH_MOD_DIR],"${modulesdir}",[where to install the modules to]) | |
1481d37f | 40 | |
88aa159b MJ |
41 | if test "$localstatedir" = "\${prefix}/var" ; then |
42 | rundir="$prefix/run" | |
43 | logfiledir="${prefix}/log" | |
44 | else | |
45 | rundir="$localstatedir/run/freeswitch" | |
46 | logfiledir="$localstatedir/log/freeswitch" | |
47 | fi | |
107f9135 MJ |
48 | # Where to put pidfile |
49 | AC_ARG_WITH([rundir], | |
88aa159b | 50 | [AS_HELP_STRING([--with-rundir=DIR], [Put pidfile into this location (default: $prefix/run)])], [runtimedir="$withval"], [runtimedir="$rundir"]) |
5ccac21d MJ |
51 | AC_SUBST(runtimedir) |
52 | AC_DEFINE_UNQUOTED([SWITCH_RUN_DIR],"${runtimedir}",[where to put pidfile to]) | |
53 | ||
5ccac21d MJ |
54 | AC_SUBST(logfiledir) |
55 | AC_DEFINE_UNQUOTED([SWITCH_LOG_DIR],"${logfiledir}",[where to put log files]) | |
107f9135 | 56 | |
5ccac21d MJ |
57 | dbdir="${prefix}/db" |
58 | AC_SUBST(dbdir) | |
59 | AC_DEFINE_UNQUOTED([SWITCH_DB_DIR],"${dbdir}",[where to put db files]) | |
60 | ||
89ae5f47 MJ |
61 | htdocsdir="${prefix}/htdocs" |
62 | AC_SUBST(htdocsdir) | |
63 | AC_DEFINE_UNQUOTED([SWITCH_HTDOCS_DIR],"${htdocsdir}",[where to put htdocs files]) | |
64 | ||
d1c60899 MJ |
65 | soundsdir="${prefix}/sounds" |
66 | AC_SUBST(soundsdir) | |
67 | AC_DEFINE_UNQUOTED([SWITCH_SOUNDS_DIR],"${soundsdir}",[where to put sounds files]) | |
68 | ||
89ae5f47 MJ |
69 | grammardir="${prefix}/grammar" |
70 | AC_SUBST(grammardir) | |
71 | AC_DEFINE_UNQUOTED([SWITCH_GRAMMAR_DIR],"${grammardir}",[where to put grammar files]) | |
72 | ||
5ccac21d MJ |
73 | scriptdir="${prefix}/scripts" |
74 | AC_SUBST(scriptdir) | |
75 | AC_DEFINE_UNQUOTED([SWITCH_SCRIPT_DIR],"${scriptdir}",[where to put script files]) | |
107f9135 | 76 | |
c064a2a5 MJ |
77 | recordingsdir="${prefix}/recordings" |
78 | AC_SUBST(recordingsdir) | |
79 | AC_DEFINE_UNQUOTED([SWITCH_RECORDINGS_DIR],"${recordingsdir}",[where to put recording files]) | |
80 | ||
911e4a09 MJ |
81 | if test "$sysconfdir" = "\${prefix}/etc" ; then |
82 | confdir="$prefix/conf" | |
83 | else | |
84 | confdir="$sysconfdir" | |
85 | fi | |
86 | ||
5ccac21d MJ |
87 | sysconfdir="$confdir" |
88 | ||
911e4a09 | 89 | AC_SUBST(confdir) |
7da7790b | 90 | AC_DEFINE_UNQUOTED([SWITCH_CONF_DIR],"${confdir}",[directory for configuration files]) |
911e4a09 | 91 | |
8b3f71cc MJ |
92 | AC_SUBST(libdir) |
93 | AC_SUBST(bindir) | |
94 | AC_SUBST(includedir) | |
95 | ||
f20ba4d1 | 96 | AC_ARG_WITH([pkgconfigdir], |
78472897 | 97 | [AS_HELP_STRING([--with-pkgconfigdir=DIR], [Installation directory for pkgconfig file (default: ${libdir}/pkgconfig)])], |
f20ba4d1 SK |
98 | [case "${withval}" in |
99 | yes|no) AC_MSG_ERROR([Invalid value ${withval} for option --with-pkgconfigdir]) ;; | |
100 | *) pkgconfigdir="${withval}" ;; | |
101 | esac | |
102 | ], | |
103 | [pkgconfigdir="${libdir}/pkgconfig"] | |
104 | ) | |
105 | AC_SUBST([pkgconfigdir]) | |
106 | ||
6bc48b70 MJ |
107 | #Set default language |
108 | AC_LANG_C | |
4da77ea5 AM |
109 | # Checks for programs. |
110 | AC_PROG_CC | |
80eec6e5 | 111 | AC_PROG_CXX |
40f18d30 MJ |
112 | |
113 | #check if the g++ compiler works | |
114 | AC_CACHE_CHECK([whether the C++ compiler works], [ac_cv_sys_cxx_works], [ | |
115 | AC_LANG_PUSH([C++]) | |
116 | AC_COMPILE_IFELSE([int main() { }], [ac_cv_sys_cxx_works=yes], | |
117 | [ac_cv_sys_cxx_works=no]) | |
118 | AC_LANG_POP([C++]) | |
119 | ]) | |
120 | [ if [ "x$ac_cv_sys_cxx_works" = "xno" ]; then ] | |
121 | AC_MSG_FAILURE([The C++ compiler does not work. Please (re)install the C++ compiler]) | |
122 | [ fi ] | |
123 | ||
bac1e3fd | 124 | AC_PROG_AWK |
4da77ea5 | 125 | AC_PROG_MAKE_SET |
4da77ea5 | 126 | AC_PROG_INSTALL |
3de6a7e9 MJ |
127 | |
128 | #override some default libtool behavior and invoke AC_PROG_LIBTOOL (see http://lists.gnu.org/archive/html/libtool/2007-03/msg00000.html) | |
129 | m4_defun([_LT_AC_LANG_F77_CONFIG], [:]) | |
130 | m4_defun([_LT_AC_LANG_GCJ_CONFIG], [:]) | |
131 | m4_defun([_LT_AC_LANG_RC_CONFIG], [:]) | |
5b3f19fb | 132 | AM_PROG_CC_C_O |
bac1e3fd | 133 | AC_PROG_LIBTOOL |
4da77ea5 | 134 | |
6bc48b70 MJ |
135 | #Check for compiler vendor |
136 | AX_COMPILER_VENDOR | |
137 | ||
138 | # Optimize | |
139 | AC_ARG_ENABLE(optimization, | |
140 | [AC_HELP_STRING([--enable-optimization],[Set if you want us to add max optimising compiler flags])],[enable_optimizer="$enableval"],[enable_optimizer="no"]) | |
141 | ||
142 | if test "${enable_optimizer}" = "yes" ; then | |
143 | AC_DEFINE([OPTIMZER],[],[Enable Optimization.]) | |
144 | AX_CC_MAXOPT | |
145 | fi | |
146 | ||
55b3e6cb | 147 | # set defaults for use on all platforms |
3f5c2bed MJ |
148 | SWITCH_AM_CFLAGS="-I${switch_srcdir}/src/include -I${switch_builddir}/src/include -I${switch_srcdir}/libs/libteletone/src" |
149 | SWITCH_AM_CXXFLAGS="-I${switch_srcdir}/src/include -I${switch_builddir}/src/include -I${switch_srcdir}/libs/libteletone/src" | |
1953ac5c | 150 | SWITCH_AM_LDFLAGS="-lm" |
55b3e6cb MJ |
151 | |
152 | #set SOLINK variable based on compiler and host | |
153 | if test "x${ax_cv_c_compiler_vendor}" = "xsun" ; then | |
154 | SOLINK="-Bdynamic -dy -G" | |
155 | elif test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then | |
156 | case "$host" in | |
5e7986bf MJ |
157 | *darwin10.*) |
158 | SOLINK="-dynamic -force-flat-namespace" | |
159 | ;; | |
6ae16d15 | 160 | *darwin*) |
55b3e6cb MJ |
161 | SOLINK="-dynamic -bundle -force-flat-namespace" |
162 | ;; | |
872c349f MB |
163 | *-solaris2*) |
164 | SOLINK="-shared -Xlinker" | |
165 | ;; | |
55b3e6cb MJ |
166 | *) |
167 | SOLINK="-shared -Xlinker -x" | |
168 | ;; | |
169 | esac | |
170 | else | |
171 | AC_ERROR([Please update configure.in with SOLINK values for your compiler]) | |
172 | fi | |
6bc48b70 | 173 | |
55b3e6cb MJ |
174 | # set DYNAMIC_LIB_EXTEN |
175 | # we should really be using libtool so we don't need to do this | |
6bc48b70 | 176 | case "$host" in |
55b3e6cb MJ |
177 | *cygwin* | *mingw*) |
178 | DYNAMIC_LIB_EXTEN="dll" | |
179 | ;; | |
180 | *) | |
181 | DYNAMIC_LIB_EXTEN="so" | |
182 | ;; | |
6bc48b70 | 183 | esac |
55b3e6cb | 184 | |
4a77854b SK |
185 | ## |
186 | # detect libtool major version, | |
187 | # set libtool library extension based on this | |
188 | # to work around some brokeness when using 'la' with libtool-1.5 | |
189 | # | |
190 | AC_MSG_CHECKING([libtool major version]) | |
191 | libtool="${switch_builddir}/libtool" | |
df33a43a | 192 | LIBTOOL_MAJOR_VERSION="`$libtool --version 2>/dev/null| sed -e 's/([[^)]]*)//g;s/^[[^0-9]]*//;s/[[- ]].*//g;q'| awk 'BEGIN { FS = "." } { print $1 }' `" |
0c0a4a53 | 193 | if test -z "$LIBTOOL_MAJOR_VERSION" ; then |
751c2894 | 194 | LIBTOOL_MAJOR_VERSION="`sed -n -e '/^VERSION/{s/^.*=\"\{0,1\}\([[0-9]]\{1,\}\)\..*/\1/;p;}' ${switch_srcdir}/build/config/ltmain.sh`" |
0c0a4a53 SK |
195 | fi |
196 | if test -z "$LIBTOOL_MAJOR_VERSION" ; then | |
197 | AC_MSG_ERROR([Failed to detect your libtool version, please open a bug report on http://jira.freeswitch.org/]) | |
198 | fi | |
4a77854b | 199 | AC_MSG_RESULT([${LIBTOOL_MAJOR_VERSION}]) |
02141e30 MJ |
200 | |
201 | LIBTOOL_LIB_EXTEN="$DYNAMIC_LIB_EXTEN" | |
202 | ||
4a77854b | 203 | if test "${LIBTOOL_MAJOR_VERSION}" = "2" ; then |
02141e30 MJ |
204 | LIBTOOL_LIB_EXTEN="la" |
205 | fi | |
4a77854b SK |
206 | AC_MSG_RESULT([using libtool library extension... ${LIBTOOL_LIB_EXTEN}]) |
207 | ||
02141e30 | 208 | |
0f6a6c31 | 209 | # Enable 64 bit build |
6d45f5f5 | 210 | AC_ARG_ENABLE(64, |
0f6a6c31 | 211 | [AC_HELP_STRING([--enable-64],[build with 64 bit support])],[enable_64="$enable_64"],[enable_64="no"]) |
6d45f5f5 | 212 | |
55b3e6cb MJ |
213 | # tweak compiler specific flags |
214 | if test "x${ax_cv_c_compiler_vendor}" = "xsun" ; then | |
215 | APR_ADDTO(SWITCH_AM_CFLAGS, -KPIC) | |
216 | APR_ADDTO(SWITCH_AM_CFLAGS, -DPIC) | |
99913ce3 MJ |
217 | APR_ADDTO(SWITCH_AM_CFLAGS, -erroff=E_END_OF_LOOP_CODE_NOT_REACHED) |
218 | APR_ADDTO(SWITCH_AM_CFLAGS, -errtags=yes) | |
2343708a | 219 | APR_ADDTO(SWITCH_AM_CFLAGS, -D__FUNCTION__=__func__ ) |
220 | APR_ADDTO(SWITCH_AM_CFLAGS, -mt) | |
99913ce3 | 221 | APR_ADDTO(SWITCH_AM_CXXFLAGS, -errtags=yes) |
514bde18 MJ |
222 | APR_ADDTO(SWITCH_AM_CXXFLAGS, -KPIC) |
223 | APR_ADDTO(SWITCH_AM_CXXFLAGS, -DPIC) | |
f32f6f24 | 224 | APR_ADDTO(SWITCH_AM_CXXFLAGS, "-features=extensions") |
2343708a | 225 | APR_ADDTO(SWITCH_AM_CXXFLAGS, -D__FUNCTION__=__func__) |
226 | APR_ADDTO(SWITCH_AM_CXXFLAGS, -mt) | |
f32f6f24 | 227 | |
55b3e6cb | 228 | APR_ADDTO(SWITCH_AM_LDFLAGS, -R${prefix}/lib) |
6d45f5f5 MJ |
229 | if test "${enable_64}" = "yes"; then |
230 | APR_ADDTO(SWITCH_AM_CFLAGS, -m64) | |
5b2d20bf MJ |
231 | APR_ADDTO(SWITCH_AM_CXXFLAGS, -m64) |
232 | APR_ADDTO(SWITCH_AM_LDFLAGS, -m64) | |
1953ac5c | 233 | LIBS="$LIBS -m64" |
6d45f5f5 | 234 | fi |
55b3e6cb MJ |
235 | elif test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then |
236 | APR_ADDTO(SWITCH_AM_CFLAGS, -fPIC) | |
514bde18 | 237 | APR_ADDTO(SWITCH_AM_CXXFLAGS, -fPIC) |
44ef8650 | 238 | APR_ADDTO(SWITCH_AM_CFLAGS, -Werror) |
1953ac5c | 239 | if test "${enable_64}" = "yes"; then |
5e7986bf | 240 | case "$host" in |
7803a752 | 241 | *darwin10.*|*darwin9.*|*darwin8.*) |
5e7986bf MJ |
242 | APR_ADDTO(CFLAGS, -arch x86_64) |
243 | APR_ADDTO(LDFLAGS, -arch x86_64) | |
244 | APR_ADDTO(CXXFLAGS, -arch x86_64) | |
245 | ;; | |
7803a752 MJ |
246 | *) |
247 | LIBS="$LIBS -m64" | |
248 | ;; | |
5e7986bf | 249 | esac |
1953ac5c | 250 | fi |
55b3e6cb MJ |
251 | fi |
252 | ||
ffe2ad4b MJ |
253 | # |
254 | # gcc visibility cflag checks | |
255 | # | |
256 | AC_ARG_ENABLE([visibility], | |
257 | [AS_HELP_STRING([--disable-visibility], [Disable or enable API visibility support (default: use if available)])], | |
258 | [enable_visibility="${enableval}"], | |
259 | [enable_visibility="detect"] | |
260 | ) | |
261 | HAVE_VISIBILITY="no" | |
262 | ||
263 | if test "x${enable_visibility}" != "xno" ; then | |
264 | ||
265 | case "${ax_cv_c_compiler_vendor}" in | |
266 | gnu) | |
267 | save_CFLAGS="${CFLAGS}" | |
268 | CFLAGS="${CFLAGS} -fvisibility=hidden" | |
269 | AC_MSG_CHECKING([whether the compiler supports -fvisibility=hidden]) | |
270 | AC_COMPILE_IFELSE( | |
271 | [AC_LANG_PROGRAM( | |
272 | [int foo __attribute__ ((visibility("default")));], | |
273 | [;] | |
274 | )], | |
275 | ||
276 | [AC_MSG_RESULT([yes]) | |
277 | APR_ADDTO([SWITCH_AM_CFLAGS], [-fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1]) | |
278 | APR_ADDTO([SWITCH_AM_CXXFLAGS], [-fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1]) | |
279 | HAVE_VISIBILITY="yes"], | |
280 | ||
281 | [AC_MSG_RESULT([no])] | |
282 | ) | |
283 | CFLAGS="${save_CFLAGS}" | |
284 | ;; | |
285 | ||
900907a2 | 286 | sun) |
96114867 SK |
287 | # save_CFLAGS="${CFLAGS}" |
288 | # CFLAGS="${CFLAGS} -xldscope=hidden" | |
289 | # AC_MSG_CHECKING([whether the compiler supports -xldscope=hidden]) | |
290 | # AC_COMPILE_IFELSE( | |
291 | # [AC_LANG_PROGRAM( | |
292 | # [int foo __attribute__ ((visibility("default")));], | |
293 | # [;] | |
294 | # )], | |
295 | # | |
296 | # [AC_MSG_RESULT([yes]) | |
297 | # APR_ADDTO([SWITCH_AM_CFLAGS], [-xldscope=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1]) | |
298 | # APR_ADDTO([SWITCH_AM_CXXFLAGS], [-xldscope=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1]) | |
299 | # HAVE_VISIBILITY="yes"], | |
300 | # | |
301 | # [AC_MSG_RESULT([no])] | |
302 | # ) | |
303 | # CFLAGS="${save_CFLAGS}" | |
900907a2 MJ |
304 | ;; |
305 | ||
ffe2ad4b MJ |
306 | *) |
307 | if test "x${enable_visibility}" = "xyes" ; then | |
900907a2 | 308 | AC_MSG_ERROR([Non-GNU / SUN compilers are currently unsupported]) |
ffe2ad4b | 309 | else |
900907a2 | 310 | AC_MSG_WARN([Non-GNU / SUN compilers are currently unsupported]) |
ffe2ad4b MJ |
311 | fi |
312 | ;; | |
313 | esac | |
314 | ||
315 | # | |
316 | # visibility explicitly requested but not supported by this compiler => error | |
317 | # | |
318 | if test "x${enable_visibility}" = "xyes" -a "x${HAVE_VISIBILITY}" = "xno" ; then | |
319 | AC_MSG_ERROR([API visibility not supported by this compiler]) | |
320 | fi | |
321 | fi | |
322 | ||
fcd2a7b0 SK |
323 | # Enable debugging (default: on) |
324 | # (rename option if the default is changed) | |
2faabff7 | 325 | AC_ARG_ENABLE(debug, |
fcd2a7b0 | 326 | [AC_HELP_STRING([--disable-debug],[build without debug information])],[enable_debug="$enableval"],[enable_debug="yes"]) |
2faabff7 AM |
327 | |
328 | if test "${enable_debug}" = "yes"; then | |
329 | AC_DEFINE([DEBUG],[],[Enable extra debugging.]) | |
554f476c | 330 | saved_CFLAGS="$CFLAGS" |
44ea66c2 | 331 | CFLAGS= |
2faabff7 | 332 | AX_CFLAGS_WARN_ALL_ANSI |
02c7a3ac | 333 | SWITCH_ANSI_CFLAGS=$CFLAGS |
554f476c | 334 | CFLAGS="$saved_CFLAGS" |
2faabff7 AM |
335 | |
336 | if test "x${ax_cv_c_compiler_vendor}" = "xgnu" ; then | |
337 | APR_ADDTO(SWITCH_AM_CFLAGS, -g -ggdb) | |
37845b42 | 338 | export DEBUG_CFLAGS="-g -ggdb" |
2faabff7 AM |
339 | fi |
340 | ||
341 | fi | |
342 | ||
59ba5a15 MJ |
343 | AC_ARG_ENABLE(cpp, |
344 | [AC_HELP_STRING([--disable-cpp],[build without cpp code])],[enable_cpp="$enableval"],[enable_cpp="yes"]) | |
345 | ||
346 | AM_CONDITIONAL([ENABLE_CPP],[test "${enable_cpp}" = "yes"]) | |
347 | ||
861bd209 BW |
348 | AC_ARG_ENABLE(zrtp, |
349 | [AS_HELP_STRING([--enable-zrtp], [Compile with zrtp Support])],,[enable_zrtp="no"]) | |
350 | if test "x$enable_zrtp" = "xyes" ; then | |
554f476c | 351 | saved_LIBS="$LIBS" |
861bd209 BW |
352 | LIBS="$saved_LIBS -L/usr/local/lib -lbn -lpthread" |
353 | AC_CHECK_LIB(zrtp, zrtp_init, [has_zrtp="yes"], [has_zrtp="no"]) | |
554f476c | 354 | LIBS="$saved_LIBS" |
861bd209 BW |
355 | if test "x$has_zrtp" = "xno"; then |
356 | AC_ERROR([Cannot locate zrtp libraries]) | |
357 | fi | |
358 | APR_ADDTO(SWITCH_AM_CFLAGS, -DENABLE_ZRTP) | |
359 | fi | |
ae67ecce | 360 | |
c4d13331 MJ |
361 | PA_LIBS= |
362 | ||
363 | PKG_CHECK_MODULES(JACK, jack, have_jack=yes, have_jack=no) | |
364 | if test "x$have_jack" = "xyes" ; then | |
365 | PA_LIBS+=$JACK_LIBS | |
366 | fi | |
367 | ||
ae67ecce | 368 | AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no) |
1911a262 | 369 | if test "x$have_alsa" = "xyes" ; then |
c4d13331 | 370 | PA_LIBS+=-lasound |
ae67ecce | 371 | fi |
c4d13331 MJ |
372 | |
373 | AC_SUBST(PA_LIBS) | |
ae67ecce | 374 | |
861bd209 BW |
375 | AM_CONDITIONAL([ENABLE_ZRTP],[test "x$enable_zrtp" != "xno"]) |
376 | ||
a4a52620 SK |
377 | AM_CONDITIONAL([WANT_DEBUG],[test "${enable_debug}" = "yes"]) |
378 | ||
cd788c1a MJ |
379 | AC_ARG_ENABLE(core-odbc-support, |
380 | [AS_HELP_STRING([--enable-core-odbc-support], [Compile with ODBC Support])],,[enable_core_odbc_support="no"]) | |
381 | AX_LIB_ODBC | |
382 | if test "$ac_cv_found_odbc" = "yes" ; then | |
383 | enable_core_odbc_support="yes" | |
384 | fi | |
385 | ||
da195caa MJ |
386 | AC_CHECK_LIB(z, inflateReset, have_libz=yes, have_libz=no) |
387 | if test "x$have_libz" = "xyes" ; then | |
388 | APR_ADDTO(SWITCH_AM_LDFLAGS, -lz) | |
389 | fi | |
390 | ||
b017931c MJ |
391 | AC_CHECK_LIB(resolv, res_init, have_libresolv=yes, have_libresolv=no) |
392 | if test "x$have_libresolv" = "xyes" ; then | |
393 | APR_ADDTO(SWITCH_AM_LDFLAGS, -lresolv) | |
394 | fi | |
395 | ||
3ec59cdb | 396 | ESL_LDFLAGS= |
9a9ba4c3 | 397 | PLATFORM_CORE_DEPLIBS= |
55b3e6cb MJ |
398 | # tweak platform specific flags |
399 | case "$host" in | |
5e7986bf MJ |
400 | *darwin10.*) |
401 | APR_ADDTO(SWITCH_AM_CFLAGS, -DMACOSX) | |
402 | APR_ADDTO(CFLAGS, -pipe -no-cpp-precomp) | |
403 | APR_ADDTO(LDFLAGS, -pipe -bind_at_load) | |
404 | APR_ADDTO(CXXFLAGS, -pipe) | |
405 | APR_REMOVEFROM(SWITCH_AM_CFLAGS, -fPIC) | |
406 | if test "x$enable_core_odbc_support" != "xno"; then | |
407 | APR_ADDTO(PLATFORM_CORE_DEPLIBS, --framework CoreFoundation) | |
408 | fi | |
409 | ;; | |
6ae16d15 | 410 | *darwin*) |
55b3e6cb MJ |
411 | APR_ADDTO(SWITCH_AM_CFLAGS, -DMACOSX) |
412 | APR_REMOVEFROM(SWITCH_AM_CFLAGS, -fPIC) | |
9a9ba4c3 BW |
413 | if test "x$enable_core_odbc_support" != "xno"; then |
414 | APR_ADDTO(PLATFORM_CORE_DEPLIBS, --framework CoreFoundation) | |
415 | fi | |
55b3e6cb MJ |
416 | ;; |
417 | *-solaris2*) | |
418 | APR_ADDTO(SWITCH_AM_CFLAGS, -DPATH_MAX=2048) | |
54a9eba4 | 419 | APR_ADDTO(SWITCH_AM_LDFLAGS, -lsendfile -lresolv -lsocket -lnsl -luuid) |
bb33c4e7 | 420 | APR_ADDTO(ESL_LDFLAGS, -lnsl -lsocket) |
55b3e6cb | 421 | ;; |
f0b58efb MJ |
422 | *bsd*) |
423 | APR_ADDTO(SWITCH_AM_CFLAGS, -I/usr/local/include) | |
424 | ;; | |
55b3e6cb MJ |
425 | esac |
426 | ||
514bde18 MJ |
427 | APR_REMOVEFROM(SWITCH_AM_CXXFLAGS, -std=c99) |
428 | ||
55b3e6cb | 429 | AC_SUBST(SWITCH_AM_CFLAGS) |
02c7a3ac | 430 | AC_SUBST(SWITCH_ANSI_CFLAGS) |
514bde18 | 431 | AC_SUBST(SWITCH_AM_CXXFLAGS) |
55b3e6cb | 432 | AC_SUBST(SWITCH_AM_LDFLAGS) |
3ec59cdb | 433 | AC_SUBST(ESL_LDFLAGS) |
9a9ba4c3 | 434 | AC_SUBST(PLATFORM_CORE_DEPLIBS) |
6bc48b70 MJ |
435 | AC_SUBST(SOLINK) |
436 | AC_SUBST(DYNAMIC_LIB_EXTEN) | |
02141e30 | 437 | AC_SUBST(LIBTOOL_LIB_EXTEN) |
6bc48b70 | 438 | |
4da77ea5 AM |
439 | # Checks for header files. |
440 | AC_HEADER_DIRENT | |
441 | AC_HEADER_STDC | |
286362ca | 442 | AC_CHECK_HEADERS([sys/types.h sys/resource.h sched.h wchar.h sys/filio.h sys/ioctl.h netdb.h execinfo.h]) |
56008e2b AM |
443 | |
444 | # for xmlrpc-c config.h | |
445 | if test x"$ac_cv_header_wchar_h" = xyes; then | |
446 | HAVE_WCHAR_H_DEFINE=1 | |
447 | else | |
448 | HAVE_WCHAR_H_DEFINE=0 | |
449 | fi | |
450 | AC_SUBST(HAVE_WCHAR_H_DEFINE) | |
4da77ea5 AM |
451 | |
452 | # Checks for typedefs, structures, and compiler characteristics. | |
453 | AC_C_CONST | |
454 | AC_C_INLINE | |
455 | AC_TYPE_SIZE_T | |
456 | AC_HEADER_TIME | |
457 | AC_STRUCT_TM | |
458 | ||
459 | # Checks for library functions. | |
460 | AC_PROG_GCC_TRADITIONAL | |
461 | AC_FUNC_MALLOC | |
462 | AC_TYPE_SIGNAL | |
463 | AC_FUNC_STRFTIME | |
10174ea6 | 464 | AC_CHECK_FUNCS([gethostname vasprintf mmap mlock mlockall usleep getifaddrs timerfd_create]) |
ea5c0c21 | 465 | AC_CHECK_FUNCS([sched_setscheduler setpriority setrlimit setgroups initgroups]) |
4062b636 | 466 | AC_CHECK_FUNCS([wcsncmp setgroups asprintf setenv pselect gettimeofday localtime_r gmtime_r strcasecmp stricmp _stricmp]) |
b382c0a4 | 467 | |
ea5c0c21 MJ |
468 | AX_HAVE_CPU_SET |
469 | ||
eb9f9fb2 | 470 | AC_CHECK_LIB(rt, clock_gettime, [AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Define if you have clock_gettime()])]) |
d314f254 | 471 | AC_CHECK_LIB(rt, clock_getres, [AC_DEFINE(HAVE_CLOCK_GETRES, 1, [Define if you have clock_getres()])]) |
eb9f9fb2 | 472 | AC_CHECK_LIB(rt, clock_nanosleep, [AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define if you have clock_nanosleep()])]) |
4062b636 | 473 | AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket)) |
eb9f9fb2 | 474 | |
bf988471 | 475 | AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[ |
21159328 MJ |
476 | #include <sys/types.h> |
477 | #include <time.h>]) | |
478 | ||
bf988471 | 479 | AC_CHECK_MEMBERS([struct tm.tm_zone],,,[ |
21159328 MJ |
480 | #include <sys/types.h> |
481 | #include <time.h>]) | |
482 | ||
b382c0a4 MJ |
483 | AC_CHECK_DECL([RLIMIT_MEMLOCK], |
484 | [AC_DEFINE([HAVE_RLIMIT_MEMLOCK],[1],[RLIMIT_MEMLOCK constant for setrlimit])],, | |
485 | [#ifdef HAVE_SYS_RESOURCE_H | |
486 | #include <sys/resource.h> | |
487 | #endif]) | |
488 | ||
489 | AC_CHECK_DECL([SCHED_RR], | |
490 | [AC_DEFINE([HAVE_SCHED_RR],[1],[SCHED_RR constant for sched_setscheduler])],, | |
491 | [#ifdef HAVE_SCHED_H | |
492 | #include <sched.h> | |
493 | #endif]) | |
494 | ||
495 | # | |
496 | # use mlockall only on linux (for now; if available) | |
497 | # | |
498 | if test "x${ac_cv_func_mlockall}" = "xyes"; then | |
499 | AC_MSG_CHECKING([whether to use mlockall]) | |
500 | case "$host" in | |
501 | *-linux-*) | |
502 | AC_DEFINE([USE_MLOCKALL],[1],[Enable mlockall support]) | |
503 | AC_MSG_RESULT([yes]) | |
504 | USE_MLOCKALL=yes | |
505 | ;; | |
506 | *-freebsd*) | |
507 | AC_MSG_RESULT([no, broken for non-root users]) | |
508 | ;; | |
509 | *) | |
510 | AC_MSG_RESULT([no]) | |
511 | ;; | |
512 | esac | |
513 | ||
514 | # | |
515 | # setrlimit prerequisites | |
516 | # | |
517 | if test "x${USE_MLOCKALL}" = "xyes" -a \ | |
518 | "x${ac_cv_func_setrlimit}" = "xyes" -a \ | |
519 | "x${ac_cv_have_decl_RLIMIT_MEMLOCK}" = "xyes" | |
520 | then | |
521 | AC_DEFINE([USE_SETRLIMIT],[1],[Use setrlimit to disable mlock limit for non-root users]) | |
522 | fi | |
523 | fi | |
524 | ||
525 | # | |
526 | # sched_setcheduler + round-robin scheduler prerequisites | |
527 | # | |
528 | if test "x${ac_cv_func_sched_setscheduler}" = "xyes" -a \ | |
529 | "x${ac_cv_have_decl_SCHED_RR}" = "xyes" | |
530 | then | |
531 | AC_DEFINE([USE_SCHED_SETSCHEDULER],[1],[Enable round-robin scheduler using sched_setscheduler]) | |
532 | fi | |
533 | ||
4062b636 AM |
534 | # |
535 | # xmlrpc-c checks | |
536 | # | |
537 | ||
538 | ||
539 | HAVE_LIBWWW_SSL_DEFINE=0 | |
540 | AC_SUBST(HAVE_LIBWWW_SSL_DEFINE) | |
541 | ||
542 | DIRECTORY_SEPARATOR="/" | |
543 | AC_SUBST(DIRECTORY_SEPARATOR) | |
544 | ||
545 | va_list_is_array=no | |
546 | AC_MSG_CHECKING(whether va_list is an array) | |
547 | AC_TRY_COMPILE([ | |
548 | #include <stdarg.h> | |
549 | ], [va_list list1, list2; list1 = list2;], , | |
550 | va_list_is_array=yes) | |
551 | AC_MSG_RESULT($va_list_is_array) | |
552 | if test x"$va_list_is_array" = xyes; then | |
553 | VA_LIST_IS_ARRAY_DEFINE=1 | |
554 | else | |
555 | VA_LIST_IS_ARRAY_DEFINE=0 | |
556 | fi | |
557 | AC_SUBST(VA_LIST_IS_ARRAY_DEFINE) | |
558 | ||
554f476c | 559 | |
4062b636 AM |
560 | AC_MSG_CHECKING(whether compiler has __attribute__) |
561 | AC_TRY_COMPILE(, [int x __attribute__((__unused__));], | |
562 | compiler_has_attribute=yes, | |
563 | compiler_has_attribute=no) | |
564 | AC_MSG_RESULT($compiler_has_attribute) | |
565 | if test x"$compiler_has_attribute" = xyes; then | |
566 | ATTR_UNUSED="__attribute__((__unused__))" | |
567 | else | |
568 | ATTR_UNUSED= | |
569 | fi | |
570 | AC_SUBST(ATTR_UNUSED) | |
571 | ||
572 | ||
554f476c MJ |
573 | saved_CFLAGS="$CFLAGS" |
574 | AC_CACHE_CHECK([whether compiler supports -Wdeclaration-after-statement], [ac_cv_gcc_declaration_after_statement], [ | |
575 | CFLAGS="$CFLAGS -Wdeclaration-after-statement" | |
576 | AC_TRY_COMPILE([],[return 0;],[ac_cv_gcc_declaration_after_statement=yes],[ac_cv_gcc_declaration_after_statement=no]) | |
577 | ]) | |
578 | AC_MSG_RESULT($ac_cv_gcc_declaration_after_statement) | |
579 | if test x"$ac_cv_gcc_declaration_after_statement" = xyes; then | |
580 | APR_ADDTO(SWITCH_ANSI_CFLAGS, -Wdeclaration-after-statement) | |
581 | fi | |
582 | CFLAGS="$saved_CFLAGS" | |
4da77ea5 | 583 | |
44cc7d5c | 584 | AC_C_BIGENDIAN(AC_DEFINE([SWITCH_BYTE_ORDER],__BIG_ENDIAN,[Big Endian]),AC_DEFINE([SWITCH_BYTE_ORDER],__LITTLE_ENDIAN,[Little Endian])) |
49a0eb29 | 585 | |
42e78242 MJ |
586 | # Checks for integer size |
587 | AC_CHECK_SIZEOF(char, 1) | |
588 | AC_CHECK_SIZEOF(int, 4) | |
589 | AC_CHECK_SIZEOF(long, 4) | |
590 | AC_CHECK_SIZEOF(short, 2) | |
591 | AC_CHECK_SIZEOF(long long, 8) | |
592 | AC_TYPE_SIZE_T | |
593 | AC_CHECK_TYPE(ssize_t, int) | |
594 | ||
595 | # Checks for pointer size | |
596 | AC_CHECK_SIZEOF(void*, 4) | |
597 | ||
598 | if test "x$ac_cv_sizeof_voidp" != "x"; then | |
599 | voidp_size=$ac_cv_sizeof_voidp | |
600 | else | |
601 | AC_ERROR([Cannot determine size of void*]) | |
602 | fi | |
603 | ||
604 | if test "$ac_cv_sizeof_short" = "2"; then | |
605 | short_value=short | |
606 | fi | |
607 | if test "$ac_cv_sizeof_int" = "4"; then | |
608 | int_value=int | |
609 | fi | |
610 | ||
611 | if test "$ac_cv_sizeof_int" = "8"; then | |
612 | int64_t_fmt='#define SWITCH_INT64_T_FMT "d"' | |
613 | uint64_t_fmt='#define SWITCH_UINT64_T_FMT "u"' | |
614 | int64_value="int" | |
615 | long_value=int | |
616 | elif test "$ac_cv_sizeof_long" = "8"; then | |
617 | int64_t_fmt='#define SWITCH_INT64_T_FMT "ld"' | |
618 | uint64_t_fmt='#define SWITCH_UINT64_T_FMT "lu"' | |
619 | int64_value="long" | |
620 | long_value=long | |
764b7958 | 621 | case "$host" in |
f6fe2667 | 622 | *-solaris2*|*apple-darwin*|*-openbsd*) |
764b7958 MJ |
623 | if test "$ac_cv_sizeof_long_long" = "8"; then |
624 | int64_t_fmt='#define SWITCH_INT64_T_FMT "lld"' | |
625 | uint64_t_fmt='#define SWITCH_UINT64_T_FMT "llu"' | |
626 | int64_value="long long" | |
627 | long_value="long long" | |
628 | fi | |
629 | ;; | |
630 | esac | |
42e78242 MJ |
631 | elif test "$ac_cv_sizeof_long_long" = "8"; then |
632 | int64_t_fmt='#define SWITCH_INT64_T_FMT "lld"' | |
633 | uint64_t_fmt='#define SWITCH_UINT64_T_FMT "llu"' | |
634 | int64_value="long long" | |
635 | long_value="long long" | |
636 | elif test "$ac_cv_sizeof_longlong" = "8"; then | |
637 | int64_t_fmt='#define SWITCH_INT64_T_FMT "qd"' | |
638 | uint64_t_fmt='#define SWITCH_UINT64_T_FMT "qu"' | |
639 | int64_value="__int64" | |
640 | long_value="__int64" | |
641 | else | |
642 | AC_ERROR([could not detect a 64-bit integer type]) | |
643 | fi | |
644 | ||
645 | if test "$ac_cv_type_size_t" = "yes"; then | |
646 | size_t_value="size_t" | |
647 | else | |
648 | size_t_value="switch_int32_t" | |
649 | fi | |
650 | ||
651 | if test "$ac_cv_type_ssize_t" = "yes"; then | |
652 | ssize_t_value="ssize_t" | |
653 | else | |
654 | ssize_t_value="switch_int32_t" | |
655 | fi | |
656 | ||
657 | APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], ssize_t, 8) | |
658 | ||
659 | if test "$ac_cv_sizeof_ssize_t" = "$ac_cv_sizeof_int"; then | |
660 | ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "d"' | |
661 | elif test "$ac_cv_sizeof_ssize_t" = "$ac_cv_sizeof_long"; then | |
662 | ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "ld"' | |
663 | else | |
664 | ssize_t_fmt='#error Can not determine the proper size for ssize_t' | |
665 | fi | |
666 | ||
667 | APR_CHECK_SIZEOF_EXTENDED([#include <stddef.h>], size_t, 8) | |
668 | ||
669 | if test "$ac_cv_sizeof_size_t" = "$ac_cv_sizeof_int"; then | |
670 | size_t_fmt='#define SWITCH_SIZE_T_FMT "d"' | |
671 | elif test "$ac_cv_sizeof_size_t" = "$ac_cv_sizeof_long"; then | |
672 | size_t_fmt='#define SWITCH_SIZE_T_FMT "ld"' | |
673 | else | |
674 | size_t_fmt='#error Can not determine the proper size for size_t' | |
675 | fi | |
676 | ||
677 | # Basically, we have tried to figure out the correct format strings | |
678 | # for SWITCH types which vary between platforms, but we don't always get | |
679 | # it right. If you find that we don't get it right for your platform, | |
680 | # you can override our decision below. | |
681 | # NOTE: borrowed much of this logic from apr. | |
682 | case $host in | |
683 | s390*linux*) | |
684 | # uniquely, the 31-bit Linux/s390 uses "unsigned long int" | |
685 | # for size_t rather than "unsigned int": | |
686 | size_t_fmt='#define SWITCH_SIZE_T_FMT "lu"' | |
687 | ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "ld"' | |
688 | ;; | |
689 | *-os2*) | |
690 | size_t_fmt='#define SWITCH_SIZE_T_FMT "lu"' | |
691 | ;; | |
6d66ecfd MJ |
692 | *-openbsd*) |
693 | size_t_fmt='#define SWITCH_SIZE_T_FMT "ld"' | |
694 | ;; | |
42e78242 MJ |
695 | *aix4*|*aix5*) |
696 | ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "ld"' | |
697 | size_t_fmt='#define SWITCH_SIZE_T_FMT "ld"' | |
698 | ;; | |
699 | *beos*) | |
700 | ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "ld"' | |
701 | size_t_fmt='#define SWITCH_SIZE_T_FMT "ld"' | |
702 | ;; | |
703 | *apple-darwin*) | |
704 | osver=`uname -r` | |
705 | case $osver in | |
706 | [0-7].*) | |
707 | ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "d"' | |
708 | ;; | |
709 | *) | |
710 | ssize_t_fmt='#define SWITCH_SSIZE_T_FMT "ld"' | |
711 | ;; | |
712 | esac | |
713 | size_t_fmt='#define SWITCH_SIZE_T_FMT "lu"' | |
714 | ;; | |
715 | esac | |
716 | ||
717 | AC_SUBST(voidp_size) | |
718 | AC_SUBST(short_value) | |
719 | AC_SUBST(int_value) | |
720 | AC_SUBST(long_value) | |
721 | AC_SUBST(int64_value) | |
722 | AC_SUBST(size_t_value) | |
723 | AC_SUBST(ssize_t_value) | |
724 | AC_SUBST(int64_t_fmt) | |
725 | AC_SUBST(uint64_t_fmt) | |
726 | AC_SUBST(ssize_t_fmt) | |
727 | AC_SUBST(size_t_fmt) | |
42e78242 | 728 | |
f6fe2667 MJ |
729 | case $host in |
730 | *-openbsd*) | |
731 | # OpenBSD's gunzip and friends don't like -d because its redundant, only gzip does | |
732 | AC_PATH_PROGS(ZCAT, gzip) | |
733 | ;; | |
734 | *) | |
735 | AC_PATH_PROGS(ZCAT, gunzip gzcat gzip zcat) | |
736 | ;; | |
737 | esac | |
738 | ||
bc34fb76 MJ |
739 | AC_PATH_PROGS(TAR, gtar tar) |
740 | AC_PATH_PROGS(WGET, wget) | |
741 | AC_PATH_PROGS(CURL, curl) | |
d2cf7f86 | 742 | GETLIB="cd $switch_srcdir/libs && ${SHELL} $switch_builddir/build/getlib.sh" |
c99d8c9b | 743 | AC_SUBST(GETLIB) |
17d52112 MJ |
744 | GETG729="cd $switch_srcdir/libs && ${SHELL} $switch_builddir/build/getg729.sh" |
745 | AC_SUBST(GETG729) | |
d2cf7f86 | 746 | GETSOUNDS="${SHELL} $switch_builddir/build/getsounds.sh" |
3d5fcabe | 747 | AC_SUBST(GETSOUNDS) |
c99d8c9b | 748 | |
bc34fb76 | 749 | |
493fc648 MJ |
750 | LIBCURL_DEPS= |
751 | ||
752 | AC_ARG_WITH(libcurl, | |
753 | AC_HELP_STRING([--with-libcurl=DIR],[look for the curl library in DIR]), | |
754 | [_libcurl_with=$withval],[_libcurl_with=ifelse([$1],,[yes],[$1])]) | |
755 | ||
e704f021 MP |
756 | AC_CACHE_CHECK([whether to use system libcurl library], [ac_cv_use_system_curl], [ |
757 | LIBCURL_CHECK_CONFIG([yes], [7.13.0], [ac_cv_use_system_curl='yes'], [ac_cv_use_system_curl='no']) | |
758 | ]) | |
759 | ||
493fc648 MJ |
760 | if test "$_libcurl_with" = "no" ; then |
761 | ac_cv_use_system_curl=no; | |
762 | fi | |
763 | if test "$_libcurl_with" = "yes" ; then | |
764 | ac_cv_use_system_curl=yes; | |
765 | fi | |
766 | ||
493fc648 MJ |
767 | if test "$ac_cv_use_system_curl" != "yes" ; then |
768 | LIBCURL_DEPS='${switch_builddir}/libs/curl/lib/libcurl.la' | |
769 | LIBCURL='${switch_builddir}/libs/curl/lib/libcurl.la' | |
770 | LIBCURL_CPPFLAGS='-I${switch_srcdir}/libs/curl/include' | |
771 | fi | |
772 | ||
f85be6ff MJ |
773 | AC_SUBST(LIBCURL_DEPS) |
774 | ||
4d62a1ad | 775 | |
c5c13c26 | 776 | AC_ARG_ENABLE(core-libedit-support, |
2bcd991b | 777 | [AS_HELP_STRING([--disable-core-libedit-support], [Compile without libedit Support])], [enable_core_libedit_support="$enableval"], [enable_core_libedit_support="yes"]) |
c5c13c26 | 778 | |
28213aad AM |
779 | if test "$enable_core_libedit_support" = "yes" ; then |
780 | AC_CHECK_LIB(ncurses, tgetent,, | |
781 | [AC_CHECK_LIB(curses, tgetent,, | |
782 | [AC_MSG_ERROR([libtermcap, libcurses or libncurses are required!])] )] ) | |
783 | fi | |
784 | ||
219a2ecc AT |
785 | SAC_OPENSSL |
786 | ||
9d6d8a1c AT |
787 | if test x$HAVE_OPENSSL = x1; then |
788 | openssl_CFLAGS="$openssl_CFLAGS -DHAVE_OPENSSL"; | |
789 | fi | |
790 | ||
e69fe7e3 | 791 | AX_CHECK_JAVA |
7df787b7 | 792 | |
753fa8fb | 793 | |
31b743d6 MJ |
794 | AM_CONDITIONAL([HAVE_ODBC],[test "x$enable_core_odbc_support" != "xno"]) |
795 | AM_CONDITIONAL([HAVE_LIBEDIT],[test "x$enable_core_libedit_support" != "xno"]) | |
778a82cc | 796 | AM_CONDITIONAL([HAVE_MYSQL],[test "$found_mysql" = "yes"]) |
49a0eb29 | 797 | |
e8c88aa1 SK |
798 | # |
799 | # Python checks for mod_python | |
800 | # | |
801 | AC_ARG_WITH( | |
802 | [python], | |
803 | [AS_HELP_STRING([--with-python], [Use system provided version of python (default: try)])], | |
804 | [with_python="$withval"], | |
805 | [with_python="try"] | |
806 | ) | |
807 | ||
e8c88aa1 SK |
808 | if test "$with_python" != "no" |
809 | then | |
2d14539e SK |
810 | save_CFLAGS="$CFLAGS" |
811 | save_LIBS="$LIBS" | |
812 | ||
e8c88aa1 SK |
813 | if test "$with_python" != "yes" -a "$with_python" != "try" ; then |
814 | AC_MSG_CHECKING([for python]) | |
815 | if test ! -x "$with_python" ; then | |
816 | AC_MSG_ERROR([Specified python does not exist or is not executable: $with_python]) | |
817 | fi | |
818 | AC_MSG_RESULT([$with_python]) | |
819 | AC_SUBST([PYTHON], ["$with_python"]) | |
820 | else | |
821 | AC_PATH_PROG([PYTHON], ["python"], ["no"], ["$PATH:/usr/bin:/usr/local/bin"]) | |
822 | fi | |
823 | ||
824 | if test "$PYTHON" != "no" ; then | |
825 | AC_MSG_CHECKING([python version]) | |
826 | PYTHON_VER="`$PYTHON -V 2>&1 | cut -d' ' -f2`" | |
827 | ||
828 | if test -z "$PYTHON_VER" ; then | |
829 | AC_MSG_ERROR([Unable to detect python version]) | |
830 | fi | |
831 | AC_MSG_RESULT([$PYTHON_VER]) | |
832 | ||
2d14539e | 833 | AC_MSG_CHECKING([for python distutils]) |
baf944eb SK |
834 | python_result="`$PYTHON -c 'import distutils;' 2>&1`" |
835 | if test -z "$python_result" ; then | |
2d14539e | 836 | python_has_distutils="yes" |
baf944eb SK |
837 | else |
838 | python_has_distutils="no" | |
2d14539e SK |
839 | fi |
840 | AC_MSG_RESULT([$python_has_distutils]) | |
841 | ||
baf944eb | 842 | if test "$python_has_distutils" != "no" ; then |
f08ac862 SK |
843 | AC_MSG_CHECKING([location of site-packages]) |
844 | ||
baf944eb | 845 | PYTHON_SITE_DIR="`$PYTHON -c 'from distutils import sysconfig; print sysconfig.get_python_lib(0);'`" |
f08ac862 SK |
846 | |
847 | if test -z "$PYTHON_SITE_DIR" ; then | |
848 | AC_MSG_ERROR([Unable to detect python site-packages path]) | |
849 | elif test ! -d "$PYTHON_SITE_DIR" ; then | |
850 | AC_MSG_ERROR([Path $PYTHON_SITE_DIR returned by python does not exist!]) | |
851 | fi | |
852 | AC_MSG_RESULT([$PYTHON_SITE_DIR]) | |
853 | AC_SUBST([PYTHON_SITE_DIR], [$PYTHON_SITE_DIR]) | |
854 | ||
2d14539e SK |
855 | # |
856 | # python distutils found, get settings from python directly | |
857 | # | |
f08ac862 SK |
858 | 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);'`" |
859 | 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);'`" | |
860 | PYTHON_LIB="`$PYTHON -c 'from distutils import sysconfig; print \"python\" + sysconfig.get_config_var(\"VERSION\");'`" | |
ba892c27 SK |
861 | PYTHON_LIBDIR="`$PYTHON -c 'from distutils import sysconfig; print sysconfig.get_config_var(\"LIBDIR\");'`" |
862 | ||
863 | # handle python being installed into /usr/local | |
864 | AC_MSG_CHECKING([python libdir]) | |
865 | if test -z "`echo $PYTHON_LIBDIR | grep "/usr/lib"`" ; then | |
866 | PYTHON_LDFLAGS="-L$PYTHON_LIBDIR $PYTHON_LDFLAGS" | |
867 | LIBS="-L$PYTHON_LIBDIR $LIBS" | |
868 | fi | |
869 | AC_MSG_RESULT([$PYTHON_LIBDIR]) | |
e8c88aa1 | 870 | |
2d14539e SK |
871 | # check libpython |
872 | AC_CHECK_LIB([$PYTHON_LIB], [main], [has_libpython="yes"], [has_libpython="no"]) | |
873 | ||
874 | if test "$has_libpython" = "no" ; then | |
875 | AS_IF([test "$with_python" = "try"], | |
876 | [AC_MSG_WARN([$PYTHON_LIB is unusable])], | |
877 | [AC_MSG_ERROR([$PYTHON_LIB is unusable])] | |
878 | ) | |
879 | fi | |
e8c88aa1 SK |
880 | |
881 | # check whether system libpython is usable and has threads support | |
2d14539e | 882 | CFLAGS="$PYTHON_CFLAGS" |
e8c88aa1 SK |
883 | LIBS="$PYTHON_LDFLAGS" |
884 | AC_CHECK_FUNC([PyThread_init_thread], [python_has_threads="yes"], [python_has_threads="no"]) | |
e8c88aa1 | 885 | |
2d14539e SK |
886 | if test "$python_has_threads" = "no"; then |
887 | AS_IF([test "$with_python" = "try"], | |
888 | [AC_MSG_WARN([Your python lacks threads support, can not build mod_python])], | |
889 | [AC_MSG_ERROR([Your python lacks threads support, can not build mod_python])] | |
890 | ) | |
e8c88aa1 SK |
891 | else |
892 | AC_MSG_NOTICE([Your python seems OK, do not forget to enable mod_python in modules.conf]) | |
2d14539e | 893 | AC_SUBST([PYTHON_CFLAGS], [$PYTHON_CFLAGS]) |
e8c88aa1 SK |
894 | AC_SUBST([PYTHON_LDFLAGS], [$PYTHON_LDFLAGS]) |
895 | fi | |
896 | else | |
2d14539e | 897 | AS_IF([test "$with_python" = "try"], |
baf944eb SK |
898 | [AC_MSG_WARN([Could not find or use python distutils module: $python_result])], |
899 | [AC_MSG_ERROR([Could not find or use python distutils module: $python_result])] | |
2d14539e | 900 | ) |
e8c88aa1 SK |
901 | fi |
902 | ||
2d14539e SK |
903 | LIBS="$save_LIBS" |
904 | CFLAGS="$save_CFLAGS" | |
905 | ||
906 | unset python_has_threads | |
907 | unset python_has_distutils | |
baf944eb | 908 | unset python_result |
2d14539e SK |
909 | else |
910 | AS_IF([test "$with_python" = "try"], | |
911 | [AC_MSG_WARN([Could not find python, mod_python will not build, use --with-python to specify the location])], | |
912 | [AC_MSG_ERROR([Could not find python, use --with-python to specify the location])] | |
913 | ) | |
e8c88aa1 SK |
914 | fi |
915 | else | |
916 | AC_MSG_WARN([python support disabled, building mod_python will fail!]) | |
917 | fi | |
918 | ||
ea0316b8 AT |
919 | CHECK_ERLANG |
920 | ||
42e78242 | 921 | AC_CONFIG_FILES([Makefile |
7b3d3f7e AM |
922 | build/Makefile |
923 | src/Makefile | |
924 | src/mod/Makefile | |
aad61cad | 925 | src/mod/applications/mod_expr/Makefile |
7b3d3f7e | 926 | src/mod/applications/mod_fax/Makefile |
fa9a59a8 | 927 | src/mod/applications/mod_spandsp/Makefile |
dc06a039 | 928 | src/mod/applications/mod_osp/Makefile |
ea181ca4 | 929 | src/mod/applications/mod_stress/Makefile |
a31222ac | 930 | src/mod/applications/mod_hash/Makefile |
17d52112 | 931 | src/mod/codecs/mod_com_g729/Makefile |
59472c23 | 932 | src/mod/endpoints/mod_portaudio/Makefile |
ad4eb5e0 | 933 | src/mod/endpoints/mod_skinny/Makefile |
99e55ae0 | 934 | src/mod/endpoints/mod_skypopen/Makefile |
7b3d3f7e | 935 | src/mod/endpoints/mod_sofia/Makefile |
59472c23 | 936 | src/mod/formats/mod_portaudio_stream/Makefile |
7b3d3f7e AM |
937 | src/mod/asr_tts/mod_unimrcp/Makefile |
938 | src/mod/languages/mod_java/Makefile | |
9b8392bc | 939 | src/mod/languages/mod_lua/Makefile |
7b3d3f7e | 940 | src/mod/languages/mod_python/Makefile |
0c1ae13d | 941 | src/mod/languages/mod_spidermonkey/Makefile |
7b3d3f7e AM |
942 | src/mod/event_handlers/mod_erlang_event/Makefile |
943 | src/include/switch_am_config.h | |
944 | build/getsounds.sh | |
945 | build/getlib.sh | |
17d52112 | 946 | build/getg729.sh |
68b58406 | 947 | build/freeswitch.pc |
7b3d3f7e AM |
948 | build/modmake.rules |
949 | libs/xmlrpc-c/include/xmlrpc-c/config.h | |
950 | libs/xmlrpc-c/xmlrpc_config.h | |
951 | scripts/gentls_cert]) | |
4da77ea5 | 952 | |
a6e9f279 | 953 | AM_CONDITIONAL(ISLINUX, [test `uname -s` = Linux]) |
db399276 | 954 | AM_CONDITIONAL(ISMAC, [test `uname -s` = Darwin]) |
a092a55a | 955 | AM_CONDITIONAL(IS64BITLINUX, [test `uname -m` = x86_64]) |
a6e9f279 | 956 | |
c7753b06 MJ |
957 | #some vars to sub into the Makefile.am's |
958 | #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 | |
959 | LIBTOOL='`if test -z "$(VERBOSE)" ; then echo $(SHELL) $(switch_builddir)/quiet_libtool ;else echo $(switch_builddir)/libtool; fi;`' | |
960 | TOUCH_TARGET='if test -f "$@";then touch "$@";fi;' | |
afe7d97f | 961 | CONF_MODULES='$$(grep -v "\#" $(switch_builddir)/modules.conf | sed -e "s|^.*/||" | sort | uniq )' |
b9f2bdfb | 962 | CONF_DISABLED_MODULES='$$(grep "\#" $(switch_builddir)/modules.conf | grep -v "\#\#" | sed -e "s|^.*/||" | sort | uniq )' |
afe7d97f MJ |
963 | 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 )' |
964 | 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 )' | |
965 | 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 )' | |
966 | 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 )' | |
967 | OUR_DISABLED_MODS='$$(tmp_mods="$(CONF_DISABLED_MODULES)"; mods="$$(for i in $$tmp_mods ; do echo $$i-all ; done )"; echo $$mods )' | |
968 | OUR_DISABLED_CLEAN_MODS='$$(tmp_mods="$(CONF_DISABLED_MODULES)"; mods="$$(for i in $$tmp_mods ; do echo $$i-clean ; done )"; echo $$mods )' | |
969 | OUR_DISABLED_INSTALL_MODS='$$(tmp_mods="$(CONF_DISABLED_MODULES)"; mods="$$(for i in $$tmp_mods ; do echo $$i-install ; done)"; echo $$mods )' | |
970 | OUR_DISABLED_UNINSTALL_MODS='$$(tmp_mods="$(CONF_DISABLED_MODULES)"; mods="$$(for i in $$tmp_mods ; do echo $$i-uninstall ; done)"; echo $$mods )' | |
ed960392 AM |
971 | |
972 | 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 | 973 | #AM_MAKEFLAGS='`test -n "$(VERBOSE)" || echo -s`' |
c7753b06 MJ |
974 | AC_SUBST(LIBTOOL) |
975 | AC_SUBST(TOUCH_TARGET) | |
ed960392 | 976 | AC_SUBST(CONF_DISABLED_MODULES) |
5f053e18 | 977 | AC_SUBST(CONF_MODULES) |
ed960392 | 978 | |
5f053e18 MJ |
979 | AC_SUBST(OUR_MODS) |
980 | AC_SUBST(OUR_CLEAN_MODS) | |
981 | AC_SUBST(OUR_INSTALL_MODS) | |
982 | AC_SUBST(OUR_UNINSTALL_MODS) | |
ed960392 AM |
983 | AC_SUBST(OUR_DISABLED_MODS) |
984 | AC_SUBST(OUR_DISABLED_CLEAN_MODS) | |
985 | AC_SUBST(OUR_DISABLED_INSTALL_MODS) | |
986 | AC_SUBST(OUR_DISABLED_UNINSTALL_MODS) | |
c7753b06 MJ |
987 | AC_SUBST(AM_MAKEFLAGS) |
988 | ||
74fd6fb6 | 989 | ac_configure_args="$ac_configure_args CONFIGURE_CFLAGS='$CFLAGS' CONFIGURE_CXXFLAGS='$CXXFLAGS' CONFIGURE_LDFLAGS='$LDFLAGS' " |
452b0bde | 990 | |
40ff9a41 MJ |
991 | # --prefix='$prefix' --exec_prefix='$exec_prefix' --libdir='$libdir' --libexecdir='$libexecdir' --bindir='$bindir' --sbindir='$sbindir' \ |
992 | # --localstatedir='$localstatedir' --datadir='$datadir'" | |
8f9ab613 | 993 | |
46f6981d | 994 | # Run configure in all the subdirs |
5ccac21d MJ |
995 | AC_CONFIG_SUBDIRS([libs/srtp]) |
996 | AC_CONFIG_SUBDIRS([libs/sqlite]) | |
99b12efe | 997 | if test "$enable_core_libedit_support" = "yes" ; then |
5ccac21d MJ |
998 | AC_CONFIG_SUBDIRS([libs/libedit]) |
999 | fi | |
1000 | ||
1001 | AC_CONFIG_SUBDIRS([libs/pcre]) | |
1002 | AC_CONFIG_SUBDIRS([libs/apr]) | |
1003 | AC_CONFIG_SUBDIRS([libs/apr-util]) | |
1004 | AC_CONFIG_SUBDIRS([libs/ilbc]) | |
493fc648 MJ |
1005 | |
1006 | if test "$ac_cv_use_system_curl" != "yes" ; then | |
1007 | AC_CONFIG_SUBDIRS([libs/curl]) | |
1008 | fi | |
5ccac21d MJ |
1009 | AC_CONFIG_SUBDIRS([libs/iksemel]) |
1010 | AC_CONFIG_SUBDIRS([libs/js/nsprpub]) | |
1011 | AC_CONFIG_SUBDIRS([libs/js]) | |
1012 | AC_CONFIG_SUBDIRS([libs/libdingaling]) | |
1013 | AC_CONFIG_SUBDIRS([libs/libsndfile]) | |
1014 | AC_CONFIG_SUBDIRS([libs/sofia-sip]) | |
1015 | AC_CONFIG_SUBDIRS([libs/speex]) | |
1016 | AC_CONFIG_SUBDIRS([libs/portaudio]) | |
1017 | AC_CONFIG_SUBDIRS([libs/openzap]) | |
8aebc016 | 1018 | AC_CONFIG_SUBDIRS([libs/freetdm]) |
5ccac21d MJ |
1019 | AC_CONFIG_SUBDIRS([libs/unimrcp]) |
1020 | AC_CONFIG_SUBDIRS([libs/tiff-3.8.2]) | |
1021 | AC_CONFIG_SUBDIRS([libs/spandsp]) | |
1022 | AC_CONFIG_SUBDIRS([libs/broadvoice]) | |
1023 | AC_CONFIG_SUBDIRS([libs/libg722_1]) | |
d1095058 | 1024 | AC_CONFIG_SUBDIRS([libs/silk]) |
62b55523 | 1025 | AC_CONFIG_SUBDIRS([libs/libcodec2]) |
ee3fc89f | 1026 | |
f6fe2667 MJ |
1027 | case $host in |
1028 | *-openbsd*) | |
1029 | # libtool won't link static libs against shared ones on OpenBSD unless we tell it not to be stupid | |
1030 | AC_CONFIG_COMMANDS([hacklibtool], [cp libtool libtool.orig && sed -e "s/deplibs_check_method=.*/deplibs_check_method=pass_all/g" libtool.orig > libtool]) | |
1031 | ;; | |
1032 | esac | |
1033 | ||
1034 | ||
6e81dda1 | 1035 | AC_OUTPUT |
5ccac21d | 1036 | |
1ed00b4d BW |
1037 | ## |
1038 | ## Registering for ClueCon | |
1039 | ## | |
17d52112 | 1040 | if ! test -f noreg ; then |
1ed00b4d BW |
1041 | echo "" |
1042 | echo "" | |
1043 | echo $ECHO_N "Registering you for ClueCon http://www.cluecon.com $ECHO_C" 1>&6 | |
1044 | sleep 1 | |
1045 | echo $ECHO_N ".$ECHO_C" 1>&6 | |
1046 | sleep 1 | |
1047 | echo $ECHO_N ".$ECHO_C" 1>&6 | |
1048 | sleep 1 | |
1049 | echo $ECHO_N ".$ECHO_C" 1>&6 | |
1050 | sleep 1 | |
1051 | echo $ECHO_N ".$ECHO_C" 1>&6 | |
1052 | sleep 1 | |
61172345 BW |
1053 | echo $ECHO_N ".$ECHO_C" 1>&6 |
1054 | sleep 1 | |
1ed00b4d BW |
1055 | AC_MSG_RESULT([ See you in August. ;-)]) |
1056 | sleep 2 | |
1057 | echo "" | |
17d52112 | 1058 | fi |
1ed00b4d | 1059 | |
5ccac21d MJ |
1060 | ## |
1061 | ## Configuration summary | |
1062 | ## | |
1063 | ||
1064 | echo | |
8912b80e | 1065 | echo "-------------------------- FreeSWITCH configuration --------------------------" |
5ccac21d MJ |
1066 | echo "" |
1067 | echo " Locations:" | |
1068 | echo " Selected layout: ${layout_name}" | |
1069 | echo "" | |
1070 | echo " prefix: ${prefix}" | |
1071 | echo " exec_prefix: ${exec_prefix}" | |
1072 | echo " bindir: ${bindir}" | |
1073 | echo " libdir: ${libdir}" | |
1074 | echo " modulesdir: ${modulesdir}" | |
1075 | echo " sysconfdir: ${sysconfdir}" | |
1076 | echo " runtimedir: ${runtimedir}" | |
1077 | echo " logfiledir: ${logfiledir}" | |
1078 | echo "" | |
8912b80e | 1079 | echo "------------------------------------------------------------------------------" |