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 AS_IF([test "x${PACKAGE_URL}" = x],
25 [AC_MSG_NOTICE([set PACKAGE_URL for autoconf < 2.64])
26 AC_DEFINE(PACKAGE_URL, "SIPE_HOMEPAGE", [Define to the home page for this package.])
29 dnl set programming language
34 dnl setup shared library generation
35 LT_INIT([disable-static])
38 IT_PROG_INTLTOOL([0.35.0])
42 dnl checks for header files
43 AC_CHECK_HEADERS([sys/sockio.h])
45 dnl checks for library functions
48 dnl tell pkgconfig to look in the same prefix where we're installing this to,
49 dnl as that is likely where libpurple will be found if it is not in the default
51 PREFIX=$ac_default_prefix
52 AS_IF([test "x$prefix" != xNONE],
55 PKG_CONFIG_PATH="$PKG_CONFIG_PATH":"$PREFIX/lib/pkgconfig"
56 export PKG_CONFIG_PATH
60 [AS_HELP_STRING([--enable-debug],
61 [compile with debugging support [default=no]])],
65 AS_IF([test "x$enable_debug" = xyes],
66 [AC_DEFINE(DEBUG, 1, [Define if debugging is enabled.])])
67 AC_SUBST(DEBUG_CFLAGS)
69 dnl quality check mode
70 dnl For people who are interested in finding bugs and not hiding them
71 AC_ARG_ENABLE(quality-check,
72 [AS_HELP_STRING([--enable-quality-check],
73 [compile with compiler checks enabled [default=yes]])],
75 [enable_quality_check=yes])
77 AS_IF([test "x$enable_quality_check" = xyes],
78 [QUALITY_CFLAGS="$QUALITY_CFLAGS -Werror -Wall"
79 ac_save_CFLAGS=$CFLAGS
82 AC_MSG_CHECKING([if $CC supports -Wextra])
83 CFLAGS="$QUALITY_CFLAGS -Wextra"
87 QUALITY_CFLAGS="$QUALITY_CFLAGS -Wextra"],
91 dnl declaration-after-statement (ISO C90 behaviour, as on Windows & GCC < 3)
92 AC_MSG_CHECKING([if $CC supports -Werror=declaration-after-statement])
93 CFLAGS="$QUALITY_CFLAGS -Werror=declaration-after-statement"
97 QUALITY_CFLAGS="$QUALITY_CFLAGS -Werror=declaration-after-statement"],
100 CFLAGS=$ac_save_CFLAGS])
101 AC_SUBST(QUALITY_CFLAGS)
103 dnl Check for pkg-config before using it
106 dnl check for Kerberos 5 support
108 [AC_HELP_STRING([--with-krb5],
109 [compile with Kerberos 5 support @<:@default=check@:>@])],
110 [AS_IF([test "x$withval" = xyes], [with_krb5=check])],
113 AS_IF([test "x$with_krb5" = xno], [], dnl disabled by user
114 [test "x$with_krb5" = xcheck], dnl autodetect with krb5-config
115 [AC_MSG_CHECKING(if Kerberos 5 is available)
116 AS_IF([AC_RUN_LOG([krb5-config --version])],
117 [KRB5_CFLAGS=`krb5-config --cflags 2>/dev/null`
119 LIBS="$LIBS `krb5-config --libs gssapi 2>/dev/null`"],
122 [ dnl path specified by user
123 KRB5_CFLAGS="-I${with_krb5}/include"
124 KRB5_LDFLAGS="-L${with_krb5}/lib"
125 ac_save_LDFLAGS="$LDLAGS"
126 LDFLAGS="$LDFLAGS $KRB5_LDFLAGS"
127 AC_CHECK_LIB(krb5, krb5_rd_req, [],
128 [AC_CHECK_LIB(krb5, krb5_rd_req, [],
129 [AC_ERROR(Kerberos 5 libraries not found)])])
130 AC_CHECK_LIB(gssapi_krb5, gss_krb5_export_lucid_sec_context, [],
131 [AC_ERROR(GSSAPI Kerberos 5libraries not found)])
132 LDFLAGS="$ac_save_LDFLAGS"])
133 AM_CONDITIONAL(SIP_SEC_KRB5, test "x$with_krb5" != xno)
134 AC_SUBST(KRB5_CFLAGS)
135 AC_SUBST(KRB5_LDFLAGS)
138 PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.12.0])
141 dnl See also: https://bugzilla.gnome.org/show_bug.cgi?id=613653#c8
142 PKG_CHECK_MODULES(GMIME, [gmime-2.6 >= 2.5.2],
144 [PKG_CHECK_MODULES(GMIME, [gmime-2.4 >= 2.4.16],
148 AM_CONDITIONAL(SIPE_MIME_GMIME, [test x$ac_have_gmime = xyes])
149 AM_COND_IF(SIPE_MIME_GMIME,
150 [AC_DEFINE(HAVE_GMIME, 1, [Define if gmime should be used in sipe.])])
152 dnl check for libxml2
153 PKG_CHECK_MODULES(LIBXML2, [libxml-2.0])
155 dnl assumption check: sizof(uuid_t) must be 16 (see uuid.c)
156 AC_MSG_CHECKING([that sizeof(uuid_t) is 16])
157 ac_save_CFLAGS=$CFLAGS
158 CFLAGS="$GLIB_CFLAGS $QUALITY_CFLAGS"
159 dnl note the [[[ quoting: our code contains []!
166 /* Copied from uuid.c */
170 guint16 time_hi_and_version;
171 guint8 clock_seq_hi_and_reserved;
172 guint8 clock_seq_low;
176 [return(sizeof(uuid_t) == 16 ? 0 : 1);]),
177 [AC_MSG_RESULT(yes)],
178 [AC_MSG_RESULT(failed)
179 AC_ERROR(sizeof(uuid_t) is not 16
181 Please notify the SIPE developers and provide the following information:
187 CFLAGS=$ac_save_CFLAGS
189 dnl check for libpurple
191 AC_ARG_WITH([purple],
192 [AC_HELP_STRING([--with-purple],
193 [compile sipe plugin for libpurple clients @<:@default=autodetect@:>@])],
194 [test "$withval" = "yes" || purple="no"],
196 if test "$purple" != "no"; then
197 PKG_CHECK_MODULES(PURPLE, [purple >= 2.4.0],
202 dnl support for libpurple plugin
203 AM_CONDITIONAL(SIPE_INCLUDE_PURPLE, test "$purple" != "no")
204 if test "$purple" != "no"; then
206 dnl unfortunately PURPLE_MAJOR_VERSION is not exported by purple.m4
207 PURPLE_MAJOR_VERSION=`$PKG_CONFIG --modversion purple | cut -d. -f 1`
208 AC_SUBST(PURPLE_MAJOR_VERSION)
210 dnl let user now if he has a 32- and 64-bit header conflict...
211 AC_MSG_CHECKING([for 32- and 64-bit header conflicts])
212 ac_save_CFLAGS=$CFLAGS
213 CFLAGS="$PURPLE_CFLAGS $QUALITY_CFLAGS"
220 /* Compile some code that has caused trouble in the past */
221 void testfunc(unsigned long len)
223 PurpleCipherContext *rc4 = NULL;
224 purple_cipher_context_set_option(rc4, "key_len", GUINT_TO_POINTER(len));
228 [AC_MSG_RESULT(none)],
229 [AC_MSG_RESULT(failed)
230 AC_ERROR(conflicts found.
232 Check that you have the correct glib/libpurple headers installed for
233 your architecture or set PURPLE_CFLAGS to override the system defaults.
235 CFLAGS=$ac_save_CFLAGS
238 dnl check for telepathy
240 AC_ARG_WITH([telepathy],
241 [AC_HELP_STRING([--with-telepathy],
242 [compile sipe plugin for telepathy clients @<:@default=autodetect@:>@])],
243 [test "$withval" = "yes" || telepathy="no"],
245 if test "$telepathy" != "no"; then
246 PKG_CHECK_MODULES(TELEPATHY, [telepathy-glib],
251 dnl support for telepathy plugin
252 AM_CONDITIONAL(SIPE_INCLUDE_TELEPATHY, test "$telepathy" != "no")
253 if test "$telepathy" != "no"; then
254 AM_COND_IF(SIPE_MIME_GMIME, [],
255 [AC_ERROR(GMIME package is required for telepathy plugin)])
256 dnl NOTHING IMPLEMENTED YET!!!
260 AS_IF([test "x$purple" = xno -a "x$telepathy" = xno],
261 [AC_ERROR(at least one plugin must be selected
263 If you didn't use a --without option then please check that you have
264 the headers for the packages "purple" or "telepathy-glib" installed.
269 AC_MSG_CHECKING([locale_CPPFLAGS])
270 LOCALE_CPPFLAGS='-DLOCALEDIR=\"$(prefix)/$(DATADIRNAME)/locale\"'
271 AC_SUBST([LOCALE_CPPFLAGS])
272 AC_MSG_RESULT([$LOCALE_CPPFLAGS])
274 AC_SUBST(GETTEXT_PACKAGE, "${PACKAGE_NAME}")
279 dnl substitutions and generated files
280 AC_CONFIG_HEADERS([config.h])
289 pixmaps/scalable/Makefile
294 src/telepathy/Makefile
300 dnl additional info for the user
302 AS_IF([test "x$purple" = xno],
303 [AS_ECHO("Not building libpurple plugin")],
304 [AS_ECHO("Build libpurple plugin")
305 AS_ECHO("PURPLE_CFLAGS : $PURPLE_CFLAGS")
306 AS_ECHO("PURPLE_LIBS : $PURPLE_LIBS")])
308 AS_IF([test "x$telepathy" = xno],
309 [AS_ECHO("Not building telepathy plugin")],
310 [AS_ECHO("Build telepathy plugin")
312 AS_ECHO("NOTHING IMPLEMENTED YET!!!")
314 AS_ECHO("TELEPATHY_CFLAGS: $TELEPATHY_CFLAGS")
315 AS_ECHO("TELEPATHY_LIBS : $TELEPATHY_LIBS")])
317 AS_IF([test "x$with_krb5" = xno],
318 [AS_ECHO("Not building with Kerberos 5 support")],
319 [AS_ECHO("Build with Kerberos 5 support")
320 AS_ECHO("KRB5_CFLAGS : $KRB5_CFLAGS")
321 AS_ECHO("KRB5_LDFLAGS : $KRB5_LDFLAGS")])
323 AS_IF([test "x$enable_debug" = xno],
324 [AS_ECHO("Debugging not enabled")],
325 [AS_ECHO("Build with debugging enabled")
326 AS_ECHO("DEBUG_CFLAGS : $DEBUG_CFLAGS")])
328 AS_IF([test "x$QUALITY_CFLAGS" = x],
329 [AS_ECHO("Compiler checks disabled")],
330 [AS_ECHO("Build with compiler checks enabled")
331 AS_ECHO("QUALITY_CFLAGS : $QUALITY_CFLAGS")])
333 AS_ECHO("configure complete. Now run 'make'")