1 dnl Process this file with autoconf to produce a configure script.
3 AM_CONFIG_HEADER(config.h)
4 AM_INIT_AUTOMAKE([gaim], [0.53])
6 AC_PATH_PROG(sedpath, sed)
8 dnl Checks for programs.
12 LIBTOOL="$LIBTOOL --silent"
16 ALL_LINGUAS="de es fr ko ru zh_CN pl nl sv fi sk"
22 dnl Checks for header files.
25 AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h locale.h signal.h)
27 dnl Checks for typedefs, structures, and compiler characteristics.
31 dnl Checks for library functions.
34 AC_CHECK_FUNCS(socket strdup strstr atexit getaddrinfo)
36 dnl Checks for getopt in standard library
37 AC_CHECK_FUNCS(getopt_long , , [LIBOBJS="$LIBOBJS getopt.o getopt1.o"] )
40 dnl Check for inet_aton
41 AC_CHECK_FUNC(inet_aton, , [AC_CHECK_LIB(resolv, inet_aton, ,
42 [AC_ERROR(inet_aton not found)])])
44 dnl This is a bad, bad hack. I am a bad, bad man.
45 CFLAGS="$CFLAGS -I/usr/local/include -I/opt/include -I\$(top_srcdir)"
47 AC_ARG_ENABLE(distrib,,,enable_distrib=no)
48 AM_CONDITIONAL(DISTRIB, test "x$enable_distrib" = "xyes")
49 AC_ARG_ENABLE(multi, [ --disable-multi disable multiple connections],,enable_multi=yes)
50 AC_ARG_ENABLE(prpls, [ --disable-prpls don't build dynamic protocol plugins],,enable_prpls=yes)
51 AC_ARG_WITH(static-prpls, [ --with-static-prpls link in certain protocols statically],[STATIC_PRPLS=`echo $withval | $sedpath 's/,/ /g'`],STATIC_PRPLS="oscar toc")
52 if test "x$STATIC_PRPLS" = "xall" ; then
53 STATIC_PRPLS="gg icq irc jabber msn napster oscar toc yahoo zephyr"
55 AC_SUBST(STATIC_PRPLS)
59 for i in $STATIC_PRPLS ; do
60 STATIC_LINK_LIBS="$STATIC_LINK_LIBS protocols/$i/lib$i.a"
61 extern_init="$extern_init extern void ${i}_init(struct prpl *);"
62 load_proto="$load_proto load_protocol(${i}_init, sizeof(struct prpl));"
65 icq) static_icq=yes ;;
66 irc) static_irc=yes ;;
67 jabber) static_jabber=yes ;;
68 msn) static_msn=yes ;;
69 napster) static_napster=yes ;;
70 oscar) static_oscar=yes ;;
71 toc) static_toc=yes ;;
72 yahoo) static_yahoo=yes ;;
73 zephyr) static_zephyr=yes ;;
74 *) echo "Invalid static protocol $i!!" ; exit ;;
77 AM_CONDITIONAL(STATIC_GG, test "x$static_gg" = "xyes")
78 AM_CONDITIONAL(STATIC_ICQ, test "x$static_icq" = "xyes")
79 AM_CONDITIONAL(STATIC_IRC, test "x$static_irc" = "xyes")
80 AM_CONDITIONAL(STATIC_JABBER, test "x$static_jabber" = "xyes")
81 AM_CONDITIONAL(STATIC_MSN, test "x$static_msn" = "xyes")
82 AM_CONDITIONAL(STATIC_NAPSTER, test "x$static_napster" = "xyes")
83 AM_CONDITIONAL(STATIC_OSCAR, test "x$static_oscar" = "xyes")
84 AM_CONDITIONAL(STATIC_TOC, test "x$static_toc" = "xyes")
85 AM_CONDITIONAL(STATIC_YAHOO, test "x$static_yahoo" = "xyes")
86 AM_CONDITIONAL(STATIC_ZEPHYR, test "x$static_zephyr" = "xyes")
87 AC_SUBST(STATIC_LINK_LIBS)
88 AC_DEFINE_UNQUOTED(STATIC_PROTO_INIT, $extern_init void static_proto_init() { $load_proto })
90 AC_ARG_ENABLE(gtk2, [ --enable-gtk2 compile using GTK 2 (BROKEN)],,enable_gtk2=no)
91 AC_ARG_ENABLE(gnome, [ --disable-gnome compile without Gnome bits],,enable_gnome=yes)
92 AC_ARG_ENABLE(pixbuf, [ --disable-pixbuf compile without GdkPixbuf],,enable_pixbuf=yes)
93 AC_ARG_ENABLE(panel, [ --enable-panel compile as a GNOME applet],,enable_panel=$enable_distrib)
95 AM_CONDITIONAL(GNOMEAPPLET, test "x$enable_panel" = "xyes")
96 AC_ARG_ENABLE(esd, [ --disable-esd Turn off ESD (default=auto)],,enable_esd=yes)
97 AC_ARG_ENABLE(nas, [ --enable-nas Enable NAS (Network Audio System) support],,enable_nas=no)
98 AC_ARG_ENABLE(artsc, [ --disable-artsc Turn off ArtsC (default=auto)],,enable_artsc=yes)
100 AC_ARG_ENABLE(plugins, [ --disable-plugins compile without plugin support],,enable_plugins=yes)
101 AC_ARG_ENABLE(perl, [ --disable-perl compile without perl scripting],,enable_perl=yes)
103 AC_ARG_ENABLE(debug, [ --enable-debug compile with debugging support],,enable_debug=no)
104 AC_ARG_ENABLE(screensaver, [ --disable-screensaver compile without X screensaver extension],,enable_xss=yes)
105 AC_ARG_WITH(krb4, [ --with-krb4=PREFIX Compile Zephyr plugin with Kerberos 4 support],kerberos="$withval",kerberos="no")
107 if test "$enable_debug" = yes ; then
108 CFLAGS="$CFLAGS -Wall -g3"
112 if test "x$enable_gtk2" = "xyes" ; then
113 dnl AM_PATH_GTK_2_0(1.3.10,[
116 dnl CFLAGS="$CFLAGS -DGTK_ENABLE_BROKEN"
117 dnl UI_LIBS="$UI_LIBS $GTK_LIBS"
118 dnl ],enable_gtk2=no)
120 AC_PATH_PROG(pkgcfg, pkg-config)
121 if test "x$pkgcfg" = "x" ; then
124 GTK_VER=`$pkgcfg gtk+-2.0 --modversion 2>/dev/null`
125 if test "x$GTK_VER" = "x" ; then
128 GTK_CFLAGS=`$pkgcfg gtk+-2.0 --cflags`
129 CFLAGS="$CFLAGS -DGTK_ENABLE_BROKEN"
130 GTK_LIBS=`$pkgcfg gtk+-2.0 --libs`
131 UI_LIBS="$UI_LIBS $GTK_LIBS"
138 if test "x$enable_gnome" = "xyes" ; then
139 if test "x$enable_panel" = "xyes" ; then
142 CFLAGS="$CFLAGS $GNOME_INCLUDEDIR"
143 AC_DEFINE(USE_APPLET)
145 UI_LIBS="$UI_LIBS $GTK_LIBS $GNOME_LIBDIR $GNOME_APPLETS_LIBS $GNOMEUI_LIBS"
146 AC_PATH_PROG(gaimpath, gaim_applet)
148 AC_PATH_PROG(gnomepath, gnome-config)
149 AC_MSG_CHECKING(for Gnome compile flags)
150 GNOME_CFLAGS=`$gnomepath gnomeui --cflags 2>/dev/null`
151 if test "x$GNOME_CFLAGS" = "x" ; then
153 AC_MSG_RESULT([Gnome not found, building without it.])
155 GNOME_VER=`$gnomepath --version |$sedpath 's/gnome-libs //' 2>/dev/null`
156 GNOME_MAJOR=`echo $GNOME_VER |$sedpath 's/\([[0-9]*]*\).\([[0-9]*]*\).\([[0-9]*]*\)/\1/' 2>/dev/null`
157 if test "x$GNOME_MAJOR" = "x0" ; then
159 AC_MSG_RESULT([old Gnome found, building without it.])
162 CFLAGS="$CFLAGS $GNOME_CFLAGS"
163 UI_LIBS="$UI_LIBS `$gnomepath gnomeui --libs 2>/dev/null`"
165 GNOME_CONFIG="$gnomepath"
166 AC_SUBST(GNOME_CONFIG)
167 AC_PATH_PROG(gaimpath, gaim)
173 if test "x$enable_gnome" != "xyes" -a "x$enable_gtk2" != "xyes" ; then
174 AM_PATH_GLIB(1.2.5,,AC_MSG_ERROR([
175 *** GLib is required to build Gaim; please make sure you have the GLib
176 *** development headers installed. The latest version of GLib is
177 *** always available at http://www.gtk.org/.]))
178 AM_PATH_GTK(1.2.5,,AC_MSG_ERROR([
179 *** GTK+ is required to build Gaim; please make sure you have the GTK+
180 *** development headers installed. The latest version of GTK+ is
181 *** always available at http://www.gtk.org/.]))
182 UI_LIBS="$UI_LIBS $GTK_LIBS"
183 AC_PATH_PROG(gaimpath, gaim)
185 CFLAGS="$CFLAGS $GTK_CFLAGS"
187 dnl if test "x$enable_panel" = "xyes" ; then
188 dnl Things moved with the new versoin of Orbit. Thanks for
189 dnl telling me, Dan. This should fix them.
191 dnl The gnome-config script should pick this up and affect GNOME_ variables
192 dnl correctly. Thus, this check is not needed; if it fails, it is because of
193 dnl a broken installation or that your appletsConf.sh file is not updated
194 dnl for the new orbit installation. Gaim shouldn't need to do this.
196 dnl CFLAGS="$CFLAGS $ORBIT_CFLAGS"
200 if test "x$enable_pixbuf" = "xyes" ; then
201 AC_PATH_PROG(pixbufcfg, gdk-pixbuf-config)
202 if test "x$pixbufcfg" != "x" ; then
203 GDK_PIXBUF_CFLAGS=`$pixbufcfg --cflags`
204 GDK_PIXBUF_LIBS=`$pixbufcfg --libs`
205 GDK_PIXBUF_CONFIG="$pixbufcfg"
206 AC_SUBST(GDK_PIXBUF_CONFIG)
207 AC_SUBST(GDK_PIXBUF_CFLAGS)
208 AC_SUBST(GDK_PIXBUF_LIBS)
209 CFLAGS="$CFLAGS $GDK_PIXBUF_CFLAGS"
210 UI_LIBS="$UI_LIBS $GDK_PIXBUF_LIBS"
211 dnl We should be doing checks to see that the header files and functions exist. eh.
212 AC_DEFINE(USE_PIXBUF)
218 dnl Check for XScreenSaver
219 if test "x$enable_xss" = "xyes" ; then
221 LIBS="$LIBS $UI_LIBS"
224 AC_CHECK_LIB(Xext, XScreenSaverRegister,[XSS_LIBS=""],[],[-lX11 -lXext -lm])
225 AC_CHECK_LIB(Xss, XScreenSaverRegister,[XSS_LIBS="-lXss"],[],[-lX11 -lXext -lm])
226 if test \! "$XSS_LIBS" = "no"; then
228 #include <X11/extensions/scrnsaver.h>
229 ],[],[enable_xss=no],[
230 AC_DEFINE(USE_SCREENSAVER)
245 dnl This was taken straight from X-Chat.
246 dnl X-Chat is the greatest application ever, not only
247 dnl because it's a rocking IRC client but also because
248 dnl it's very easy to learn from.
249 if test "$enable_perl" = yes ; then
250 AC_PATH_PROG(perlpath, perl)
251 AC_MSG_CHECKING(for Perl compile flags)
252 PERL_CFLAGS=`$perlpath -MExtUtils::Embed -e ccopts 2>/dev/null`
253 if test "_$PERL_CFLAGS" = _ ; then
254 AC_MSG_RESULT([not found, building without perl.])
257 PERL_LIBS=`$perlpath -MExtUtils::Embed -e ldopts 2>/dev/null |$sedpath 's/-lgdbm //'`
258 PERL_LIBS=`echo $PERL_LIBS |$sedpath 's/-ldb //'`
259 PERL_LIBS=`echo $PERL_LIBS |$sedpath 's/-lndbm //'`
260 if test "$system" = "Linux"; then
261 PERL_LIBS=`echo $PERL_LIBS |$sedpath 's/-lnsl //'`
262 PERL_LIBS=`echo $PERL_LIBS |$sedpath 's/-lposix //'`
264 PERL_LIBS=`echo $PERL_LIBS |$sedpath 's/-lc //'`
266 AC_SUBST(PERL_CFLAGS)
269 AC_CHECK_FUNCS(Perl_eval_pv)
273 if test "$enable_nas" = yes ; then
275 SOUND_LIBS="-laudio -lXt"
277 if test "$enable_esd" = yes ; then
279 if test "$no_esd" != yes ; then
281 CFLAGS="$CFLAGS $ESD_CFLAGS"
282 AC_TRY_COMPILE(,[#include <esd.h>],
285 SOUND_LIBS="$SOUND_LIBS $ESD_LIBS"
294 if test "x$enable_artsc" = "xyes"; then
296 if test "x$no_artsc" != "xyes" ; then
298 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
299 AC_TRY_COMPILE(,[#include <artsc.h>],
301 AC_DEFINE(ARTSC_SOUND)
302 SOUND_LIBS="$SOUND_LIBS $ARTSC_LIBS"
313 if test "$ac_cv_cygwin" = yes ; then
314 LDADD="$LDADD -static"
315 CFLAGS="$CFLAGS -Wall -g"
323 if test "x$enable_multi" != "xyes" ; then
328 if test "x$enable_plugins" = "xyes" ; then
329 AC_DEFINE(GAIM_PLUGINS)
330 AM_CONDITIONAL(PLUGINS, test "x$enable_plugins" = "xyes")
336 if test "x$enable_prpls" = "xyes" ; then
337 AM_CONDITIONAL(PRPLS, test "x$enable_plugins" = "xyes")
342 dnl checks for icqlib
343 AC_CHECK_HEADERS(asm/byteorder.h byteswap.h endian.h machine/endian.h arpa/nameser_compat.h)
344 AC_CHECK_FUNCS(bswap_32 bswap_16)
347 dnl checks for jabber
348 dnl AC_CHECK_SIZEOF(short)
349 AC_CHECK_FUNCS(snprintf connect)
350 AC_CHECK_LIB(nsl, gethostent)
352 dnl checks for zephyr
353 AC_DEFINE(ZEPHYR_INT32, long)
354 AC_SUBST(KRB4_CFLAGS)
355 AC_SUBST(KRB4_LDFLAGS)
357 if test "$kerberos" != "no" ; then
358 if test "$kerberos" != "yes" ; then
359 KRB4_CFLAGS="-I${kerberos}/include"
360 if test -d "$kerberos/include/kerberosIV" ; then
361 KRB4_CFLAGS="$KRB4_CFLAGS -I${kerberos}/include/kerberosIV"
363 KRB4_LDFLAGS="-L${kerberos}/lib"
364 elif test -d /usr/local/include/kerberosIV ; then
365 KRB4_CFLAGS="-I/usr/local/include/kerberosIV"
366 elif test -d /usr/include/kerberosIV ; then
367 KRB4_CFLAGS="-I/usr/include/kerberosIV"
369 AC_DEFINE(ZEPHYR_USES_KERBEROS)
371 orig_LDFLAGS="$LDFLAGS"
372 LDFLAGS="$LDFLAGS $KRB4_LDFLAGS"
373 AC_CHECK_LIB(krb4, krb_rd_req,
374 [KRB4_LIBS="-lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err"],
375 [AC_CHECK_LIB(krb, krb_rd_req,
376 [KRB4_LIBS="-lkrb -ldes"],
377 [AC_ERROR(Kerberos 4 libraries not found)],
379 -ldes425 -lkrb5 -lk5crypto -lcom_err)
381 LIBS="$LIBS $KRB4_LIBS"
382 AC_CHECK_FUNCS(krb_set_key krb_rd_req krb_get_lrealm)
383 AC_CHECK_FUNCS(krb_get_err_text krb_log)
385 LDFLAGS="$orig_LDFLAGS"
387 AC_CHECK_FUNCS(gethostid lrand48)
388 AC_CHECK_FUNCS(memcpy memmove random strchr strerror vprintf)
389 AC_CHECK_HEADERS(malloc.h paths.h sgtty.h stdarg.h sys/cdefs.h)
390 AC_CHECK_HEADERS(sys/file.h sys/filio.h sys/ioctl.h sys/msgbuf.h)
391 AC_CHECK_HEADERS(sys/select.h sys/uio.h sys/utsname.h sys/wait.h)
392 AC_CHECK_HEADERS(termios.h)
403 src/protocols/Makefile
404 src/protocols/gg/Makefile
405 src/protocols/icq/Makefile
406 src/protocols/irc/Makefile
407 src/protocols/jabber/Makefile
408 src/protocols/msn/Makefile
409 src/protocols/napster/Makefile
410 src/protocols/oscar/Makefile
411 src/protocols/toc/Makefile
412 src/protocols/yahoo/Makefile
413 src/protocols/zephyr/Makefile
418 echo $PACKAGE $VERSION
421 echo Allow Multiple Connections.... : $enable_multi
422 echo Build Protocol Plugins........ : $enable_prpls
423 echo Protocols to link statically.. : $STATIC_PRPLS
425 if test "x$enable_panel" = "xyes" ; then
426 echo UI Library.................... : GNOME Panel
427 elif test "x$enable_gnome" = "xyes" ; then
428 echo UI Library.................... : GNOME App
429 elif test "x$enable_gtk2" = "xyes" ; then
430 echo UI Library.................... : GTK+ 2.0
432 echo UI Library.................... : GTK+ 1.2
434 if test "x$enable_gtk2" = "xyes" ; then
435 echo Use GdkPixbuf................. : yes
437 echo Use GdkPixbuf................. : $use_pixbuf
440 echo Build with Plugin support..... : $enable_plugins
441 echo Build with Perl support....... : $enable_perl
443 echo Use XScreenSaver Extension.... : $enable_xss
445 echo Build with ESD................ : $enable_esd
446 echo Build with NAS................ : $enable_nas
447 echo Build with ArtsC.............. : $enable_artsc
449 echo Print debugging messages...... : $enable_debug
451 eval eval echo Gaim will be installed in $bindir.
452 if test "x$gaimpath" != "x" ; then
453 echo Warning: You have an old copy of gaim at $gaimpath.
456 echo configure complete, now type \'make\'