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