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