1# Process this file with autoconf to produce a configure script.
2AC_INIT(Yate, 6.4.0)
3AC_CONFIG_SRCDIR([README])
4AC_PREREQ(2.52)
5
6if echo "$ac_confdir/$ac_pwd" | grep -q '[[[:space:]\\\$\"'\'']]'; then
7    AC_ERROR([Unsupported character(s) in source or current directory name])
8fi
9
10PACKAGE_RELEASE="1"
11PACKAGE_STATUS=""
12PACKAGE_REVISION=`cd "$srcdir"; LANG=C LC_MESSAGES=C svn info 2>/dev/null | sed -n 's,^Last Changed Rev: *,,p'`
13test -z "$PACKAGE_REVISION" && PACKAGE_REVISION=`cat "$srcdir/packing/revision.txt" 2>/dev/null`
14AC_ARG_WITH(status,AC_HELP_STRING([--with-status=NAME],[use NAME as package status]),[PACKAGE_STATUS=$withval])
15
16PACKAGE_VERSION_MAJOR="${PACKAGE_VERSION%%.*}"
17PACKAGE_VERSION_MINOR="${PACKAGE_VERSION#*.}"
18PACKAGE_VERSION_MINOR="${PACKAGE_VERSION_MINOR%.*}"
19PACKAGE_VERSION_BUILD="${PACKAGE_VERSION##*.}"
20PACKAGE_VERSION_RELEASE="$((0+${PACKAGE_RELEASE}))"
21AC_SUBST(PACKAGE_VERSION_MAJOR)
22AC_SUBST(PACKAGE_VERSION_MINOR)
23AC_SUBST(PACKAGE_VERSION_BUILD)
24AC_SUBST(PACKAGE_VERSION_RELEASE)
25AC_SUBST(PACKAGE_RELEASE)
26AC_SUBST(PACKAGE_STATUS)
27AC_SUBST(PACKAGE_REVISION)
28
29# We may need the host OS type but avoid the overhead of AC_CANONICAL_SYSTEM
30AC_MSG_CHECKING([for local operating system type])
31uname_os=`uname -s`
32test -x "$uname_os" && uname_os=Unknown
33AC_MSG_RESULT([$uname_os])
34
35# Check if we should look for alternate library names
36AC_ARG_WITH(archlib,AC_HELP_STRING([--with-archlib=NAME],[use NAME as library directory name]),[ac_cv_use_archlib=$withval])
37AC_MSG_CHECKING([for libraries directory name])
38archname=`dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null`
39test -z "$archname" && archname=`uname -m 2>/dev/null`
40test -z "$archname" && archname=`arch -k 2>/dev/null`
41test -z "$archname" && archname=`arch 2>/dev/null`
42ARCHLIB=""
43case "x$archname" in
44    x*-*-*)
45	test -d "/usr/lib/$archname" && ARCHLIB="lib/$archname"
46	;;
47esac
48if [[ -z "$ARCHLIB" ]]; then
49    case "x$archname" in
50	x*x86_64*|xppc64*|xaarch64)
51	    ARCHLIB="lib64"
52	    ;;
53	*)
54	    ARCHLIB="lib"
55    esac
56fi
57case "x$ac_cv_use_archlib" in
58    x|xyes)
59	;;
60    xno)
61	ARCHLIB="lib"
62	;;
63    *)
64	ARCHLIB="$ac_cv_use_archlib"
65esac
66test -d "/usr/$ARCHLIB" || ARCHLIB="lib"
67AC_MSG_RESULT([$ARCHLIB])
68AC_SUBST(ARCHLIB)
69
70# Checks for programs.
71AC_PROG_CXX
72AC_PROG_CC
73AC_PROG_AWK
74
75AC_MSG_CHECKING([for sed command to use])
76# sed expression to convert version into something comparable lexicographically
77csed='sed'
78vsed='s/\(^\|\.\)\([[0-9]]\)\($\|\.\)/\10\2\3/g'
79if [[ -n "`echo a | sed 's/a\|b//'`" ]]; then
80    csed='sed -E'
81    vsed='s/(^|\.)([[0-9]])($|\.)/\10\2\3/g'
82fi
83AC_MSG_RESULT([$csed])
84
85AC_C_BIGENDIAN([CFLAGS="$CFLAGS -DBIGENDIAN"])
86
87# Check if gcc style printf argument check is supported
88HAVE_GCC_FORMAT_CHECK=""
89AC_MSG_CHECKING([for gcc printf format typechecks])
90SAVE_CFLAGS="$CFLAGS"
91CFLAGS="$CFLAGS -Wall -Werror"
92AC_TRY_COMPILE([],[void f(void*x,const char*f,...) __attribute__((format(printf,2,3))); ],[ac_cv_format_checks=yes],[ac_cv_format_checks=no])
93CFLAGS="$SAVE_CFLAGS"
94if [[ "x$ac_cv_format_checks" = "xyes" ]]; then
95    HAVE_GCC_FORMAT_CHECK="-DHAVE_GCC_FORMAT_CHECK"
96fi
97AC_MSG_RESULT([$ac_cv_format_checks])
98
99# Check if disabling warnings for overloaded virtual functions is available
100HAVE_NO_OVERLOAD_VIRT_WARN=""
101AC_MSG_CHECKING([for -Wno-overloaded-virtual flag])
102SAVE_CFLAGS="$CFLAGS"
103CFLAGS="-Wno-overloaded-virtual -Werror"
104AC_TRY_COMPILE([],[],
105[ac_cv_no_overload_virt=yes],[ac_cv_no_overload_virt=no])
106CFLAGS="$SAVE_CFLAGS"
107if [[ "x$ac_cv_no_overload_virt" = "xyes" ]]; then
108    HAVE_NO_OVERLOAD_VIRT_WARN="-Wno-overloaded-virtual"
109fi
110AC_MSG_RESULT([$ac_cv_no_overload_virt])
111
112#GCC_UNRESOLVED_SYMBOLS="-Wl,--unresolved-symbols=ignore-in-shared-libs"
113GCC_UNRESOLVED_SYMBOLS=""
114ld_unresolved_symbols=no
115AC_MSG_CHECKING([if ld supports reporting unresolved symbols])
116SAVE_CFLAGS="$CFLAGS"
117CFLAGS="$CFLAGS -Wall -Werror $GCC_UNRESOLVED_SYMBOLS"
118AC_TRY_LINK([],[],[ld_unresolved_symbols=yes],[GCC_UNRESOLVED_SYMBOLS=""])
119CFLAGS="$SAVE_CFLAGS"
120AC_MSG_RESULT([$ld_unresolved_symbols])
121
122# Check if { instruction } blocks can return a value
123HAVE_BLOCK_RETURN=no
124AC_ARG_ENABLE(strings,AC_HELP_STRING([--enable-strings],[Create static Strings (default: yes)]),want_strings=$enableval,want_strings=yes)
125if [[ "x$want_strings" = "xyes" ]]; then
126AC_MSG_CHECKING([if instruction blocks return values])
127AC_TRY_COMPILE([],[return ({static int ret = 1; ret;});],HAVE_BLOCK_RETURN="yes")
128AC_MSG_RESULT([$HAVE_BLOCK_RETURN])
129fi
130if [[ "x$HAVE_BLOCK_RETURN" = "xyes" ]]; then
131HAVE_BLOCK_RETURN="-DHAVE_BLOCK_RETURN"
132else
133HAVE_BLOCK_RETURN=""
134fi
135AC_SUBST(HAVE_BLOCK_RETURN)
136
137# Checks for header files.
138AC_HEADER_DIRENT
139AC_HEADER_STDC
140AC_CHECK_HEADERS([fcntl.h semaphore.h arpa/inet.h netdb.h netinet/in.h sys/ioctl.h sys/socket.h sys/time.h], , [AC_MSG_ERROR([This header file is required.])])
141
142# Checks for typedefs, structures, and compiler characteristics.
143AC_C_CONST
144AC_C_INLINE
145AC_HEADER_TIME
146
147# Checks for library functions.
148AC_TYPE_SIGNAL
149AC_CHECK_FUNCS([malloc gettimeofday inet_ntoa memmove strerror], , [AC_MSG_ERROR([This function is required.])])
150
151HAVE_GETCWD=""
152AC_CHECK_FUNCS([getcwd], [HAVE_GETCWD="-DHAVE_GETCWD"])
153AC_SUBST(HAVE_GETCWD)
154
155HAVE_PRCTL=""
156AC_MSG_CHECKING([for prctl])
157have_prctl="no"
158AC_TRY_COMPILE([
159#include <unistd.h>
160#include <sys/prctl.h>
161],[
162prctl(1,2,3,4,5);
163],have_prctl="yes")
164AC_MSG_RESULT([$have_prctl])
165if [[ "$have_prctl" = "yes" ]]; then
166HAVE_PRCTL="-DHAVE_PRCTL"
167fi
168AC_SUBST(HAVE_PRCTL)
169
170HAVE_SOCKADDR_LEN=""
171AC_MSG_CHECKING([for sockaddr.sa_len presence])
172AC_TRY_COMPILE([
173#include <sys/socket.h>
174],[
175struct sockaddr saddr;
176saddr.sa_len = sizeof(struct sockaddr);
177],
178have_sockaddr_len="yes",
179have_sockaddr_len="no"
180)
181if [[ "$have_sockaddr_len" = "yes" ]]; then
182HAVE_SOCKADDR_LEN="-DHAVE_SOCKADDR_LEN"
183fi
184AC_SUBST(HAVE_SOCKADDR_LEN)
185AC_MSG_RESULT([$have_sockaddr_len])
186
187HAVE_GMTOFF=""
188AC_MSG_CHECKING([for tm.tm_gmtoff presence])
189have_gmtoff="no"
190AC_TRY_COMPILE([
191#include <time.h>
192],[
193struct tm t;
194t.tm_gmtoff = 3600;
195],have_gmtoff="yes")
196AC_MSG_RESULT([$have_gmtoff])
197if [[ "$have_gmtoff" = "yes" ]]; then
198HAVE_GMTOFF="-DHAVE_GMTOFF"
199fi
200AC_SUBST(HAVE_GMTOFF)
201
202HAVE_INT_TZ=""
203AC_MSG_CHECKING([for integer timezone variable])
204have_tzint="no"
205AC_TRY_COMPILE([
206#include <time.h>
207],[
208long tz = -timezone;
209],have_tzint="yes")
210AC_MSG_RESULT([$have_tzint])
211if [[ "$have_tzint" = "yes" ]]; then
212HAVE_INT_TZ="-DHAVE_INT_TZ"
213fi
214AC_SUBST(HAVE_INT_TZ)
215
216HAVE_POLL=no
217AC_ARG_ENABLE(poll,AC_HELP_STRING([--enable-poll],[Use poll() on sockets (default: yes)]),want_poll=$enableval,want_poll=yes)
218if [[ "x$want_poll" = "xyes" ]]; then
219AC_MSG_CHECKING([for poll])
220AC_TRY_COMPILE([#include <poll.h>
221],[
222struct pollfd fds;
223poll(&fds,1,1);
224],HAVE_POLL=yes)
225AC_MSG_RESULT([$HAVE_POLL])
226fi
227AC_SUBST(HAVE_POLL)
228
229AC_CACHE_SAVE
230
231SAVE_LIBS="$LIBS"
232# Checks for required libraries.
233THREAD_LIB=""
234AC_CHECK_LIB([pthread], [pthread_mutexattr_settype], [THREAD_LIB="-lpthread"])
235if [[ "x$THREAD_LIB" = "x" ]]; then
236AC_CHECK_LIB([c], [pthread_mutexattr_settype], , [AC_MSG_ERROR([This function is required.])])
237fi
238AC_SUBST(THREAD_LIB)
239
240AC_MSG_CHECKING([for dlopen in default libs])
241AC_LANG_SAVE
242AC_LANG_C
243AC_TRY_LINK([#include <dlfcn.h>],[dlopen("",0);],[have_dl=yes],[have_dl=no])
244AC_LANG_RESTORE
245AC_MSG_RESULT([$have_dl])
246if [[ "x$have_dl" != "xyes" ]]; then
247AC_CHECK_LIB([dl], [dlopen], , [AC_MSG_ERROR([This function is required.])])
248DLOPEN_LIB="-ldl"
249fi
250AC_SUBST(DLOPEN_LIB)
251# Restore the system libs
252LIBS="$SAVE_LIBS"
253
254MUTEX_HACK=""
255AC_LANG_SAVE
256AC_LANG_C
257SAVE_CFLAGS="$CFLAGS"
258CFLAGS="$CFLAGS -Wall -Werror"
259SAVE_LIBS="$LIBS"
260LIBS="$LIBS $THREAD_LIB"
261
262AC_MSG_CHECKING([for pthread_mutexattr_settype declaration])
263AC_TRY_COMPILE([
264#include <unistd.h>
265#include <pthread.h>
266],[
267pthread_mutexattr_t attr;
268pthread_mutexattr_settype(&attr,PTHREAD_MUTEX_RECURSIVE_NP);
269],
270have_mutex_settype="yes",
271have_mutex_settype="no"
272)
273if [[ "$have_mutex_settype" = "no" ]]; then
274MUTEX_HACK="-DMUTEX_HACK"
275fi
276AC_MSG_RESULT([$have_mutex_settype])
277
278AC_MSG_CHECKING([for pthread_mutex_timedlock])
279AC_TRY_LINK([
280#include <unistd.h>
281#include <pthread.h>
282#include <time.h>
283],[
284pthread_mutex_t mutex;
285struct timespec tout;
286pthread_mutex_timedlock(&mutex,&tout);
287],
288have_mutex_timedlock="yes",
289have_mutex_timedlock="no"
290)
291if [[ "$have_mutex_timedlock" = "yes" ]]; then
292MUTEX_HACK="$MUTEX_HACK -DHAVE_TIMEDLOCK"
293fi
294AC_MSG_RESULT([$have_mutex_timedlock])
295
296AC_MSG_CHECKING([for sem_timedwait])
297AC_TRY_LINK([
298#include <semaphore.h>
299#include <time.h>
300],[
301sem_t sem;
302struct timespec tout;
303sem_timedwait(&sem,&tout);
304],
305have_sem_timedwait="yes",
306have_sem_timedwait="no"
307)
308if [[ "$have_sem_timedwait" = "yes" ]]; then
309MUTEX_HACK="$MUTEX_HACK -DHAVE_TIMEDWAIT"
310fi
311AC_MSG_RESULT([$have_sem_timedwait])
312
313CFLAGS="$SAVE_CFLAGS"
314LIBS="$SAVE_LIBS"
315AC_LANG_RESTORE
316AC_SUBST(MUTEX_HACK)
317
318NETDB_FLAGS=""
319AC_CHECK_FUNC([inet_ntop],[NETDB_FLAGS="$NETDB_FLAGS -DHAVE_NTOP"])
320AC_CHECK_FUNC([inet_pton],[NETDB_FLAGS="$NETDB_FLAGS -DHAVE_PTON"])
321AC_CHECK_FUNC([gethostbyname_r],[NETDB_FLAGS="$NETDB_FLAGS -DHAVE_GHBN_R"])
322AC_CHECK_FUNC([gethostbyname2_r],[NETDB_FLAGS="$NETDB_FLAGS -DHAVE_GHBN2_R"])
323AC_CHECK_FUNC([gethostbyname2],[NETDB_FLAGS="$NETDB_FLAGS -DHAVE_GHBN2"])
324AC_SUBST(NETDB_FLAGS)
325
326THREAD_KILL=""
327AC_MSG_CHECKING([for pthread_kill_other_threads_np declaration])
328AC_LANG_SAVE
329AC_LANG_C
330SAVE_CFLAGS="$CFLAGS"
331CFLAGS="$CFLAGS -Wall -Werror"
332AC_TRY_COMPILE([
333#include <unistd.h>
334#include <pthread.h>
335],[
336pthread_kill_other_threads_np();
337],
338have_pthread_kill="yes",
339have_pthread_kill="no"
340)
341CFLAGS="$SAVE_CFLAGS"
342AC_LANG_RESTORE
343if [[ "$have_pthread_kill" = "yes" ]]; then
344THREAD_KILL="-DTHREAD_KILL"
345fi
346AC_MSG_RESULT([$have_pthread_kill])
347AC_SUBST(THREAD_KILL)
348
349THREAD_AFFINITY=""
350AC_MSG_CHECKING([for pthread_setaffinity_np declaration])
351AC_LANG_SAVE
352AC_LANG_C
353SAVE_CFLAGS="$CFLAGS"
354CFLAGS="$CFLAGS -Wall -Werror"
355AC_TRY_COMPILE([
356#define _GNU_SOURCE
357#include <pthread.h>
358],[
359    cpu_set_t cpuset;
360    pthread_setaffinity_np(pthread_self(),sizeof(cpuset),&cpuset);
361],
362    have_pthread_affinity="yes",
363    have_pthread_affinity="no"
364)
365AC_MSG_RESULT([$have_pthread_affinity])
366if [[ "x$have_pthread_affinity" = "xyes" ]]; then
367    THREAD_AFFINITY="-DTHREAD_AFFINITY"
368else
369    AC_MSG_CHECKING([for sched_setaffinity declaration])
370    AC_TRY_COMPILE([
371    #define _GNU_SOURCE
372    #include <sched.h>
373    ],[
374	cpu_set_t cpuset;
375	sched_setaffinity(0,sizeof(cpuset),&cpuset);
376    ],
377	have_sched_affinity="yes",
378	have_sched_affinity="no"
379    )
380    if [[ "x$have_sched_affinity" = "xyes" ]]; then
381	THREAD_AFFINITY="-DSCHED_AFFINITY"
382    fi
383    AC_MSG_RESULT([$have_sched_affinity])
384fi
385CFLAGS="$SAVE_CFLAGS"
386AC_LANG_RESTORE
387AC_SUBST(THREAD_AFFINITY)
388
389# Check for compile options
390INLINE_FLAGS=""
391AC_ARG_ENABLE(inline,AC_HELP_STRING([--enable-inline],[Enable inlining of functions]),want_inline=$enableval,want_inline=auto)
392AC_MSG_CHECKING([whether to use inline functions])
393case "x$want_inline" in
394    xyes)
395	INLINE_FLAGS="-finline -Winline"
396	;;
397    xno)
398	INLINE_FLAGS="-fno-inline"
399	;;
400    xauto)
401	;;
402    *)
403	AC_ERROR([Invalid argument passed to --enable-inline])
404	;;
405esac
406AC_MSG_RESULT([$want_inline])
407AC_SUBST(INLINE_FLAGS)
408
409# Check for atomic integer operations
410ATOMIC_OPS=""
411AC_ARG_ENABLE(atomics,AC_HELP_STRING([--enable-atomics],[Enable atomic integer operations (default: yes)]),want_atomics=$enableval,want_atomics=yes)
412if [[ "x$want_atomics" != "xno" ]]; then
413AC_MSG_CHECKING([whether to use atomic integer operations])
414AC_LANG_SAVE
415AC_LANG_C
416SAVE_CFLAGS="$CFLAGS"
417CFLAGS="$CFLAGS -Wall -Werror"
418AC_TRY_LINK([],[
419int i = 0;
420int j = __sync_add_and_fetch(&i,1);
421return __sync_fetch_and_sub(&j,1);
422],
423ATOMIC_OPS="-DATOMIC_OPS",
424want_atomics="no (missing -march ?)"
425)
426CFLAGS="$SAVE_CFLAGS"
427AC_LANG_RESTORE
428AC_MSG_RESULT([$want_atomics])
429fi
430AC_SUBST(ATOMIC_OPS)
431
432
433# Check for sse2 operations
434SSE2_OPS=no
435AC_ARG_ENABLE(sse2,AC_HELP_STRING([--enable-sse2],[Enable sse2 operations (default: no)]),want_sse2=$enableval,want_sse2=no)
436AC_MSG_CHECKING([whether to use sse2 operations])
437if [[ "x$want_sse2" != "xno" ]]; then
438AC_LANG_SAVE
439AC_LANG_C
440SAVE_CFLAGS="$CFLAGS"
441CFLAGS="$CFLAGS -Wall -Werror -msse2"
442AC_TRY_LINK([#include <stdint.h>
443#include <math.h>
444#include<emmintrin.h>
445],[
446float ef[2][2];
447const __m128 k1e_10f = _mm_set1_ps(1e-10f);
448_mm_storeu_ps(&ef[0][0], k1e_10f);
449return (int) ef[0][0];
450],
451SSE2_OPS="yes",
452want_sse2="no (missing -march ?)"
453)
454CFLAGS="$SAVE_CFLAGS"
455AC_LANG_RESTORE
456fi
457AC_MSG_RESULT([$want_sse2])
458AC_SUBST(SSE2_OPS)
459
460
461FDSIZE_HACK=""
462AC_ARG_WITH(fdsize,AC_HELP_STRING([--with-fdsize=NNNN],[set FD_SIZE to NNNN (default 8192)]),[ac_cv_use_fdsize=$withval],[ac_cv_use_fdsize=8192])
463if [[ "x$ac_cv_use_fdsize" != "xno" ]]; then
464FDSIZE_HACK="-DFDSIZE_HACK=$ac_cv_use_fdsize"
465AC_LANG_SAVE
466AC_LANG_C
467AC_TRY_COMPILE([#include <features.h>
468#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
469#include <bits/types.h>
470#else
471#error FD_SETSIZE cannot be set
472#endif],[if (__FD_SETSIZE>10) return 0;],[],[FDSIZE_HACK=""])
473AC_LANG_RESTORE
474if [[ "x$FDSIZE_HACK" = "x" -a "x$HAVE_POLL" != "xyes" ]]; then
475AC_ERROR([Cannot set FD_SETSIZE on this platform, use --without-fdsize])
476fi
477fi
478if [[ "x$HAVE_POLL" = "xyes" ]]; then
479FDSIZE_HACK="-DHAVE_POLL $FDSIZE_HACK"
480fi
481AC_SUBST(FDSIZE_HACK)
482
483HAVE_SCTP=no
484HAVE_SCTP_NETINET=no
485SCTP_FLAGS=""
486AC_ARG_ENABLE(sctp,AC_HELP_STRING([--enable-sctp],[Enable SCTP sockets (default: yes)]),want_sctp=$enableval,want_sctp=yes)
487if [[ "x$want_sctp" = "xyes" ]]; then
488AC_LANG_SAVE
489AC_LANG_C
490AC_MSG_CHECKING([for basic SCTP support])
491AC_TRY_COMPILE([#include <sys/types.h>
492#include <sys/socket.h>
493#include <netinet/in.h>],[int fd = socket(PF_INET,SOCK_SEQPACKET,IPPROTO_SCTP);],[HAVE_SCTP=yes])
494AC_MSG_RESULT([$HAVE_SCTP])
495AC_MSG_CHECKING([for netinet/sctp.h usability])
496AC_TRY_COMPILE([#include <sys/types.h>
497#include <sys/socket.h>
498#include <netinet/in.h>
499#include <netinet/sctp.h>],[sctp_assoc_t assoc; int fd = socket(PF_INET,SOCK_SEQPACKET,IPPROTO_SCTP); assoc = 1;],[HAVE_SCTP_NETINET=yes])
500AC_MSG_RESULT([$HAVE_SCTP_NETINET])
501if [[ "x$HAVE_SCTP_NETINET" != "xno" ]]; then
502# including netinet/sctp.h fixes SCTP support so enable it
503HAVE_SCTP=yes
504SCTP_FLAGS="-DHAVE_SCTP -DHAVE_SCTP_NETINET"
505sctp_connectx_new=no
506AC_MSG_CHECKING([whether sctp_connectx has 4 arguments])
507AC_TRY_COMPILE([#include <sys/types.h>
508#include <sys/socket.h>
509#include <netinet/in.h>
510#include <netinet/sctp.h>],[sctp_connectx(0,0,0,0);],[sctp_connectx_new=yes])
511AC_MSG_RESULT([$sctp_connectx_new])
512if [[ "x$sctp_connectx_new" = "xyes" ]]; then
513SCTP_FLAGS="$SCTP_FLAGS -DHAVE_SCTP_CONNECTX_4"
514fi
515sctp_setadaptation=no
516AC_MSG_CHECKING([whether sctp_setadaptation struct is present])
517AC_TRY_COMPILE([#include <sys/types.h>
518#include <sys/socket.h>
519#include <netinet/in.h>
520#include <netinet/sctp.h>],[struct sctp_setadaptation sctp_adapt;],[sctp_setadaptation=yes])
521AC_MSG_RESULT([$sctp_setadaptation])
522if [[ "x$sctp_setadaptation" = "xyes" ]]; then
523SCTP_FLAGS="$SCTP_FLAGS -DHAVE_SETADAPTATION_STRUCT"
524fi
525sctp_sack_info=no
526AC_MSG_CHECKING([whether sctp_sack_info struct is present])
527AC_TRY_COMPILE([#include <sys/types.h>
528#include <sys/socket.h>
529#include <netinet/in.h>
530#include <netinet/sctp.h>],[struct sctp_sack_info assoc_value;],[sctp_sack_info=yes])
531AC_MSG_RESULT([$sctp_sack_info])
532if [[ "x$sctp_sack_info" = "xyes" ]]; then
533SCTP_FLAGS="$SCTP_FLAGS -DHAVE_SACK_INFO_STRUCT"
534else
535sctp_assoc_value=no
536AC_MSG_CHECKING([whether sctp_assoc_value struct is present])
537AC_TRY_COMPILE([#include <sys/types.h>
538#include <sys/socket.h>
539#include <netinet/in.h>
540#include <netinet/sctp.h>],[struct sctp_assoc_value assoc_value;],[sctp_assoc_value=yes])
541AC_MSG_RESULT([$sctp_assoc_value])
542if [[ "x$sctp_assoc_value" = "xyes" ]]; then
543SCTP_FLAGS="$SCTP_FLAGS -DHAVE_ASSOC_VALUE_STRUCT"
544fi
545fi
546# Check for SCTP_UNCONFIRMED enum value presence
547# Added in lksctp-tools 1.0.7
548sctp_have_unconfirmed=no
549AC_MSG_CHECKING([whether SCTP_UNCONFIRMED is present])
550AC_TRY_COMPILE([#include <netinet/sctp.h>],[int val = SCTP_UNCONFIRMED;],[sctp_have_unconfirmed=yes])
551AC_MSG_RESULT([$sctp_have_unconfirmed])
552if [[ "x$sctp_have_unconfirmed" = "xyes" ]]; then
553SCTP_FLAGS="$SCTP_FLAGS -DHAVE_SCTP_UNCONFIRMED"
554fi
555# Check for SCTP_PF enum value presence
556sctp_have_pf=no
557AC_MSG_CHECKING([whether SCTP_PF is present])
558AC_TRY_COMPILE([#include <netinet/sctp.h>],[int val = SCTP_PF;],[sctp_have_pf=yes])
559AC_MSG_RESULT([$sctp_have_unconfirmed])
560if [[ "x$sctp_have_pf" = "xyes" ]]; then
561SCTP_FLAGS="$SCTP_FLAGS -DHAVE_SCTP_PF"
562fi
563else
564if [[ "x$HAVE_SCTP" != "xno" ]]; then
565SCTP_FLAGS="-DHAVE_SCTP"
566fi
567fi
568AC_LANG_RESTORE
569fi
570AC_SUBST(HAVE_SCTP)
571AC_SUBST(HAVE_SCTP_NETINET)
572AC_SUBST(SCTP_FLAGS)
573
574# Checks for optional libraries.
575
576HAVE_RESOLV=no
577RESOLV_INC="-DNO_RESOLV"
578RESOLV_LIB=""
579AC_ARG_ENABLE(resolver,AC_HELP_STRING([--enable-resolver],[Use resolver if available (default: yes)]),want_resolver=$enableval,want_resolver=yes)
580if [[ "x$want_resolver" = "xyes" ]]; then
581AC_MSG_CHECKING([for resolver library])
582AC_LANG_SAVE
583AC_LANG_C
584SAVE_CFLAGS="$CFLAGS"
585CFLAGS="$CFLAGS -Wall -Werror $GCC_UNRESOLVED_SYMBOLS"
586SAVE_LIBS="$LIBS"
587AC_TRY_LINK([#include <netinet/in.h>
588#include <arpa/nameser.h>
589#include <resolv.h>],[res_init();],[HAVE_RESOLV=yes])
590if [[ "x$HAVE_RESOLV" = "xno" ]]; then
591LIBS="$LIBS -lresolv"
592AC_TRY_LINK([#include <netinet/in.h>
593#include <arpa/nameser.h>
594#include <resolv.h>],[res_init();],
595[HAVE_RESOLV=yes RESOLV_LIB=-lresolv])
596fi
597LIBS="$SAVE_LIBS"
598if [[ "x$HAVE_RESOLV" != "xno" -a "x$RESOLV_LIB" = "x" ]]; then
599AC_TRY_LINK([#include <netinet/in.h>
600#include <arpa/nameser.h>
601#include <resolv.h>],[unsigned char x[2]; res_query("",0,0,x,0);],[],[RESOLV_LIB=-lresolv])
602fi
603CFLAGS="$SAVE_CFLAGS"
604AC_LANG_RESTORE
605AC_MSG_RESULT([$HAVE_RESOLV $RESOLV_LIB])
606if [[ "x$HAVE_RESOLV" = "xyes" ]]; then
607RESOLV_INC="-DNO_DN_SKIPNAME"
608HAVE_DN_SKIPNAME="no"
609AC_MSG_CHECKING([for dn_skipname])
610AC_LANG_SAVE
611AC_LANG_C
612SAVE_CFLAGS="$CFLAGS"
613CFLAGS="$CFLAGS -Wall -Werror $GCC_UNRESOLVED_SYMBOLS"
614SAVE_LIBS="$LIBS"
615LIBS="$LIBS $RESOLV_LIB"
616AC_TRY_LINK([#include <netinet/in.h>
617#include <arpa/nameser.h>
618#include <resolv.h>],[unsigned char*p=0; dn_skipname(p,p);],
619[HAVE_DN_SKIPNAME=yes RESOLV_INC=""])
620LIBS="$SAVE_LIBS"
621CFLAGS="$SAVE_CFLAGS"
622AC_LANG_RESTORE
623AC_MSG_RESULT([$HAVE_DN_SKIPNAME])
624fi
625fi
626AC_SUBST(HAVE_RESOLV)
627AC_SUBST(RESOLV_INC)
628AC_SUBST(RESOLV_LIB)
629
630INTERNAL_REGEX=yes
631AC_ARG_ENABLE(internalregex,AC_HELP_STRING([--enable-internalregex],[Use internal regexp library (default: not on Linux)]),want_internalregex=$enableval,want_internalregex=auto)
632AC_MSG_CHECKING([whether to use the internal regexp library])
633case "x$want_internalregex" in
634    xno|xdisable|xnot)
635	INTERNAL_REGEX=no
636	;;
637    xyes|xenable)
638	;;
639    xauto)
640	if [[ "x$uname_os" = "xLinux" ]]; then
641	    INTERNAL_REGEX=no
642	fi
643	;;
644    *)
645	AC_ERROR([Invalid argument passed to --enable-internalregex])
646	;;
647esac
648AC_MSG_RESULT([$INTERNAL_REGEX])
649if [[ "x$INTERNAL_REGEX" != "xyes" ]]; then
650AC_CHECK_FUNCS([regcomp], , [INTERNAL_REGEX=yes])
651fi
652AC_SUBST(INTERNAL_REGEX)
653
654# check for Mac OS X Support
655MACOSX_INC=""
656HAVE_MACOSX_SUPPORT=no
657OBJCFLAGS=""
658if [[ "x$uname_os" = "xDarwin" ]]; then
659save_CPPFLAGS=$CPPFLAGS
660CPPFLAGS="$CPPFLAGS -x objective-c++"
661AC_MSG_CHECKING([for Mac OS X Objective-C support])
662AC_TRY_COMPILE([#import <Foundation/Foundation.h>],
663[
664[NSFileManager defaultManager]
665],
666[
667HAVE_MACOSX_SUPPORT="yes"
668OBJCFLAGS="-x objective-c++"
669MACOSX_INC="-DHAVE_MACOSX_SUPPORT"],[]
670)
671AC_MSG_RESULT([$HAVE_MACOSX_SUPPORT])
672CPPFLAGS=$save_CPPFLAGS
673fi
674AC_SUBST(MACOSX_INC)
675AC_SUBST(HAVE_MACOSX_SUPPORT)
676AC_SUBST(OBJCFLAGS)
677
678
679HAVE_PGSQL=no
680PGSQL_INC=""
681PGSQL_LIB=""
682AC_ARG_WITH(libpq,AC_HELP_STRING([--with-libpq=DIR],[use Postgress SQL from DIR (default /usr)]),[ac_cv_use_libpq=$withval],[ac_cv_use_libpq=/usr])
683if [[ "x$ac_cv_use_libpq" != "xno" ]]; then
684AC_MSG_CHECKING([for Postgress SQL in $ac_cv_use_libpq])
685local_lib="$ARCHLIB"
686libpq="$ac_cv_use_libpq/$local_lib/libpq.so"
687if [[ "x$local_lib" != "xlib" -a ! -f "$libpq" ]]; then
688    local_lib="lib"
689    libpq="$ac_cv_use_libpq/$local_lib/libpq.so"
690fi
691if [[ "x$ac_cv_use_libpq" != "x/usr" ]]; then
692    PGSQL_LIB="-L$ac_cv_use_libpq/$local_lib -lpq"
693else
694    PGSQL_LIB="-lpq"
695fi
696for i in include include/pgsql pgsql/include include/postgresql; do
697    incpq="$ac_cv_use_libpq/$i"
698    test -f "$incpq/libpq-fe.h" && break
699done
700if [[ ! -f "$incpq/libpq-fe.h" ]]; then
701    incpq="$incpq/pgsql"
702fi
703if [[ -f "$incpq/libpq-fe.h" ]]; then
704if [[ -f "$libpq" ]]; then
705HAVE_PGSQL=yes
706else
707SAVE_CFLAGS="$CFLAGS"
708CFLAGS="$CFLAGS -I$incpq"
709SAVE_LIBS="$LIBS"
710LIBS="$LIBS -lpq"
711AC_TRY_LINK([#include <libpq-fe.h>],[PQconnectStart("");],[HAVE_PGSQL=yes])
712LIBS="$SAVE_LIBS"
713CFLAGS="$SAVE_CFLAGS"
714fi
715if [[ "x$HAVE_PGSQL" = "xyes" ]]; then
716    PGSQL_INC="-I$incpq"
717fi
718fi
719AC_MSG_RESULT([$HAVE_PGSQL])
720fi
721AC_SUBST(HAVE_PGSQL)
722AC_SUBST(PGSQL_INC)
723AC_SUBST(PGSQL_LIB)
724
725HAVE_MYSQL=no
726MYSQL_INC=""
727MYSQL_LIB=""
728MYSQL_VER=""
729AC_ARG_WITH(mysql,AC_HELP_STRING([--with-mysql=DIR],[use MySQL client library from DIR]),[ac_cv_use_mysql=$withval],[ac_cv_use_mysql=yes])
730if [[ "x$ac_cv_use_mysql" != "xno" ]]; then
731if [[ "x$ac_cv_use_mysql" = "xyes" ]]; then
732AC_MSG_CHECKING([for MySQL using mysql_config])
733MYSQL_INC=`(mysql_config --include) 2>/dev/null`
734MYSQL_LIB=`(mysql_config --libs_r) 2>/dev/null`
735MYSQL_VER=`(mysql_config --version) 2>/dev/null`
736if [[ x`echo "$MYSQL_INC $MYSQL_LIB $MYSQL_VER" | wc -l | sed 's/^ *//g'` != "x1" ]]; then
737MYSQL_INC=""
738fi
739if [[ ! -f `echo "$MYSQL_INC" | sed -n 's,^-I\([^ ]\+\)\( .*\)\?$,\1/mysql.h,p'` ]]; then
740MYSQL_INC=""
741fi
742if [[ "x$MYSQL_INC" != "x" -a "x$MYSQL_LIB" != "x" -a "x$MYSQL_VER" != "x" ]]; then
743HAVE_MYSQL=yes
744else
745MYSQL_INC=""
746MYSQL_LIB=""
747MYSQL_VER=""
748fi
749else
750AC_MSG_CHECKING([for MySQL in $ac_cv_use_mysql])
751local_lib="$ARCHLIB"
752if [[ "x$local_lib" != "xlib" -a ! -d "$ac_cv_use_mysql/$local_lib/mysql" ]]; then
753    local_lib="lib"
754fi
755if [[ -f "$ac_cv_use_mysql/include/mysql/mysql.h" -a -d "$ac_cv_use_mysql/$local_lib/mysql" ]]; then
756MYSQL_INC="-I$ac_cv_use_mysql/include/mysql"
757MYSQL_LIB="-L$ac_cv_use_mysql/$local_lib/mysql -lmysqlclient_r -lpthread -lz -lcrypt -lnsl -lm"
758MYSQL_VER=`sed -n 's/^.*MYSQL_SERVER_VERSION[[^"]]*"\([[^"]]*\).*$/\1/p' "$ac_cv_use_mysql/include/mysql/mysql_version.h"`
759HAVE_MYSQL=yes
760fi
761fi
762AC_MSG_RESULT([$HAVE_MYSQL $MYSQL_VER])
763if test "$HAVE_MYSQL" = "yes"; then
764    save_CPPFLAGS=$CPPFLAGS
765    CPPFLAGS="$CPPFLAGS $MYSQL_INC"
766    AC_CHECK_DECLS([MYSQL_OPT_RECONNECT],[MYSQL_INC="$MYSQL_INC -DMYSQL_OPT_RECONNECT=MYSQL_OPT_RECONNECT"],,[#include<mysql.h>])
767    AC_CHECK_DECLS([MYSQL_OPT_READ_TIMEOUT],[MYSQL_INC="$MYSQL_INC -DMYSQL_OPT_READ_TIMEOUT=MYSQL_OPT_READ_TIMEOUT"],,[#include<mysql.h>])
768    AC_CHECK_DECLS([MYSQL_OPT_WRITE_TIMEOUT],[MYSQL_INC="$MYSQL_INC -DMYSQL_OPT_WRITE_TIMEOUT=MYSQL_OPT_WRITE_TIMEOUT"],,[#include<mysql.h>])
769    AC_CHECK_DECLS([mysql_set_character_set],[MYSQL_INC="$MYSQL_INC -DHAVE_MYSQL_SET_CHARSET"],,[#include<mysql.h>])
770    AC_CHECK_TYPE([my_bool],[MYSQL_INC="$MYSQL_INC -DHAVE_MYSQL_MY_BOOL"],,[#include<mysql.h>])
771    CPPFLAGS=$save_CPPFLAGS
772fi
773fi
774AC_SUBST(HAVE_MYSQL)
775AC_SUBST(MYSQL_INC)
776AC_SUBST(MYSQL_LIB)
777AC_SUBST(MYSQL_VER)
778
779HAVE_SQLITE=no
780SQLITE_INC=""
781SQLITE_LIB=""
782AC_ARG_WITH(sqlite,AC_HELP_STRING([--with-sqlite=DIR],[use SQLite library from DIR]),[ac_cv_use_sqlite=$withval],[ac_cv_use_sqlite=yes])
783if [[ "x$ac_cv_use_sqlite" != "xno" ]]; then
784if [[ "x$ac_cv_use_sqlite" = "xyes" ]]; then
785AC_MSG_CHECKING([for SQLite using pkg-config])
786SQLITE_INC=`(pkg-config --cflags sqlite3) 2>/dev/null`
787SQLITE_LIB=`(pkg-config --libs sqlite3) 2>/dev/null`
788if [[ "x$SQLITE_INC$SQLITE_LIB" = "x" ]]; then
789SQLITE_INC=""
790SQLITE_LIB=""
791else
792HAVE_SQLITE=yes
793fi
794else
795AC_MSG_CHECKING([for SQLite in $ac_cv_use_sqlite])
796if [[ -f "$ac_cv_use_sqlite/sqlite3.h" ]]; then
797    SQLITE_INC="-I$ac_cv_use_sqlite"
798    SQLITE_LIB="-lsqlite3"
799    HAVE_SQLITE=yes
800fi
801fi
802AC_MSG_RESULT([$HAVE_SQLITE])
803fi
804AC_SUBST(HAVE_SQLITE)
805AC_SUBST(SQLITE_INC)
806AC_SUBST(SQLITE_LIB)
807
808
809HAVE_ZAP=no
810ZAP_FLAGS=""
811AC_ARG_ENABLE(dahdi,AC_HELP_STRING([--enable-dahdi],[Enable Dahdi driver (default: yes)]),want_dahdi=$enableval,want_dahdi=yes)
812if [[ "x$want_dahdi" = "xyes" ]]; then
813AC_MSG_CHECKING([for Dahdi generic headers])
814AC_TRY_COMPILE([
815#include <dahdi/user.h>
816],[],
817HAVE_ZAP="yes"
818)
819AC_MSG_RESULT([$HAVE_ZAP])
820if [[ "x$HAVE_ZAP" = "xno" ]]; then
821AC_ARG_ENABLE(zaptel,AC_HELP_STRING([--enable-zaptel],[Enable Zaptel driver (default: yes)]),want_zaptel=$enableval,want_zaptel=yes)
822if [[ "x$want_zaptel" = "xyes" ]]; then
823AC_MSG_CHECKING([for Zaptel generic headers])
824AC_TRY_COMPILE([
825#include <zaptel/zaptel.h>
826#include <sys/ioctl.h>
827],[ioctl(0,ZT_GETVERSION,(void*)0)],
828HAVE_ZAP="yes"
829ZAP_FLAGS="-DNEW_ZAPTEL_LOCATION -DHAVE_ZAP"
830)
831AC_MSG_RESULT([$HAVE_ZAP])
832if [[ "x$HAVE_ZAP" = "xno" ]]; then
833AC_MSG_CHECKING([for Zaptel linux headers])
834AC_TRY_COMPILE([
835#include <linux/zaptel.h>
836#include <sys/ioctl.h>
837],[ioctl(0,ZT_GETVERSION,(void*)0)],
838HAVE_ZAP="yes"
839ZAP_FLAGS="-DHAVE_ZAP"
840)
841AC_MSG_RESULT([$HAVE_ZAP])
842fi
843fi
844fi
845fi
846AC_SUBST(HAVE_ZAP)
847AC_SUBST(ZAP_FLAGS)
848
849AC_ARG_ENABLE(wpcard,AC_HELP_STRING([--enable-wpcard],[Enable Wanpipe card driver (default: yes)]),BUILD_WPCARD=$enableval,BUILD_WPCARD=yes)
850AC_ARG_ENABLE(tdmcard,AC_HELP_STRING([--enable-tdmcard],[Enable TDMV API card driver (default: yes)]),BUILD_TDMCARD=$enableval,BUILD_TDMCARD=yes)
851AC_SUBST(BUILD_WPCARD)
852AC_SUBST(BUILD_TDMCARD)
853
854HAVE_WANPIPE=no
855WANPIPE_FLAGS=""
856AC_ARG_ENABLE(wanpipe,AC_HELP_STRING([--enable-wanpipe],[Enable Wanpipe support (default: yes)]),want_wanpipe=$enableval,want_wanpipe=yes)
857if [[ "x$want_wanpipe" = "xyes" ]]; then
858AC_MSG_CHECKING([for Wanpipe new generic headers])
859SAVE_CFLAGS="$CFLAGS"
860CFLAGS="$CFLAGS -I/usr/include/wanpipe"
861AC_TRY_COMPILE([
862#define __LINUX__
863#include <sys/types.h>
864#include <sys/ioctl.h>
865#include <sys/socket.h>
866#include <netinet/in.h>
867#include <if_wanpipe.h>
868#include <wanpipe_defines.h>
869#include <wanpipe_cfg.h>
870#include <wanpipe.h>
871#include <aft_core.h>
872],[],
873HAVE_WANPIPE="yes"
874)
875CFLAGS="$SAVE_CFLAGS"
876AC_MSG_RESULT([$HAVE_WANPIPE])
877if [[ "x$HAVE_WANPIPE" = "xyes" ]]; then
878WANPIPE_FLAGS="-DNEW_WANPIPE_API"
879else
880AC_MSG_CHECKING([for Wanpipe old generic headers])
881SAVE_CFLAGS="$CFLAGS"
882CFLAGS="$CFLAGS -I/usr/include/wanpipe"
883AC_TRY_COMPILE([
884#define __LINUX__
885#include <sys/types.h>
886#include <sys/ioctl.h>
887#include <sys/socket.h>
888#include <netinet/in.h>
889#include <if_wanpipe.h>
890#include <wanpipe_defines.h>
891#include <wanpipe_cfg.h>
892#include <wanpipe.h>
893#include <sdla_aft_te1.h>
894],[],
895HAVE_WANPIPE="yes"
896)
897CFLAGS="$SAVE_CFLAGS"
898AC_MSG_RESULT([$HAVE_WANPIPE])
899fi
900if [[ "x$HAVE_WANPIPE" = "xyes" ]]; then
901WANPIPE_FLAGS="-DHAVE_WANPIPE_API -I/usr/include/wanpipe $WANPIPE_FLAGS"
902else
903AC_MSG_CHECKING([for Wanpipe linux headers])
904AC_TRY_COMPILE([
905#define __LINUX__
906#include <sys/types.h>
907#include <sys/ioctl.h>
908#include <sys/socket.h>
909#include <netinet/in.h>
910#include <linux/if_wanpipe.h>
911#include <linux/if.h>
912#include <linux/wanpipe_defines.h>
913#include <linux/wanpipe_cfg.h>
914#include <linux/wanpipe.h>
915#include <linux/sdla_aft_te1.h>
916],[],
917HAVE_WANPIPE="yes"
918)
919AC_MSG_RESULT([$HAVE_WANPIPE])
920fi
921fi
922AC_SUBST(HAVE_WANPIPE)
923HAVE_WANPIPE_TDM="no"
924if [[ "x$HAVE_WANPIPE" = "xyes" ]]; then
925AC_MSG_CHECKING([for Wanpipe TDM])
926SAVE_CFLAGS="$CFLAGS"
927CFLAGS="$CFLAGS -I/usr/include/wanpipe"
928AC_TRY_COMPILE([
929#define __LINUX__
930#include <sys/types.h>
931#include <sys/ioctl.h>
932#include <sys/socket.h>
933#include <netinet/in.h>
934#include <wanpipe.h>
935],[wanpipe_api_t tdm;],
936HAVE_WANPIPE_TDM="yes"
937)
938CFLAGS="$SAVE_CFLAGS"
939AC_MSG_RESULT([$HAVE_WANPIPE_TDM])
940fi
941AC_SUBST(HAVE_WANPIPE_TDM)
942
943AC_ARG_WITH(wphwec,AC_HELP_STRING([--with-wphwec=DIR],[use Wanpipe/Octasic headers from DIR]),[ac_cv_use_wphwec=$withval],[ac_cv_use_wphwec=/usr/include/wanpipe])
944if [[ "x$HAVE_WANPIPE" = "xyes" ]]; then
945if [[ "x$ac_cv_use_wphwec" != "xno" ]]; then
946AC_MSG_CHECKING([for Wanpipe/Octasic headers])
947if [[ -f "$ac_cv_use_wphwec/wanec_iface.h" -a -f "$ac_cv_use_wphwec/oct6100_api/oct6100api/oct6100_api.h" ]]; then
948    WANPIPE_FLAGS="-DHAVE_WANPIPE_HWEC -I$ac_cv_use_wphwec/oct6100_api $WANPIPE_FLAGS"
949    if [[ -f "$ac_cv_use_wphwec/wanec_iface_api.h" ]]; then
950	WANPIPE_FLAGS="-DHAVE_WANPIPE_HWEC_API $WANPIPE_FLAGS"
951    fi
952    ac_cv_use_wphwec=yes
953else
954    ac_cv_use_wphwec=no
955fi
956AC_MSG_RESULT([$ac_cv_use_wphwec])
957fi
958fi
959AC_SUBST(WANPIPE_FLAGS)
960
961HAVE_SOUNDCARD=no
962AC_MSG_CHECKING([for sound card headers])
963AC_TRY_COMPILE([
964#include <sys/stat.h>
965#include <sys/ioctl.h>
966#include <string.h>
967#include <fcntl.h>
968
969#if defined(__linux__)
970#include <linux/soundcard.h>
971#elif (defined(__FreeBSD__)||defined(__DragonFly__))
972#include <sys/soundcard.h>
973#else
974#include <soundcard.h>
975#endif
976],[],
977HAVE_SOUNDCARD="yes"
978)
979AC_MSG_RESULT([$HAVE_SOUNDCARD])
980AC_SUBST(HAVE_SOUNDCARD)
981
982HAVE_ALSA=no
983AC_MSG_CHECKING([for ALSA headers])
984AC_TRY_COMPILE([
985#if defined(__linux__)
986#include <linux/soundcard.h>
987#elif (defined(__FreeBSD__)||defined(__DragonFly__))
988#include <sys/soundcard.h>
989#else
990#include <soundcard.h>
991#endif
992
993#define ALSA_PCM_NEW_HW_PARAMS_API
994#include <alsa/asoundlib.h>
995],[],
996HAVE_ALSA="yes"
997)
998AC_MSG_RESULT([$HAVE_ALSA])
999AC_SUBST(HAVE_ALSA)
1000
1001# check for Mac OS X audio headers
1002HAVE_COREAUDIO=no
1003if [[ "x$uname_os" = "xDarwin" ]]; then
1004AC_MSG_CHECKING([for Mac OS X audio headers])
1005AC_TRY_COMPILE([
1006#include <AudioUnit/AudioUnit.h>
1007#include <AudioToolbox/AudioToolbox.h>
1008
1009AudioDeviceID getDefaultInputDevice()
1010{
1011    AudioDeviceID theAnswer = 0;
1012    UInt32 theSize = sizeof(AudioDeviceID);
1013    AudioObjectPropertyAddress theAddress = { kAudioHardwarePropertyDefaultInputDevice,
1014                                              kAudioObjectPropertyScopeGlobal,
1015                                              kAudioObjectPropertyElementMaster };
1016
1017    OSStatus theError = AudioObjectGetPropertyData(kAudioObjectSystemObject,
1018                                                   &theAddress,
1019                                                   0,
1020                                                   NULL,
1021                                                   &theSize,
1022                                                   &theAnswer);
1023    return theAnswer;
1024}
1025],[],
1026[HAVE_COREAUDIO="yes"],[]
1027)
1028AC_MSG_RESULT([$HAVE_COREAUDIO])
1029fi
1030AC_SUBST(HAVE_COREAUDIO)
1031
1032HAVE_GSM=no
1033GSM_INC=""
1034GSM_LIB="-lgsm"
1035AC_ARG_WITH(libgsm,AC_HELP_STRING([--with-libgsm],[use GSM codec if available (default)]),[ac_cv_use_libgsm=$withval],[ac_cv_use_libgsm=yes])
1036if [[ "x$ac_cv_use_libgsm" = "xstatic" ]]; then
1037    ac_cv_use_libgsm=yes
1038    GSM_LIB="-Wl,-Bstatic $GSM_LIB -Wl,-Bdynamic"
1039fi
1040if [[ "x$ac_cv_use_libgsm" = "xyes" ]]; then
1041for i in /usr/include /usr/include/gsm /usr/local/include /usr/local/include/gsm; do
1042    ac_cv_use_libgsm="$i"
1043    test -f "$ac_cv_use_libgsm/gsm.h" && break
1044done
1045fi
1046if [[ "x$ac_cv_use_libgsm" != "xno" ]]; then
1047AC_MSG_CHECKING([for gsm.h in $ac_cv_use_libgsm])
1048if [[ -f "$ac_cv_use_libgsm/gsm.h" ]]; then
1049    HAVE_GSM=yes
1050    GSM_INC="-I$ac_cv_use_libgsm"
1051fi
1052AC_MSG_RESULT([$HAVE_GSM])
1053fi
1054AC_SUBST(HAVE_GSM)
1055AC_SUBST(GSM_INC)
1056AC_SUBST(GSM_LIB)
1057
1058
1059HAVE_ILBC=no
1060ILBC_INC=""
1061AC_ARG_ENABLE(ilbc,AC_HELP_STRING([--enable-ilbc],[Enable iLBC codec (default: yes)]),want_ilbc=$enableval,want_ilbc=yes)
1062if [[ "x$want_ilbc" = "xyes" ]]; then
1063AC_MSG_CHECKING([for iLBC reference in libs])
1064	basedir=`cd "$srcdir" && pwd`
1065	incilbc="libs/ilbc"
1066        if [[ -f "$basedir/$incilbc/iLBC_encode.h" ]]; then
1067		HAVE_ILBC=yes
1068		basedir=`echo "$basedir" | sed 's/\([[^\]]\)\([[[:space:]\$\"'\'']]\)/\1\\\2/g'`
1069		ILBC_INC="-I$basedir/$incilbc"
1070	fi
1071AC_MSG_RESULT([$HAVE_ILBC])
1072fi
1073AC_SUBST(HAVE_ILBC)
1074AC_SUBST(ILBC_INC)
1075
1076HAVE_ILBCWR=no
1077ILBCWR_INC=""
1078AC_ARG_ENABLE(ilbc-webrtc,AC_HELP_STRING([--enable-ilbc-webrtc],[Enable iLBC webrtc codec (default: yes)]),want_ilbc_webrtc=$enableval,want_ilbc_webrtc=yes)
1079if [[ "x$want_ilbc_webrtc" = "xyes" ]]; then
1080AC_MSG_CHECKING([for iLBC miniwebrtc in libs])
1081	basedir=`cd "$srcdir" && pwd`
1082	incilbc="libs/miniwebrtc/audio/coding_ilbc"
1083        if [[ -f "$basedir/$incilbc/ilbc.h" ]]; then
1084		HAVE_ILBCWR=yes
1085		basedir=`echo "$basedir" | sed 's/\([[^\]]\)\([[[:space:]\$\"'\'']]\)/\1\\\2/g'`
1086		ILBCWR_INC="-I$basedir/$incilbc"
1087	fi
1088AC_MSG_RESULT([$HAVE_ILBCWR])
1089fi
1090AC_SUBST(HAVE_ILBCWR)
1091AC_SUBST(ILBCWR_INC)
1092
1093HAVE_ISAC=no
1094ISAC_INC=""
1095AC_ARG_ENABLE(isac-float,AC_HELP_STRING([--enable-isac-float],[Enable iSAC float codec (default: yes)]),want_isac=$enableval,want_isac=yes)
1096if [[ "x$want_isac" = "xyes" ]]; then
1097AC_MSG_CHECKING([for iSAC float in libs])
1098	basedir=`cd "$srcdir" && pwd`
1099	incisac="libs/miniwebrtc/audio/coding_isac/main"
1100        if [[ -f "$basedir/$incisac/isac.h" ]]; then
1101		HAVE_ISAC=yes
1102		basedir=`echo "$basedir" | sed 's/\([[^\]]\)\([[[:space:]\$\"'\'']]\)/\1\\\2/g'`
1103		ISAC_INC="-I$basedir/$incisac"
1104	fi
1105AC_MSG_RESULT([$HAVE_ISAC])
1106fi
1107
1108AC_ARG_ENABLE(isac-fixed,AC_HELP_STRING([--enable-isac-fixed],[Enable iSAC fixed codec (default: no)]),want_isac_fixed=$enableval,want_isac_fixed=no)
1109if [[ "x$want_isac_fixed" = "xyes" ]]; then
1110	if [[ x$HAVE_ISAC = "xyes" ]]; then
1111	    AC_ERROR([iSAC Fixed and iSAC Float can not be enabled both at the same time])
1112	else
1113AC_MSG_CHECKING([for iSAC fixed in libs])
1114		basedir=`cd "$srcdir" && pwd`
1115		incisac="libs/miniwebrtc/audio/coding_isac/fix"
1116		if [[ -f "$basedir/$incisac/isacfix.h" ]]; then
1117			HAVE_ISAC=yes
1118			basedir=`echo "$basedir" | sed 's/\([[^\]]\)\([[[:space:]\$\"'\'']]\)/\1\\\2/g'`
1119			ISAC_INC="-I$basedir/$incisac -DISAC_FIXED"
1120		fi
1121	fi
1122AC_MSG_RESULT([$HAVE_ISAC])
1123fi
1124AC_SUBST(HAVE_ISAC)
1125AC_SUBST(ISAC_INC)
1126
1127HAVE_G722WR=no
1128G722WR_INC=""
1129AC_ARG_ENABLE(g722-webrtc,AC_HELP_STRING([--enable-g722-webrtc],[Enable G.722 webrtc codec (default: yes)]),want_g722_webrtc=$enableval,want_g722_webrtc=yes)
1130if [[ "x$want_g722_webrtc" = "xyes" ]]; then
1131AC_MSG_CHECKING([for G.722 miniwebrtc in libs])
1132	basedir=`cd "$srcdir" && pwd`
1133	incg722="libs/miniwebrtc/audio/coding_g722"
1134        if [[ -f "$basedir/$incg722/g722_interface.h" ]]; then
1135		HAVE_G722WR=yes
1136		basedir=`echo "$basedir" | sed 's/\([[^\]]\)\([[[:space:]\$\"'\'']]\)/\1\\\2/g'`
1137		G722WR_INC="-I$basedir/$incg722"
1138	fi
1139AC_MSG_RESULT([$HAVE_G722WR])
1140fi
1141AC_SUBST(HAVE_G722WR)
1142AC_SUBST(G722WR_INC)
1143
1144HAVE_SPEEX=no
1145SPEEX_INC=""
1146SPEEX_LIB="-lspeex"
1147AC_ARG_WITH(libspeex,AC_HELP_STRING([--with-libspeex],[use Speex codec if available (default)]),[ac_cv_use_libspeex=$withval],[ac_cv_use_libspeex=yes])
1148if [[ "x$ac_cv_use_libspeex" = "xstatic" ]]; then
1149    ac_cv_use_libspeex=yes
1150    SPEEX_LIB="-Wl,-Bstatic $SPEEX_LIB -Wl,-Bdynamic"
1151fi
1152if [[ "x$ac_cv_use_libspeex" = "xyes" ]]; then
1153for i in /usr/include /usr/local/include; do
1154    ac_cv_use_libspeex="$i"
1155    test -f "$ac_cv_use_libspeex/speex/speex.h" && break
1156done
1157fi
1158if [[ "x$ac_cv_use_libspeex" != "xno" ]]; then
1159AC_MSG_CHECKING([for speex.h in $ac_cv_use_libspeex/speex])
1160if [[ -f "$ac_cv_use_libspeex/speex/speex.h" ]]; then
1161SAVE_CFLAGS="$CFLAGS"
1162CFLAGS="$CFLAGS -Wall -Werror -I$ac_cv_use_libspeex"
1163AC_TRY_COMPILE([
1164#include <speex/speex.h>
1165],[
1166int i = SPEEX_MODEID_UWB;
1167speex_lib_ctl(SPEEX_LIB_GET_MAJOR_VERSION, &i);
1168],
1169HAVE_SPEEX=yes
1170)
1171CFLAGS="$SAVE_CFLAGS"
1172if [[ "x$HAVE_SPEEX" = "xyes" ]]; then
1173    SPEEX_INC="-I$ac_cv_use_libspeex"
1174fi
1175fi
1176AC_MSG_RESULT([$HAVE_SPEEX])
1177fi
1178AC_SUBST(HAVE_SPEEX)
1179AC_SUBST(SPEEX_INC)
1180AC_SUBST(SPEEX_LIB)
1181
1182
1183HAVE_AMRNB=no
1184AMRNB_INC=""
1185AMRNB_LIB="-lamrnb"
1186AC_ARG_WITH(amrnb,AC_HELP_STRING([--with-amrnb=DIR],[use AMR-NB if available (default)]),[ac_cv_use_amrnb=$withval],[ac_cv_use_amrnb=/usr])
1187if [[ "x$ac_cv_use_amrnb" = "xstatic" ]]; then
1188    ac_cv_use_amrnb=/usr
1189    AMRNB_LIB="-Wl,-Bstatic $AMRNB_LIB -Wl,-Bdynamic"
1190fi
1191if [[ "x$ac_cv_use_amrnb" != "xno" ]]; then
1192AC_MSG_CHECKING([for AMR-NB in $ac_cv_use_amrnb])
1193local_lib="$ARCHLIB"
1194amrinc="$ac_cv_use_amrnb/include/amrnb"
1195test -f "$ac_cv_use_amrnb/$local_lib/libamrnb.so" || local_lib="lib"
1196if [[ -f "$ac_cv_use_amrnb/$local_lib/libamrnb.so" -a -f "$amrinc/interf_rom.h" ]]; then
1197    HAVE_AMRNB=yes
1198    AMRNB_LIB="-L$ac_cv_use_amrnb/$local_lib $AMRNB_LIB"
1199    AMRNB_INC="-I$amrinc"
1200fi
1201AC_MSG_RESULT([$HAVE_AMRNB])
1202fi
1203AC_SUBST(HAVE_AMRNB)
1204AC_SUBST(AMRNB_INC)
1205AC_SUBST(AMRNB_LIB)
1206
1207
1208HAVE_SPANDSP=no
1209SPANDSP_INC=""
1210SPANDSP_LIB="-lspandsp"
1211AC_ARG_WITH(spandsp,AC_HELP_STRING([--with-spandsp],[use spandsp library if available (default)]),[ac_cv_use_spandsp=$withval],[ac_cv_use_spandsp=yes])
1212if [[ "x$ac_cv_use_spandsp" = "xstatic" ]]; then
1213    ac_cv_use_spandsp="yes"
1214    SPANDSP_LIB="-Wl,-Bstatic $SPANDSP_LIB -ltiff -lz -ljpeg -Wl,-Bdynamic"
1215fi
1216if [[ "x$ac_cv_use_spandsp" = "xyes" ]]; then
1217for i in /usr/include /usr/local/include; do
1218    ac_cv_use_spandsp="$i"
1219    test -f "$ac_cv_use_spandsp/spandsp.h" && break
1220done
1221fi
1222if [[ "x$ac_cv_use_spandsp" != "xno" ]]; then
1223AC_MSG_CHECKING([for usable spandsp in $ac_cv_use_spandsp])
1224if [[ -f "$ac_cv_use_spandsp/spandsp.h" ]]; then
1225AC_LANG_SAVE
1226AC_LANG([C++])
1227SAVE_CFLAGS="$CFLAGS"
1228CFLAGS="$CFLAGS -Wall -Werror"
1229AC_TRY_COMPILE([
1230#define __STDC_LIMIT_MACROS
1231#define SPANDSP_EXPOSE_INTERNAL_STRUCTURES
1232#include <math.h>
1233#include <stdint.h>
1234#include <stdlib.h>
1235#include <string.h>
1236#include <spandsp.h>
1237],[
1238fax_state_t fax_state;
1239t30_stats_t fax_stats;
1240t38_terminal_state_t t38_t_state;
1241t38_gateway_state_t t38_g_state;
1242fax_stats.pages_tx = fax_stats.pages_rx = 0;
1243fax_init(&fax_state,TRUE);
1244t30_set_ecm_capability(fax_get_t30_state(&fax_state),1);
1245t30_set_supported_compressions(fax_get_t30_state(&fax_state),T30_SUPPORT_T6_COMPRESSION);
1246t30_set_tx_file(fax_get_t30_state(&fax_state),"abc",-1,-1);
1247t30_set_tx_ident(fax_get_t30_state(&fax_state),"xyz");
1248fax_set_transmit_on_idle(&fax_state,1);
1249t38_terminal_init(&t38_t_state,TRUE,NULL,NULL);
1250t38_gateway_init(&t38_g_state,NULL,NULL);
1251t38_terminal_release(&t38_t_state);
1252],
1253HAVE_SPANDSP="yes"
1254)
1255if [[ "x$HAVE_SPANDSP" = "xyes" ]]; then
1256SPANDSP_INC="-I$ac_cv_use_spandsp -DSPANDSP_TXRXSTATS"
1257else
1258AC_TRY_COMPILE([
1259#define __STDC_LIMIT_MACROS
1260#define SPANDSP_EXPOSE_INTERNAL_STRUCTURES
1261#include <math.h>
1262#include <stdint.h>
1263#include <stdlib.h>
1264#include <string.h>
1265#include <spandsp.h>
1266],[
1267fax_state_t fax_state;
1268t38_terminal_state_t t38_t_state;
1269t38_gateway_state_t t38_g_state;
1270fax_init(&fax_state,TRUE);
1271t30_set_ecm_capability(fax_get_t30_state(&fax_state),1);
1272t30_set_supported_compressions(fax_get_t30_state(&fax_state),T30_SUPPORT_T6_COMPRESSION);
1273t30_set_tx_file(fax_get_t30_state(&fax_state),"abc",-1,-1);
1274t30_set_tx_ident(fax_get_t30_state(&fax_state),"xyz");
1275fax_set_transmit_on_idle(&fax_state,1);
1276t38_terminal_init(&t38_t_state,TRUE,NULL,NULL);
1277t38_gateway_init(&t38_g_state,NULL,NULL);
1278t38_terminal_release(&t38_t_state);
1279],
1280HAVE_SPANDSP="yes"
1281)
1282if [[ "x$HAVE_SPANDSP" = "xyes" ]]; then
1283SPANDSP_INC="-I$ac_cv_use_spandsp"
1284else
1285AC_TRY_COMPILE([
1286#define __STDC_LIMIT_MACROS
1287#define SPANDSP_EXPOSE_INTERNAL_STRUCTURES
1288#include <math.h>
1289#include <stdint.h>
1290#include <stdlib.h>
1291#include <string.h>
1292#include <spandsp.h>
1293],[
1294#define fax_get_t30_state(x) (&(x)->t30_state)
1295fax_state_t fax_state;
1296t38_terminal_state_t t38_t_state;
1297t38_gateway_state_t t38_g_state;
1298fax_init(&fax_state,TRUE);
1299t30_set_ecm_capability(fax_get_t30_state(&fax_state),1);
1300t30_set_supported_compressions(fax_get_t30_state(&fax_state),T30_SUPPORT_T6_COMPRESSION);
1301t30_set_tx_file(fax_get_t30_state(&fax_state),"abc",-1,-1);
1302t30_set_tx_ident(fax_get_t30_state(&fax_state),"xyz");
1303fax_set_transmit_on_idle(&fax_state,1);
1304t38_terminal_init(&t38_t_state,TRUE,NULL,NULL);
1305t38_gateway_init(&t38_g_state,NULL,NULL);
1306t38_terminal_release(&t38_t_state);
1307],
1308HAVE_SPANDSP="yes"
1309)
1310if [[ "x$HAVE_SPANDSP" = "xyes" ]]; then
1311SPANDSP_INC="-I$ac_cv_use_spandsp -DSPANDSP_PRE006"
1312fi
1313fi
1314fi
1315CFLAGS="$SAVE_CFLAGS"
1316AC_LANG_RESTORE
1317fi
1318AC_MSG_RESULT([$HAVE_SPANDSP])
1319fi
1320AC_SUBST(HAVE_SPANDSP)
1321AC_SUBST(SPANDSP_INC)
1322AC_SUBST(SPANDSP_LIB)
1323
1324
1325HAVE_PWLIB=no
1326PWLIB_RTTI=none
1327PWLIB_INC=""
1328PWLIB_LIB=""
1329PWLIB_RUN=""
1330AC_ARG_WITH(pwlib,AC_HELP_STRING([--with-pwlib=DIR],[use Pwlib from DIR (default /usr)]),[ac_cv_use_pwlib=$withval],[ac_cv_use_pwlib=/usr])
1331
1332if [[ "x$ac_cv_use_pwlib" != "xno" ]]; then
1333if [[ "x$ac_cv_use_pwlib" = "x/usr" -a ! -f "$ac_cv_use_pwlib/include/ptlib.h" ]]; then
1334    ac_cv_use_pwlib="$ac_cv_use_pwlib/local"
1335fi
1336AC_MSG_CHECKING([for Pwlib in $ac_cv_use_pwlib])
1337local_lib="$ARCHLIB"
1338ptconfig="$ac_cv_use_pwlib/bin/ptlib-config"
1339test -x "$ptconfig" || ptconfig="$ac_cv_use_pwlib/make/ptlib-config"
1340test -x "$ptconfig" || ptconfig="$ac_cv_use_pwlib/share/ptlib/make/ptlib-config"
1341verpw=`$ptconfig --version 2>/dev/null`
1342prtti=`$ptconfig --ccflags 2>/dev/null | sed -n 's/^.*\(-f[[^ ]]*rtti\).*$/\1/p'`
1343# try first installed directory
1344incpw="$ac_cv_use_pwlib/include/ptlib.h"
1345libpw="$ac_cv_use_pwlib/$local_lib/libpt.so"
1346if [[ "x$local_lib" != "xlib" -a ! -f "$libpw" ]]; then
1347    local_lib="lib"
1348    libpw="$ac_cv_use_pwlib/$local_lib/libpt.so"
1349fi
1350if [[ "x$verpw" = "x" ]]; then
1351    verpw=`cat "$ac_cv_use_pwlib/include/ptbuildopts.h" 2>/dev/null | sed -n 's/^.*PWLIB_VERSION "\([[^"]]*\)".*$/\1/p'`
1352fi
1353vpw=`echo "$verpw" | $csed "$vsed" | $csed "$vsed"`
1354flgpw=""
1355PWLIB_INC="-I$ac_cv_use_pwlib/include" # Base dir, ok for ptlib
1356if [[ "$vpw" '<' "02.00.00" ]]; then
1357    # Pwlib-1.xm no ptlib (2.x) install into ptlib
1358    PWLIB_INC="$PWLIB_INC/ptlib"
1359    if [[ "$vpw" '<' "01.06.00" ]]; then
1360        # Very old pwlib needs more includes.
1361        PWLIB_INC="$PWLIB_INC/unix/ptlib $PWLIB_INC/unix $PWLIB_INC"
1362        flgpw="-DPHAS_TEMPLATES -D_REENTRANT -DP_HAS_SEMAPHORES"
1363    fi
1364fi
1365if [[ "x$flgpw" = "x" ]]; then
1366    flgpw="`$ptconfig --ccflags 2>/dev/null`"
1367    if [[ "x$flgpw" = "x" ]]; then
1368	# Last resort, minimal guess
1369	flgpw="-D_REENTRANT"
1370    fi
1371fi
1372PWLIB_INC="$PWLIB_INC $flgpw"
1373
1374if [[ -f "$incpw" -a -f "$libpw" ]]; then
1375    HAVE_PWLIB=installed
1376    PWLIB_LIB="-L$ac_cv_use_pwlib/$local_lib -lpt"
1377    case "x$prtti" in
1378	x-frtti)
1379	    PWLIB_RTTI=yes
1380	    ;;
1381	x-fno-rtti)
1382	    PWLIB_RTTI=no
1383	    ;;
1384    esac
1385else
1386# try source directory style
1387    libpw=`echo "$ac_cv_use_pwlib/lib/"libpt*r.so`
1388    test -f "$libpw" || libpw=`echo "$ac_cv_use_pwlib/"lib*/libpt.so`
1389    if [[ -f "$incpw" -a -f "$libpw" ]]; then
1390	prtti=`"$ptconfig" --ccflags 2>/dev/null | sed -n 's/^.*\(-f[[^ ]]*rtti\).*$/\1/p'`
1391        HAVE_PWLIB=sources
1392	if [[ "$vpw" '<' "02.00.00" ]]; then
1393	    PWLIB_INC="-I$ac_cv_use_pwlib/include $PWLIB_INC"
1394	fi
1395        PWLIB_LIB=`echo "$libpw"|sed 's,^\(.*\)/lib,-L\1 -l,; s,\.so$,,'`
1396        PWLIB_RUN=":"`echo "$libpw"|sed 's,/[[^/]]*$,,'`
1397	case "x$prtti" in
1398	    x-frtti)
1399		PWLIB_RTTI=yes
1400		;;
1401	    x-fno-rtti)
1402		PWLIB_RTTI=no
1403		;;
1404	esac
1405    fi
1406fi
1407AC_MSG_RESULT([$HAVE_PWLIB $verpw RTTI: $PWLIB_RTTI])
1408fi
1409
1410
1411HAVE_H323=no
1412H323_INC=""
1413H323_LIB=""
1414H323_RUN=""
1415AC_ARG_WITH(openh323,AC_HELP_STRING([--with-openh323=DIR],[use OpenH323 from DIR (default /usr)]),[ac_cv_use_openh323=$withval],[ac_cv_use_openh323=/usr])
1416
1417if [[ "x$HAVE_PWLIB" != "xno" -a "x$ac_cv_use_openh323" != "xno" ]]; then
1418if [[ "x$ac_cv_use_openh323" = "x/usr" -a ! -f "$ac_cv_use_openh323/include/openh323/h323.h" ]]; then
1419    ac_cv_use_openh323="$ac_cv_use_openh323/local"
1420fi
1421AC_MSG_CHECKING([for OpenH323 in $ac_cv_use_openh323])
1422local_lib="$ARCHLIB"
1423# try first installed directory
1424ver323=""
1425inc323="$ac_cv_use_openh323/include/openh323/h323.h"
1426lib323="$ac_cv_use_openh323/$local_lib/libopenh323.so"
1427if [[ "x$local_lib" != "xlib" -a ! -f "$lib323" ]]; then
1428    local_lib="lib"
1429    lib323="$ac_cv_use_openh323/$local_lib/libopenh323.so"
1430fi
1431if [[ -f "$inc323" -a -f "$lib323" ]]; then
1432    ver323=`sed -n 's/^.*OPENH323_VERSION.*"\([[^"]]\+\)".*$/\1/p' "$ac_cv_use_openh323/include/openh323/openh323buildopts.h" 2>/dev/null`
1433    HAVE_H323=installed
1434    H323_INC="-I$ac_cv_use_openh323/include/openh323"
1435    H323_LIB="-L$ac_cv_use_openh323/$local_lib -lopenh323"
1436else
1437# try source directory style
1438    inc323="$ac_cv_use_openh323/include/h323.h"
1439    lib323=`echo "$ac_cv_use_openh323/lib/"libh323*r.so`
1440    test -f "$lib323" || lib323=`echo "$ac_cv_use_openh323/lib/"libh323*_.so`
1441    if [[ -f "$inc323" -a -f "$lib323" ]]; then
1442	ver323=`sed -n 's/^.*OPENH323_VERSION.*"\([[^"]]\+\)".*$/\1/p' "$ac_cv_use_openh323/include/openh323buildopts.h" 2>/dev/null`
1443        HAVE_H323=sources
1444        H323_INC="-I$ac_cv_use_openh323/include"
1445        H323_LIB="-L$ac_cv_use_openh323/lib -l`echo "$lib323"|sed 's,^.*/lib,,; s,\.so$,,'`"
1446        H323_RUN=":$ac_cv_use_openh323/lib"
1447    fi
1448fi
1449AC_MSG_RESULT([$HAVE_H323 $ver323])
1450fi
1451
1452if [[ "x$HAVE_H323" != "xno" ]]; then
1453    H323_INC="$PWLIB_INC $H323_INC"
1454    H323_LIB="$H323_LIB $PWLIB_LIB"
1455    H323_RUN="$PWLIB_RUN$H323_RUN"
1456fi
1457AC_SUBST(HAVE_H323)
1458AC_SUBST(H323_INC)
1459AC_SUBST(H323_LIB)
1460AC_SUBST(H323_RUN)
1461
1462
1463HAVE_OPENSSL=no
1464OPENSSL_INC=""
1465OPENSSL_LIB=""
1466OPENSSL_VER=""
1467AC_ARG_WITH(openssl,AC_HELP_STRING([--with-openssl],[use OpenSSL for secure sockets (default)]),[ac_cv_use_openssl=$withval],[ac_cv_use_openssl=yes])
1468if [[ "x$ac_cv_use_openssl" = "xyes" ]]; then
1469    AC_MSG_CHECKING([for OpenSSL using pkg-config])
1470    pkg="openssl"
1471    verssl=`(pkg-config --modversion $pkg) 2>/dev/null`
1472    if [[ "x$verssl" = "x" ]]; then
1473	pkg="libssl"
1474	verssl=`(pkg-config --modversion $pkg) 2>/dev/null`
1475    fi
1476    incssl=`(pkg-config --cflags $pkg) 2>/dev/null`
1477    libssl=`(pkg-config --libs $pkg) 2>/dev/null`
1478    if [[ "x$libssl" != "x" ]]; then
1479	HAVE_OPENSSL=yes
1480	OPENSSL_VER="$verssl"
1481	OPENSSL_INC="$incssl"
1482	OPENSSL_LIB="$libssl"
1483    else
1484	verssl="no"
1485    fi
1486    AC_MSG_RESULT([$verssl])
1487elif [[ "x$ac_cv_use_openssl" != "xno" ]]; then
1488    AC_MSG_CHECKING([for OpenSSL in $ac_cv_use_openssl])
1489    verssl=no
1490    if [[ -f "$ac_cv_use_openssl/include/openssl/opensslconf.h" ]]; then
1491	verssl=`sed -n 's/^#define SHLIB_VERSION_NUMBER "\([0-9.]\+\)".*/\1/p' <$ac_cv_use_openssl/include/openssl/opensslv.h 2>/dev/null`
1492	if [[ "x$verssl" != "x" ]]; then
1493	    HAVE_OPENSSL=yes
1494	    OPENSSL_VER="$verssl"
1495	    OPENSSL_INC="-I$ac_cv_use_openssl/include"
1496	    OPENSSL_LIB="-lssl -lcrypto"
1497	else
1498	    verssl=no
1499	fi
1500    fi
1501    AC_MSG_RESULT([$verssl])
1502fi
1503if [[ "x$HAVE_OPENSSL" != "xno" ]]; then
1504    SAVE_CFLAGS="$CFLAGS"
1505    CFLAGS="$CFLAGS $OPENSSL_INC -Wall -Werror"
1506    HAVE_OPT=no
1507    AC_MSG_CHECKING([for OpenSSL AES_ctr128_encrypt])
1508    AC_TRY_COMPILE([
1509#include <openssl/aes.h>
1510    ],[
1511unsigned char *data = 0;
1512AES_KEY *key = 0;
1513unsigned char ivec[AES_BLOCK_SIZE];
1514unsigned char ecount[AES_BLOCK_SIZE];
1515unsigned int num = 0;
1516AES_ctr128_encrypt(data,data,AES_BLOCK_SIZE,key,ivec,ecount,&num);
1517    ],HAVE_OPT="yes",OPENSSL_INC="-DNO_AESCTR $OPENSSL_INC")
1518    AC_MSG_RESULT([$HAVE_OPT])
1519    HAVE_OPT=no
1520    AC_MSG_CHECKING([for OpenSSL TLS_method])
1521    AC_TRY_COMPILE([
1522#include <openssl/ssl.h>
1523    ],[
1524SSL_CTX_new(TLS_method());
1525    ],HAVE_OPT="yes")
1526    AC_MSG_RESULT([$HAVE_OPT])
1527    if [[ "x$HAVE_OPT" = "xyes" ]]; then
1528	OPENSSL_INC="-DUSE_TLS_METHOD $OPENSSL_INC"
1529    fi
1530    HAVE_OPT=no
1531    AC_MSG_CHECKING([for OpenSSL SSL_load_error_strings])
1532    AC_TRY_COMPILE([
1533#include <openssl/ssl.h>
1534#include <openssl/err.h>
1535    ],[
1536SSL_load_error_strings();
1537    ],HAVE_OPT="yes",OPENSSL_INC="-DNO_LOAD_ERR $OPENSSL_INC")
1538    AC_MSG_RESULT([$HAVE_OPT])
1539    CFLAGS="$SAVE_CFLAGS"
1540fi
1541AC_SUBST(HAVE_OPENSSL)
1542AC_SUBST(OPENSSL_INC)
1543AC_SUBST(OPENSSL_LIB)
1544AC_SUBST(OPENSSL_VER)
1545
1546
1547HAVE_ZLIB=no
1548ZLIB_INC=""
1549ZLIB_LIB=""
1550AC_ARG_WITH(zlib,AC_HELP_STRING([--with-zlib=DIR],[use zlib for data (de)compression from DIR (default /usr)]),[ac_cv_use_zlib=$withval],[ac_cv_use_zlib=/usr])
1551if [[ "x$ac_cv_use_zlib" != "xno" ]]; then
1552    AC_MSG_CHECKING([for zlib in $ac_cv_use_zlib])
1553    if [[ -f "$ac_cv_use_zlib/include/zlib.h" ]]; then
1554	# Save current system libs and include dirs and restore them after trying to link
1555	SAVE_LIBS="$LIBS"
1556	SAVE_CFLAGS="$CFLAGS"
1557	LIBS="$LIBS -lz"
1558	CFLAGS="$CFLAGS -I$ac_cv_use_zlib/include"
1559	AC_TRY_LINK([#include <zlib.h>],[inflateInit2(0,0);],[HAVE_ZLIB=yes],[HAVE_ZLIB=no])
1560	LIBS="$SAVE_LIBS"
1561	CFLAGS="$SAVE_CFLAGS"
1562	if [[ "$HAVE_ZLIB" = "yes" ]]; then
1563	    ZLIB_INC="-I$ac_cv_use_zlib/include"
1564	    ZLIB_LIB="-lz"
1565	fi
1566    fi
1567    AC_MSG_RESULT([$HAVE_ZLIB])
1568fi
1569AC_SUBST(HAVE_ZLIB)
1570AC_SUBST(ZLIB_INC)
1571AC_SUBST(ZLIB_LIB)
1572
1573
1574HAVE_LIBUSB=no
1575LIBUSB_INC=""
1576LIBUSB_LIB=""
1577AC_ARG_WITH(libusb,AC_HELP_STRING([--with-libusb=DIR],[use libusb DIR (default /usr)]),[ac_cv_use_libusb=$withval],[ac_cv_use_libusb=/usr])
1578if [[ "x$ac_cv_use_libusb" != "xno" ]]; then
1579    AC_MSG_CHECKING([for libusb in $ac_cv_use_libusb])
1580    if [[ -f "$ac_cv_use_libusb/include/libusb-1.0/libusb.h" ]]; then
1581	# Save current system libs and include dirs and restore them after trying to link
1582	SAVE_LIBS="$LIBS"
1583	SAVE_CFLAGS="$CFLAGS"
1584	LIBS="$LIBS -lusb-1.0"
1585	CFLAGS="$CFLAGS -I$ac_cv_use_libusb/include/libusb-1.0"
1586	AC_TRY_LINK([#include <libusb.h>],[libusb_has_capability(0);],[HAVE_LIBUSB=yes],[HAVE_LIBUSB=no])
1587	if [[ "$HAVE_LIBUSB" = "yes" ]]; then
1588	    LIBUSB_INC="-I$ac_cv_use_libusb/include/libusb-1.0"
1589	    LIBUSB_LIB="-lusb-1.0"
1590	    AC_TRY_LINK([#include <libusb.h>],[libusb_get_version();],[LIBUSB_INC="-DHAVE_LIBUSB_VER $LIBUSB_INC"])
1591	fi
1592	LIBS="$SAVE_LIBS"
1593	CFLAGS="$SAVE_CFLAGS"
1594    fi
1595    AC_MSG_RESULT([$HAVE_LIBUSB])
1596fi
1597AC_SUBST(HAVE_LIBUSB)
1598AC_SUBST(LIBUSB_INC)
1599AC_SUBST(LIBUSB_LIB)
1600
1601
1602HAVE_QT4=no
1603QT4_INC=""
1604QT4_LIB=""
1605QT4_INC_NET=""
1606QT4_LIB_NET=""
1607QT4_MOC=""
1608QT4_VER=""
1609QT4_STATIC_MODULES=""
1610AC_ARG_WITH(libqt4,AC_HELP_STRING([--with-libqt4],[use Qt for graphical clients (default)]),[ac_cv_use_libqt4=$withval],[ac_cv_use_libqt4=yes])
1611AC_ARG_WITH(qtstatic,AC_HELP_STRING([--with-qtstatic=MODULES],[link specific modules with static Qt]),[ac_cv_use_qtstatic=$withval],[ac_cv_use_qtstatic=no])
1612qtstatic=""
1613if [[ "x$ac_cv_use_qtstatic" != "xno" ]]; then
1614    qtstatic="--static"
1615fi
1616QT4_STATIC_MODULES=`echo "$ac_cv_use_qtstatic" | sed 's/,/ /g'`
1617if [[ "x$ac_cv_use_libqt4" = "xyes" ]]; then
1618    AC_MSG_CHECKING([for Qt4 >= 4.3.0 using pkg-config])
1619    pkgd="/usr/lib/qt4/$ARCHLIB/pkgconfig"
1620    verqt=`(pkg-config --modversion QtCore) 2>/dev/null`
1621    if [[ -z "$verqt" -a -d "$pkgd" ]]; then
1622	export PKG_CONFIG_LIBDIR="$pkgd"
1623	verqt=`(pkg-config --modversion QtCore) 2>/dev/null`
1624    fi
1625    incqt=`(pkg-config --cflags QtNetwork QtGui QtXml QtCore) 2>/dev/null | sed 's/QtNetwork/QtUiTools/'`
1626    libqt=`(pkg-config --libs $qtstatic QtNetwork QtGui QtXml QtCore) 2>/dev/null | sed 's/QtNetwork/QtUiTools/'`
1627    if [[ "x$incqt" != "x" -a "x$libqt" != "x" ]]; then
1628	HAVE_QT4=yes
1629	QT4_INC="$incqt"
1630	QT4_LIB="$libqt"
1631	QT4_INC_NET=`(pkg-config --cflags QtNetwork) 2>/dev/null | grep -o '[[^ ]]*QtNetwork[[^ ]]*'`
1632	QT4_LIB_NET=`(pkg-config --libs QtNetwork) 2>/dev/null | grep -o '[[^ ]]*QtNetwork[[^ ]]*'`
1633	QT4_MOC=`echo "$incqt" | sed -n 's,^.*-I\([[^ ]]\+\)/include .*$,\1/bin/moc,p'`
1634	test -z "$QT4_MOC" && QT4_MOC=`(which moc-qt4) 2>/dev/null`
1635	test -z "$QT4_MOC" && QT4_MOC="moc"
1636	QT4_VER=`echo "$verqt" | $csed "$vsed" | $csed "$vsed" | sed 's/\(..\)\.\(..\)\.\(..\)/\1\2\3/'`
1637	ac_cv_use_libqt="no"
1638	if [[ 1$QT4_VER -lt 1040300 ]]; then
1639	    HAVE_QT4=no
1640	    verqt="too old ($verqt)"
1641	fi
1642    else
1643	verqt="no"
1644    fi
1645    unset PKG_CONFIG_LIBDIR
1646    AC_MSG_RESULT([$verqt])
1647
1648    if [[ "x$HAVE_QT4" = "xno" ]]; then
1649	AC_MSG_CHECKING([for Qt4 >= 4.3.0 using qmake])
1650	incqt=`(qmake -query QT_INSTALL_HEADERS) 2>/dev/null`
1651	libqt=`(qmake -query QT_INSTALL_LIBS) 2>/dev/null`
1652	if [[ "x$incqt" = "x**Unknown**" -o "x$libqt" = "x**Unknown**" ]]; then
1653	    incqt=""
1654	    libqt=""
1655	fi
1656	if [[ "x$incqt" != "x" -a "x$libqt" != "x" ]]; then
1657	    HAVE_QT4=yes
1658	    QT4_INC="-I$incqt -I$incqt/QtUiTools -I$incqt/QtGui -I$incqt/QtXml -I$incqt/QtCore"
1659	    case "$uname_os" in
1660		*Darwin)
1661		    QT4_INC="-D__USE_WS_X11__ $QT4_INC"
1662		    ;;
1663	    esac
1664	    QT4_LIB="-L$libqt -lQtUiTools -lQtGui -lQtXml -lQtCore"
1665	    QT4_INC_NET="-I$incqt/QtNetwork"
1666	    QT4_LIB_NET="-L$libqt -lQtNetwork"
1667	    case "$uname_os" in
1668		*Darwin)
1669		    framework=`(ls "$libqt" | grep QtGui.framework) 2>/dev/null`
1670		    if [[ "x$framework" != "x" ]]; then
1671			QT4_INC="-I$incqt  -I$incqt/QtUiTools -I$libqt/QtGui.framework/Headers -I$libqt/QtXml.framework/Headers -I$libqt/QtCore.framework/Headers"
1672			QT4_LIB="-L$libqt -F$libqt -lQtUiTools -framework QtGui -framework QtXml -framework QtCore"
1673			QT4_INC_NET="-I$libqt/QtNetwork.framework/Headers"
1674			QT4_LIB_NET="-framework QtNetwork"
1675		    fi
1676		    ;;
1677	    esac
1678	    QT4_MOC=`(qmake -query QT_INSTALL_BINS) 2>/dev/null`
1679	    QT4_MOC="$QT4_MOC/moc"
1680	    verqt=`(qmake -query QT_VERSION) 2>/dev/null`
1681	    QT4_VER=`echo "$verqt" | $csed "$vsed" | $csed "$vsed" | sed 's/\(..\)\.\(..\)\.\(..\)/\1\2\3/'`
1682	    if [[ 1$QT4_VER -lt 1040300 ]]; then
1683	    	HAVE_QT4=no
1684	    	verqt="too old ($verqt)"
1685	   fi
1686	else
1687	    verqt="no"
1688	fi
1689	AC_MSG_RESULT([$verqt])
1690    fi
1691fi
1692
1693AC_SUBST(HAVE_QT4)
1694AC_SUBST(QT4_INC)
1695AC_SUBST(QT4_LIB)
1696AC_SUBST(QT4_INC_NET)
1697AC_SUBST(QT4_LIB_NET)
1698AC_SUBST(QT4_MOC)
1699AC_SUBST(QT4_VER)
1700AC_SUBST(QT4_STATIC_MODULES)
1701
1702
1703HAVE_MALLINFO=no
1704AC_ARG_ENABLE(mallinfo,AC_HELP_STRING([--enable-mallinfo],[Enable malloc info if available (default: yes)]),[ac_cv_use_mallinfo=$withval],[ac_cv_use_mallinfo=yes])
1705if [[ "x$ac_cv_use_mallinfo" != "xno" ]]; then
1706AC_MSG_CHECKING([for mallinfo in malloc.h])
1707AC_TRY_COMPILE([
1708#include <malloc.h>
1709],[
1710struct mallinfo info = mallinfo();
1711return info.keepcost;
1712],
1713HAVE_MALLINFO=yes
1714)
1715AC_MSG_RESULT([$HAVE_MALLINFO])
1716fi
1717AC_SUBST(HAVE_MALLINFO)
1718
1719
1720HAVE_COREDUMPER=no
1721COREDUMPER_INC=""
1722COREDUMPER_LIB=""
1723AC_ARG_WITH(coredumper,AC_HELP_STRING([--with-coredumper],[use Google coredumper if available (default)]),[ac_cv_use_coredumper=$withval],[ac_cv_use_coredumper=yes])
1724gcdinc="include/google/coredumper.h"
1725if [[ "x$ac_cv_use_coredumper" = "xyes" ]]; then
1726for i in /usr /usr/local; do
1727    ac_cv_use_coredumper="$i"
1728    test -f "$ac_cv_use_coredumper/$gcdinc" && break
1729done
1730fi
1731if [[ "x$ac_cv_use_coredumper" != "xno" ]]; then
1732AC_MSG_CHECKING([for coredumper.h in $ac_cv_use_coredumper])
1733if [[ -f "$ac_cv_use_coredumper/$gcdinc" ]]; then
1734    HAVE_COREDUMPER=yes
1735    COREDUMPER_INC="-I$ac_cv_use_coredumper"
1736    COREDUMPER_LIB="-L$ac_cv_use_coredumper -lcoredumper"
1737fi
1738AC_MSG_RESULT([$HAVE_COREDUMPER])
1739fi
1740AC_SUBST(HAVE_COREDUMPER)
1741AC_SUBST(COREDUMPER_INC)
1742AC_SUBST(COREDUMPER_LIB)
1743
1744
1745RTTI_OPT=""
1746AC_ARG_ENABLE(rtti,AC_HELP_STRING([--enable-rtti],[Enable RTTI support (default: like pwlib)]),want_rtti=$enableval,want_rtti=auto)
1747AC_MSG_CHECKING([whether to enable RTTI support])
1748USE_RTTI="$want_rtti"
1749case "x$want_rtti" in
1750    xyes|xno|xnone)
1751	;;
1752    xauto)
1753	USE_RTTI="$PWLIB_RTTI"
1754	;;
1755    *)
1756	AC_ERROR([Invalid argument passed to --enable-rtti])
1757	;;
1758esac
1759case "$USE_RTTI" in
1760    yes)
1761	RTTI_OPT="-frtti"
1762	;;
1763    no)
1764	RTTI_OPT="-fno-rtti"
1765	;;
1766esac
1767AC_MSG_RESULT([$USE_RTTI])
1768AC_SUBST(USE_RTTI)
1769AC_SUBST(RTTI_OPT)
1770
1771if [[ "x$HAVE_H323" != "xno" ]]; then
1772if [[ "x$USE_RTTI" != "x$PWLIB_RTTI" ]]; then
1773AC_MSG_WARN([Mismatched RTTI setting between Yate ($USE_RTTI) and pwlib ($PWLIB_RTTI)])
1774fi
1775fi
1776
1777
1778INSTALL_L=""
1779AC_ARG_ENABLE(lib-exec,AC_HELP_STRING([--enable-lib-exec],[Executable libraries and modules (default: auto)]),want_lib_exec=$enableval,want_lib_exec=auto)
1780case "x$want_lib_exec" in
1781    xyes)
1782	;;
1783    xno)
1784	INSTALL_L="-m 0644"
1785	;;
1786    xauto)
1787	AC_MSG_CHECKING([if shared libraries should be executable])
1788	if stat -L "/usr/$ARCHLIB/libm.so" 2>/dev/null | grep -q '(0644/'; then
1789	    want_lib_exec=no
1790	    INSTALL_L="-m 0644"
1791	else
1792	    want_lib_exec=yes
1793	fi
1794	AC_MSG_RESULT([$want_lib_exec])
1795	;;
1796    *)
1797	AC_ERROR([Invalid argument passed to --enable-lib-exec])
1798	;;
1799esac
1800AC_SUBST(INSTALL_L)
1801
1802
1803INSTALL_D="install -D"
1804CFLAGS=`echo "$CFLAGS" | sed 's/\(^\| \+\)-g[[0-9]]*//' | sed 's/[[[:space:]]]\{2,\}/ /g'`
1805MODULE_CFLAGS="-fno-exceptions -fPIC $HAVE_GCC_FORMAT_CHECK $HAVE_BLOCK_RETURN"
1806MODULE_CPPFLAGS="$HAVE_NO_OVERLOAD_VIRT_WARN $RTTI_OPT $MODULE_CFLAGS"
1807MODULE_LDRELAX="-rdynamic -shared"
1808MODULE_SYMBOLS="-Wl,--retain-symbols-file,/dev/null"
1809SONAME_OPT="-shared -Wl,-soname="
1810case "x$uname_os" in
1811    x*BSD|xDragonFly)
1812	INSTALL_D="install"
1813	MODULE_LDRELAX="$MODULE_LDRELAX -lc"
1814	;;
1815   xDarwin)
1816	INSTALL_D="install"
1817	MODULE_LDRELAX="-dynamiclib"
1818	MODULE_SYMBOLS=""
1819	SONAME_OPT="-dynamiclib -Wl,-dylib_install_name,"
1820        ;;
1821esac
1822MODULE_LDFLAGS="$MODULE_LDRELAX $GCC_UNRESOLVED_SYMBOLS"
1823AC_SUBST(INSTALL_D)
1824AC_SUBST(MODULE_CFLAGS)
1825AC_SUBST(MODULE_CPPFLAGS)
1826AC_SUBST(MODULE_LDRELAX)
1827AC_SUBST(MODULE_LDFLAGS)
1828AC_SUBST(MODULE_SYMBOLS)
1829AC_SUBST(SONAME_OPT)
1830
1831
1832DOXYGEN_BIN=""
1833AC_ARG_WITH(doxygen,AC_HELP_STRING([--with-doxygen=EXE],[use doxygen to generate API docs (default: PATH)]),[ac_cv_use_doxygen=$withval],[ac_cv_use_doxygen=yes])
1834if [[ "x$ac_cv_use_doxygen" != "xno" ]]; then
1835test "x$ac_cv_use_doxygen" = "xyes" && ac_cv_use_doxygen=`(which doxygen) 2>/dev/null`
1836AC_MSG_CHECKING([for doxygen version])
1837if [[ "x$ac_cv_use_doxygen" != "x" -a -x "$ac_cv_use_doxygen" ]]; then
1838DOXYGEN_BIN="$ac_cv_use_doxygen"
1839ac_cv_use_doxygen=`($DOXYGEN_BIN --version) 2>/dev/null`
1840else
1841ac_cv_use_doxygen="no"
1842fi
1843AC_MSG_RESULT([$ac_cv_use_doxygen])
1844fi
1845AC_SUBST(DOXYGEN_BIN)
1846
1847
1848KDOC_BIN=""
1849AC_ARG_WITH(kdoc,AC_HELP_STRING([--with-kdoc=EXE],[use kdoc to generate API docs (default: PATH)]),[ac_cv_use_kdoc=$withval],[ac_cv_use_kdoc=yes])
1850if [[ "x$ac_cv_use_kdoc" != "xno" ]]; then
1851test "x$ac_cv_use_kdoc" = "xyes" && ac_cv_use_kdoc=`(which kdoc) 2>/dev/null`
1852AC_MSG_CHECKING([for kdoc version])
1853if [[ "x$ac_cv_use_kdoc" != "x" -a -x "$ac_cv_use_kdoc" ]]; then
1854KDOC_BIN="$ac_cv_use_kdoc"
1855ac_cv_use_kdoc=`($KDOC_BIN --version) 2>&1 | awk '/^kdoc/ { print $2 }'`
1856else
1857ac_cv_use_kdoc="no"
1858fi
1859AC_MSG_RESULT([$ac_cv_use_kdoc])
1860fi
1861AC_SUBST(KDOC_BIN)
1862
1863
1864m4_sinclude(./YateLocal.ac)
1865
1866AC_CONFIG_FILES([packing/rpm/yate.spec
1867                 packing/portage/yate.ebuild
1868                 yate.pc
1869		 yateversn.h
1870		 yateiss.inc
1871                 Makefile
1872                 engine/Makefile
1873                 modules/Makefile
1874                 modules/test/Makefile
1875                 clients/Makefile
1876                 clients/qt4/Makefile
1877                 libs/ilbc/Makefile
1878                 libs/ysip/Makefile
1879                 libs/yrtp/Makefile
1880                 libs/ysdp/Makefile
1881		 libs/yiax/Makefile
1882		 libs/yjabber/Makefile
1883		 libs/yscript/Makefile
1884		 libs/ymgcp/Makefile
1885		 libs/ysig/Makefile
1886                 libs/ypbx/Makefile
1887                 libs/ymodem/Makefile
1888		 libs/yasn/Makefile
1889	         libs/ysnmp/Makefile
1890	         libs/miniwebrtc/Makefile
1891	         libs/yradio/Makefile
1892                 share/Makefile
1893                 share/scripts/Makefile
1894                 share/skins/Makefile
1895                 share/sounds/Makefile
1896                 share/help/Makefile
1897                 share/data/Makefile
1898                 conf.d/Makefile])
1899AC_CONFIG_FILES([yate-config],[chmod +x yate-config])
1900AC_CONFIG_FILES([run],[chmod +x run])
1901CONFIGURE_FILES=`echo "$ac_config_files config.status config.log" | sed 's,packing/[[^ ]]* *,,g'`
1902AC_SUBST(CONFIGURE_FILES)
1903AC_OUTPUT
1904
1905if [[ "x$uname_os" = "xDarwin" ]]; then
1906if [[ "x$HAVE_COREAUDIO" != "xyes" ]]; then
1907AC_MSG_WARN([Please take note that the building of the audio module for Mac OS X has been disabled. The Yate client will not have audio support. If you need audio, you need at least Mac OS X SDK 10.5 or something newer.])
1908fi
1909fi
1910