1# BSR is fishy with CC
2dnl ########################################################################
3dnl Init
4dnl ########################################################################
5
6AC_INIT
7AC_CONFIG_SRCDIR([include/opal/manager.h])
8
9PKG_PROG_PKG_CONFIG()
10if test -z "$PKG_CONFIG" ; then
11  AC_MSG_ERROR(OPAL must have pkg-config installed, 1)
12fi
13
14m4_include(opal.m4)
15
16dnl Prevent CFLAGS and CXXFLAGS from being overwritten if undefined
17if test "x${CXXFLAGS}" = "x" ; then
18  CXXFLAGS=
19fi
20if test "x${CFLAGS}" = "x" ; then
21  CFLAGS=
22fi
23AC_PROG_CXX
24AC_PROG_CC
25AC_PROG_INSTALL
26AC_PROG_RANLIB
27AC_HEADER_STDC
28AC_CHECK_TOOL([AR], [ar], [:])
29AC_SUBST(LD, $CXX)
30
31OPAL_CHECK_BSR([GCC_HAS_CLZ=yes], [GCC_HAS_CLZ=no])
32if test "x${GCC_HAS_CLZ}" = "xyes" ; then
33    AC_DEFINE([GCC_HAS_CLZ], [1], [bit scan intrinsic])
34fi
35AC_SUBST(GCC_HAS_CLZ)
36
37dnl Enable compiler warnings
38WFLAGS=
39if test "x$ac_cv_c_compiler_gnu" = xyes; then
40  WFLAGS="-Wall -Wextra -Wstrict-aliasing -Wfloat-equal -Wno-comment -Wno-unused -Winit-self -Wno-missing-field-initializers"
41fi
42
43CFLAGS="$CFLAGS $WFLAGS"
44CXXFLAGS="$CXXFLAGS $WFLAGS"
45
46
47dnl ########################################################################
48dnl set the PREFIX accordingly
49if test "x$prefix" = "xNONE"; then
50   if test "x$OPALDIR" = "x"; then
51      prefix="/usr/local"
52   else
53      prefix="$OPALDIR"
54      AC_MSG_NOTICE(OPALDIR detected - setting install prefix to ${OPALDIR})
55   fi
56fi
57
58
59dnl ########################################################################
60dnl Defaults
61dnl ########################################################################
62
63OPAL_H323=yes
64OPAL_SIP=yes
65OPAL_IAX2=yes
66OPAL_VIDEO=yes
67OPAL_T38_CAPABILITY=yes
68OPAL_FAX=yes
69OPAL_HAS_H224=yes
70OPAL_HAS_H281=yes
71OPAL_H450=yes
72OPAL_H460=yes
73OPAL_H239=yes
74OPAL_H501=yes
75OPAL_T120DATA=no
76OPAL_LID=yes
77OPAL_CAPI=yes
78OPAL_STATISTICS=yes
79OPAL_RTCP_XR=yes
80OPAL_AEC=yes
81OPAL_IVR=yes
82OPAL_RFC4175=yes
83OPAL_RFC2435=no
84OPAL_G711PLC=yes
85OPAL_PLUGINS=yes
86OPAL_SAMPLES=no
87OPAL_ZRTP=no
88OPAL_JAVA=yes
89OPAL_RUBY=yes
90OPAL_HAS_MSRP=yes
91OPAL_HAS_SIPIM=yes
92OPAL_HAS_RFC4103=yes
93OPAL_HAS_MIXER=yes
94OPAL_HAS_PCSS=yes
95PTLIB_REC_VERSION="2.10.1"
96
97dnl ########################################################################
98dnl set the OPAL directory to the current directory
99
100if test "x$OPALDIR" = "x"; then
101   OPALDIR=`pwd`
102fi
103AC_SUBST(OPALDIR)
104
105dnl ########################################################################
106dnl Extract OPAL version number
107dnl ########################################################################
108
109dnl MSWIN_DISPLAY version,Version
110dnl MSWIN_VERSION version,OPAL_MAJOR=MAJOR_VERSION
111dnl MSWIN_VERSION version,OPAL_MINOR=MINOR_VERSION
112dnl MSWIN_VERSION version,OPAL_BUILD=BUILD_NUMBER
113dnl MSWIN_VERSION version,OPAL_VERSION=VERSION
114
115MAJOR_VERSION=`cat ${OPALDIR}/version.h | grep MAJOR_VERSION | cut -f3 -d' '`
116MINOR_VERSION=`cat ${OPALDIR}/version.h | grep MINOR_VERSION | cut -f3 -d' '`
117BUILD_NUMBER=`cat ${OPALDIR}/version.h | grep BUILD_NUMBER | cut -f3 -d' '`
118OPAL_VERSION="${MAJOR_VERSION}.${MINOR_VERSION}.${BUILD_NUMBER}"
119BUILD_TYPE=`cat ${OPALDIR}/version.h | grep BUILD_TYPE | cut -f 3 -d ' ' | sed 's/BetaCode/-beta/' | sed 's/AlphaCode/-alpha/' | sed 's/ReleaseCode/\./'`
120
121AC_DEFINE_UNQUOTED(OPAL_MAJOR,   [${MAJOR_VERSION}], [Major version])
122AC_DEFINE_UNQUOTED(OPAL_MINOR,   [${MINOR_VERSION}], [Minor version])
123AC_DEFINE_UNQUOTED(OPAL_BUILD,   [${BUILD_NUMBER}], [Build number])
124AC_DEFINE_UNQUOTED(OPAL_VERSION, ["$OPAL_VERSION"], [Opal version string])
125
126AC_MSG_NOTICE(Opal version is ${OPAL_VERSION});
127
128#use to set the version in opal.pc
129AC_SUBST(OPAL_VERSION)
130AC_SUBST(BUILD_TYPE)
131
132dnl ########################################################################
133dnl Check for PTLIB
134dnl ########################################################################
135
136OPAL_FIND_PTLIB()
137
138PKG_REQUIRES="$PKG_REQUIRES ptlib"
139CFLAGS="$CFLAGS $PTLIB_CFLAGS"
140LDFLAGS="$LDFLAGS $PTLIB_CFLAGS"
141CXXFLAGS="$CXXFLAGS $PTLIB_CFLAGS $PTLIB_CXXFLAGS"
142#LIBS="$LIBS $PTLIB_LIBS"
143
144
145dnl ########################################################################
146dnl Construct the plugins install path
147dnl ########################################################################
148
149AC_MSG_CHECKING(where plugins are being installed)
150AC_ARG_WITH([plugin-installdir],
151             AS_HELP_STRING([--with-plugin-installdir=DIR],[Location where plugins are installed, starting at the lib dir]),
152             [PLUGIN_DIR="$withval"],
153             [PLUGIN_DIR="opal-${OPAL_VERSION}"]
154           )
155
156EXPANDED_PLUGIN_DIR="${libdir}/${PLUGIN_DIR}"
157if test "x${exec_prefix}" = "xNONE" ; then
158  if test "x${prefix}" = "xNONE" ; then
159    EXPANDED_PLUGIN_DIR=`echo ${EXPANDED_PLUGIN_DIR} | sed s#\\${exec_prefix}#/usr/local#`
160  else
161    EXPANDED_PLUGIN_DIR=`echo ${EXPANDED_PLUGIN_DIR} | sed s#\\${exec_prefix}#${prefix}#`
162  fi
163else
164  EXPANDED_PLUGIN_DIR=`echo ${EXPANDED_PLUGIN_DIR} | sed s#\\${exec_prefix}#${exec_prefix}#`
165fi
166
167case "$OSTYPE" in
168  cygwin | mingw )
169    EXPANDED_PLUGIN_DIR="plugins"
170  ;;
171esac
172
173AC_DEFINE_UNQUOTED([OPAL_PLUGIN_DIR], ["${EXPANDED_PLUGIN_DIR}"], [Default plugin dir])
174AC_MSG_RESULT([${EXPANDED_PLUGIN_DIR}])
175
176
177dnl ########################################################################
178dnl Architecture dependent stuff
179dnl ########################################################################
180
181LDSOOPTS=
182case "$OSTYPE" in
183	solaris )
184          SHAREDLIBEXT=so
185          SHARED_CFLAGS="-KPIC -D__inline=inline"
186          OPAL_DETERMINE_LIBNAMES(DEBUG)
187          OPAL_DETERMINE_LIBNAMES(RELEASE)
188          LDSOOPTS="-Bdynamic -G -h \$(LIB_FILENAME_SHARED_PAT)"
189
190          HAVE_RANLIB=no
191        ;;
192
193    Darwin )
194          SHAREDLIBEXT=dylib
195          SHARED_CFLAGS="-fPIC"
196          OPAL_DETERMINE_LIBNAMES(DEBUG)
197          OPAL_DETERMINE_LIBNAMES(RELEASE)
198          LDSOOPTS="-dynamiclib"
199
200#	   CFLAGS="$CFLAGS -fno-common -dynamic"
201#          LDSO="-dynamiclib -multiply_defined suppress"
202dnl FIXME
203          STDCCFLAGS="$STDCCFLAGS -D__MACOSX__"
204
205          case "$target_cpu" in
206	       x86 | i686 | i586 | i486 | i386 ) STDCCFLAGS="${STDCCFLAGS} -m486" ;;
207          esac
208          HAVE_RANLIB=no
209        ;;
210
211    cygwin|mingw )
212          SHAREDLIBEXT=dll
213          SHARED_CFLAGS=
214          OPAL_DETERMINE_LIBNAMES(DEBUG)
215          OPAL_DETERMINE_LIBNAMES(RELEASE)
216          LDSOOPTS="-Wl,--kill-at -shared"
217          HAVE_RANLIB=yes
218        ;;
219
220    *BSD )
221          SHAREDLIBEXT=so
222          SHARED_CFLAGS="-fPIC"
223          OPAL_DETERMINE_LIBNAMES(DEBUG)
224          OPAL_DETERMINE_LIBNAMES(RELEASE)
225          LDSOOPTS="-shared -Wl,-soname,\$(LIB_FILENAME_SHARED_PAT)"
226
227          HAVE_RANLIB=yes
228        ;;
229
230    *)
231          SHAREDLIBEXT=so
232          SHARED_CFLAGS="-fPIC"
233          OPAL_DETERMINE_LIBNAMES(DEBUG)
234          OPAL_DETERMINE_LIBNAMES(RELEASE)
235          LDSOOPTS="-shared -Wl,-soname,\$(LIB_FILENAME_SHARED_PAT)"
236
237          HAVE_RANLIB=no
238        ;;
239esac
240
241dnl ########################################################################
242dnl set LIBDIR accordingly
243if test "$prefix" = "$OPALDIR"; then
244   LIBDIR=${libdir}_${OSTYPE}_${MACHTYPE}
245else
246   LIBDIR=${libdir}
247fi
248AC_SUBST(LIBDIR)
249
250
251dnl ########################################################################
252if test x$HAVE_RANLIB = xyes ; then
253  ARCHIVE="${AR} rc"
254else
255  ARCHIVE="${AR} rcs"
256fi
257CFLAGS="$CFLAGS $SHARED_CFLAGS"
258CXXFLAGS="$CXXFLAGS $SHARED_CFLAGS"
259
260#-fno-exceptions per configure option
261# mingw: -mms-bitfields
262
263
264AC_MSG_CHECKING(if debug build accepts -g3 -ggdb -O0)
265AC_LANG_CONFTEST([AC_LANG_PROGRAM([[]],[[]])])
266$CXX  $CXXFLAGS  -g3 -ggdb -O0 conftest.$ac_ext > /dev/null 2>&1
267if test $? = 0 ; then
268  AC_MSG_RESULT(yes)
269  DEBUG_CFLAGS="-g3 -ggdb -O0 -D_DEBUG"
270else
271  AC_MSG_RESULT(no)
272  DEBUG_CFLAGS="-g -D_DEBUG"
273fi
274
275
276OPAL_MSG_CHECK([ptlib version], [$PTLIB_VERSION])
277
278OPAL_CHECK_PTLIB_MANDATORY([URL],     [ptclib/url.h],  [PURL url;])
279OPAL_CHECK_PTLIB_MANDATORY([STUN],    [ptclib/pstun.h],[PSTUNClient client;])
280OPAL_CHECK_PTLIB([SSL],     [ptclib/pssl.h], [PSSLContext ctx;],          [OPAL_PTLIB_SSL])
281OPAL_CHECK_PTLIB([ASN.1],   [ptclib/pasn.h], [PASNInteger asnint(5);],    [OPAL_PTLIB_ASN])
282OPAL_CHECK_PTLIB([expat],   [ptclib/pxml.h], [PXMLParser parser;],        [OPAL_PTLIB_EXPAT])
283OPAL_CHECK_PTLIB([video],   [ptlib/video.h], [PVideoChannel chan;],       [OPAL_PTLIB_VIDEO])
284OPAL_CHECK_PTLIB([wavfile], [ptclib/pwavfiledev.h], [PWAVFile wav;],       [OPAL_PTLIB_WAVFILE])
285OPAL_CHECK_PTLIB([vxml],    [ptclib/vxml.h], [PVXMLPlayableData data;],   [OPAL_PTLIB_VXML])
286OPAL_CHECK_PTLIB([ipv6],    [ptlib/sockets.h],[in6_addr ad; PIPSocket::Address address(ad);],    [OPAL_PTLIB_IPV6])
287OPAL_CHECK_PTLIB([dtmf],    [ptclib/dtmf.h], [PDTMFDecoder dtmf;],        [OPAL_PTLIB_DTMF])
288OPAL_CHECK_PTLIB([ldap],    [ptclib/pldap.h],[PLDAPSession session;],     [OPAL_PTLIB_LDAP])
289OPAL_CHECK_PTLIB([dns],     [ptclib/pdns.h], [PDNS::SRVRecord record;],   [OPAL_PTLIB_DNS])
290OPAL_CHECK_PTLIB([audio],   [ptlib/sound.h], [PSoundChannel chan;],       [OPAL_PTLIB_AUDIO])
291OPAL_CHECK_PTLIB([config],  [ptlib/config.h],[PConfig conf;],             [OPAL_PTLIB_CONFIG_FILE])
292
293OPAL_CHECK_PTLIB_DEFINE([ssl/aes],   [P_SSL_AES],       [OPAL_PTLIB_SSL_AES])
294
295
296dnl ########################################################################
297dnl Check for other libraries
298dnl ########################################################################
299
300
301dnl     ########################
302dnl     libdl
303dnl     ########################
304
305OPAL_FIND_LIBDL([HAVE_LIBDL=yes], [HAVE_LIBDL=no])
306if test "x$HAVE_LIBDL" = "xyes" ; then
307    OPAL_ADD_CFLAGS_LIBS([$DL_CFLAGS], [$DL_LIBS])
308fi
309
310
311dnl     ########################
312dnl     speex (system/local)
313dnl     ########################
314
315OPAL_SPEEX_TYPES()
316AC_SUBST(SIZE16)
317AC_SUBST(SIZE32)
318
319OPAL_DETERMINE_SPEEXDSP()
320
321if test "x$SPEEXDSP_SYSTEM" = "xyes" ; then
322  AC_DEFINE(OPAL_SYSTEM_SPEEX, [1], [Has system speex dsp library])
323  OPAL_SPEEX_FLOAT( [AC_DEFINE([OPAL_SPEEX_FLOAT_NOISE], [1], [Speex has float])] )
324  OPAL_ADD_CFLAGS_LIBS([$SPEEXDSP_CFLAGS], [$SPEEXDSP_LIBS], [speexdsp])
325fi
326
327AC_SUBST(SPEEXDSP_SYSTEM)
328
329dnl     ########################
330dnl     ZRTP
331dnl     ########################
332dnl XMSWIN_DISPLAY     libzrtp,libZRTP support
333dnl XMSWIN_CHECK_FILE  libzrtp,include\zrtp.h,OPAL_ZRTP=1
334dnl XMSWIN_DIR_SYMBOL  libzrtp,LIBZRTP_DIR
335
336AC_ARG_ENABLE([zrtp],
337              [AC_HELP_STRING([--enable-zrtp],[enable ZRTP protocol support])],
338              [OPAL_ZRTP=$enableval])
339
340if test "x$OPAL_ZRTP" = "xyes" ; then
341  if test "x$OPAL_SIP" != "xyes" ; then
342    echo "  ERROR: SIP protocol is disabled";
343    exit 1;
344  fi
345  OPAL_FIND_LIBZRTP([OPAL_ZRTP=yes], [OPAL_ZRTP=no])
346  if test "x$OPAL_ZRTP" = "xyes" ; then
347    AC_DEFINE([OPAL_ZRTP], [1], [libzrtp support])
348    OPAL_ADD_CFLAGS_LIBS([$ZRTP_CFLAGS], [$ZRTP_LIBS])
349  fi
350fi
351OPAL_MSG_CHECK([ZRTP protocol support],[$OPAL_ZRTP])
352
353AC_SUBST(OPAL_ZRTP)
354
355dnl     ########################
356dnl     SRTP
357dnl     ########################
358dnl MSWIN_DISPLAY     libsrtp,Cisco libSRTP support
359dnl MSWIN_IF_FEATURE  libsrtp,!libzrtp
360dnl MSWIN_CHECK_FILE  libsrtp,include\srtp.h,HAS_LIBSRTP=1
361dnl MSWIN_DIR_SYMBOL  libsrtp,LIBSRTP_DIR
362dnl MSWIN_CHECK_DIR   libsrtp,.\srtp
363dnl MSWIN_CHECK_DIR   libsrtp,..\external\srtp
364dnl MSWIN_CHECK_DIR   libsrtp,c:\libs
365
366AC_ARG_ENABLE([srtp],
367              [AC_HELP_STRING([--enable-srtp],[enable SRTP protocol support])],
368              [OPAL_SRTP=$enableval])
369
370SRTP_LIBS=
371SRTP_CFLAGS=
372if test "x$OPAL_ZRTP" = "xyes" ; then
373  AC_MSG_NOTICE([disable SRTP due to presence of ZRTP])
374  OPAL_SRTP=no
375else
376  if test "x$OPAL_SRTP" = "xno" ; then
377    AC_MSG_NOTICE([disabled by user])
378  else
379    OPAL_FIND_LIBSRTP([OPAL_SRTP=yes], [OPAL_SRTP=no])
380    if test "x${OPAL_SRTP}" = "xyes" ; then
381      AC_DEFINE([OPAL_SRTP], [1], [libsrtp support])
382      OPAL_ADD_CFLAGS_LIBS([$SRTP_CFLAGS], [$SRTP_LIBS])
383    fi
384    OPAL_MSG_CHECK([libsrtp support],[$OPAL_SRTP])
385  fi
386fi
387AC_SUBST(OPAL_SRTP)
388
389
390dnl ########################################################################
391
392dnl MSWIN_DISPLAY capi,CAPI (isdn) Line Interface Device
393dnl MSWIN_DEFINE  capi,OPAL_CAPI
394
395AC_ARG_ENABLE([capi],
396              [AC_HELP_STRING([--enable-capi],[enable CAPI])],
397              [OPAL_CAPI=$enableval])
398
399if test "x$OPAL_CAPI" = "xyes" ; then
400  AC_CHECK_HEADERS([capi20.h], [OPAL_CAPI=yes], [OPAL_CAPI=no])
401  if test "x$OPAL_CAPI" = "xyes" ; then
402    AC_DEFINE([OPAL_CAPI], [1])
403    OPAL_ADD_CFLAGS_LIBS([], [-lcapi20])
404  fi
405fi
406
407AC_SUBST(OPAL_CAPI)
408
409
410dnl ########################################################################
411dnl We should use SWIG if it is there
412AC_PATH_PROG(SWIG, swig)
413
414
415dnl     ########################
416dnl     JAVA Support
417dnl     ########################
418dnl MSWIN_DISPLAY     java,Java interface
419dnl MSWIN_CHECK_FILE  java,include\jni.h,OPAL_JAVA=1
420dnl MSWIN_DIR_SYMBOL  java,JAVA_DIR
421dnl MSWIN_CHECK_DIR   java,c:\Program Files\java\jdk*
422
423AC_ARG_ENABLE([java],
424              [AC_HELP_STRING([--enable-java],[enable Java JNI support])],
425              [OPAL_JAVA=$enableval])
426
427if test "x$OPAL_JAVA" = "xyes" ; then
428  OPAL_FIND_JAVA([OPAL_JAVA=yes], [OPAL_JAVA=no])
429  if test "x$OPAL_JAVA" = "xyes" ; then
430    CFLAGS="$CFLAGS $JAVA_CFLAGS"
431    CXXFLAGS="$CXXFLAGS $JAVA_CFLAGS"
432  fi
433fi
434AC_SUBST(OPAL_JAVA)
435
436
437dnl ########################
438dnl Ruby Support
439dnl ########################
440dnl MSWIN_DISPLAY    ruby,Ruby interface
441dnl MSWIN_DEFAULT    ruby,Disabled
442dnl MSWIN_CHECK_FILE ruby,ruby.h,OPAL_RUBY=1
443dnl MSWIN_DIR_SYMBOL ruby,RUBY_DIR
444dnl MSWIN_CHECK_DIR  ruby,c:\Program Files\Ruby\include\*
445dnl MSWIN_CHECK_DIR  ruby,c:\Ruby\include\*
446dnl MSWIN_CHECK_DIR  ruby,c:\tools\Ruby\include\*
447
448AC_ARG_ENABLE([ruby],
449              [AC_HELP_STRING([--enable-ruby],[enable Ruby support])],
450              [OPAL_RUBY=$enableval])
451
452if test "x$OPAL_RUBY" = "xyes" ; then
453  AC_CHECK_PROG(HAS_RUBY,ruby,yes)
454  if test "x$HAS_RUBY" = "xyes" ; then
455    RUBY_CFLAGS=-I`ruby -e 'puts $:.join(" -I")'`
456    oldCFLAGS="$CFLAGS"
457    oldCPPFLAGS="$CPPFLAGS"
458    CFLAGS="$CFLAGS $RUBY_CFLAGS"
459    CPPFLAGS="$CFLAGS $RUBY_CFLAGS"
460    AC_CHECK_HEADER(ruby.h,HAS_RUBY=yes,HAS_RUBY=no)
461    CFLAGS="$oldCFLAGS"
462    CPPFLAGS="$oldCPPFLAGS"
463
464    if test "x$HAS_RUBY" = "xyes" ; then
465      CFLAGS="$CFLAGS $RUBY_CFLAGS"
466      CXXFLAGS="$CXXFLAGS $RUBY_CFLAGS"
467    fi
468  fi
469fi
470AC_SUBST(OPAL_RUBY)
471
472
473dnl ########################################################################
474dnl MSWIN unconditionally needed LIBS
475dnl ########################################################################
476case "$OSTYPE" in
477        cygwin|mingw)
478          OPAL_ADD_CFLAGS_LIBS([], [-lavifil32])
479        ;;
480esac
481
482
483dnl ########################################################################
484dnl Check for optional features
485dnl ########################################################################
486
487dnl MSWIN_DISPLAY  video,Video
488dnl MSWIN_DEFINE   video,OPAL_VIDEO
489OPAL_SIMPLE_OPTION(video,OPAL_VIDEO, [whether to enable video codec support], [OPAL_PTLIB_VIDEO])
490
491dnl MSWIN_DISPLAY  sip,SIP support
492dnl MSWIN_DEFINE   sip,OPAL_SIP
493OPAL_SIMPLE_OPTION(sip,OPAL_SIP, [whether to enable SIP protocol support])
494
495dnl MSWIN_DISPLAY  h323,H.323 support
496dnl MSWIN_DEFINE   h323,OPAL_H323
497OPAL_SIMPLE_OPTION(h323,OPAL_H323, [whether to enable H.323 protocol support])
498
499if test "x$OPAL_H323" = "xyes" ; then
500  OPAL_CHECK_PTLIB_MANDATORY([ASN], [ptclib/asner.h],  [PPER_Stream per;])
501fi
502
503dnl MSWIN_DISPLAY  iax2,IAX2 support
504dnl MSWIN_DEFINE   iax2,OPAL_IAX2
505OPAL_SIMPLE_OPTION(iax2,OPAL_IAX2, [whether to enable IAX2 protocol support])
506
507dnl MSWIN_DISPLAY  h224,H.224 support
508dnl MSWIN_DEFINE   h224,OPAL_HAS_H224
509OPAL_SIMPLE_OPTION(h224,OPAL_HAS_H224, [whether to enable H.224 protocol support], [OPAL_H323])
510
511dnl MSWIN_DISPLAY  h281,H.281 (Far End Camera Control) support
512dnl MSWIN_DEFINE   h281,OPAL_HAS_H281
513OPAL_SIMPLE_OPTION(h281,OPAL_HAS_H281, [whether to enable H.281 (Far End Camera Control) protocol support], [OPAL_HAS_H224])
514
515dnl MSWIN_DISPLAY  t38,T.38 capability
516dnl MSWIN_DEFINE   t38,OPAL_T38_CAPABILITY
517OPAL_SIMPLE_OPTION(t38,OPAL_T38_CAPABILITY, [whether to enable T.38 capability support])
518
519dnl MSWIN_DISPLAY  msrp,MSRP capability
520dnl MSWIN_DEFINE   msrp,OPAL_HAS_MSRP
521OPAL_SIMPLE_OPTION(msrp,OPAL_HAS_MSRP, [whether to enable MSRP support])
522
523dnl if test "x$OPAL_HAS_MSRP" = "xyes" ; then
524dnl   AC_MSG_NOTICE([WARNING: MSRP is highly experimental and is recommended for developers only. Please don't complain if this does not compile or breaks your system])
525dnl fi
526
527dnl MSWIN_DISPLAY  sipim,SIPIM capability
528dnl MSWIN_DEFINE   sipim,OPAL_HAS_SIPIM
529OPAL_SIMPLE_OPTION(sipim,OPAL_HAS_SIPIM, [whether to enable SIPIM session support])
530
531dnl MSWIN_DISPLAY  rfc4103,RFC4103 capability
532dnl MSWIN_DEFINE   rfc4103,OPAL_HAS_RFC4103
533OPAL_SIMPLE_OPTION(rfc4103,OPAL_HAS_RFC4103, [whether to enable RFC4103 support])
534
535dnl MSWIN_DISPLAY  fax,T.38 FAX protocol
536dnl MSWIN_DEFINE   fax,OPAL_FAX
537OPAL_SIMPLE_OPTION(fax,OPAL_FAX, [whether to enable T.38 FAX protocol support],[OPAL_T38_CAPABILITY], [OPAL_PTLIB_ASN])
538
539dnl MSWIN_DISPLAY    h450,H.450
540dnl MSWIN_IF_FEATURE h450,h323
541dnl MSWIN_DEFINE     h450,OPAL_H450
542OPAL_SIMPLE_OPTION(  h450,OPAL_H450, [whether to enable H.450], [OPAL_H323])
543
544dnl MSWIN_DISPLAY    h460,H.460
545dnl MSWIN_IF_FEATURE h460,h323
546dnl MSWIN_DEFINE     h460,OPAL_H460
547OPAL_SIMPLE_OPTION(  h460,OPAL_H460, [whether to enable H.460], [OPAL_H323])
548
549dnl MSWIN_DISPLAY    h239,H.239
550dnl MSWIN_IF_FEATURE h239,h323
551dnl MSWIN_DEFINE     h239,OPAL_H239
552OPAL_SIMPLE_OPTION(  h239,OPAL_H239, [whether to enable H.239], [OPAL_H323])
553
554dnl MSWIN_DISPLAY    h501,H.501
555dnl MSWIN_IF_FEATURE h501,h323
556dnl MSWIN_DEFINE     h501,OPAL_H501
557OPAL_SIMPLE_OPTION(  h501,OPAL_H501, [whether to enable H.501], [OPAL_H323])
558
559dnl T.120 is disabled
560dnl _MSWIN_DISPLAY    t120,T.120
561dnl _MSWIN_IF_FEATURE t120,h323
562dnl _MSWIN_DEFINE     t120,OPAL_T120DATA
563OPAL_SIMPLE_OPTION(   t120,OPAL_T120DATA, [whether to enable T.120], [OPAL_H323])
564
565dnl MSWIN_DISPLAY  lid,Line Interface Device
566dnl MSWIN_DEFINE   lid,OPAL_LID
567OPAL_SIMPLE_OPTION(lid,OPAL_LID, [whether to enable LID support])
568
569dnl MSWIN_DISPLAY  ivr,IVR support
570dnl MSWIN_DEFINE   ivr,OPAL_IVR
571OPAL_SIMPLE_OPTION(ivr,OPAL_IVR, [whether to enable IVR support], [OPAL_PTLIB_EXPAT], [OPAL_PTLIB_VXML])
572
573dnl MSWIN_DISPLAY  rfc4175,RFC4175 Raw Video support
574dnl MSWIN_DEFINE   rfc4175,OPAL_RFC4175
575OPAL_SIMPLE_OPTION(rfc4175,OPAL_RFC4175, [whether to enable RFC4175 support], [OPAL_VIDEO])
576
577dnl MSWIN_DISPLAY    rfc2435,RFC2435 JPEG Video support (experimental)
578dnl MSWIN_DEFAULT    rfc2435,Disabled
579dnl MSWIN_CHECK_FILE rfc2435,jpeglib.h,OPAL_RFC2435=1
580dnl MSWIN_DIR_SYMBOL rfc2435,JPEGLIB_DIR
581dnl MSWIN_CHECK_DIR  rfc2435,C:\Program Files\GnuWin32\include\
582dnl MSWIN_CHECK_DIR  rfc2435,C:\Program Files (x86)\GnuWin32\include\
583OPAL_SIMPLE_OPTION(rfc2435,OPAL_RFC2435, [whether to enable RFC2435 support (experimental)], [OPAL_VIDEO])
584
585dnl MSWIN_DISPLAY  aec,Accoustic Echo Cancellation
586dnl MSWIN_DEFINE   aec,OPAL_AEC
587OPAL_SIMPLE_OPTION(aec,OPAL_AEC, [whether to enable accoustic echo cancellation support])
588
589dnl MSWIN_DISPLAY  g711plc,Packet Loss Concealment for G.711
590dnl MSWIN_DEFINE   g711plc,OPAL_G711PLC
591OPAL_SIMPLE_OPTION(g711plc,OPAL_G711PLC, [whether to enable Packet Loss Concealment for G.711])
592
593dnl MSWIN_DISPLAY  rtcpxr,RTCP Extended Reports support
594dnl MSWIN_DEFINE   rtcpxr,OPAL_RTCP_XR
595OPAL_SIMPLE_OPTION(rtcpxr,OPAL_RTCP_XR, [whether to enable RTCP Extended Reports support])
596
597dnl MSWIN_DISPLAY  statistics,Statistics gathering support
598dnl MSWIN_DEFINE   statistics,OPAL_STATISTICS
599OPAL_SIMPLE_OPTION(statistics,OPAL_STATISTICS, [whether to enable statistics gathering support])
600
601dnl MSWIN_DISPLAY  mixer,Media mixing
602dnl MSWIN_DEFINE   mixer,OPAL_HAS_MIXER
603OPAL_SIMPLE_OPTION(mixer,OPAL_HAS_MIXER, [whether to enable media mixing support])
604
605dnl MSWIN_DISPLAY  pcss,PC Sound System Endpoint
606dnl MSWIN_DEFINE   pcss,OPAL_HAS_PCSS
607OPAL_SIMPLE_OPTION(pcss,OPAL_HAS_PCSS, [whether to enable PC sound system support])
608
609
610dnl ########################################################################
611dnl Compile plugins and sample directories
612dnl ########################################################################
613
614OPAL_SIMPLE_OPTION([plugins],[OPAL_PLUGINS], [whether to enable plugin support])
615if test "x$OPAL_PLUGINS" = "xyes" ; then
616  AC_CONFIG_SUBDIRS(plugins)
617fi
618
619OPAL_SIMPLE_OPTION([samples],[OPAL_SAMPLES], [whether to enable samples build])
620
621
622dnl ########################################################################
623dnl Output make directives
624dnl ########################################################################
625
626AC_SUBST(RELEASE_CFLAGS)
627AC_SUBST(DEBUG_CFLAGS)
628
629AC_SUBST(RELEASE_LIBS)
630AC_SUBST(DEBUG_LIBS)
631AC_SUBST(DEBUG_BUILD)
632
633AC_SUBST(PKG_REQUIRES)
634AC_SUBST(PKG_LIBS)
635AC_SUBST(PKG_CFLAGS)
636AC_SUBST(CFLAGS)
637AC_SUBST(CXXFLAGS)
638AC_SUBST(LIBS)
639AC_SUBST(LDFLAGS)
640AC_SUBST(LDSOOPTS)
641AC_SUBST(INSTALL)
642AC_SUBST(AR)
643AC_SUBST(ARCHIVE)
644AC_SUBST(HAVE_RANLIB)
645AC_SUBST(MACHTYPE)
646AC_SUBST(OSTYPE)
647
648
649dnl ########################################################################
650dnl Output files
651dnl ########################################################################
652
653AC_CONFIG_FILES(opal_defs.mak)
654AC_CONFIG_FILES(Makefile)
655AC_CONFIG_HEADERS(include/opal/buildopts.h)
656AC_CONFIG_FILES(opal.pc)
657AC_CONFIG_FILES(opal.spec)
658AC_CONFIG_FILES(opal_cfg.dxy)
659
660AC_CONFIG_FILES([src/codec/speex/libspeex/speex_config_types.h])
661AC_OUTPUT
662