]> Pileus Git - ~andy/gtk/blob - configure.in
Estonian translation update by Ivar Smolin.
[~andy/gtk] / configure.in
1 # Process this file with autoconf to produce a configure script.
2 # require autoconf 2.54
3 AC_PREREQ(2.54)
4
5 # Making releases:
6 #   GTK_MICRO_VERSION += 1;
7 #   GTK_INTERFACE_AGE += 1;
8 #   GTK_BINARY_AGE += 1;
9 # if any functions have been added, set GTK_INTERFACE_AGE to 0.
10 # if backwards compatibility has been broken,
11 # set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
12
13 m4_define([gtk_major_version], [2])
14 m4_define([gtk_minor_version], [11])
15 m4_define([gtk_micro_version], [7])
16 m4_define([gtk_version],
17           [gtk_major_version.gtk_minor_version.gtk_micro_version])
18 m4_define([gtk_interface_age], [0])
19 m4_define([gtk_binary_age],
20           [m4_eval(100 * gtk_minor_version + gtk_micro_version)])
21 # This is the X.Y used in -lgtk-FOO-X.Y
22 m4_define([gtk_api_version], [2.0])
23
24 # Define a string for the earliest version that this release has
25 # backwards binary compatibility with for all interfaces a module
26 # might. Unless we add module-only API with lower stability
27 # guarantees, this should be unchanged until we break binary compat
28 # for GTK+.
29 #
30 #GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
31 m4_define([gtk_binary_version], [2.10.0])
32
33 # required versions of other packages
34 m4_define([glib_required_version], [2.13.5])
35 m4_define([pango_required_version], [1.17.3])
36 m4_define([atk_required_version], [1.9.0])
37 m4_define([cairo_required_version], [1.2.0])
38
39
40 AC_INIT([gtk+], [gtk_version],
41         [http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B],
42         [gtk+])
43
44 AC_CONFIG_SRCDIR([gdk/gdktypes.h])
45
46 # Save this value here, since automake will set cflags later
47 cflags_set=${CFLAGS+set}
48
49 AM_INIT_AUTOMAKE(no-define)
50 AM_CONFIG_HEADER(config.h)
51
52 #
53 # For each of the libraries we build, we define the following
54  
55 # substituted variables:
56 #
57 # foo_PACKAGES:     pkg-config packages this library requires
58 # foo_EXTRA_LIBS:   Libraries this module requires not pulled in by pkg-config
59 # foo_EXTRA_CFLAGS: cflags this module requires not pulled in by pkg-config
60 # foo_DEP_LIBS:     All libraries this module requires
61 # foo_DEP_CFLAGS:   All cflags this module requires
62
63
64 GTK_MAJOR_VERSION=gtk_major_version
65 GTK_MINOR_VERSION=gtk_minor_version
66 GTK_MICRO_VERSION=gtk_micro_version
67 GTK_INTERFACE_AGE=gtk_interface_age
68 GTK_BINARY_AGE=gtk_binary_age
69 GTK_VERSION=gtk_version
70 GTK_API_VERSION=gtk_api_version
71 GTK_BINARY_VERSION=gtk_binary_version
72 AC_SUBST(GTK_MAJOR_VERSION)
73 AC_SUBST(GTK_MINOR_VERSION)
74 AC_SUBST(GTK_MICRO_VERSION)
75 AC_SUBST(GTK_INTERFACE_AGE)
76 AC_SUBST(GTK_BINARY_AGE)
77 AC_SUBST(GTK_API_VERSION)
78 AC_SUBST(GTK_VERSION)
79 AC_SUBST(GTK_BINARY_VERSION)
80
81 # libtool versioning
82 #LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
83 #LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
84 #LT_REVISION=$GTK_INTERFACE_AGE
85 #LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
86 #LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
87
88 m4_define([lt_current], [m4_eval(100 * gtk_minor_version + gtk_micro_version - gtk_interface_age)])
89 m4_define([lt_revision], [gtk_interface_age])
90 m4_define([lt_age], [m4_eval(gtk_binary_age - gtk_interface_age)])
91 LT_VERSION_INFO="lt_current:lt_revision:lt_age"
92 LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
93 AC_SUBST(LT_VERSION_INFO)
94 AC_SUBST(LT_CURRENT_MINUS_AGE)
95
96
97 #
98 # gdk-pixbuf gets versioned separately, and for now, using standard
99 # libtool versioning, not GTK+-style versioning
100 #
101 GDK_PIXBUF_MAJOR=gtk_major_version
102 GDK_PIXBUF_MINOR=gtk_minor_version
103 GDK_PIXBUF_MICRO=gtk_micro_version
104 GDK_PIXBUF_VERSION="${GDK_PIXBUF_MAJOR}.${GDK_PIXBUF_MINOR}.${GDK_PIXBUF_MICRO}"
105 AC_SUBST(GDK_PIXBUF_MAJOR)
106 AC_SUBST(GDK_PIXBUF_MINOR)
107 AC_SUBST(GDK_PIXBUF_MICRO)
108 AC_SUBST(GDK_PIXBUF_VERSION)
109
110 GETTEXT_PACKAGE=gtk20
111 AC_SUBST(GETTEXT_PACKAGE)
112 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE")
113
114 AC_CANONICAL_HOST
115
116 MATH_LIB=-lm
117 AC_MSG_CHECKING([for native Win32])
118 case "$host" in
119   *-*-mingw*)
120     os_win32=yes
121     MATH_LIB=
122     ;;
123   *)
124     os_win32=no
125     ;;
126 esac
127 AC_MSG_RESULT([$os_win32])
128
129 case $host in
130   *-*-linux*)
131     os_linux=yes
132     ;;
133 esac
134 dnl Initialize libtool
135 AC_PROG_CC
136 AM_DISABLE_STATIC
137
138 dnl 
139 dnl Check for a working C++ compiler, but do not bail out, if none is found.
140 dnl We use this for an automated test for C++ header correctness.
141 dnl 
142 AC_CHECK_PROGS(CXX, [$CCC c++ g++ gcc CC cxx cc++ cl], gcc)
143 AC_LANG_SAVE
144 AC_LANG_CPLUSPLUS
145
146 AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=)
147 AM_CONDITIONAL(HAVE_CXX, test "$CXX" != "")
148
149 gtk_save_cxxflags="$CXXFLAGS"
150 CXXFLAGS="$CXXFLAGS -x objective-c++"
151 AC_TRY_COMPILE([@interface Foo @end],,OBJC=yes,OBJC=no)
152 AM_CONDITIONAL(HAVE_OBJC, test "$OBJC" == "yes")
153 CXXFLAGS="$gtk_save_cxxflags"
154 AC_LANG_RESTORE
155
156 if test "$os_win32" = "yes"; then
157   if test x$enable_static = xyes -o x$enable_static = x; then
158     AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.])
159     enable_static=no
160   fi
161   if test x$enable_shared = xno; then
162     AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.])
163   fi
164   enable_shared=yes
165 fi
166
167 AC_LIBTOOL_WIN32_DLL
168 AM_PROG_LIBTOOL
169
170 # Make sure we use 64-bit versions of various file stuff.
171 AC_SYS_LARGEFILE
172
173 AM_PROG_AS
174 AC_PATH_PROG(NM, nm, nm)
175
176 dnl Initialize maintainer mode
177 AM_MAINTAINER_MODE
178
179 AC_MSG_CHECKING([for some Win32 platform])
180 case "$host" in
181   *-*-mingw*|*-*-cygwin*)
182     platform_win32=yes
183     ;;
184   *)
185     platform_win32=no
186     ;;
187 esac
188 AC_MSG_RESULT([$platform_win32])
189 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
190
191 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
192 AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
193 AM_CONDITIONAL(OS_LINUX, test "$os_linux" = "yes")
194
195 if test "$os_win32" = "yes"; then
196   AC_CHECK_TOOL(WINDRES, windres, no)
197   if test "$WINDRES" = no; then
198     AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.])
199   fi
200   AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
201 fi
202 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
203
204 m4_define([debug_default],
205           m4_if(m4_eval(gtk_minor_version % 2), [1], [yes], [minimum]))
206
207 dnl declare --enable-* args and collect ac_help strings
208 AC_ARG_ENABLE(debug,
209               AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
210                              [turn on debugging @<:@default=debug_default@:>@]),,
211               enable_debug=debug_default)
212 AC_ARG_ENABLE(shm,
213               [AC_HELP_STRING([--enable-shm],
214                               [support shared memory if available [default=yes]])],,
215               [enable_shm="yes"])
216 AC_ARG_ENABLE(xkb,
217               [AC_HELP_STRING([--enable-xkb],
218                               [support XKB [default=maybe]])],,
219               [enable_xkb="maybe"])
220 AC_ARG_ENABLE(xinerama,
221               [AC_HELP_STRING([--enable-xinerama],
222                               [support xinerama extension if available [default=yes]])],,
223               [enable_xinerama="yes"])
224 AC_ARG_ENABLE(rebuilds,
225               [AC_HELP_STRING([--disable-rebuilds],
226                               [disable all source autogeneration rules])],,
227               [enable_rebuilds=yes])
228 AC_ARG_ENABLE(visibility,
229               [AC_HELP_STRING([--disable-visibility],
230                               [don't use ELF visibility attributes])],,
231               [enable_visibility=yes])
232
233 AC_ARG_WITH(xinput,
234             [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
235
236 if test "$platform_win32" = yes; then
237   gdktarget=win32
238 else
239   gdktarget=x11
240 fi
241
242 AC_ARG_WITH(gdktarget, [  --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target],
243         gdktarget=$with_gdktarget)
244
245 AC_SUBST(gdktarget)
246 case $gdktarget in
247   x11|win32|quartz|directfb) ;;
248   *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);;
249 esac
250
251 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
252 gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
253
254 AC_SUBST(gdktargetlib)
255 AC_SUBST(gtktargetlib)
256
257 if test "x$enable_debug" = "xyes"; then
258   test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
259   GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES" 
260 else
261   if test "x$enable_debug" = "xno"; then
262     GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
263   else
264     GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
265   fi
266 fi
267
268
269 if test "x$enable_visibility" = "xno"; then
270   GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
271 fi
272
273
274 AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
275
276                         
277 # Build time sanity check...
278 AM_SANITY_CHECK
279
280 # Checks for programs.
281 AC_ISC_POSIX
282 AM_PROG_CC_STDC
283 AC_PROG_INSTALL
284 AC_PROG_MAKE_SET
285
286 changequote(,)dnl
287 if test "x$GCC" = "xyes"; then
288   case " $CFLAGS " in
289   *[\ \ ]-Wall[\ \      ]*) ;;
290   *) CFLAGS="$CFLAGS -Wall" ;;
291   esac
292
293   if test "x$enable_ansi" = "xyes"; then
294     case " $CFLAGS " in
295     *[\ \       ]-ansi[\ \      ]*) ;;
296     *) CFLAGS="$CFLAGS -ansi" ;;
297     esac
298
299     case " $CFLAGS " in
300     *[\ \       ]-pedantic[\ \  ]*) ;;
301     *) CFLAGS="$CFLAGS -pedantic" ;;
302     esac
303   fi
304 fi
305 changequote([,])dnl
306
307 # Ensure MSVC-compatible struct packing convention is used when
308 # compiling for Win32 with gcc.
309 # What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
310 # gcc2 uses "-fnative-struct".
311 if test x"$os_win32" = xyes; then
312   if test x"$GCC" = xyes; then
313     msnative_struct=''
314     AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
315     if test -z "$ac_cv_prog_CC"; then
316       our_gcc="$CC"
317     else
318       our_gcc="$ac_cv_prog_CC"
319     fi
320     case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
321       2.)
322         if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
323           msnative_struct='-fnative-struct'
324         fi
325         ;;
326       *)
327         if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
328           msnative_struct='-mms-bitfields'
329         fi
330         ;;
331     esac
332     if test x"$msnative_struct" = x ; then
333       AC_MSG_RESULT([no way])
334       AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
335     else
336       CFLAGS="$CFLAGS $msnative_struct"
337       AC_MSG_RESULT([${msnative_struct}])
338     fi
339   fi
340 fi
341
342 # Honor aclocal flags
343 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
344
345 ## Initial sanity check, done here so that users get told they 
346 ## have the wrong dependencies as early in the process as possible.
347 ## Later on we actually use the cflags/libs from separate pkg-config
348 ## calls. Oh, also the later pkg-config calls don't include 
349 ## the version requirements since those make the module lists 
350 ## annoying to construct
351 PKG_CHECK_MODULES(BASE_DEPENDENCIES,
352   [glib-2.0 >= glib_required_version dnl
353    atk >= atk_required_version dnl
354    pango >= pango_required_version dnl
355    cairo >= cairo_required_version])
356
357 if test "$os_win32" != yes; then
358     # libtool option to control which symbols are exported
359     # right now, symbols starting with _ are not exported
360     LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
361 else
362     # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
363     LIBTOOL_EXPORT_OPTIONS=
364 fi
365 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
366
367 dnl ******************************************************
368 dnl * See whether to include shared library dependencies *
369 dnl ******************************************************
370
371 AC_ARG_ENABLE(explicit-deps, 
372               [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
373                               [use explicit dependencies in .pc files [default=auto]])],,
374               [enable_explicit_deps=auto])
375
376 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
377 case $enable_explicit_deps in
378   auto)
379     export SED
380     deplibs_check_method=`(./libtool --config; echo 'eval echo $deplibs_check_method') | sh`
381     if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
382       enable_explicit_deps=yes  
383     else
384       enable_explicit_deps=no  
385     fi
386   ;;
387   yes|no) 
388   ;;
389   *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
390   ;;
391 esac
392 AC_MSG_RESULT($enable_explicit_deps)
393
394 AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
395
396 # define a MAINT-like variable REBUILD which is set if Perl
397 # and awk are found, so autogenerated sources can be rebuilt
398
399 AC_PATH_PROGS(PERL, perl5 perl)
400
401 # We would like indent, but don't require it.
402 AC_CHECK_PROG(INDENT, indent, indent)
403
404 REBUILD=\#
405 if test "x$enable_rebuilds" = "xyes" && \
406      test -n "$PERL" && \
407      $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
408   REBUILD=
409 fi
410 AC_SUBST(REBUILD)
411
412 AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked)
413 AC_CHECK_FUNCS(localtime_r)
414
415 # _NL_TIME_FIRST_WEEKDAY is an enum and not a define
416 AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
417 AC_TRY_LINK([#include <langinfo.h>], [
418 char c;
419 c = *((unsigned char *)  nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
420 ], gtk_ok=yes, gtk_ok=no)
421 AC_MSG_RESULT($gtk_ok)
422 if test "$gtk_ok" = "yes"; then
423   AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
424             [Define if _NL_TIME_FIRST_WEEKDAY is available])
425 fi
426
427 # _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
428 AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
429 AC_TRY_LINK([#include <langinfo.h>], [
430 char c;
431 c = *((unsigned char *)  nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
432 ], gtk_ok=yes, gtk_ok=no)
433 AC_MSG_RESULT($gtk_ok)
434 if test "$gtk_ok" = "yes"; then
435   AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1],
436             [Define if _NL_MEASUREMENT_MEASUREMENT is available])
437 fi
438
439 # _NL_PAPER_HEIGHT is an enum and not a define
440 AC_MSG_CHECKING([for _NL_PAPER_HEIGHT])
441 AC_TRY_LINK([#include <langinfo.h>], [
442 char c;
443 c = *((unsigned char *)  nl_langinfo(_NL_PAPER_HEIGHT));
444 ], gtk_ok=yes, gtk_ok=no)
445 AC_MSG_RESULT($gtk_ok)
446 if test "$gtk_ok" = "yes"; then
447   AC_DEFINE([HAVE__NL_PAPER_HEIGHT], [1],
448             [Define if _NL_PAPER_HEIGHT is available])
449 fi
450
451 # _NL_PAPER_WIDTH is an enum and not a define
452 AC_MSG_CHECKING([for _NL_PAPER_WIDTH])
453 AC_TRY_LINK([#include <langinfo.h>], [
454 char c;
455 c = *((unsigned char *)  nl_langinfo(_NL_PAPER_WIDTH));
456 ], gtk_ok=yes, gtk_ok=no)
457 AC_MSG_RESULT($gtk_ok)
458 if test "$gtk_ok" = "yes"; then
459   AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1],
460             [Define if _NL_PAPER_WIDTH is available])
461 fi
462         
463 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
464 AC_MSG_CHECKING(for sigsetjmp)
465 AC_TRY_LINK([#include <setjmp.h>], [
466 sigjmp_buf env;
467 sigsetjmp(env, 0);
468 ], gtk_ok=yes, gtk_ok=no)
469 AC_MSG_RESULT($gtk_ok)
470 if test "$gtk_ok" = "yes"; then
471   AC_DEFINE(HAVE_SIGSETJMP)
472 fi
473
474 # i18n stuff
475 # TRANSLATORS:  Please note that gtk+ has both po/ and po-properties/
476 # directories.  If you add a new language to ALL_LINGUAS, please make
477 # sure that both po/ and po-properties/ have .po files that correspond
478 # to your language.  If you only add one to po/, the build will break
479 # in po-properties/.
480 ALL_LINGUAS="af am ang ar az az_IR be be@latin bg bn bn_IN br bs ca cs cy da de dz el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ka ko ku li lt lv mi mk ml mn mr ms nb ne nl nn nso or pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk ur uz uz@cyrillic vi wa xh yi zh_CN zh_HK zh_TW"
481 AM_GLIB_GNU_GETTEXT
482 LIBS="$LIBS $INTLLIBS"
483 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
484         sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
485       esac])
486
487 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
488
489 dnl The DU4 header files don't provide library prototypes unless 
490 dnl -std1 is given to the native cc.
491 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
492
493 gtk_save_LIBS=$LIBS
494 LIBS="$LIBS -lm"
495 AC_TRY_RUN([#include <math.h>
496              int main (void) { return (log(1) != log(1.)); }],
497      AC_MSG_RESULT(none needed),
498      gtk_save_CFLAGS="$CFLAGS"
499      CFLAGS="$CFLAGS -std1"
500      AC_TRY_RUN([#include <math.h>
501                  int main (void) { return (log(1) != log(1.)); }],
502          AC_MSG_RESULT(-std1),
503          AC_MSG_RESULT()
504          CFLAGS="$gtk_save_CFLAGS"
505          AC_MSG_WARN(
506                 [No ANSI prototypes found in library. (-std1 didn't work.)]),
507          true
508      ),
509      AC_MSG_RESULT(none needed)
510 )
511 LIBS=$gtk_save_LIBS
512
513 AC_MSG_CHECKING(for the BeOS)
514 case $host in
515   *-*-beos*)
516     AC_MSG_RESULT(yes)
517     MATH_LIB=
518   ;;
519   *)
520     AC_MSG_RESULT(no)
521   ;;
522 esac
523
524 #
525 # see bug 162979
526 #
527 AC_MSG_CHECKING(for HP-UX)
528 case $host_os in
529   hpux9* | hpux10* | hpux11*)
530     AC_MSG_RESULT(yes)
531     CFLAGS="$CFLAGS -DHPPEX -DSHMLINK"
532   ;;
533   *)
534     AC_MSG_RESULT(no)
535   ;;
536 esac
537
538 dnl NeXTStep cc seems to need this
539 AC_MSG_CHECKING([for extra flags for POSIX compliance])
540 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
541   AC_MSG_RESULT(none needed),
542   gtk_save_CFLAGS="$CFLAGS"
543   CFLAGS="$CFLAGS -posix"
544   AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
545     AC_MSG_RESULT(-posix),
546     AC_MSG_RESULT()
547     CFLAGS="$gtk_save_CFLAGS"
548     AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
549
550 #
551 # Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
552
553
554 GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
555
556 AM_PATH_GLIB_2_0(glib_required_version, :,
557   AC_MSG_ERROR([
558 *** GLIB glib_required_version or better is required. The latest version of 
559 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
560   gobject gmodule-no-export gthread)
561
562 # See if it's safe to turn G_DISABLE_DEPRECATED on.
563 GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
564 GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
565 if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
566   CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
567 fi
568
569
570 dnl
571 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
572 dnl
573 gtk_save_LIBS=$LIBS
574 LIBS="$LIBS $GLIB_LIBS"
575 AC_CHECK_FUNCS(bind_textdomain_codeset)
576 LIBS=$gtk_save_LIBS
577
578 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
579 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
580 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
581 AC_CHECK_HEADERS(ftw.h, AC_DEFINE(HAVE_FTW_H))
582
583 AC_MSG_CHECKING([for GNU ftw extensions])
584 AC_TRY_COMPILE([#define _XOPEN_SOURCE 500
585 #define _GNU_SOURCE
586 #include <ftw.h>], [int flags = FTW_ACTIONRETVAL;], gtk_ok=yes, gtk_ok=no)
587 if test $gtk_ok = yes; then
588     AC_MSG_RESULT([yes])
589     AC_DEFINE(HAVE_GNU_FTW,1,[Have GNU ftw])
590 else
591     AC_MSG_RESULT([no])
592 fi
593
594 saved_cflags="$CFLAGS"
595 saved_ldflags="$LDFLAGS"
596
597
598 # Checks for header files.
599 AC_HEADER_STDC
600
601 # Checks for typedefs, structures, and compiler characteristics.
602 AC_C_CONST
603
604 # Checks for library functions.
605 AC_TYPE_SIGNAL
606 AC_FUNC_MMAP
607
608 AC_CHECK_FUNCS(mallinfo)
609 AC_CHECK_FUNCS(getresuid)
610 AC_TYPE_UID_T
611
612 # Check if <sys/select.h> needs to be included for fd_set
613 AC_MSG_CHECKING([for fd_set])
614 AC_TRY_COMPILE([#include <sys/types.h>],
615         [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
616 if test $gtk_ok = yes; then
617     AC_MSG_RESULT([yes, found in sys/types.h])
618 else
619     AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
620     if test $gtk_ok = yes; then
621         AC_DEFINE(HAVE_SYS_SELECT_H)
622         AC_MSG_RESULT([yes, found in sys/select.h])
623     else
624         AC_DEFINE(NO_FD_SET)
625         AC_MSG_RESULT(no)
626     fi
627 fi
628
629 # `widechar' tests for gdki18n.h
630 AC_MSG_CHECKING(for wchar.h)
631 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
632 if test $gdk_wchar_h = yes; then
633    AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
634 fi
635 AC_MSG_RESULT($gdk_wchar_h)
636
637 # Check for wctype.h (for iswalnum)
638 AC_MSG_CHECKING(for wctype.h)
639 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
640 if test $gdk_wctype_h = yes; then
641    AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
642 fi
643 AC_MSG_RESULT($gdk_wctype_h)
644
645 # in Solaris 2.5, `iswalnum' is in -lw
646 GDK_WLIBS=
647 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
648
649 oLIBS="$LIBS"
650 LIBS="$LIBS $GDK_WLIBS"
651 # The following is necessary for Linux libc-5.4.38
652 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
653 AC_TRY_LINK([#include <stdlib.h>],[
654 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
655 #  ifdef HAVE_WCTYPE_H
656 #    include <wctype.h>
657 #  else
658 #    ifdef HAVE_WCHAR_H
659 #      include <wchar.h>
660 #    endif
661 #  endif
662 #else
663 #  define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
664 #endif
665 iswalnum((wchar_t) 0);
666 ], gdk_working_wctype=yes, gdk_working_wctype=no)
667 LIBS="$oLIBS"
668
669 if test $gdk_working_wctype = no; then
670    AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
671    GDK_WLIBS=
672 fi
673 AC_MSG_RESULT($gdk_working_wctype)
674 AC_SUBST(GDK_WLIBS)
675
676 # Check for uxtheme.h (for MS-Windows Engine)
677 AC_MSG_CHECKING(for uxtheme.h)
678 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
679 if test $gtk_uxtheme_h = yes; then
680    AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
681 fi
682 AC_MSG_RESULT($gtk_uxtheme_h)
683
684 # Checks for gdkspawn
685 AC_CHECK_HEADERS(crt_externs.h)
686 AC_CHECK_FUNCS(_NSGetEnviron)
687
688
689 ##################################################
690 # Checks for gdk-pixbuf
691 ##################################################
692
693 dnl ********************************************************
694 dnl * See whether we need to load our modules as .la files *
695 dnl ********************************************************
696
697 use_la_modules=false
698 case $host in
699   *-aix*) use_la_modules=true
700 esac
701
702 if $use_la_modules ; then
703    AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
704 fi
705
706
707 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
708
709 AC_ARG_ENABLE(modules,
710               [AC_HELP_STRING([--disable-modules],
711                               [disable dynamic module loading])])
712
713 dynworks=false
714 deps=
715 if test x$enable_modules = xno; then
716     AC_MSG_RESULT(no)
717 else
718     AC_MSG_RESULT(yes)
719     AC_MSG_CHECKING(whether dynamic modules work)
720     ## for loop is to strip newline 
721     tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
722     for I in $tmp; do
723         dynworks=$I
724     done
725
726     dnl Now we check to see if our libtool supports shared lib deps
727     dnl (in a rather ugly way even)
728     if $dynworks; then
729         pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
730         pixbuf_deplibs_check=`$pixbuf_libtool_config | \
731             grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
732             sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
733         if test "x$pixbuf_deplibs_check" = "xnone" || \
734            test "x$pixbuf_deplibs_check" = "xunknown" || \
735            test "x$pixbuf_deplibs_check" = "x"; then
736             dynworks=false
737         fi
738     fi
739
740     if $dynworks; then
741         AC_DEFINE(USE_GMODULE)
742         AC_MSG_RESULT(yes)
743     else
744         AC_MSG_RESULT(no)
745     fi
746 fi
747
748 dnl We allow people to disable image loaders explicitely, but if they don't we error
749 dnl out so that people don't accidentally build without them.
750
751 AC_ARG_WITH(libpng,
752             [AC_HELP_STRING([--without-libpng],
753                             [disable PNG loader for gdk-pixbuf])])
754 AC_ARG_WITH(libjpeg,
755             [AC_HELP_STRING([--without-libjpeg],
756                             [disable JPEG loader for gdk-pixbuf])])
757 AC_ARG_WITH(libtiff,
758             [AC_HELP_STRING([--without-libtiff],
759                             [disable TIFF loader for gdk-pixbuf])])
760
761 dnl Test for libtiff
762   if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
763     AC_CHECK_LIB(tiff, TIFFReadRGBAImageOriented,
764       [AC_CHECK_HEADER(tiffio.h,
765         TIFF='tiff'; LIBTIFF='-ltiff',
766         AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
767       [AC_CHECK_LIB(tiff, TIFFWriteScanline,
768         [AC_CHECK_HEADER(tiffio.h,
769           TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
770           AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
771         [AC_CHECK_LIB(tiff34, TIFFFlushData,
772           [AC_CHECK_HEADER(tiffio.h,
773             TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
774             AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
775         AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
776   fi
777
778   if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
779      AC_MSG_ERROR([
780 *** Checks for TIFF loader failed. You can build without it by passing 
781 *** --without-libtiff to configure but some programs using GTK+ may
782 *** not work properly])
783   fi
784
785 dnl Test for libjpeg
786   if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
787     AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
788       jpeg_ok=yes,
789       jpeg_ok=no
790       AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
791     if test "$jpeg_ok" = yes; then
792       AC_MSG_CHECKING([for jpeglib.h])
793       AC_TRY_CPP(
794 [#include <stdio.h>
795 #undef PACKAGE
796 #undef VERSION
797 #undef HAVE_STDLIB_H
798 #include <jpeglib.h>],
799         jpeg_ok=yes,
800         jpeg_ok=no)
801       AC_MSG_RESULT($jpeg_ok)
802       if test "$jpeg_ok" = yes; then
803         LIBJPEG='-ljpeg'
804         AC_CHECK_LIB(jpeg, jpeg_simple_progression,     
805           AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
806           AC_MSG_WARN(JPEG library does not support progressive saving.))
807       else
808           AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
809       fi
810     fi
811   fi
812
813   if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
814      AC_MSG_ERROR([
815 *** Checks for JPEG loader failed. You can build without it by passing 
816 *** --without-libjpeg to configure but some programs using GTK+ may
817 *** not work properly])
818   fi
819
820 dnl Test for libpng
821   if test x$with_libpng != xno && test -z "$LIBPNG"; then
822     AC_MSG_CHECKING(for libpng12)
823     if $PKG_CONFIG --exists libpng12 ; then
824         AC_MSG_RESULT(yes)
825         PNG='png'
826         PNG_DEP_CFLAGS_PACKAGES=libpng12
827         LIBPNG=`$PKG_CONFIG --libs libpng12`
828     else
829       AC_MSG_RESULT(no)
830       AC_CHECK_LIB(png, png_read_info,
831         [AC_CHECK_HEADER(png.h,
832           png_ok=yes,
833           png_ok=no)],
834         AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
835       if test "$png_ok" = yes; then
836         AC_MSG_CHECKING([for png_structp in png.h])
837         AC_TRY_COMPILE([#include <png.h>],
838           [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
839           png_ok=yes,
840           png_ok=no)
841         AC_MSG_RESULT($png_ok)
842         if test "$png_ok" = yes; then
843           PNG='png'; LIBPNG='-lpng -lz'
844         else
845           AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
846         fi
847       else
848        AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
849       fi
850     fi
851   fi
852
853   if test x$with_libpng != xno && test -z "$LIBPNG"; then
854      AC_MSG_ERROR([
855 *** Checks for PNG loader failed. You can build without it by passing 
856 *** --without-libpng to configure but many programs using GTK+ will
857 *** not work properly. The PNG loader is also needed if you are compiling
858 *** from CVS.])
859   fi
860
861 AC_SUBST(LIBTIFF)
862 AC_SUBST(LIBJPEG)
863 AC_SUBST(LIBPNG)
864
865 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
866
867 #
868 # Allow building some or all gdk-pixbuf loaders included
869 #
870 AC_MSG_CHECKING(pixbuf loaders to build)
871
872 dnl due to an autoconf bug, commas in the first arg to
873 dnl AC_HELP_STRING cause problems.
874 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
875 dnl                [build the specified loaders into gdk-pixbuf])
876 AC_ARG_WITH(included_loaders,
877 [  --with-included-loaders=LOADER1,LOADER2,...
878                           build the specified loaders into gdk-pixbuf])
879
880 if $dynworks; then 
881    :
882 else
883    ## if the option was specified, leave it; otherwise disable included loaders
884    if test x$with_included_loaders = xno; then
885            with_included_loaders=yes
886    fi
887 fi
888
889 all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,xbm,tga,pcx"
890 included_loaders=""
891 # If no loaders specified, include all
892 if test "x$with_included_loaders" = xyes ; then
893   included_loaders="$all_loaders"
894 else
895   included_loaders="$with_included_loaders"
896 fi
897
898 AC_MSG_RESULT($included_loaders)
899
900 INCLUDED_LOADER_OBJ=
901 INCLUDED_LOADER_DEFINE=
902
903 IFS="${IFS=     }"; gtk_save_ifs="$IFS"; IFS=","
904 for loader in $included_loaders; do
905  if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
906    :
907  else
908    AC_MSG_ERROR([the specified loader $loader does not exist])
909  fi
910
911  INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libstatic-pixbufloader-$loader.la"
912  INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
913  eval INCLUDE_$loader=yes
914 done
915 IFS="$gtk_save_ifs"
916 AC_SUBST(INCLUDED_LOADER_OBJ)
917 AC_SUBST(INCLUDED_LOADER_DEFINE)
918
919 AM_CONDITIONAL(INCLUDE_PNG, [test x"$INCLUDE_png" = xyes])
920 AM_CONDITIONAL(INCLUDE_BMP, [test x"$INCLUDE_bmp" = xyes])
921 AM_CONDITIONAL(INCLUDE_WBMP, [test x"$INCLUDE_wbmp" = xyes])
922 AM_CONDITIONAL(INCLUDE_GIF, [test x"$INCLUDE_gif" = xyes])
923 AM_CONDITIONAL(INCLUDE_ICO, [test x"$INCLUDE_ico" = xyes])
924 AM_CONDITIONAL(INCLUDE_ANI, [test x"$INCLUDE_ani" = xyes])
925 AM_CONDITIONAL(INCLUDE_JPEG, [test x"$INCLUDE_jpeg" = xyes])
926 AM_CONDITIONAL(INCLUDE_PNM, [test x"$INCLUDE_pnm" = xyes])
927 AM_CONDITIONAL(INCLUDE_RAS, [test x"$INCLUDE_ras" = xyes])
928 AM_CONDITIONAL(INCLUDE_TIFF, [test x"$INCLUDE_tiff" = xyes])
929 AM_CONDITIONAL(INCLUDE_XPM, [test x"$INCLUDE_xpm" = xyes])
930 AM_CONDITIONAL(INCLUDE_XBM, [test x"$INCLUDE_xbm" = xyes])
931 AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
932 AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
933
934 AC_HEADER_SYS_WAIT
935
936 AC_TYPE_SIGNAL
937
938 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
939 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
940 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
941
942 if $dynworks ; then
943   STATIC_LIB_DEPS=
944   if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
945     STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
946   fi
947   if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
948     STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
949   fi
950   if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
951     STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
952   fi
953 else
954   STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
955 fi
956
957 # Checks to see whether we should include mediaLib
958 # support.
959 #
960 AC_CHECK_HEADER(sys/systeminfo.h, AC_DEFINE(HAVE_SYS_SYSTEMINFO_H))
961 AC_CHECK_HEADER(sys/sysinfo.h, AC_DEFINE(HAVE_SYS_SYSINFO_H))
962
963 AC_MSG_CHECKING(for mediaLib 2.3)
964 use_mlib25=no
965 # Check for a mediaLib 2.3 function since that is what the GTK+ mediaLib
966 # patch requires.
967 AC_CHECK_LIB(mlib, mlib_ImageSetStruct, use_mlib=yes, use_mlib=no)
968 if test $use_mlib = yes; then
969     AC_DEFINE(USE_MEDIALIB)
970     MEDIA_LIB=-lmlib
971
972     AC_MSG_CHECKING(for mediaLib 2.5)
973     # Check for a mediaLib 2.5 function since that is what is needed for
974     # gdk_rgb_convert integration.
975     AC_CHECK_LIB(mlib, mlib_VideoColorRGBint_to_BGRAint, use_mlib25=yes, use_mlib25=no)
976     if test $use_mlib25 = yes; then
977         AC_DEFINE(USE_MEDIALIB25)
978     fi
979 fi
980 AM_CONDITIONAL(USE_MEDIALIB, test $use_mlib = yes)
981 AM_CONDITIONAL(USE_MEDIALIB25, test $use_mlib25 = yes)
982
983 # Checks to see if we should compile in MMX support (there will be
984 # a runtime test when the code is actually run to see if it should
985 # be used - this just checks if we can compile it.)
986 #
987 # This code is partially taken from Mesa
988 #
989 AC_MSG_CHECKING(for x86 platform)
990 case $host_cpu in
991   i386|i486|i586|i686|i786|k6|k7)
992         use_x86_asm=yes
993         ;;
994    *)
995         use_x86_asm=no
996 esac
997 AC_MSG_RESULT($use_x86_asm)
998
999 use_mmx_asm=no
1000 if test $use_x86_asm = yes; then
1001     save_ac_ext=$ac_ext
1002     ac_ext=S
1003     
1004     AC_MSG_CHECKING(compiler support for MMX)
1005     cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
1006     if AC_TRY_EVAL(ac_compile); then
1007         use_mmx_asm=yes
1008     fi
1009
1010     rm -rf conftest*
1011
1012     ac_ext=$save_ac_ext
1013     if test $use_mmx_asm = yes; then
1014       AC_DEFINE(USE_MMX)
1015       AC_MSG_RESULT(yes)
1016     else
1017       AC_MSG_RESULT(no)
1018     fi
1019 fi
1020
1021 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
1022
1023 REBUILD_PNGS=
1024 if test -z "$LIBPNG"; then
1025   REBUILD_PNGS=#
1026 fi
1027
1028 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
1029
1030 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
1031
1032 if test $cross_compiling = yes; then
1033   AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
1034   AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
1035   if test x$GTK_UPDATE_ICON_CACHE = xno; then
1036     REBUILD_PNGS=#
1037   fi
1038 fi
1039
1040 if test ! -f $srcdir/gtk/gtkbuiltincache.h && 
1041    test "x$REBUILD_PNGS" = "x#" ; then
1042      AC_MSG_ERROR([
1043 *** gtkbuiltincache.h is not in the tree, and cannot be built
1044 *** because you don't have libpng, or (when cross-compiling) you 
1045 *** don't have a prebuilt gtk-update-icon-cache on the build system.])
1046 fi
1047
1048 AC_SUBST(REBUILD_PNGS)
1049
1050 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
1051 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB $MEDIA_LIB"
1052 GDK_PIXBUF_EXTRA_CFLAGS= 
1053 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1054 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
1055
1056 ########################################
1057 # Windowing system checks
1058 ########################################
1059
1060 GDK_PIXBUF_XLIB_PACKAGES=
1061 GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
1062 GDK_PIXBUF_XLIB_EXTRA_LIBS=
1063         
1064 X_PACKAGES=fontconfig
1065 GDK_EXTRA_LIBS="$GDK_WLIBS"
1066 GDK_EXTRA_CFLAGS=
1067         
1068 # GTK+ uses some X calls, so needs to link against X directly
1069 GTK_DEP_PACKAGES_FOR_X=
1070 GTK_DEP_LIBS_FOR_X=
1071
1072 if test "x$gdktarget" = "xx11"; then
1073   #
1074   # We use fontconfig very peripherally when decoding the default
1075   # settings.
1076   #
1077   if $PKG_CONFIG --exists fontconfig; then : ; else
1078     AC_MSG_ERROR([
1079 *** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
1080   fi
1081
1082   #
1083   # Check for basic X packages; we use pkg-config if available
1084   #
1085   if $PKG_CONFIG --exists x11 xext xrender; then
1086     have_base_x_pc=true
1087     X_PACKAGES="$X_PACKAGES x11 xext xrender"
1088     x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
1089     X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
1090     
1091     # Strip out any .la files that pkg-config might give us (this happens
1092     # with -uninstalled.pc files)
1093     x_libs_for_checks=
1094     for I in $x_libs ; do
1095       case $I in 
1096         *.la) ;;
1097         *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1098       esac
1099     done
1100     
1101     GDK_PIXBUF_XLIB_PACKAGES="x11"
1102     GTK_PACKAGES_FOR_X="x11"
1103   else
1104     have_base_x_pc=false
1105     AC_PATH_XTRA
1106     if test x$no_x = xyes ; then
1107       AC_MSG_ERROR([X development libraries not found])
1108     fi
1109     
1110     x_cflags="$X_CFLAGS"
1111     x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
1112
1113     GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1114     GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
1115     GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
1116   fi
1117
1118   # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
1119   x_extra_libs=
1120
1121   gtk_save_cppflags="$CPPFLAGS"
1122   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1123
1124   gtk_save_LIBS=$LIBS
1125   LIBS="$x_libs_for_checks $LIBS"
1126   
1127   # Sanity check for the X11 and Xext libraries. While everything we need from
1128   # Xext is optional, the chances a system has *none* of these things is so
1129   # small that we just unconditionally require it.
1130   AC_CHECK_FUNC(XOpenDisplay, :,
1131                 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
1132   AC_CHECK_FUNC(XextFindDisplay, :,
1133                 AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
1134   AC_CHECK_FUNC(XRenderQueryExtension, :,
1135                 AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
1136
1137   # Check for xReply
1138
1139   AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1140   AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1141       [xReply *rep;],
1142       [AC_MSG_RESULT([no])],
1143       [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1144 #include <X11/Xlibint.h>],
1145            [xReply *rep;],
1146            [AC_MSG_RESULT([yes])
1147             AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1148                 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1149            [AC_MSG_RESULT([unknown])
1150             AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1151
1152   # Check for XConvertCase, XInternAtoms (X11R6 specific)
1153
1154   AC_CHECK_FUNCS(XConvertCase XInternAtoms)
1155
1156   # Generic X11R6 check needed for XIM support; we could
1157   # probably use this to replace the above, but we'll
1158   # leave the separate checks for XConvertCase and XInternAtoms 
1159   # for clarity
1160   
1161   have_x11r6=false
1162   AC_CHECK_FUNC(XAddConnectionWatch,
1163       have_x11r6=true)
1164
1165   if $have_x11r6; then
1166     AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
1167   fi
1168   AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1169
1170   # Check for XKB support.
1171
1172   if test "x$enable_xkb" = "xyes"; then
1173         AC_MSG_WARN(XKB support explicitly enabled)
1174         AC_DEFINE(HAVE_XKB)
1175   elif test "x$enable_xkb" = "xmaybe"; then
1176         AC_CHECK_FUNC(XkbQueryExtension,
1177                       AC_DEFINE(HAVE_XKB))
1178   else
1179         AC_MSG_WARN(XKB support explicitly disabled)
1180   fi
1181
1182   # Check for shaped window extension
1183
1184   AC_CHECK_FUNC(XShapeCombineMask,
1185       AC_DEFINE(HAVE_SHAPE_EXT))
1186
1187   # X SYNC check
1188   gtk_save_CFLAGS="$CFLAGS"
1189   CFLAGS="$CFLAGS $x_cflags"
1190   
1191   AC_CHECK_FUNC(XSyncQueryExtension,
1192       [AC_CHECK_HEADER(X11/extensions/sync.h,
1193           AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
1194           :, [#include <X11/Xlib.h>])])
1195
1196   CFLAGS="$gtk_save_CFLAGS"
1197
1198   # Xshm checks
1199
1200   if test "x$enable_shm" = "xyes"; then
1201      # Check for the XShm extension, normally in Xext
1202      AC_CHECK_FUNC(XShmAttach,
1203         :,
1204         # On AIX, it is in XextSam instead
1205         [AC_CHECK_LIB(XextSam, XShmAttach, 
1206             [GTK_ADD_LIB(x_extra_libs,XextSam)])])
1207   fi    
1208
1209   if test "x$enable_shm" = "xyes"; then
1210     # Check for shared memory
1211     AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
1212     AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
1213
1214     # Check for the X shared memory extension header file
1215     have_xshm=no 
1216     AC_MSG_CHECKING(X11/extensions/XShm.h)
1217     if test "x$no_xext_lib" = "xyes"; then
1218       :
1219     else
1220       gtk_save_CFLAGS="$CFLAGS"
1221       CFLAGS="$CFLAGS $x_cflags"
1222       AC_TRY_COMPILE([
1223 #include <stdlib.h>
1224 #include <sys/types.h>
1225 #include <sys/ipc.h>
1226 #include <sys/shm.h>
1227 #include <X11/Xlib.h>
1228 #include <X11/Xutil.h>
1229 #include <X11/extensions/XShm.h>
1230 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1231       CFLAGS="$gtk_save_CFLAGS"
1232     fi
1233     AC_MSG_RESULT($have_xshm)
1234     if test $have_xshm = yes ; then
1235       AC_DEFINE(HAVE_XSHM_H)
1236     fi
1237   fi
1238
1239   if test "x$enable_xinerama" = "xyes"; then
1240     # Check for Xinerama extension (Solaris impl or Xfree impl)
1241     gtk_save_cppflags="$CPPFLAGS"
1242     CPPFLAGS="$CPPFLAGS $x_cflags"
1243   
1244     case "$host" in
1245       *-*-solaris*)
1246           # Check for solaris
1247           AC_MSG_CHECKING(for Xinerama support on Solaris)
1248           
1249           have_solaris_xinerama=false
1250           AC_CHECK_FUNC(XineramaGetInfo,
1251               [AC_CHECK_HEADER(X11/extensions/xinerama.h,
1252                   [have_solaris_xinerama=true], :,
1253                   [#include <X11/Xlib.h>])])
1254                 
1255           if $have_solaris_xinerama ; then
1256             AC_DEFINE(HAVE_SOLARIS_XINERAMA)
1257             AC_DEFINE(HAVE_XINERAMA) 
1258             AC_MSG_RESULT(yes)
1259           else
1260             AC_MSG_RESULT(no)
1261           fi
1262           ;;
1263       *)
1264           # Check for XFree
1265           AC_MSG_CHECKING(for Xinerama support on XFree86)
1266           
1267           have_xfree_xinerama=false
1268           if $PKG_CONFIG --exists xinerama ; then
1269              have_xfree_xinerama=true
1270              X_PACKAGES="$X_PACKAGES xinerama"
1271           else    
1272               AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1273                   [AC_CHECK_HEADER(X11/extensions/Xinerama.h, 
1274                       [GTK_ADD_LIB(x_extra_libs,Xinerama)
1275                       have_xfree_xinerama=true], :,
1276                       [#include <X11/Xlib.h>])])
1277           fi
1278
1279           if $have_xfree_xinerama ; then
1280             AC_DEFINE(HAVE_XFREE_XINERAMA)
1281             AC_DEFINE(HAVE_XINERAMA) 
1282             AC_MSG_RESULT(yes)
1283          else
1284             AC_MSG_RESULT(no)
1285          fi
1286          ;;
1287     esac
1288   fi
1289   
1290   # set up things for XInput
1291
1292   if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
1293     AC_DEFINE(XINPUT_XFREE)
1294     
1295     if $PKG_CONFIG --exists xi ; then
1296       X_PACKAGES="$X_PACKAGES xi"
1297     else
1298       GTK_ADD_LIB(x_extra_libs, Xi)
1299     fi
1300   else
1301     AC_DEFINE(XINPUT_NONE)
1302   fi
1303
1304   AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
1305
1306   # Check for the RANDR extension
1307
1308   have_randr=false
1309   if $PKG_CONFIG --exists xrandr ; then
1310     have_randr=true
1311     X_PACKAGES="$X_PACKAGES xrandr"
1312   else    
1313     AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
1314        [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
1315           # RANDR requires RENDER
1316           [have_randr=true
1317           GTK_ADD_LIB(x_extra_libs, Xrender)
1318           GTK_ADD_LIB(x_extra_libs, Xrandr)],
1319           :, [#include <X11/Xlib.h>])])
1320   fi
1321
1322   if $have_randr ; then
1323      AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
1324   fi
1325        
1326   # Checks for Xcursor library
1327   
1328   if $PKG_CONFIG --exists xcursor ; then
1329     AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1330     
1331     X_PACKAGES="$X_PACKAGES xcursor"
1332   fi
1333
1334   # Checks for XFixes extension
1335   
1336   if $PKG_CONFIG --exists xfixes ; then
1337     AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1338     
1339     X_PACKAGES="$X_PACKAGES xfixes"
1340     GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
1341   fi
1342
1343   # Checks for Xcomposite extension
1344
1345   if $PKG_CONFIG --exists xcomposite ; then
1346     AC_DEFINE(HAVE_XCOMPOSITE, 1, Have the XCOMPOSITE X extension)
1347
1348     X_PACKAGES="$X_PACKAGES xcomposite"
1349     GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite"
1350   fi
1351
1352   # Checks for Xdamage extension
1353
1354   if $PKG_CONFIG --exists xdamage ; then
1355     AC_DEFINE(HAVE_XDAMAGE, 1, Have the XDAMAGE X extension)
1356
1357     X_PACKAGES="$X_PACKAGES xdamage"
1358     GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage"
1359   fi
1360
1361   if $have_base_x_pc ; then
1362     GDK_EXTRA_LIBS="$x_extra_libs"
1363   else
1364     GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
1365   fi
1366
1367   CPPFLAGS="$gtk_save_cppflags"
1368   LIBS="$gtk_save_libs"
1369
1370   AM_CONDITIONAL(USE_X11, true)
1371 else
1372   AM_CONDITIONAL(XINPUT_XFREE, false)
1373   AM_CONDITIONAL(USE_X11, false)
1374   AM_CONDITIONAL(HAVE_X11R6, false)
1375 fi
1376
1377 if test "x$gdktarget" = "xwin32"; then
1378   GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid"
1379   AM_CONDITIONAL(USE_WIN32, true)
1380 else
1381   AM_CONDITIONAL(USE_WIN32, false)
1382 fi
1383
1384 if test "x$gdktarget" = "xquartz"; then
1385   GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
1386   AM_CONDITIONAL(USE_QUARTZ, true)
1387 else
1388   AM_CONDITIONAL(USE_QUARTZ, false)
1389 fi
1390
1391 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1392 GDK_PIXBUF_XLIB_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_PIXBUF_XLIB_EXTRA_CFLAGS"
1393
1394 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1395 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1396 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1397 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1398 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1399
1400 if test "x$gdktarget" = "xdirectfb"; then
1401   DIRECTFB_REQUIRED_VERSION=0.9.24
1402   AC_MSG_CHECKING(for DirectFB)
1403
1404   if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
1405       AC_MSG_RESULT(found)
1406       GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
1407       GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
1408   else
1409       AC_MSG_ERROR([
1410 *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend 
1411 *** are required. The latest version of DirectFB is always available 
1412 *** from http://www.directfb.org/.
1413   ])
1414   fi
1415
1416   AM_CONDITIONAL(USE_DIRECTFB, true)
1417 else
1418   AM_CONDITIONAL(USE_DIRECTFB, false)
1419 fi
1420
1421
1422 # Check for Pango flags
1423
1424 if test "x$gdktarget" = "xwin32"; then
1425         PANGO_PACKAGES="pangowin32 pangocairo"
1426 else
1427         PANGO_PACKAGES="pango pangocairo"
1428 fi
1429
1430 AC_MSG_CHECKING(Pango flags)
1431 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1432         PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1433         PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1434
1435         AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1436 else
1437         AC_MSG_ERROR([
1438 *** Pango not found. Pango built with Cairo support is required
1439 *** to build GTK+. See http://www.pango.org for Pango information.
1440 ])
1441 fi
1442
1443 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1444
1445 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1446         :
1447 else
1448         gtk_save_LIBS="$LIBS"
1449         LIBS="$PANGO_LIBS $LIBS"
1450         AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1451 *** Can't link to Pango. Pango is required to build
1452 *** GTK+. For more information see http://www.pango.org]))
1453         LIBS="$gtk_save_LIBS"
1454 fi
1455
1456 CFLAGS="$saved_cflags"
1457 LDFLAGS="$saved_ldflags"
1458
1459 GDK_PACKAGES="$PANGO_PACKAGES"
1460 if test "x$gdktarget" = "xx11"; then
1461   GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
1462 fi
1463 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1464 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1465
1466 #
1467 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1468 # into the pkg-config files
1469 #
1470 if test $enable_explicit_deps != yes ; then
1471   GDK_PACKAGES="$PANGO_PACKAGES"
1472   GDK_EXTRA_LIBS=
1473 fi
1474
1475 AC_SUBST(GDK_PACKAGES)
1476 AC_SUBST(GDK_EXTRA_LIBS)
1477 AC_SUBST(GDK_EXTRA_CFLAGS)
1478 AC_SUBST(GDK_DEP_LIBS)
1479 AC_SUBST(GDK_DEP_CFLAGS)
1480
1481
1482 ########################################
1483 # Check for Accessibility Toolkit flags
1484 ########################################
1485
1486 ATK_PACKAGES=atk
1487 AC_MSG_CHECKING(ATK flags)
1488 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1489         ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1490         ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1491
1492         AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1493 else
1494         AC_MSG_ERROR([
1495 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1496 *** to build GTK+.
1497 ])
1498 fi
1499
1500 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1501         :
1502 else
1503         gtk_save_LIBS="$LIBS"
1504         LIBS="$ATK_LIBS $LIBS"
1505         AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1506                 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1507                 *** to build GTK+]))
1508         LIBS="$gtk_save_LIBS"
1509 fi
1510
1511 GTK_PACKAGES="atk cairo"
1512 GTK_EXTRA_LIBS=
1513 GTK_EXTRA_CFLAGS= 
1514 GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $PANGO_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1515 GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
1516
1517 if test x"$os_win32" = xyes; then
1518   GTK_EXTRA_CFLAGS="$msnative_struct"
1519 fi
1520
1521 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
1522 ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
1523 PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
1524 CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
1525
1526 if test $enable_explicit_deps != yes ; then
1527   GDK_PIXBUF_EXTRA_LIBS=
1528 fi
1529
1530 AC_SUBST(GDK_PIXBUF_PACKAGES)
1531 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
1532 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
1533 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
1534 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
1535
1536 AC_SUBST(GTK_PACKAGES)
1537 AC_SUBST(GTK_EXTRA_LIBS)
1538 AC_SUBST(GTK_EXTRA_CFLAGS)
1539 AC_SUBST(GTK_DEP_LIBS)
1540 AC_SUBST(GTK_DEP_CFLAGS)
1541
1542 AC_SUBST(GLIB_PREFIX)
1543 AC_SUBST(ATK_PREFIX)
1544 AC_SUBST(PANGO_PREFIX)
1545 AC_SUBST(CAIRO_PREFIX)
1546
1547 AC_SUBST(GTK_DEBUG_FLAGS)
1548 AC_SUBST(GTK_XIM_FLAGS)
1549
1550 ################################################################
1551 # Printing system checks
1552 ################################################################
1553
1554 AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
1555 if test "x$CUPS_CONFIG" != "xno"; then
1556   CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
1557   CUPS_LIBS=`cups-config --libs`
1558
1559   CUPS_API_VERSION=`cups-config --api-version`
1560   CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
1561   CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
1562
1563   if test $CUPS_API_MAJOR -gt 1 -o \
1564           $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
1565     AC_DEFINE(HAVE_CUPS_API_1_2)
1566   fi
1567
1568   AC_SUBST(CUPS_API_MAJOR)
1569   AC_SUBST(CUPS_API_MINOR)
1570   AC_SUBST(CUPS_CFLAGS)
1571   AC_SUBST(CUPS_LIBS)
1572 fi
1573 AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
1574
1575 gtk_save_cflags="$CFLAGS"
1576 CFLAGS="$CUPS_CFLAGS"
1577 AC_TRY_COMPILE([#include <cups/http.h>],
1578                [http_t http; char *s = http.authstring;],
1579                [AC_DEFINE(HAVE_HTTP_AUTHSTRING,[],[Define if cups http_t authstring field is accessible])],)
1580 CFLAGS="$gtk_save_cflags"
1581
1582 AC_SUBST(HAVE_HTTP_AUTHSTRING)
1583
1584 gtk_save_cppflags="$CPPFLAGS"
1585 CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
1586                           
1587 AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
1588 *** Can't find cairo-pdf.h. You must build Cairo with the pdf
1589 *** backend enabled.]))
1590
1591 if test "$os_win32" != "yes"; then
1592   AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
1593 *** Can't find cairo-ps.h. You must build Cairo with the 
1594 *** postscript backend enabled.]))
1595 fi   
1596
1597 CPPFLAGS="$gtk_save_cppflags"
1598      
1599                                 
1600 AC_ARG_ENABLE(test-print-backend,
1601               [AC_HELP_STRING([--enable-test-print-backend],
1602                               [build test print backend])],,
1603               [enable_test_print_backend=no])
1604 AM_CONDITIONAL(TEST_PRINT_BACKEND, test "x$enable_test_print_backend" != "xno")
1605
1606
1607 ################################################################
1608 # Strip -export-dynamic from the link lines of various libraries
1609 ################################################################
1610
1611 #
1612 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1613 #  but this flag is only meaningful for executables. For libraries
1614 #  the effect is undefined; what it causes on Linux is that the
1615 #  export list from -export-symbols-regex is ignored and everything
1616 #  is exported
1617 #
1618 # We are using gmodule-no-export now, but I'm leaving the stripping
1619 # code in place for now, since pango and atk still require gmodule.
1620 export SED
1621 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1622 if test -n "$export_dynamic"; then
1623   GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1624   GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1625   GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1626   GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1627 fi
1628
1629
1630 ##################################################
1631 # Checks for gtk-doc and docbook-tools
1632 ##################################################
1633
1634 GTK_DOC_CHECK([1.6])
1635
1636 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1637 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1638
1639 AC_ARG_ENABLE(man,
1640               [AC_HELP_STRING([--enable-man],
1641                               [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1642               enable_man=no)
1643
1644 if test "${enable_man}" != no; then
1645   dnl
1646   dnl Check for xsltproc
1647   dnl
1648   AC_PATH_PROG([XSLTPROC], [xsltproc])
1649   if test -z "$XSLTPROC"; then
1650     enable_man=no
1651   fi
1652
1653   dnl check for DocBook DTD and stylesheets in the local catalog.
1654   JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1655      [DocBook XML DTD V4.1.2],,enable_man=no)
1656   JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1657      [DocBook XSL Stylesheets],,enable_man=no)
1658 fi
1659
1660 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1661
1662
1663 ##################################################
1664 # Output commands
1665 ##################################################
1666
1667 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1668         outfile=gdkconfig.h-tmp
1669         cat > $outfile <<\_______EOF
1670 /* gdkconfig.h
1671  *
1672  * This is a generated file.  Please modify `configure.in'
1673  */
1674
1675 #ifndef GDKCONFIG_H
1676 #define GDKCONFIG_H
1677
1678 #ifdef __cplusplus
1679 extern "C" {
1680 #endif /* __cplusplus */
1681
1682 _______EOF
1683
1684         cat >>$outfile <<_______EOF
1685 $gdk_windowing
1686 $gdk_wc
1687 _______EOF
1688
1689         cat >>$outfile <<_______EOF
1690
1691 #ifdef __cplusplus
1692 }
1693 #endif /* __cplusplus */
1694
1695 #endif /* GDKCONFIG_H */
1696 _______EOF
1697
1698
1699         if cmp -s $outfile gdk/gdkconfig.h; then
1700           AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1701           rm -f $outfile
1702         else
1703           mv $outfile gdk/gdkconfig.h
1704         fi
1705 ],[
1706 if test "x$gdktarget" = "xx11" ; then
1707   gdk_windowing='
1708 #define GDK_WINDOWING_X11'
1709 elif test "x$gdktarget" = "xwin32" ; then
1710   gdk_windowing='
1711 #define GDK_WINDOWING_WIN32'
1712 elif test "x$gdktarget" = "xquartz" ; then
1713   gdk_windowing='
1714 #define GDK_WINDOWING_QUARTZ'
1715 elif test "x$gdktarget" = "xdirectfb" ; then
1716   gdk_windowing='
1717 #define GDK_WINDOWING_DIRECTFB'
1718 fi
1719
1720 if test x$gdk_wchar_h = xyes; then
1721   gdk_wc='
1722 #define GDK_HAVE_WCHAR_H 1'
1723 fi
1724 if test x$gdk_wctype_h = xyes; then
1725   gdk_wc="\$gdk_wc
1726 #define GDK_HAVE_WCTYPE_H 1"
1727 fi
1728 if test x$gdk_working_wctype = xno; then
1729   gdk_wc="\$gdk_wc
1730 #define GDK_HAVE_BROKEN_WCTYPE 1"
1731 fi
1732
1733
1734 ])
1735
1736 AC_CONFIG_FILES([
1737 config.h.win32
1738 gtk-zip.sh
1739 Makefile
1740 gdk-pixbuf-2.0.pc
1741 gdk-2.0.pc
1742 gtk+-2.0.pc
1743 gtk+-unix-print-2.0.pc
1744 gdk-pixbuf-2.0-uninstalled.pc
1745 gdk-2.0-uninstalled.pc
1746 gtk+-2.0-uninstalled.pc
1747 m4macros/Makefile
1748 po/Makefile.in
1749 po-properties/Makefile.in
1750 demos/Makefile
1751 demos/gtk-demo/Makefile
1752 demos/gtk-demo/geninclude.pl
1753 tests/Makefile
1754 docs/Makefile
1755 docs/reference/Makefile
1756 docs/reference/gdk-pixbuf/Makefile
1757 docs/reference/gdk-pixbuf/version.xml
1758 docs/reference/gdk/Makefile
1759 docs/reference/gdk/version.xml
1760 docs/reference/gtk/Makefile
1761 docs/reference/gtk/version.xml
1762 docs/faq/Makefile
1763 docs/tools/Makefile
1764 docs/tutorial/Makefile
1765 gdk-pixbuf/Makefile
1766 gdk-pixbuf/gdk_pixbuf.rc
1767 gdk-pixbuf/gdk-pixbuf-features.h
1768 gdk-pixbuf/pixops/Makefile
1769 gdk/Makefile
1770 gdk/x11/Makefile
1771 gdk/win32/Makefile
1772 gdk/win32/rc/Makefile
1773 gdk/win32/rc/gdk.rc
1774 gdk/quartz/Makefile
1775 gdk/directfb/Makefile
1776 gtk/Makefile
1777 gtk/makefile.msc
1778 gtk/gtkversion.h
1779 gtk/gtk-win32.rc
1780 gtk/theme-bits/Makefile
1781 gtk/xdgmime/Makefile
1782 modules/Makefile
1783 modules/input/Makefile
1784 modules/engines/Makefile
1785 modules/engines/pixbuf/Makefile
1786 modules/engines/ms-windows/Makefile
1787 modules/engines/ms-windows/Theme/Makefile
1788 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1789 modules/printbackends/Makefile
1790 modules/printbackends/cups/Makefile
1791 modules/printbackends/lpr/Makefile
1792 modules/printbackends/file/Makefile
1793 modules/printbackends/test/Makefile
1794 perf/Makefile
1795 contrib/Makefile
1796 contrib/gdk-pixbuf-xlib/Makefile
1797 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
1798 ])
1799
1800 AC_OUTPUT
1801
1802 echo "configuration:
1803         target: $gdktarget"