1 dnl Process this file with autoconf to produce a configure script.
3 AM_CONFIG_HEADER(config.h)
4 AM_INIT_AUTOMAKE([gaim], [0.60cvs])
8 AC_PATH_PROG(sedpath, sed)
10 dnl Checks for programs.
14 LIBTOOL="$LIBTOOL --silent"
18 ALL_LINGUAS="bg cs da de es fi fr hu it ja ko nl pl ro ru sk sv zh_CN zh_TW"
19 AM_GNU_GETTEXT_VERSION(0.10.40)
25 dnl Checks for header files.
28 AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h locale.h signal.h)
30 dnl Checks for typedefs, structures, and compiler characteristics.
34 dnl Checks for library functions.
37 AC_CHECK_FUNCS(socket strdup strstr atexit getaddrinfo)
39 dnl Checks for getopt in standard library
40 AC_CHECK_FUNCS(getopt_long , , [LIBOBJS="$LIBOBJS getopt.o getopt1.o"] )
43 dnl Check for inet_aton
44 AC_CHECK_FUNC(inet_aton, , [AC_CHECK_LIB(resolv, inet_aton, ,
45 [AC_ERROR(inet_aton not found)])])
47 dnl Check for socklen_t (in Unix98)
48 AC_MSG_CHECKING(for socklen_t)
50 #include <sys/types.h>
51 #include <sys/socket.h>
58 #include <sys/types.h>
59 #include <sys/socket.h>
60 int accept(int, struct sockaddr *, size_t *);
63 AC_DEFINE(socklen_t, size_t, [socklen_t size])
66 AC_DEFINE(socklen_t, int, [socklen_t size])
70 dnl This is a bad, bad hack. I am a bad, bad man.
71 CFLAGS="$CFLAGS -I/usr/local/include -I/opt/include -I\$(top_srcdir)"
73 AC_ARG_ENABLE(distrib,,,enable_distrib=no)
74 AM_CONDITIONAL(DISTRIB, test "x$enable_distrib" = "xyes")
75 AC_ARG_ENABLE(multi, [ --disable-multi disable multiple connections],,enable_multi=yes)
76 AC_ARG_ENABLE(prpls, [ --disable-prpls don't build dynamic protocol plugins],,enable_prpls=yes)
77 AC_ARG_WITH(static-prpls, [ --with-static-prpls link in certain protocols statically],[STATIC_PRPLS=`echo $withval | $sedpath 's/,/ /g'`],STATIC_PRPLS="")
78 if test "x$STATIC_PRPLS" = "xall" ; then
79 STATIC_PRPLS="gg irc jabber msn napster oscar toc yahoo zephyr"
81 AC_SUBST(STATIC_PRPLS)
85 for i in $STATIC_PRPLS ; do
86 STATIC_LINK_LIBS="$STATIC_LINK_LIBS protocols/$i/lib$i.a"
87 extern_init="$extern_init extern void ${i}_init(struct prpl *);"
88 load_proto="$load_proto load_protocol(${i}_init, sizeof(struct prpl));"
91 irc) static_irc=yes ;;
92 jabber) static_jabber=yes ;;
93 msn) static_msn=yes ;;
94 napster) static_napster=yes ;;
95 oscar) static_oscar=yes ;;
96 toc) static_toc=yes ;;
97 yahoo) static_yahoo=yes ;;
98 zephyr) static_zephyr=yes ;;
99 *) echo "Invalid static protocol $i!!" ; exit ;;
102 AM_CONDITIONAL(STATIC_GG, test "x$static_gg" = "xyes")
103 AM_CONDITIONAL(STATIC_IRC, test "x$static_irc" = "xyes")
104 AM_CONDITIONAL(STATIC_JABBER, test "x$static_jabber" = "xyes")
105 AM_CONDITIONAL(STATIC_MSN, test "x$static_msn" = "xyes")
106 AM_CONDITIONAL(STATIC_NAPSTER, test "x$static_napster" = "xyes")
107 AM_CONDITIONAL(STATIC_OSCAR, test "x$static_oscar" = "xyes")
108 AM_CONDITIONAL(STATIC_TOC, test "x$static_toc" = "xyes")
109 AM_CONDITIONAL(STATIC_YAHOO, test "x$static_yahoo" = "xyes")
110 AM_CONDITIONAL(STATIC_ZEPHYR, test "x$static_zephyr" = "xyes")
111 AC_SUBST(STATIC_LINK_LIBS)
112 AC_DEFINE_UNQUOTED(STATIC_PROTO_INIT, $extern_init void static_proto_init() { $load_proto },
113 [Loads static protocol plugin module initialization functions.])
115 AC_ARG_ENABLE(esd, [ --disable-esd Turn off ESD (default=auto)],,enable_esd=yes)
116 AC_ARG_ENABLE(nas, [ --enable-nas Enable NAS (Network Audio System) support],,enable_nas=no)
117 AC_ARG_ENABLE(artsc, [ --disable-artsc Turn off ArtsC (default=auto)],,enable_artsc=yes)
119 AC_ARG_ENABLE(plugins, [ --disable-plugins compile without plugin support],,enable_plugins=yes)
120 AC_ARG_ENABLE(perl, [ --disable-perl compile without perl scripting],,enable_perl=yes)
122 AC_ARG_ENABLE(debug, [ --enable-debug compile with debugging support],,enable_debug=no)
123 AC_ARG_ENABLE(screensaver, [ --disable-screensaver compile without X screensaver extension],,enable_xss=yes)
124 AC_ARG_WITH(krb4, [ --with-krb4=PREFIX Compile Zephyr plugin with Kerberos 4 support],kerberos="$withval",kerberos="no")
126 if test "$enable_debug" = yes ; then
127 CFLAGS="$CFLAGS -Wall -g3"
128 AC_DEFINE(DEBUG, 1, [Define if debugging is enabled.])
132 AM_PATH_GLIB_2_0(2.0.0,,AC_MSG_ERROR([
133 *** GLib 2.0 is required to build Gaim; please make sure you have the GLib
134 *** development headers installed. The latest version of GLib is
135 *** always available at http://www.gtk.org/.]))
136 AM_PATH_GTK_2_0(2.0.0,,AC_MSG_ERROR([
137 *** GTK+ 2.0 is required to build Gaim; please make sure you have the GTK+
138 *** development headers installed. The latest version of GTK+ is
139 *** always available at http://www.gtk.org/.]))
141 AC_PATH_PROG(gaimpath, gaim)
142 CFLAGS="$CFLAGS $GTK_CFLAGS -DGTK_ENABLE_BROKEN"
144 dnl Check for XScreenSaver
145 if test "x$enable_xss" = "xyes" ; then
148 LIBS="$LIBS $GTK_LIBS -L$x_libraries"
151 AC_CHECK_LIB(Xext, XScreenSaverRegister,[XSS_LIBS="-L$x_libraries"],[],[-lX11 -lXext -lm])
152 AC_CHECK_LIB(Xss, XScreenSaverRegister,[XSS_LIBS="-L$x_libraries -lXss"],[],[-lX11 -lXext -lm])
153 if test \! "$XSS_LIBS" = "no"; then
155 #include <X11/extensions/scrnsaver.h>
156 ],[],[enable_xss=no],[
157 AC_DEFINE(USE_SCREENSAVER, 1, [Define if we're using XScreenSaver.])
170 AC_DEFUN(GC_TM_GMTOFF,
171 [AC_REQUIRE([AC_STRUCT_TM])dnl
172 AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
173 [AC_TRY_COMPILE([#include <sys/types.h>
174 #include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_gmtoff;],
175 ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no)])
176 if test "$ac_cv_struct_tm_gmtoff" = yes; then
177 AC_DEFINE(HAVE_TM_GMTOFF, 1, [tm_gmtoff is available.])
184 dnl This was taken straight from X-Chat.
185 dnl X-Chat is the greatest application ever, not only
186 dnl because it's a rocking IRC client but also because
187 dnl it's very easy to learn from.
188 if test "$enable_perl" = yes ; then
189 AC_PATH_PROG(perlpath, perl)
190 AC_MSG_CHECKING(for Perl compile flags)
191 PERL_CFLAGS=`$perlpath -MExtUtils::Embed -e ccopts 2>/dev/null`
192 if test "_$PERL_CFLAGS" = _ ; then
193 AC_MSG_RESULT([not found, building without perl.])
196 PERL_LIBS=`$perlpath -MExtUtils::Embed -e ldopts 2>/dev/null |$sedpath 's/-lgdbm //'`
197 PERL_LIBS=`echo $PERL_LIBS |$sedpath 's/-ldb //'`
198 PERL_LIBS=`echo $PERL_LIBS |$sedpath 's/-lndbm //'`
199 if test "$system" = "Linux"; then
200 PERL_LIBS=`echo $PERL_LIBS |$sedpath 's/-lnsl //'`
201 PERL_LIBS=`echo $PERL_LIBS |$sedpath 's/-lposix //'`
203 PERL_LIBS=`echo $PERL_LIBS |$sedpath 's/-lc //'`
205 AC_SUBST(PERL_CFLAGS)
207 AC_DEFINE(USE_PERL, 1, [Define if Perl is enabled.])
208 AC_CHECK_FUNCS(Perl_eval_pv)
212 if test "$enable_nas" = yes ; then
213 AC_DEFINE(NAS_SOUND, 1, [Define if we have NAS sound support.])
214 SOUND_LIBS="-laudio -lXt"
216 if test "$enable_esd" = yes ; then
218 if test "$no_esd" != yes ; then
220 CFLAGS="$CFLAGS $ESD_CFLAGS"
221 AC_TRY_COMPILE(,[#include <esd.h>],
223 AC_DEFINE(ESD_SOUND, 1, [Define if we have ESD sound support.])
224 SOUND_LIBS="$SOUND_LIBS $ESD_LIBS"
233 if test "x$enable_artsc" = "xyes"; then
235 if test "x$no_artsc" != "xyes" ; then
237 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
238 AC_TRY_COMPILE(,[#include <artsc.h>],
240 AC_DEFINE(ARTSC_SOUND, 1, [Define if we have artsc sound support.])
241 SOUND_LIBS="$SOUND_LIBS $ARTSC_LIBS"
252 if test "$ac_cv_cygwin" = yes ; then
253 LDADD="$LDADD -static"
254 CFLAGS="$CFLAGS -Wall -g"
255 AC_DEFINE(DEBUG, 1, [Define if debugging is enabled.])
262 if test "x$enable_multi" != "xyes" ; then
263 AC_DEFINE(NO_MULTI, 1, [Define if multiple connections is disabled.])
267 if test "x$enable_plugins" = "xyes" ; then
268 AC_DEFINE(GAIM_PLUGINS, 1, [Define if plugins are enabled.])
269 AM_CONDITIONAL(PLUGINS, test "x$enable_plugins" = "xyes")
271 AM_CONDITIONAL(PLUGINS, false)
276 if test "x$enable_prpls" = "xyes" ; then
277 AM_CONDITIONAL(PRPLS, test "x$enable_plugins" = "xyes")
279 AM_CONDITIONAL(PRPLS, false)
283 dnl checks for icqlib
284 AC_CHECK_HEADERS(asm/byteorder.h byteswap.h endian.h machine/endian.h arpa/nameser_compat.h)
285 AC_CHECK_FUNCS(bswap_32 bswap_16)
288 dnl checks for jabber
289 dnl AC_CHECK_SIZEOF(short)
290 AC_CHECK_FUNCS(snprintf connect)
291 AC_CHECK_LIB(nsl, gethostent)
293 dnl checks for zephyr
294 AC_DEFINE(ZEPHYR_INT32, long, [Size of an int32.])
295 AC_SUBST(KRB4_CFLAGS)
296 AC_SUBST(KRB4_LDFLAGS)
298 if test "$kerberos" != "no" ; then
299 if test "$kerberos" != "yes" ; then
300 KRB4_CFLAGS="-I${kerberos}/include"
301 if test -d "$kerberos/include/kerberosIV" ; then
302 KRB4_CFLAGS="$KRB4_CFLAGS -I${kerberos}/include/kerberosIV"
304 KRB4_LDFLAGS="-L${kerberos}/lib"
305 elif test -d /usr/local/include/kerberosIV ; then
306 KRB4_CFLAGS="-I/usr/local/include/kerberosIV"
307 elif test -d /usr/include/kerberosIV ; then
308 KRB4_CFLAGS="-I/usr/include/kerberosIV"
310 AC_DEFINE(ZEPHYR_USES_KERBEROS, 1, [Define if kerberos should be used in Zephyr.])
312 orig_LDFLAGS="$LDFLAGS"
313 LDFLAGS="$LDFLAGS $KRB4_LDFLAGS"
314 AC_CHECK_LIB(krb4, krb_rd_req,
315 [KRB4_LIBS="-lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err"],
316 [AC_CHECK_LIB(krb, krb_rd_req,
317 [KRB4_LIBS="-lkrb -ldes"],
318 [AC_ERROR(Kerberos 4 libraries not found)],
320 -ldes425 -lkrb5 -lk5crypto -lcom_err)
322 LIBS="$LIBS $KRB4_LIBS"
323 AC_CHECK_FUNCS(krb_set_key krb_rd_req krb_get_lrealm)
324 AC_CHECK_FUNCS(krb_get_err_text krb_log)
326 LDFLAGS="$orig_LDFLAGS"
328 AC_CHECK_FUNCS(gethostid lrand48)
329 AC_CHECK_FUNCS(memcpy memmove random strchr strerror vprintf)
330 AC_CHECK_HEADERS(malloc.h paths.h sgtty.h stdarg.h sys/cdefs.h)
331 AC_CHECK_HEADERS(sys/file.h sys/filio.h sys/ioctl.h sys/msgbuf.h)
332 AC_CHECK_HEADERS(sys/select.h sys/uio.h sys/utsname.h sys/wait.h)
333 AC_CHECK_HEADERS(termios.h)
334 AC_VAR_TIMEZONE_EXTERNALS
341 pixmaps/protocols/Makefile
342 pixmaps/protocols/msn/Makefile
343 pixmaps/protocols/yahoo/Makefile
344 pixmaps/protocols/oscar/Makefile
345 pixmaps/protocols/napster/Makefile
346 pixmaps/protocols/jabber/Makefile
347 pixmaps/protocols/irc/Makefile
348 pixmaps/protocols/icq/Makefile
349 pixmaps/protocols/gg/Makefile
351 plugins/docklet/Makefile
352 plugins/ticker/Makefile
356 src/protocols/Makefile
357 src/protocols/gg/Makefile
358 src/protocols/icq/Makefile
359 src/protocols/irc/Makefile
360 src/protocols/jabber/Makefile
361 src/protocols/msn/Makefile
362 src/protocols/napster/Makefile
363 src/protocols/oscar/Makefile
364 src/protocols/toc/Makefile
365 src/protocols/yahoo/Makefile
366 src/protocols/zephyr/Makefile
371 echo $PACKAGE $VERSION
374 echo Allow Multiple Connections.... : $enable_multi
375 echo Build Protocol Plugins........ : $enable_prpls
376 echo Protocols to link statically.. : $STATIC_PRPLS
378 echo UI Library.................... : GTK 2.0
380 echo Build with Plugin support..... : $enable_plugins
381 echo Build with Perl support....... : $enable_perl
383 echo Use XScreenSaver Extension.... : $enable_xss
385 echo Build with ESD................ : $enable_esd
386 echo Build with NAS................ : $enable_nas
387 echo Build with ArtsC.............. : $enable_artsc
389 echo Print debugging messages...... : $enable_debug
391 eval eval echo Gaim will be installed in $bindir.
392 if test "x$gaimpath" != "x" ; then
393 echo Warning: You have an old copy of gaim at $gaimpath.
396 echo configure complete, now type \'make\'