1 dnl ensure recent enough version of Autoconf
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))))
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/tracker/?atid=949931&group_id=194563], [],
20 dnl setup automake and require recent enough version
21 AM_INIT_AUTOMAKE([1.9 dist-bzip2 no-define tar-ustar])
23 dnl set PACKAGE_URL for autoconf < 2.64
24 if test "x${PACKAGE_URL}" = "x"; then
25 AC_MSG_NOTICE([set PACKAGE_URL for autoconf < 2.64])
26 AC_DEFINE(PACKAGE_URL, "SIPE_HOMEPAGE",
27 [Define to the home page for this package.])
30 dnl set programming language
35 dnl setup shared library generation
36 LT_INIT([disable-static])
39 IT_PROG_INTLTOOL([0.35.0])
43 dnl checks for library functions
44 AC_CHECK_FUNCS([setenv unsetenv])
46 dnl tell pkgconfig to look in the same prefix where we're installing this to,
47 dnl as that is likely where libpurple will be found if it is not in the default
49 PREFIX=$ac_default_prefix
50 if test "$prefix" != "NONE"; then
54 PKG_CONFIG_PATH="$PKG_CONFIG_PATH":"$PREFIX/lib/pkgconfig"
55 export PKG_CONFIG_PATH
59 [AS_HELP_STRING([--enable-debug],
60 [compile with debugging support [default=no]])],
64 if test "$enable_debug" = yes; then
65 AC_DEFINE(DEBUG, 1, [Define if debugging is enabled.])
68 DEBUG_CFLAGS="${DEBUG_CFLAGS}"
69 AC_SUBST(DEBUG_CFLAGS)
71 dnl quality check mode
72 dnl For people who are interested in finding bugs and not hiding them
73 AC_ARG_ENABLE(quality-check,
74 [AS_HELP_STRING([--enable-quality-check],
75 [compile with compiler checks enabled [default=yes]])],
77 enable_quality_check="yes")
79 if test "$enable_quality_check" = yes; then
80 QUALITY_CFLAGS="${QUALITY_CFLAGS} -Werror -Wall -Wextra"
82 QUALITY_CFLAGS="${QUALITY_CFLAGS}"
84 AC_SUBST(QUALITY_CFLAGS)
86 dnl Check for pkg-config before using it
90 [AC_HELP_STRING([--with-krb5=PREFIX],
91 [compile sipe plugin with Kerberos 5 support @<:@default=no@:>@])],
92 [test "$withval" = "no" || kerberos="$withval"],
95 dnl check for Kerberos
97 AC_SUBST(KRB5_LDFLAGS)
100 AM_CONDITIONAL(SIP_SEC_KRB5, test "$kerberos" != "no")
101 if test "$kerberos" != "no" ; then
102 if test "$kerberos" != "yes" ; then
103 KRB5_CFLAGS="-I${kerberos}/include"
104 KRB5_LDFLAGS="-L${kerberos}/lib"
106 orig_LDFLAGS="$LDFLAGS"
107 LDFLAGS="$LDFLAGS $KRB5_LDFLAGS"
108 AC_CHECK_LIB(krb5, krb5_rd_req,
109 [KRB5_LIBS="-lkrb5"],
110 [AC_CHECK_LIB(krb5, krb5_rd_req,
111 [KRB5_LIBS="-lkrb5"],
112 [AC_ERROR(Kerberos 5 libraries not found)],
115 AC_CHECK_LIB(gssapi_krb5, gss_krb5_export_lucid_sec_context,
116 [KRB5_LIBS="$KRB5_LIBS -lgssapi_krb5"],
117 [AC_CHECK_LIB(gssapi, gss_krb5_export_lucid_sec_context,
118 [KRB5_LIBS="$KRB5_LIBS -lgssapi_krb5"],
119 [AC_ERROR(GSSAPI libraries not found)],
123 LIBS="$KRB5_LIBS $LIBS"
124 AC_CHECK_FUNCS([krb5_get_error_message])
126 AC_DEFINE(HAVE_KERBEROS, 1, [Define if kerberos should be used in sipe.])
130 PKG_CHECK_MODULES(GLIB, [glib-2.0])
132 dnl check for libxml2
133 PKG_CHECK_MODULES(LIBXML2, [libxml-2.0])
135 dnl assumption check: sizof(uuid_t) must be 16 (see uuid.c)
136 AC_MSG_CHECKING([that sizeof(uuid_t) is 16])
137 ac_save_CFLAGS=$CFLAGS
138 CFLAGS="$GLIB_CFLAGS -Werror -Wall -Wextra"
139 dnl note the [[[ quoting: our code contains []!
146 /* Copied from uuid.c */
150 guint16 time_hi_and_version;
151 guint8 clock_seq_hi_and_reserved;
152 guint8 clock_seq_low;
156 [return(sizeof(uuid_t) == 16 ? 0 : 1);]),
157 [AC_MSG_RESULT(yes)],
158 [AC_MSG_RESULT(failed)
159 AC_ERROR(sizeof(uuid_t) is not 16
161 Please notify the SIPE developers and provide the following information:
167 CFLAGS=$ac_save_CFLAGS
169 dnl check for libpurple
171 AC_ARG_WITH([purple],
172 [AC_HELP_STRING([--with-purple],
173 [compile sipe plugin for libpurple clients @<:@default=autodetect@:>@])],
174 [test "$withval" = "yes" || purple="no"],
176 if test "$purple" != "no"; then
177 PKG_CHECK_MODULES(PURPLE, [purple >= 2.4.0],
182 dnl support for libpurple plugin
183 AM_CONDITIONAL(SIPE_INCLUDE_PURPLE, test "$purple" != "no")
184 if test "$purple" != "no"; then
186 dnl unfortunately PURPLE_MAJOR_VERSION is not exported by purple.m4
187 PURPLE_MAJOR_VERSION=`$PKG_CONFIG --modversion purple | cut -d. -f 1`
188 AC_SUBST(PURPLE_MAJOR_VERSION)
190 dnl let user now if he has a 32- and 64-bit header conflict...
191 AC_MSG_CHECKING([for 32- and 64-bit header conflicts])
192 ac_save_CFLAGS=$CFLAGS
193 CFLAGS="$PURPLE_CFLAGS -Werror -Wall -Wextra"
200 /* Compile some code that has caused trouble in the past */
201 void testfunc(unsigned long len)
203 PurpleCipherContext *rc4 = NULL;
204 purple_cipher_context_set_option(rc4, "key_len", GUINT_TO_POINTER(len));
208 [AC_MSG_RESULT(none)],
209 [AC_MSG_RESULT(failed)
210 AC_ERROR(conflicts found.
212 Check that you have the correct glib/libpurple headers installed for
213 your architecture or set PURPLE_CFLAGS to override the system defaults.
215 CFLAGS=$ac_save_CFLAGS
218 dnl check for telepathy
220 AC_ARG_WITH([telepathy],
221 [AC_HELP_STRING([--with-telepathy],
222 [compile sipe plugin for telepathy clients @<:@default=autodetect@:>@])],
223 [test "$withval" = "yes" || telepathy="no"],
225 if test "$telepathy" != "no"; then
226 PKG_CHECK_MODULES(TELEPATHY, [telepathy-glib],
231 dnl support for telepathy plugin
232 AM_CONDITIONAL(SIPE_INCLUDE_TELEPATHY, test "$telepathy" != "no")
233 dnl NOTHING IMPLEMENTED YET!!!
234 dnl if test "$telepathy" != "no"; then
238 AS_IF([test "$purple" = "no" -a "$telepathy" = "no"],
239 [AC_ERROR(at least one plugin must be selected
241 If you didn't use a --without option then please check that you have
242 the headers for the packages "purple" or "telepathy-glib" installed.
247 AC_MSG_CHECKING([locale_CPPFLAGS])
248 LOCALE_CPPFLAGS='-DLOCALEDIR=\"$(prefix)/$(DATADIRNAME)/locale\"'
249 AC_SUBST([LOCALE_CPPFLAGS])
250 AC_MSG_RESULT([$LOCALE_CPPFLAGS])
252 AC_SUBST(GETTEXT_PACKAGE, "${PACKAGE_NAME}")
257 dnl substitutions and generated files
258 AC_CONFIG_HEADERS([config.h])
271 src/telepathy/Makefile
277 dnl additional info for the user
279 if test "$purple" != "no" ; then
280 echo "Compiling libpurple plugin"
281 echo "PURPLE_CFLAGS : $PURPLE_CFLAGS"
282 echo "PURPLE_LIBS : $PURPLE_LIBS"
284 echo "Skipping libpurple plugin"
288 if test "$telepathy" != "no" ; then
289 echo "Compiling telepathy plugin"
291 echo "NOTHING IMPLEMENTED YET!!!"
293 echo "TELEPATHY_CFLAGS: $TELEPATHY_CFLAGS"
294 echo "TELEPATHY_LIBS : $TELEPATHY_LIBS"
296 echo "Skipping telepathy plugin"
298 if test "$kerberos" != "no" ; then
300 echo "Compiling with kerberos 5 support"
301 echo "KRB5_CFLAGS : $KRB5_CFLAGS"
302 echo "KRB5_LDFLAGS : $KRB5_LDFLAGS"
303 echo "KRB5_LIBS : $KRB5_LIBS"
306 if test "$enable_debug" != "no"; then
308 echo "Compiling with debugging enabled"
309 echo "DEBUG_CFLAGS : $DEBUG_CFLAGS"
312 if test -n "${QUALITY_CFLAGS}"; then
314 echo "Compiling with compiler checks enabled"
315 echo "QUALITY_CFLAGS : $QUALITY_CFLAGS"
319 echo "configure complete, now run 'make'"