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