rtf: add memory allocation code for lexer
[siplcs.git] / configure.ac
blob4922bdbc79b60f3f20305e38428c8e0f60008d4f
1 dnl ensure recent enough version of Autoconf
2 AC_PREREQ([2.50])
4 dnl Use 'VERSION' files to get version.
5 m4_define([SIPE_VERSION_DATA], m4_include([VERSION]))
7 dnl Strip off newline characters.
8 m4_define([SIPE_VERSION],
9         m4_substr(SIPE_VERSION_DATA,
10                   [0], m4_decr(m4_len(SIPE_VERSION_DATA))))
12 dnl homepage
13 m4_define([SIPE_HOMEPAGE], [http://sipe.sourceforge.net/])
15 dnl initialize package name, version, bugtracker & homepage
16 AC_INIT([pidgin-sipe], SIPE_VERSION,
17         [https://sourceforge.net/p/sipe/bugs/], [],
18         SIPE_HOMEPAGE)
20 AC_DEFINE([SIPE_TRANSLATIONS_URL],
21         ["https://www.transifex.com/stefanb/pidgin-sipe/"],
22         [URL for submitting translations.])
24 dnl define optional git commit ID generated by autogen.sh
25 m4_define([SIPE_GIT_COMMIT], m4_sinclude([GITVERSION]))
26 AS_IF([test "x"SIPE_GIT_COMMIT != x],
27         [AC_MSG_NOTICE([set git commit])
28          AC_DEFINE(PACKAGE_GIT_COMMIT, "SIPE_GIT_COMMIT", [Define to the git commit for this package.])
31 dnl setup automake and require recent enough version
32 AM_INIT_AUTOMAKE([1.9 dist-bzip2 dist-xz no-define tar-ustar])
34 AC_CANONICAL_HOST
36 dnl set PACKAGE_URL for autoconf < 2.64
37 AS_IF([test "x${PACKAGE_URL}" = x],
38         [AC_MSG_NOTICE([set PACKAGE_URL for autoconf < 2.64])
39          AC_DEFINE(PACKAGE_URL, "SIPE_HOMEPAGE", [Define to the home page for this package.])
42 dnl set programming language
43 AC_LANG(C)
44 AM_PROG_CC_C_O
45 AM_PROG_LEX
46 AC_HEADER_STDC
48 dnl setup shared library generation
49 LT_INIT([disable-static])
51 dnl checks for tools
52 IT_PROG_INTLTOOL([0.35.0])
53 AC_PROG_INSTALL
54 AC_PROG_RANLIB
56 dnl ******************************
57 dnl Win32
58 dnl ******************************
59 AC_MSG_CHECKING([for Win32])
60 AS_CASE(["$host"],
61                 [*-mingw*], [os_win32=yes],
62                 [os_win32=no])
63 AC_MSG_RESULT([$os_win32])
64 AM_CONDITIONAL(SIPE_OS_WIN32, [test "x${os_win32}" = xyes])
66 dnl checks for header files
67 AC_CHECK_HEADERS([])
69 dnl checks for library functions
70 AC_CHECK_FUNCS([])
72 dnl tell pkgconfig to look in the same prefix where we're installing this to,
73 dnl as that is likely where libpurple will be found if it is not in the default
74 dnl pkgconfig path
75 PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${libdir}/pkgconfig"
76 export PKG_CONFIG_PATH
78 dnl debug mode
79 AC_ARG_ENABLE(debug,
80         [AS_HELP_STRING([--enable-debug],
81                         [compile with debugging support @<:@default=no@:>@])],
82         [],
83         [enable_debug=no])
85 AS_IF([test "x$enable_debug" = xyes],
86         [AC_DEFINE(DEBUG, 1, [Define if debugging is enabled.])])
87 AC_SUBST(DEBUG_CFLAGS)
89 dnl quality check mode
90 dnl For people who are interested in finding bugs and not hiding them
91 AC_ARG_ENABLE(quality-check,
92         [AS_HELP_STRING([--enable-quality-check],
93                         [compile with compiler checks enabled @<:@default=yes@:>@])],
94         [],
95         [enable_quality_check=yes])
97 AS_IF([test "x$enable_quality_check" = xyes],
98         [dnl default quality configuration
99          QUALITY_CFLAGS="$QUALITY_CFLAGS -Werror -Wall"
101          dnl enable warnings supported by the GCC on the build system
102          for newflag in \
103                         "-Wextra" \
104                         "-Waggregate-return" \
105                         "-Wcast-align" \
106                         "-Wcast-function-type" \
107                         "-Wdeclaration-after-statement" \
108                         "-Wdeprecated-declarations" \
109                         "-Wduplicate-decl-specifier" \
110                         "-Winit-self" \
111                         "-Wmaybe-uninitialized" \
112                         "-Wmissing-declarations" \
113                         "-Wmissing-prototypes" \
114                         "-Wnested-externs" \
115                         "-Wpointer-arith" \
116                         "-Wundef" \
117                         "-Wunused-but-set-variable" \
118          ; do
119                  ac_save_CFLAGS="$CFLAGS"
120                  AC_MSG_CHECKING([if $CC supports $newflag])
121                  CFLAGS="$CFLAGS $QUALITY_CFLAGS $newflag"
122                  AC_COMPILE_IFELSE(
123                         [AC_LANG_SOURCE([[]])],
124                         [AC_MSG_RESULT(yes)
125                          QUALITY_CFLAGS="$QUALITY_CFLAGS $newflag"],
126                         [AC_MSG_RESULT(no)]
127                  )
128                  CFLAGS="$ac_save_CFLAGS"
129          done
130         ])
131 AC_SUBST(QUALITY_CFLAGS)
133 dnl check for availability of addition linker flags
134 for newflag in \
135         "-Wl,-Bsymbolic-functions" \
136 ; do
137         ac_save_LDFLAGS="$LDFLAGS"
138         AC_MSG_CHECKING([if $CC supports $newflag])
139         LDFLAGS="$LDFLAGS $ADDITIONAL_LDFLAGS $newflag"
140         AC_LINK_IFELSE(
141                 [AC_LANG_SOURCE([[
142 int main(int argc, char *argv[])
144         return(0);
146                  ]])],
147                 [AC_MSG_RESULT(yes)
148                  ADDITIONAL_LDFLAGS="$ADDITIONAL_LDFLAGS $newflag"],
149                 [AC_MSG_RESULT(no)]
150         )
151         LDFLAGS="$ac_save_LDFLAGS"
152 done
153 AC_SUBST(ADDITIONAL_LDFLAGS)
155 dnl Check for pkg-config before using it
156 PKG_PROG_PKG_CONFIG
158 dnl check for valgrind (optional, only needed for debugging)
159 PKG_CHECK_MODULES(VALGRIND, [valgrind],
160         [AC_DEFINE(HAVE_VALGRIND, 1, [Define to 1 if you have the valgrind headers])],
161         [AC_MSG_RESULT(no)])
163 dnl build option: with AppStream support
164 AC_ARG_WITH(appstream,
165         [AC_HELP_STRING([--with-appstream],
166                 [install AppStream XML file @<:@default=yes@:>@])],
167         [AS_IF([test "x$withval" = xno], [with_appstream=no])],
168         [with_appstream=yes])
169 AM_CONDITIONAL(SIPE_WITH_APPSTREAM, [test "x$with_appstream" != xno])
171 dnl build option: with voice & video support (for all backends)
172 AC_ARG_WITH(vv,
173         [AC_HELP_STRING([--with-vv],
174                 [compile with voice and video support @<:@default=check@:>@])],
175         [AS_IF([test "x$withval" = xyes], [with_vv=yes])],
176         [with_vv=check])
178 dnl check for Kerberos 5 support
179 AC_ARG_WITH([krb5],
180         [AC_HELP_STRING([--with-krb5],
181                 [compile with Kerberos 5 support @<:@default=check@:>@])],
182         [AS_IF([test "x$withval" = xyes], [with_krb5=check])],
183         [with_krb5=check])
185 AS_IF([test "x$with_krb5" = xno], [], dnl disabled by user
186       [test "x$with_krb5" = xcheck],  dnl autodetect with krb5-config
187         [AC_MSG_CHECKING(if Kerberos 5 is available)
188          AS_IF([AC_RUN_LOG([krb5-config --version])],
189                 [KRB5_CFLAGS=`krb5-config --cflags 2>/dev/null`
190                  KRB5_LDFLAGS=""
192                  dnl same as AC_CHECK_LIB()
193                  LIBS="$LIBS `krb5-config --libs gssapi 2>/dev/null`"],
194                 [AC_MSG_RESULT(no)
195                  with_krb5=no])],
196       [                               dnl path specified by user
197         KRB5_CFLAGS="-I${with_krb5}/include"
198         KRB5_LDFLAGS="-L${with_krb5}/lib"
199       ])
200 AS_IF([test "x$with_krb5" != xno],
201       [ac_save_CFLAGS="$CFLAGS"
202        ac_save_LDFLAGS="$LDFLAGS"
203        CFLAGS="$CFLAGS $KRB5_CFLAGS"
204        LDFLAGS="$LDFLAGS $KRB5_LDFLAGS"
205        AC_CHECK_HEADERS([gssapi/gssapi.h gssapi/gssapi_krb5.h],
206                         [],
207                         [AC_ERROR([GSSAPI headers not found])])
208        AC_CHECK_FUNC([gss_init_sec_context],
209                      [],
210                      [AC_ERROR([GSSAPI libraries not found])])
212        dnl older GSSAPI releases don't have gss_acquire_cred_with_passwd()
213        AC_CHECK_HEADER([gssapi/gssapi_ext.h],
214                        [AC_CHECK_FUNC([gss_acquire_cred_with_password],
215                                       [AC_DEFINE(HAVE_GSSAPI_PASSWORD_SUPPORT, 1, [Define to 1 if gssapi has gss_acquire_cred_with_passwd()])],
216                                       [AC_MSG_NOTICE([gss_acquire_cred_with_passwd() required: disabling GSSAPI non-SSO support])])],
217                        [AC_MSG_NOTICE([gssapi/gssapi_ext.h required: disabling GSSAPI non-SSO support])])
219        CFLAGS="$ac_save_CFLAGS"
220        LDFLAGS="$ac_save_LDFLAGS"
221       ])
223 AM_CONDITIONAL(SIP_SEC_GSSAPI, [test "x$with_krb5" != xno])
224 AC_SUBST(KRB5_CFLAGS)
225 AC_SUBST(KRB5_LDFLAGS)
227 dnl check for DBUS support
228 AC_ARG_WITH([dbus],
229         [AC_HELP_STRING([--with-dbus],
230                 [compile with D-BUS support @<:@default=check@:>@])],
231         [AS_IF([test "x$withval" = xyes], [with_dbus=check])],
232         [with_dbus=check])
234 AS_IF([test "x$with_dbus" = xno], [], dnl disabled by user
235       [test "x$with_dbus" = xcheck],  dnl autodetect with pkg-config
236         [PKG_CHECK_MODULES(DBUS, [dbus-1],
237                 [with_dbus=yes],
238                 [with_dbus=no])
239         ])
240 AM_CONDITIONAL(SIPE_DBUS, [test "x$with_dbus" = xyes])
241 AS_IF([test "x$with_dbus" = xyes],
242         [AC_DEFINE(HAVE_DBUS, 1, [Define if D-BUS should be used in sipe.])])
244 AC_ARG_ENABLE(gssapi_only,
245         [AS_HELP_STRING([--enable-gssapi-only],
246                         [disable all internal authentication code and only use
247                          GSSAPI for authentication @<:@default=yes@:>@])],
248         [],
249         dnl requires Kerberos which provides GSSAPI
250         [enable_gssapi_only=$with_krb5])
251 AS_IF([test "x$enable_gssapi_only" != xno],
252         [AC_CHECK_HEADER([gssapi/gssapi_ntlmssp.h],
253                        [AC_DEFINE(HAVE_GSSAPI_ONLY, 1, [Define to 1 to enable GSSAPI-only mode])],
254                        [AC_MSG_NOTICE([gssapi/gssapi_ntlm.h required: falling back to internal authentication implementation])
255                         enable_gssapi_only=no])
256         ])
257 AM_CONDITIONAL(SIP_SEC_GSSAPI_ONLY, [test "x$enable_gssapi_only" != xno])
259 dnl check for glib
260 PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.18.0])
261 PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.18.0])
263 dnl check for gmime
264 PKG_CHECK_MODULES(GMIME, [gmime-3.0 >= 3.0.0],
265         [ac_have_gmime=yes],
266         [PKG_CHECK_MODULES(GMIME, [gmime-2.6 >= 2.6.0],
267                 [ac_have_gmime=yes],
268                 [ac_have_gmime=no])
269         ])
270 AM_CONDITIONAL(SIPE_MIME_GMIME, [test "x$ac_have_gmime" = xyes])
271 AS_IF([test "x$ac_have_gmime" = xyes],
272         [AC_DEFINE(HAVE_GMIME, 1, [Define if gmime should be used in sipe.])])
274 dnl check for NSS
275 AC_ARG_ENABLE(nss,
276         [AS_HELP_STRING([--enable-nss],
277                         [use NSS as crypto backend @<:@default=yes@:>@])],
278         [],
279         [enable_nss=yes])
280 AS_IF([test "x$enable_nss" != xno],
281         [PKG_CHECK_MODULES(NSS, [nss],
282                 [],
283                 [PKG_CHECK_MODULES(NSS, [mozilla-nss],
284                         [],
285                         [PKG_CHECK_MODULES(NSS, [microb-engine-nss],
286                                 [],
287                                 [enable_nss=no])
288                         ])
289                 ])
290         ])
292 dnl check for OpenSSL
293 AC_ARG_ENABLE(openssl,
294         [AS_HELP_STRING([--enable-openssl],
295                         [use OpenSSL as crypto backend @<:@default=yes@:>@])],
296         [],
297         [enable_openssl=yes])
298 AS_IF([test "x$enable_openssl" != xno],
299         [PKG_CHECK_MODULES(OPENSSL, [libcrypto],
300                    [],
301                    [enable_openssl=no])
302         ])
303 AS_IF(
304         [test "x$enable_nss" != xno],
305                 [ dnl NSS has priority over OpenSSL
306                   enable_openssl=no
307                   AC_MSG_NOTICE([using NSS as crypto backend.])],
308         [test "x$enable_openssl" != xno],
309                 [AC_MSG_NOTICE([using OpenSSL as crypto backend.])],
310         [AC_ERROR([nss, mozilla-nss, microb-engine-nss or libcrypto package is required])])
311 AM_CONDITIONAL(SIPE_OPENSSL, [test "x$enable_openssl" != xno])
313 dnl check for libxml2
314 PKG_CHECK_MODULES(LIBXML2, [libxml-2.0])
316 dnl assumption check: sizof(uuid_t) must be 16 (see uuid.c)
317 AC_MSG_CHECKING([that sizeof(uuid_t) is 16])
318 ac_save_CFLAGS="$CFLAGS"
319 CFLAGS="$CFLAGS $GLIB_CFLAGS $QUALITY_CFLAGS"
320 dnl note the [[[ quoting: our code contains []!
321 AC_RUN_IFELSE(
322         [AC_LANG_PROGRAM(
323                 [[
324 #include <glib.h>
325 #include <stdio.h>
327 /* Copied from uuid.c */
328 typedef struct {
329    guint32 time_low;
330    guint16 time_mid;
331    guint16 time_hi_and_version;
332    guint8  clock_seq_hi_and_reserved;
333    guint8  clock_seq_low;
334    guint8  node[6];
335 } uuid_t;
336                 ]],
337                 [[if (sizeof(uuid_t) == 16) {
338                         return(0);
339                  } else {
340                         printf("\n\nOoops, sizeof(uuid_t) is %" G_GSIZE_FORMAT ".\n\n", sizeof(uuid_t));
341                         return(1);
342                  }]])],
343         [AC_MSG_RESULT(yes)],
344         [AC_MSG_FAILURE([sizeof(uuid_t) is not 16
346 Please notify the SIPE developers.
348 Copy & paste all lines starting with the line
350   checking that sizeof(uuid_t) is 16...
352 to the report and attach the file "config.log".
354 Compiler information:
356  host:     $host
357  build:    $build
358  compiler: $CC
359 ])],
360         [AC_MSG_WARN([cross compiling: not checking])])
361 CFLAGS="$ac_save_CFLAGS"
363 dnl build option: OCS2005 client hack
364 AC_ARG_ENABLE([ocs2005-message-hack],
365         [AC_HELP_STRING([--enable-ocs2005-message-hack], [disable message timeout for OCS2005 clients
366                                                           which causes "false" not delivered error messages
367                                                           @<:@default=no@:>@])],
368         [AC_DEFINE([ENABLE_OCS2005_MESSAGE_HACK], [1],
369                    [Define to 1 to disable SIP MESSAGE timeout feature.
370                     OCS2005 clients don't seem to acknowledge MESSAGEs and
371                     disabling the timeout suppresses "false" error messages])])
373 dnl build option: purple backend
374 AC_ARG_ENABLE([purple],
375         [AC_HELP_STRING([--enable-purple], [build purple plugin @<:@default=yes@:>@])],
376         [],
377         [enable_purple=yes])
378 ac_have_appshare=no
379 ac_have_appshare_server=no
380 ac_have_xdata=no
381 with_purple_vv=no
382 AS_IF([test "x$enable_purple" != xno],
383         [PKG_CHECK_MODULES(PURPLE, [purple-3],
384                 [purple_pkgconfig=purple-3],
385                 [PKG_CHECK_MODULES(PURPLE, [purple >= 2.7.0],
386                         [purple_pkgconfig=purple],
387                         [enable_purple=no])])
389          AS_IF([test "x$enable_purple" != xno],
390                 [AC_MSG_NOTICE([using package "$purple_pkgconfig".])
392                  dnl unfortunately PURPLE_MAJOR_VERSION is not exported by purple.m4
393                  PURPLE_MAJOR_VERSION=`$PKG_CONFIG --modversion $purple_pkgconfig | cut -d. -f 1`
394                  AC_SUBST(PURPLE_MAJOR_VERSION)
396                  ac_save_CFLAGS="$CFLAGS"
397                  ac_save_LIBS="$LIBS"
398                  CFLAGS="$CFLAGS $PURPLE_CFLAGS $QUALITY_CFLAGS"
399                  LIBS="$LIBS $PURPLE_LIBS"
401                  dnl check whether enable voice and video support
402                  AS_IF([test "x$with_vv" = xno], [], dnl disabled by user
403                        [AC_MSG_CHECKING(for purple voice and video support)
404                         purple_has_media=no
405                         AC_RUN_IFELSE(
406                                 [AC_LANG_PROGRAM([[
407 #include <media.h>
408                                         ]],
409                                         [[return (purple_media_get_type() == G_TYPE_NONE ? 1 : 0);]]
410                                 )],
411                                 [purple_has_media=yes
412                                  AC_MSG_RESULT(ok)
413                                 ],
414                                 [AC_MSG_RESULT([no - your purple hasn't been compiled with voice and video support.])],
415                                 [AS_IF([test "x$with_vv" = xyes],
416                                        [purple_has_media=yes
417                                         AC_MSG_RESULT([yes - enabling voice and video support for cross compiling on users' request.])],
418                                        [AC_MSG_RESULT([no - disabled for cross compiling.])])
419                                 ]
420                         )
421                         AS_IF([test "x$purple_has_media" = xyes],
422                                 [PKG_CHECK_MODULES(NICE, [nice >= 0.1.0],
423                                         dnl sipe-media.c uses g_slist_free_full()
424                                         [PKG_CHECK_MODULES(_SIPE_MEDIA_RECHECK_PLEASE_IGNORE, [$purple_pkgconfig >= 2.8.0],
425                                                 dnl check purple pkgconfig for gstreamer version
426                                                 [gstreamer_pkgconfig=`$PKG_CONFIG --variable=gstreamer $purple_pkgconfig`
427                                                 AS_IF([test "x$gstreamer_pkgconfig" == x],
428                                                         [AS_IF([test "x$purple_pkgconfig" == xpurple-3],
429                                                                 [gstreamer_pkgconfig=1.0])])
430                                                 AS_IF([test "x$gstreamer_pkgconfig" == x1.0],
431                                                         [gstreamer_pkgconfig="gstreamer-$gstreamer_pkgconfig gstreamer-rtp-$gstreamer_pkgconfig"
433                                                         AC_MSG_NOTICE([using packages "$gstreamer_pkgconfig".])
434                                                         PKG_CHECK_MODULES(GSTREAMER, [$gstreamer_pkgconfig],
435                                                                 [PKG_CHECK_MODULES(FARSTREAM, [farstream-0.2],
436                                                                         [with_purple_vv=yes
438                                                                          AC_COMPILE_IFELSE(
439                                                                                  [AC_LANG_PROGRAM([[
440 #include <media.h>
441                                                                                         ]],
442                                                                                         [[return (PURPLE_MEDIA_NETWORK_PROTOCOL_TCP_PASSIVE);]]
443                                                                                  )],
444                                                                                  [AC_DEFINE(HAVE_PURPLE_NEW_TCP_ENUMS, 1, [Define if libpurple has new TCP enums in media backend.])]
445                                                                         )],
446                                                                         [AC_MSG_NOTICE(Farstream required: disabling purple voice and video support)])],
447                                                                 [AC_MSG_NOTICE(GStreamer required: disabling purple voice and video support)])],
448                                                         [AC_MSG_NOTICE(your purple hasn't been compiled against GStreamer 1.0: disabling purple voice and video support)])],
449                                                 [AC_MSG_NOTICE(libpurple >= 2.8.0 required: disabling purple voice and video support)])],
450                                         [AC_MSG_NOTICE(libnice required: disabling purple voice and video support)])
451                                 ])
452                        ])
454                  dnl SRTP and XDATA require media backend
455                  AS_IF([test "x$with_purple_vv" != xno],
456                         [AC_LINK_IFELSE(
457                                 [AC_LANG_PROGRAM([[
458 #include <media.h>
459                                         ]],
460                                         [[purple_media_set_encryption_parameters(NULL, "", "", "", "", 0);
461                                           purple_media_set_decryption_parameters(NULL, "", "", "", "", "", 0);]]
462                                  )],
463                                  [AC_DEFINE(HAVE_SRTP, 1, [Define if we have SRTP support in media backend.])]
464                          )
466                          AC_COMPILE_IFELSE(
467                                 [AC_LANG_PROGRAM([[
468 #include <media.h>
469                                         ]],
470                                         [[return (PURPLE_MEDIA_APPLICATION);]]
471                                  )],
472                                  [dnl libpurple supports raw data RTP connections
473                                   ac_have_xdata=yes
475                                   dnl gio-2.0 is mandatory for application sharing support
476                                   PKG_CHECK_MODULES(GIO, [gio-2.0],
477                                         [ac_have_appshare=yes
479                                          dnl freerdp-shadow2 & winpr2 is mandatory for appshare server support
480                                          PKG_CHECK_MODULES(FREERDP_SHADOW, [freerdp-shadow2 winpr2],
481                                                 [ac_have_appshare_server=yes],
482                                                 [ac_have_appshare_server=no])
483                                    ])
484                                  ]
485                          )
486                         ],
487                         [AS_IF([test "x$with_vv" = xyes], dnl explicitly requested by user
488                                 [AC_ERROR([Voice and video support explicitly requested, but not available])]
489                          )]
490                  )
492                  CFLAGS="$ac_save_CFLAGS"
493                  LIBS="$ac_save_LIBS"])])
494 AM_CONDITIONAL(SIPE_INCLUDE_PURPLE, [test "x$enable_purple" != xno])
495 AM_CONDITIONAL(SIPE_PURPLE3, [test "x$purple_pkgconfig" = xpurple-3])
497 dnl build option: telepathy backend
498 AC_ARG_ENABLE([telepathy],
499         [AC_HELP_STRING([--enable-telepathy], [build telepathy plugin @<:@default=yes@:>@])],
500         [],
501         [enable_telepathy=yes])
502 AS_IF([test "x$enable_telepathy" != xno],
503         [PKG_CHECK_MODULES(TELEPATHY_GLIB, [telepathy-glib >= 0.18.0],
504                 [dnl GMIME is a build requirement
505                  AS_IF([test "x$ac_have_gmime" = xyes],
506                         [],
507                         [AC_ERROR(GMIME package is required for telepathy plugin)])
509                  dnl telepathy is based on GObject & D-Bus GLib
510                  PKG_CHECK_MODULES(GOBJECT, [gobject-2.0])
511                  PKG_CHECK_MODULES(DBUS_GLIB, [dbus-glib-1])
513                  dnl telepathy uses from gio:
514                  dnl  - GIOStream      (>= 2.22.0)
515                  dnl  - GResolver      (>= 2.22.0)
516                  dnl  - GSocketClient  (>= 2.32.0)
517                  dnl  - GTlsConnection (>= 2.28.0)
518                  PKG_CHECK_MODULES(GIO, [gio-2.0 >= 2.32.0])
520                 ],
521                 [enable_telepathy=no])])
522 AM_CONDITIONAL(SIPE_INCLUDE_TELEPATHY, [test "x$enable_telepathy" != xno])
524 dnl sanity check
525 AS_IF([test "x$enable_purple" = xno -a "x$enable_telepathy" = xno],
526         [AC_ERROR(at least one plugin must be selected
528 If you didn't use a --enable option then please check that you have
529 the headers for the packages "purple" or "telepathy-glib" installed.
531         [])
533 dnl enable voice & video support if any backend supports it
534 AS_IF([test "x$with_purple_vv" != xno],
535         [AC_DEFINE(HAVE_VV, 1, [Define if voice & video is enabled.])])
536 AM_CONDITIONAL(SIPE_WITH_VV, [test "x$with_purple_vv" != xno])
538 dnl raw data RTP streams enable Lync file transfer
539 AM_CONDITIONAL(SIPE_HAVE_XDATA, [test "x$ac_have_xdata" == xyes])
540 AS_IF([test "x$ac_have_xdata" == xyes],
541         [AC_DEFINE(HAVE_XDATA, 1, [Define if we have raw data RTP in media backend.])])
543 dnl enable appshare support
544 AM_CONDITIONAL(SIPE_HAVE_APPSHARE, [test "x$ac_have_appshare" == xyes])
545 AS_IF([test "x$ac_have_appshare" == xyes],
546         [AC_DEFINE(HAVE_APPSHARE, 1, [Define to 1 if we have appshare support.])])
548 dnl RDP server for sharing local desktop
549 AM_CONDITIONAL(SIPE_HAVE_APPSHARE_SERVER, [test "x$ac_have_appshare_server" = xyes])
550 AS_IF([test "x$ac_have_appshare_server" == xyes],
551         [AC_DEFINE(HAVE_APPSHARE_SERVER, 1, [Define if appshare server is enabled.])])
553 dnl telepathy code parts rely on interfaces that require GValueArray. This
554 dnl type has been declared "deprectated" in glib-2.0 >= 2.32.0, but there
555 dnl is no backward compatible replacement implementation possible
556 AS_IF([test "x$enable_telepathy" != xno],
557         [AC_DEFINE(GLIB_VERSION_MIN_REQUIRED, GLIB_VERSION_2_30,
558                    [We need GValueArray for which no replacement is available])])
560 dnl i18n
561 AC_MSG_CHECKING([locale_CPPFLAGS])
562 LOCALE_CPPFLAGS='-DLOCALEDIR=\"$(datadir)/locale\"'
563 AC_SUBST([LOCALE_CPPFLAGS])
564 AC_MSG_RESULT([$LOCALE_CPPFLAGS])
565 AM_GLIB_GNU_GETTEXT
566 AC_SUBST(GETTEXT_PACKAGE, "${PACKAGE_NAME}")
568 dnl codeset
569 AM_LANGINFO_CODESET
571 dnl substitutions and generated files
572 AC_CONFIG_HEADERS([config.h])
573 AC_CONFIG_FILES([
574         Makefile
575         pixmaps/Makefile
576         m4macros/Makefile
577         po/Makefile.in
578         pixmaps/16/Makefile
579         pixmaps/22/Makefile
580         pixmaps/24/Makefile
581         pixmaps/32/Makefile
582         pixmaps/48/Makefile
583         pixmaps/scalable/Makefile
584         src/Makefile
585         src/core/Makefile
586         src/api/Makefile
587         src/purple/Makefile
588         src/telepathy/Makefile
589         src/telepathy/data/Makefile
590         ])
592 dnl generate files
593 AC_OUTPUT()
595 dnl additional info for the user
596 AS_ECHO()
597 AS_IF([test "x$enable_purple" = xno],
598         [AS_ECHO("Not building purple plugin")],
599         [AS_ECHO("Build purple plugin")
600          AS_ECHO("PURPLE_CFLAGS  : $PURPLE_CFLAGS")
601          AS_ECHO("PURPLE_LIBS    : $PURPLE_LIBS")
602          AS_ECHO_N("Voice and video: ")
603          AS_IF([test "x$with_purple_vv" = xno],
604           [AS_ECHO("disabled")],
605           [AS_ECHO("enabled")])
606         ])
607 AS_ECHO()
608 AS_IF([test "x$enable_telepathy" = xno],
609         [AS_ECHO("Not building telepathy plugin")],
610         [AS_ECHO("Build telepathy plugin")
611          AS_ECHO("TELEPATHY_GLIB_CFLAGS: $TELEPATHY_GLIB_CFLAGS")
612          AS_ECHO("TELEPATHY_GLIB_LIBS  : $TELEPATHY_GLIB_LIBS")])
613 AS_ECHO()
614 AS_IF([test "x$with_krb5" = xno],
615         [AS_ECHO("Not building with Kerberos 5 support")],
616         [AS_ECHO("Build with Kerberos 5 support")
617          AS_ECHO("KRB5_CFLAGS    : $KRB5_CFLAGS")
618          AS_ECHO("KRB5_LDFLAGS   : $KRB5_LDFLAGS")])
619 AS_ECHO()
620 AS_IF([test "x$enable_gssapi_only" = xno],
621         [AS_ECHO("Using internal authentication implementation")],
622         [AS_ECHO("Using only GSSAPI for authentication")])
623 AS_ECHO()
624 AS_IF([test "x$enable_debug" = xno],
625         [AS_ECHO("Debugging not enabled")],
626         [AS_ECHO("Build with debugging enabled")
627          AS_ECHO("DEBUG_CFLAGS   : $DEBUG_CFLAGS")])
628 AS_ECHO()
629 AS_IF([test "x$QUALITY_CFLAGS" = x],
630         [AS_ECHO("Compiler checks disabled")],
631         [AS_ECHO("Build with compiler checks enabled")
632          AS_ECHO("QUALITY_CFLAGS : $QUALITY_CFLAGS")])
633 AS_ECHO()
634 AS_ECHO("configure complete. Now run 'make'")
635 AS_ECHO()
637 dnl The End.