comparison configure.in @ 3174:e75b4df7a770

[gaim-migrate @ 3190] This is a dirty hack to attempt to maintain compatibility with autoconf 2.13 and 2.53. We'll eventually get tired of it and drop 2.13 altogether. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Fri, 26 Apr 2002 00:59:30 +0000
parents
children d1eb887ec630
comparison
equal deleted inserted replaced
3173:b51d69e79b8e 3174:e75b4df7a770
1 dnl Process this file with autoconf to produce a configure script.
2 AC_INIT(src/aim.c)
3 AM_CONFIG_HEADER(config.h)
4 AM_INIT_AUTOMAKE([gaim], [0.57])
5
6
7
8 AC_PATH_PROG(sedpath, sed)
9
10 dnl Checks for programs.
11 AC_PROG_CC
12 AC_DISABLE_STATIC
13 AM_PROG_LIBTOOL
14 LIBTOOL="$LIBTOOL --silent"
15 AC_PROG_INSTALL
16
17
18 ALL_LINGUAS="da de es fr ko ru zh_CN pl nl sv fi sk it ja"
19 AM_GNU_GETTEXT
20
21 AC_CYGWIN
22
23
24 dnl Checks for header files.
25 AC_HEADER_STDC
26 AC_HEADER_SYS_WAIT
27 AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h locale.h signal.h)
28
29 dnl Checks for typedefs, structures, and compiler characteristics.
30 AC_C_CONST
31 AC_STRUCT_TM
32
33 dnl Checks for library functions.
34 AC_TYPE_SIGNAL
35 AC_FUNC_STRFTIME
36 AC_CHECK_FUNCS(socket strdup strstr atexit getaddrinfo)
37
38 dnl Checks for getopt in standard library
39 AC_CHECK_FUNCS(getopt_long , , [LIBOBJS="$LIBOBJS getopt.o getopt1.o"] )
40 AC_SUBST(LIBOBJS)
41
42 dnl Check for inet_aton
43 AC_CHECK_FUNC(inet_aton, , [AC_CHECK_LIB(resolv, inet_aton, ,
44 [AC_ERROR(inet_aton not found)])])
45
46 dnl Check for socklen_t (in Unix98)
47 AC_MSG_CHECKING(for socklen_t)
48 AC_TRY_COMPILE([#include <sys/types.h>
49 #include <sys/socket.h>
50 socklen_t x;
51 ], [], [AC_MSG_RESULT(yes)], [
52 AC_TRY_COMPILE([#include <sys/types>
53 #include <sys/socket.h>
54 int accept(int, struct sockaddr *, size_t *);
55 ], [], [
56 AC_MSG_RESULT(size_t)
57 AC_DEFINE(socklen_t, size_t)]. [
58 AC_MSG_RESULT(int)
59 AC_DEFINE(socklen_t, int)])])
60
61 dnl This is a bad, bad hack. I am a bad, bad man.
62 CFLAGS="$CFLAGS -I/usr/local/include -I/opt/include -I\$(top_srcdir)"
63
64 AC_ARG_ENABLE(distrib,,,enable_distrib=no)
65 AM_CONDITIONAL(DISTRIB, test "x$enable_distrib" = "xyes")
66 AC_ARG_ENABLE(multi, [ --disable-multi disable multiple connections],,enable_multi=yes)
67 AC_ARG_ENABLE(prpls, [ --disable-prpls don't build dynamic protocol plugins],,enable_prpls=yes)
68 AC_ARG_WITH(static-prpls, [ --with-static-prpls link in certain protocols statically],[STATIC_PRPLS=`echo $withval | $sedpath 's/,/ /g'`],STATIC_PRPLS="oscar toc")
69 if test "x$STATIC_PRPLS" = "xall" ; then
70 STATIC_PRPLS="gg icq irc jabber msn napster oscar toc yahoo zephyr"
71 fi
72 AC_SUBST(STATIC_PRPLS)
73 STATIC_LINK_LIBS=
74 extern_init=
75 load_proto=
76 for i in $STATIC_PRPLS ; do
77 STATIC_LINK_LIBS="$STATIC_LINK_LIBS protocols/$i/lib$i.a"
78 extern_init="$extern_init extern void ${i}_init(struct prpl *);"
79 load_proto="$load_proto load_protocol(${i}_init, sizeof(struct prpl));"
80 case $i in
81 gg) static_gg=yes ;;
82 icq) static_icq=yes ;;
83 irc) static_irc=yes ;;
84 jabber) static_jabber=yes ;;
85 msn) static_msn=yes ;;
86 napster) static_napster=yes ;;
87 oscar) static_oscar=yes ;;
88 toc) static_toc=yes ;;
89 yahoo) static_yahoo=yes ;;
90 zephyr) static_zephyr=yes ;;
91 *) echo "Invalid static protocol $i!!" ; exit ;;
92 esac
93 done
94 AM_CONDITIONAL(STATIC_GG, test "x$static_gg" = "xyes")
95 AM_CONDITIONAL(STATIC_ICQ, test "x$static_icq" = "xyes")
96 AM_CONDITIONAL(STATIC_IRC, test "x$static_irc" = "xyes")
97 AM_CONDITIONAL(STATIC_JABBER, test "x$static_jabber" = "xyes")
98 AM_CONDITIONAL(STATIC_MSN, test "x$static_msn" = "xyes")
99 AM_CONDITIONAL(STATIC_NAPSTER, test "x$static_napster" = "xyes")
100 AM_CONDITIONAL(STATIC_OSCAR, test "x$static_oscar" = "xyes")
101 AM_CONDITIONAL(STATIC_TOC, test "x$static_toc" = "xyes")
102 AM_CONDITIONAL(STATIC_YAHOO, test "x$static_yahoo" = "xyes")
103 AM_CONDITIONAL(STATIC_ZEPHYR, test "x$static_zephyr" = "xyes")
104 AC_SUBST(STATIC_LINK_LIBS)
105 AC_DEFINE_UNQUOTED(STATIC_PROTO_INIT, $extern_init void static_proto_init() { $load_proto })
106
107 AC_ARG_ENABLE(gtk2, [ --enable-gtk2 compile using GTK 2 (BROKEN)],,enable_gtk2=no)
108 AC_ARG_ENABLE(gnome, [ --disable-gnome compile without Gnome bits],,enable_gnome=yes)
109 AC_ARG_ENABLE(pixbuf, [ --disable-pixbuf compile without GdkPixbuf],,enable_pixbuf=yes)
110 AC_ARG_ENABLE(panel, [ --enable-panel compile as a GNOME applet],,enable_panel=$enable_distrib)
111
112 AM_CONDITIONAL(GNOMEAPPLET, test "x$enable_panel" = "xyes")
113 AC_ARG_ENABLE(esd, [ --disable-esd Turn off ESD (default=auto)],,enable_esd=yes)
114 AC_ARG_ENABLE(nas, [ --enable-nas Enable NAS (Network Audio System) support],,enable_nas=no)
115 AC_ARG_ENABLE(artsc, [ --disable-artsc Turn off ArtsC (default=auto)],,enable_artsc=yes)
116
117 AC_ARG_ENABLE(plugins, [ --disable-plugins compile without plugin support],,enable_plugins=yes)
118 AC_ARG_ENABLE(perl, [ --disable-perl compile without perl scripting],,enable_perl=yes)
119
120 AC_ARG_ENABLE(debug, [ --enable-debug compile with debugging support],,enable_debug=no)
121 AC_ARG_ENABLE(screensaver, [ --disable-screensaver compile without X screensaver extension],,enable_xss=yes)
122 AC_ARG_WITH(krb4, [ --with-krb4=PREFIX Compile Zephyr plugin with Kerberos 4 support],kerberos="$withval",kerberos="no")
123
124 if test "$enable_debug" = yes ; then
125 CFLAGS="$CFLAGS -Wall -g3"
126 AC_DEFINE(DEBUG)
127 fi
128
129 if test "x$enable_gtk2" = "xyes" ; then
130 dnl AM_PATH_GTK_2_0(1.3.10,[
131 dnl enable_gnome=no
132 dnl enable_pixbuf=no
133 dnl CFLAGS="$CFLAGS -DGTK_ENABLE_BROKEN"
134 dnl UI_LIBS="$UI_LIBS $GTK_LIBS"
135 dnl ],enable_gtk2=no)
136
137 AC_PATH_PROG(pkgcfg, pkg-config)
138 if test "x$pkgcfg" = "x" ; then
139 enable_gtk2=no
140 else
141 GTK_VER=`$pkgcfg gtk+-2.0 --modversion 2>/dev/null`
142 if test "x$GTK_VER" = "x" ; then
143 enable_gtk2=no
144 else
145 GTK_CFLAGS=`$pkgcfg gtk+-2.0 --cflags`
146 CFLAGS="$CFLAGS -DGTK_ENABLE_BROKEN"
147 GTK_LIBS=`$pkgcfg gtk+-2.0 --libs`
148 UI_LIBS="$UI_LIBS $GTK_LIBS"
149 enable_gnome=no
150 enable_pixbuf=no
151 fi
152 fi
153 fi
154
155 if test "x$enable_gnome" = "xyes" ; then
156 if test "x$enable_panel" = "xyes" ; then
157 GNOME_INIT(applets)
158 GNOME_X_CHECKS
159 CFLAGS="$CFLAGS $GNOME_INCLUDEDIR"
160 AC_DEFINE(USE_APPLET)
161 AC_DEFINE(USE_GNOME)
162 UI_LIBS="$UI_LIBS $GTK_LIBS $GNOME_LIBDIR $GNOME_APPLETS_LIBS $GNOMEUI_LIBS"
163 AC_PATH_PROG(gaimpath, gaim_applet)
164 else
165 AC_PATH_PROG(gnomepath, gnome-config)
166 AC_MSG_CHECKING(for Gnome compile flags)
167 GNOME_CFLAGS=`$gnomepath gnomeui --cflags 2>/dev/null`
168 if test "x$GNOME_CFLAGS" = "x" ; then
169 enable_gnome=no
170 AC_MSG_RESULT([Gnome not found, building without it.])
171 else
172 GNOME_VER=`$gnomepath --version |$sedpath 's/gnome-libs //' 2>/dev/null`
173 GNOME_MAJOR=`echo $GNOME_VER |$sedpath 's/\([[0-9]*]*\).\([[0-9]*]*\).\([[0-9]*]*\)/\1/' 2>/dev/null`
174 if test "x$GNOME_MAJOR" = "x0" ; then
175 enable_gnome = no
176 AC_MSG_RESULT([old Gnome found, building without it.])
177 else
178 AC_MSG_RESULT(ok)
179 CFLAGS="$CFLAGS $GNOME_CFLAGS"
180 UI_LIBS="$UI_LIBS `$gnomepath gnomeui --libs 2>/dev/null`"
181 AC_DEFINE(USE_GNOME)
182 GNOME_CONFIG="$gnomepath"
183 AC_SUBST(GNOME_CONFIG)
184 AC_PATH_PROG(gaimpath, gaim)
185 fi
186 fi
187 fi
188 fi
189
190 if test "x$enable_gnome" != "xyes" -a "x$enable_gtk2" != "xyes" ; then
191 AM_PATH_GLIB(1.2.5,,AC_MSG_ERROR([
192 *** GLib is required to build Gaim; please make sure you have the GLib
193 *** development headers installed. The latest version of GLib is
194 *** always available at http://www.gtk.org/.]))
195 AM_PATH_GTK(1.2.5,,AC_MSG_ERROR([
196 *** GTK+ is required to build Gaim; please make sure you have the GTK+
197 *** development headers installed. The latest version of GTK+ is
198 *** always available at http://www.gtk.org/.]))
199 UI_LIBS="$UI_LIBS $GTK_LIBS"
200 AC_PATH_PROG(gaimpath, gaim)
201 fi
202 CFLAGS="$CFLAGS $GTK_CFLAGS"
203
204 dnl if test "x$enable_panel" = "xyes" ; then
205 dnl Things moved with the new versoin of Orbit. Thanks for
206 dnl telling me, Dan. This should fix them.
207 dnl
208 dnl The gnome-config script should pick this up and affect GNOME_ variables
209 dnl correctly. Thus, this check is not needed; if it fails, it is because of
210 dnl a broken installation or that your appletsConf.sh file is not updated
211 dnl for the new orbit installation. Gaim shouldn't need to do this.
212 dnl
213 dnl CFLAGS="$CFLAGS $ORBIT_CFLAGS"
214 dnl fi
215
216 use_pixbuf=no
217 if test "x$enable_pixbuf" = "xyes" ; then
218 AC_PATH_PROG(pixbufcfg, gdk-pixbuf-config)
219 if test "x$pixbufcfg" != "x" ; then
220 GDK_PIXBUF_CFLAGS=`$pixbufcfg --cflags`
221 GDK_PIXBUF_LIBS=`$pixbufcfg --libs`
222 GDK_PIXBUF_CONFIG="$pixbufcfg"
223 AC_SUBST(GDK_PIXBUF_CONFIG)
224 AC_SUBST(GDK_PIXBUF_CFLAGS)
225 AC_SUBST(GDK_PIXBUF_LIBS)
226 CFLAGS="$CFLAGS $GDK_PIXBUF_CFLAGS"
227 UI_LIBS="$UI_LIBS $GDK_PIXBUF_LIBS"
228 dnl We should be doing checks to see that the header files and functions exist. eh.
229 AC_DEFINE(USE_PIXBUF)
230 use_pixbuf=yes
231 fi
232 fi
233 AC_SUBST(UI_LIBS)
234
235 dnl Check for XScreenSaver
236 if test "x$enable_xss" = "xyes" ; then
237 old_LIBS="$LIBS"
238 LIBS="$LIBS $UI_LIBS"
239 XSS_LIBS="no"
240 XSS_HEADERS="no"
241 AC_CHECK_LIB(Xext, XScreenSaverRegister,[XSS_LIBS=""],[],[-lX11 -lXext -lm])
242 AC_CHECK_LIB(Xss, XScreenSaverRegister,[XSS_LIBS="-lXss"],[],[-lX11 -lXext -lm])
243 if test \! "$XSS_LIBS" = "no"; then
244 AC_TRY_COMPILE([
245 #include <X11/extensions/scrnsaver.h>
246 ],[],[enable_xss=no],[
247 AC_DEFINE(USE_SCREENSAVER)
248 ])
249 else
250 XSS_LIBS=""
251 enable_xss=no
252 fi
253 LIBS="$old_LIBS"
254 else
255 XSS_LIBS=""
256 enable_xss=no
257 fi
258 AC_SUBST(XSS_LIBS)
259
260
261
262 dnl This was taken straight from X-Chat.
263 dnl X-Chat is the greatest application ever, not only
264 dnl because it's a rocking IRC client but also because
265 dnl it's very easy to learn from.
266 if test "$enable_perl" = yes ; then
267 AC_PATH_PROG(perlpath, perl)
268 AC_MSG_CHECKING(for Perl compile flags)
269 PERL_CFLAGS=`$perlpath -MExtUtils::Embed -e ccopts 2>/dev/null`
270 if test "_$PERL_CFLAGS" = _ ; then
271 AC_MSG_RESULT([not found, building without perl.])
272 enable_perl = no
273 else
274 PERL_LIBS=`$perlpath -MExtUtils::Embed -e ldopts 2>/dev/null |$sedpath 's/-lgdbm //'`
275 PERL_LIBS=`echo $PERL_LIBS |$sedpath 's/-ldb //'`
276 PERL_LIBS=`echo $PERL_LIBS |$sedpath 's/-lndbm //'`
277 if test "$system" = "Linux"; then
278 PERL_LIBS=`echo $PERL_LIBS |$sedpath 's/-lnsl //'`
279 PERL_LIBS=`echo $PERL_LIBS |$sedpath 's/-lposix //'`
280 fi
281 PERL_LIBS=`echo $PERL_LIBS |$sedpath 's/-lc //'`
282 AC_MSG_RESULT(ok)
283 AC_SUBST(PERL_CFLAGS)
284 AC_SUBST(PERL_LIBS)
285 AC_DEFINE(USE_PERL)
286 AC_CHECK_FUNCS(Perl_eval_pv)
287 fi
288 fi
289
290 if test "$enable_nas" = yes ; then
291 AC_DEFINE(NAS_SOUND)
292 SOUND_LIBS="-laudio -lXt"
293 fi
294 if test "$enable_esd" = yes ; then
295 AM_PATH_GESD
296 if test "$no_esd" != yes ; then
297 old_CFLAGS="$CFLAGS"
298 CFLAGS="$CFLAGS $ESD_CFLAGS"
299 AC_TRY_COMPILE(,[#include <esd.h>],
300 [
301 AC_DEFINE(ESD_SOUND)
302 SOUND_LIBS="$SOUND_LIBS $ESD_LIBS"
303 ],[
304 enable_esd=no
305 CFLAGS="$old_CFLAGS"
306 ])
307 else
308 enable_esd=no
309 fi
310 fi
311 if test "x$enable_artsc" = "xyes"; then
312 AM_PATH_ARTSC
313 if test "x$no_artsc" != "xyes" ; then
314 old_CFLAGS="$CFLAGS"
315 CFLAGS="$CFLAGS $ARTSC_CFLAGS"
316 AC_TRY_COMPILE(,[#include <artsc.h>],
317 [
318 AC_DEFINE(ARTSC_SOUND)
319 SOUND_LIBS="$SOUND_LIBS $ARTSC_LIBS"
320 ],[
321 enable_artsc=no
322 CFLAGS="$old_CFLAGS"
323 ])
324 else
325 enable_artsc=no
326 fi
327 fi
328 AC_SUBST(SOUND_LIBS)
329
330 if test "$ac_cv_cygwin" = yes ; then
331 LDADD="$LDADD -static"
332 CFLAGS="$CFLAGS -Wall -g"
333 AC_DEFINE(DEBUG)
334 fi
335
336 AC_SUBST(CFLAGS)
337 AC_SUBST(LDADD)
338 AC_SUBST(LIBS)
339
340 if test "x$enable_multi" != "xyes" ; then
341 AC_DEFINE(NO_MULTI)
342 enable_multi=no
343 fi
344
345 if test "x$enable_plugins" = "xyes" ; then
346 AC_DEFINE(GAIM_PLUGINS)
347 AM_CONDITIONAL(PLUGINS, test "x$enable_plugins" = "xyes")
348 else
349 enable_plugins=no
350 enable_prpls=no
351 fi
352
353 if test "x$enable_prpls" = "xyes" ; then
354 AM_CONDITIONAL(PRPLS, test "x$enable_plugins" = "xyes")
355 else
356 enable_prpls=no
357 fi
358
359 dnl checks for icqlib
360 AC_CHECK_HEADERS(asm/byteorder.h byteswap.h endian.h machine/endian.h arpa/nameser_compat.h)
361 AC_CHECK_FUNCS(bswap_32 bswap_16)
362 AC_C_BIGENDIAN
363
364 dnl checks for jabber
365 dnl AC_CHECK_SIZEOF(short)
366 AC_CHECK_FUNCS(snprintf connect)
367 AC_CHECK_LIB(nsl, gethostent)
368
369 dnl checks for zephyr
370 AC_DEFINE(ZEPHYR_INT32, long)
371 AC_SUBST(KRB4_CFLAGS)
372 AC_SUBST(KRB4_LDFLAGS)
373 AC_SUBST(KRB4_LIBS)
374 if test "$kerberos" != "no" ; then
375 if test "$kerberos" != "yes" ; then
376 KRB4_CFLAGS="-I${kerberos}/include"
377 if test -d "$kerberos/include/kerberosIV" ; then
378 KRB4_CFLAGS="$KRB4_CFLAGS -I${kerberos}/include/kerberosIV"
379 fi
380 KRB4_LDFLAGS="-L${kerberos}/lib"
381 elif test -d /usr/local/include/kerberosIV ; then
382 KRB4_CFLAGS="-I/usr/local/include/kerberosIV"
383 elif test -d /usr/include/kerberosIV ; then
384 KRB4_CFLAGS="-I/usr/include/kerberosIV"
385 fi
386 AC_DEFINE(ZEPHYR_USES_KERBEROS)
387
388 orig_LDFLAGS="$LDFLAGS"
389 LDFLAGS="$LDFLAGS $KRB4_LDFLAGS"
390 AC_CHECK_LIB(krb4, krb_rd_req,
391 [KRB4_LIBS="-lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err"],
392 [AC_CHECK_LIB(krb, krb_rd_req,
393 [KRB4_LIBS="-lkrb -ldes"],
394 [AC_ERROR(Kerberos 4 libraries not found)],
395 -ldes)],
396 -ldes425 -lkrb5 -lk5crypto -lcom_err)
397 orig_LIBS="$LIBS"
398 LIBS="$LIBS $KRB4_LIBS"
399 AC_CHECK_FUNCS(krb_set_key krb_rd_req krb_get_lrealm)
400 AC_CHECK_FUNCS(krb_get_err_text krb_log)
401 LIBS="$orig_LIBS"
402 LDFLAGS="$orig_LDFLAGS"
403 fi
404 AC_CHECK_FUNCS(gethostid lrand48)
405 AC_CHECK_FUNCS(memcpy memmove random strchr strerror vprintf)
406 AC_CHECK_HEADERS(malloc.h paths.h sgtty.h stdarg.h sys/cdefs.h)
407 AC_CHECK_HEADERS(sys/file.h sys/filio.h sys/ioctl.h sys/msgbuf.h)
408 AC_CHECK_HEADERS(sys/select.h sys/uio.h sys/utsname.h sys/wait.h)
409 AC_CHECK_HEADERS(termios.h)
410
411 AC_OUTPUT([Makefile
412 doc/Makefile
413 intl/Makefile
414 m4/Makefile
415 pixmaps/Makefile
416 pixmaps/protocols/Makefile
417 pixmaps/protocols/msn/Makefile
418 pixmaps/protocols/yahoo/Makefile
419 plugins/Makefile
420 po/Makefile.in
421 sounds/Makefile
422 src/Makefile
423 src/protocols/Makefile
424 src/protocols/gg/Makefile
425 src/protocols/icq/Makefile
426 src/protocols/irc/Makefile
427 src/protocols/jabber/Makefile
428 src/protocols/msn/Makefile
429 src/protocols/napster/Makefile
430 src/protocols/oscar/Makefile
431 src/protocols/toc/Makefile
432 src/protocols/yahoo/Makefile
433 src/protocols/zephyr/Makefile
434 gaim.spec
435 ])
436
437 echo
438 echo $PACKAGE $VERSION
439
440 echo
441 echo Allow Multiple Connections.... : $enable_multi
442 echo Build Protocol Plugins........ : $enable_prpls
443 echo Protocols to link statically.. : $STATIC_PRPLS
444 echo
445 if test "x$enable_panel" = "xyes" ; then
446 echo UI Library.................... : GNOME Panel
447 elif test "x$enable_gnome" = "xyes" ; then
448 echo UI Library.................... : GNOME App
449 elif test "x$enable_gtk2" = "xyes" ; then
450 echo UI Library.................... : GTK+ 2.0
451 else
452 echo UI Library.................... : GTK+ 1.2
453 fi
454 if test "x$enable_gtk2" = "xyes" ; then
455 echo Use GdkPixbuf................. : yes
456 else
457 echo Use GdkPixbuf................. : $use_pixbuf
458 fi
459 echo
460 echo Build with Plugin support..... : $enable_plugins
461 echo Build with Perl support....... : $enable_perl
462 echo
463 echo Use XScreenSaver Extension.... : $enable_xss
464 echo
465 echo Build with ESD................ : $enable_esd
466 echo Build with NAS................ : $enable_nas
467 echo Build with ArtsC.............. : $enable_artsc
468 echo
469 echo Print debugging messages...... : $enable_debug
470 echo
471 eval eval echo Gaim will be installed in $bindir.
472 if test "x$gaimpath" != "x" ; then
473 echo Warning: You have an old copy of gaim at $gaimpath.
474 fi
475 echo
476 echo configure complete, now type \'make\'
477 echo