]> Pileus Git - ~andy/gtk/blob - configure.in
Bump GLib requirement
[~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], [7])
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.4.0])
32
33 # required versions of other packages
34 m4_define([glib_required_version], [2.7.0])
35 m4_define([pango_required_version], [1.8.0])
36 m4_define([atk_required_version], [1.0.1])
37
38
39 AC_INIT([gtk+], [gtk_version],
40         [http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B],
41         [gtk+])
42
43 AC_CONFIG_SRCDIR([gdk/gdktypes.h])
44
45 # Save this value here, since automake will set cflags later
46 cflags_set=${CFLAGS+set}
47
48 AM_INIT_AUTOMAKE(no-define)
49 AM_CONFIG_HEADER(config.h)
50
51 #
52 # For each of the libraries we build, we define the following
53  
54 # substituted variables:
55 #
56 # foo_PACKAGES:     pkg-config packages this library requires
57 # foo_EXTRA_LIBS:   Libraries this module requires not pulled in by pkg-config
58 # foo_EXTRA_CFLAGS: cflags this module requires not pulled in by pkg-config
59 # foo_DEP_LIBS:     All libraries this module requires
60 # foo_DEP_CFLAGS:   All cflags this module requires
61
62
63 GTK_MAJOR_VERSION=gtk_major_version
64 GTK_MINOR_VERSION=gtk_minor_version
65 GTK_MICRO_VERSION=gtk_micro_version
66 GTK_INTERFACE_AGE=gtk_interface_age
67 GTK_BINARY_AGE=gtk_binary_age
68 GTK_VERSION=gtk_version
69 GTK_API_VERSION=gtk_api_version
70 GTK_BINARY_VERSION=gtk_binary_version
71 AC_SUBST(GTK_MAJOR_VERSION)
72 AC_SUBST(GTK_MINOR_VERSION)
73 AC_SUBST(GTK_MICRO_VERSION)
74 AC_SUBST(GTK_INTERFACE_AGE)
75 AC_SUBST(GTK_BINARY_AGE)
76 AC_SUBST(GTK_API_VERSION)
77 AC_SUBST(GTK_VERSION)
78 AC_SUBST(GTK_BINARY_VERSION)
79
80 # libtool versioning
81 #LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
82 #LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
83 #LT_REVISION=$GTK_INTERFACE_AGE
84 #LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
85 #LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
86
87 m4_define([lt_current], [m4_eval(100 * gtk_minor_version + gtk_micro_version - gtk_interface_age)])
88 m4_define([lt_revision], [gtk_interface_age])
89 m4_define([lt_age], [m4_eval(gtk_binary_age - gtk_interface_age)])
90 LT_VERSION_INFO="lt_current:lt_revision:lt_age"
91 LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
92 AC_SUBST(LT_VERSION_INFO)
93 AC_SUBST(LT_CURRENT_MINUS_AGE)
94
95
96 #
97 # gdk-pixbuf gets versioned separately, and for now, using standard
98 # libtool versioning, not GTK+-style versioning
99 #
100 GDK_PIXBUF_MAJOR=gtk_major_version
101 GDK_PIXBUF_MINOR=gtk_minor_version
102 GDK_PIXBUF_MICRO=gtk_micro_version
103 GDK_PIXBUF_VERSION="${GDK_PIXBUF_MAJOR}.${GDK_PIXBUF_MINOR}.${GDK_PIXBUF_MICRO}"
104 AC_SUBST(GDK_PIXBUF_MAJOR)
105 AC_SUBST(GDK_PIXBUF_MINOR)
106 AC_SUBST(GDK_PIXBUF_MICRO)
107 AC_SUBST(GDK_PIXBUF_VERSION)
108
109 GETTEXT_PACKAGE=gtk20
110 AC_SUBST(GETTEXT_PACKAGE)
111 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE")
112
113 AC_CANONICAL_HOST
114
115 MATH_LIB=-lm
116 AC_MSG_CHECKING([for native Win32])
117 case "$host" in
118   *-*-mingw*)
119     os_win32=yes
120     MATH_LIB=
121     ;;
122   *)
123     os_win32=no
124     ;;
125 esac
126 AC_MSG_RESULT([$os_win32])
127
128 case $host in
129   *-*-linux*)
130     os_linux=yes
131     ;;
132 esac
133 dnl Initialize libtool
134 AC_PROG_CC
135 AM_DISABLE_STATIC
136
137 if test "$os_win32" = "yes"; then
138   if test x$enable_static = xyes -o x$enable_static = x; then
139     AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.])
140     enable_static=no
141   fi
142   if test x$enable_shared = xno; then
143     AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.])
144   fi
145   enable_shared=yes
146 fi
147
148 AM_PROG_LIBTOOL
149
150 # Make sure we use 64-bit versions of various file stuff.
151 AC_SYS_LARGEFILE
152
153 AM_PROG_AS
154
155 dnl Initialize maintainer mode
156 AM_MAINTAINER_MODE
157
158 AC_MSG_CHECKING([for some Win32 platform])
159 case "$host" in
160   *-*-mingw*|*-*-cygwin*)
161     platform_win32=yes
162     ;;
163   *)
164     platform_win32=no
165     ;;
166 esac
167 AC_MSG_RESULT([$platform_win32])
168 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
169
170 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
171 AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
172 AM_CONDITIONAL(OS_LINUX, test "$os_linux" = "yes")
173
174 if test "$os_win32" = "yes"; then
175   AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
176 fi
177 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
178
179 m4_define([debug_default],
180           m4_if(m4_eval(gtk_minor_version % 2), [1], [yes], [minimum]))
181
182 dnl declare --enable-* args and collect ac_help strings
183 AC_ARG_ENABLE(debug,
184               AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
185                              [turn on debugging @<:@default=debug_default@:>@]),,
186               enable_debug=debug_default)
187 AC_ARG_ENABLE(shm,
188               [AC_HELP_STRING([--enable-shm],
189                               [support shared memory if available [default=yes]])],,
190               [enable_shm="yes"])
191 AC_ARG_ENABLE(xkb,
192               [AC_HELP_STRING([--enable-xkb],
193                               [support XKB [default=maybe]])],,
194               [enable_xkb="maybe"])
195 AC_ARG_ENABLE(rebuilds,
196               [AC_HELP_STRING([--disable-rebuilds],
197                               [disable all source autogeneration rules])],,
198               [enable_rebuilds=yes])
199 AC_ARG_ENABLE(visibility,
200               [AC_HELP_STRING([--disable-visibility],
201                               [don't use ELF visibility attributes])],,
202               [enable_visibility=yes])
203
204 AC_ARG_WITH(xinput,
205             [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
206
207 AC_ARG_WITH(wintab,
208             [AC_HELP_STRING([--with-wintab=DIRECTORY],
209                             [use Wintab API with win32 backend])])
210 AC_ARG_WITH(ie55,
211             [AC_HELP_STRING([--with-ie55=DIRECTORY],
212                             [IE5.5 libs and headers (for Active IMM)])])
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]] select non-default GDK target],
221         gdktarget=$with_gdktarget)
222
223 AC_SUBST(gdktarget)
224 case $gdktarget in
225   x11|linux-fb|win32) ;;
226   *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb 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])
342
343 if test "$os_win32" != yes; then
344     # libtool option to control which symbols are exported
345     # right now, symbols starting with _ are not exported
346     LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
347 else
348     # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
349     LIBTOOL_EXPORT_OPTIONS=
350 fi
351 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
352
353 dnl ******************************************************
354 dnl * See whether to include shared library dependencies *
355 dnl ******************************************************
356
357 AC_ARG_ENABLE(explicit-deps, 
358               [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
359                               [use explicit dependencies in .pc files [default=auto]])],,
360               [enable_explicit_deps=auto])
361
362 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
363 case $enable_explicit_deps in
364   auto)
365     deplib_check_method=`(./libtool --config; echo eval echo \\$deplib_check_method) | sh`
366     if test "X$deplib_check_method" = Xnone || test "x$enable_static" = xyes ; then
367       enable_explicit_deps=yes  
368     else
369       enable_explicit_deps=no  
370     fi
371   ;;
372   yes|no) 
373   ;;
374   *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
375   ;;
376 esac
377 AC_MSG_RESULT($enable_explicit_deps)
378
379 AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
380
381 # define a MAINT-like variable REBUILD which is set if Perl
382 # and awk are found, so autogenerated sources can be rebuilt
383
384 AC_PATH_PROGS(PERL, perl5 perl)
385
386 # We would like indent, but don't require it.
387 AC_CHECK_PROG(INDENT, indent, indent)
388
389 REBUILD=\#
390 if test "x$enable_rebuilds" = "xyes" && \
391      test -n "$PERL" && \
392      $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
393   REBUILD=
394 fi
395 AC_SUBST(REBUILD)
396
397 AC_CHECK_FUNCS(lstat mkstemp flockfile)
398
399 # _NL_TIME_FIRST_WEEKDAY is an enum and not a define
400 AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
401 AC_TRY_LINK([#include <langinfo.h>], [
402 char c;
403 c = *((unsigned char *)  nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
404 ], gtk_ok=yes, gtk_ok=no)
405 AC_MSG_RESULT($gtk_ok)
406 if test "$gtk_ok" = "yes"; then
407   AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
408             [Define if _NL_TIME_FIRST_WEEKDAY is available])
409 fi
410
411 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
412 AC_MSG_CHECKING(for sigsetjmp)
413 AC_TRY_LINK([#include <setjmp.h>], [
414 sigjmp_buf env;
415 sigsetjmp(env, 0);
416 ], gtk_ok=yes, gtk_ok=no)
417 AC_MSG_RESULT($gtk_ok)
418 if test "$gtk_ok" = "yes"; then
419   AC_DEFINE(HAVE_SIGSETJMP)
420 fi
421
422 # i18n stuff
423 # TRANSLATORS:  Please note that gtk+ has both po/ and po-properties/
424 # directories.  If you add a new language to ALL_LINGUAS, please make
425 # sure that both po/ and po-properties/ have .po files that correspond
426 # to your language.  If you only add one to po/, the build will break
427 # in po-properties/.
428 ALL_LINGUAS="af am ar az az_IR be bg bn br bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu ia id is it ja ko li lt lv mi mk ml mn mr ms nb ne nl nn no nso pa pl pt pt_BR ro ru rw sk sl sq sr sr@ije sr@Latn sv ta th tk tr uk uz uz@Latn vi wa xh yi zh_CN zh_TW"
429 AM_GLIB_GNU_GETTEXT
430 LIBS="$LIBS $INTLLIBS"
431 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
432         sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
433       esac])
434
435 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
436
437 dnl The DU4 header files don't provide library prototypes unless 
438 dnl -std1 is given to the native cc.
439 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
440
441 gtk_save_LIBS=$LIBS
442 LIBS="$LIBS -lm"
443 AC_TRY_RUN([#include <math.h>
444              int main (void) { return (log(1) != log(1.)); }],
445      AC_MSG_RESULT(none needed),
446      gtk_save_CFLAGS="$CFLAGS"
447      CFLAGS="$CFLAGS -std1"
448      AC_TRY_RUN([#include <math.h>
449                  int main (void) { return (log(1) != log(1.)); }],
450          AC_MSG_RESULT(-std1),
451          AC_MSG_RESULT()
452          CFLAGS="$gtk_save_CFLAGS"
453          AC_MSG_WARN(
454                 [No ANSI prototypes found in library. (-std1 didn't work.)]),
455          true
456      ),
457      AC_MSG_RESULT(none needed)
458 )
459 LIBS=$gtk_save_LIBS
460
461 AC_MSG_CHECKING(for the BeOS)
462 case $host in
463   *-*-beos*)
464     AC_MSG_RESULT(yes)
465     MATH_LIB=
466   ;;
467   *)
468     AC_MSG_RESULT(no)
469   ;;
470 esac
471
472 dnl NeXTStep cc seems to need this
473 AC_MSG_CHECKING([for extra flags for POSIX compliance])
474 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
475   AC_MSG_RESULT(none needed),
476   gtk_save_CFLAGS="$CFLAGS"
477   CFLAGS="$CFLAGS -posix"
478   AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
479     AC_MSG_RESULT(-posix),
480     AC_MSG_RESULT()
481     CFLAGS="$gtk_save_CFLAGS"
482     AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
483
484 #
485 # Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
486
487
488 GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
489
490 AM_PATH_GLIB_2_0(glib_required_version, :,
491   AC_MSG_ERROR([
492 *** GLIB glib_required_version or better is required. The latest version of 
493 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
494   gobject gmodule-no-export gthread)
495
496 dnl
497 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
498 dnl
499 gtk_save_LIBS=$LIBS
500 LIBS="$LIBS $GLIB_LIBS"
501 AC_CHECK_FUNCS(bind_textdomain_codeset)
502 LIBS=$gtk_save_LIBS
503
504 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
505 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
506 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
507
508 if test "${with_ie55+set}" = set && test $with_ie55 != no; then
509   AC_MSG_CHECKING([for dimm.h])
510   saved_CFLAGS="$CFLAGS"
511   CFLAGS="$CFLAGS -idirafter $with_ie55/Include"
512   AC_TRY_COMPILE([/* The w32api imm.h clashes a bit with the IE5.5 dimm.h */
513 #ifdef __GNUC__
514 #define IMEMENUITEMINFOA hidden_IMEMENUITEMINFOA
515 #define IMEMENUITEMINFOW hidden_IMEMENUITEMINFOW
516 #endif
517 #include <windows.h>
518 #include <objbase.h>
519 #include <imm.h>
520 #ifdef __GNUC__
521 #undef IMEMENUITEMINFOA
522 #undef IMEMENUITEMINFOW
523 #endif
524 #include <dimm.h>
525 ],
526    [],
527    [AC_MSG_RESULT(yes)
528     AC_MSG_CHECKING([for IE55 uuid.lib])
529     if test -f $with_ie55/Lib/uuid.lib ; then
530       AC_MSG_RESULT(yes)
531       have_ie55=yes
532       AC_DEFINE(HAVE_DIMM_H)
533       IE55_UUID_LIB="$with_ie55/Lib/uuid.lib"
534       AC_SUBST(IE55_UUID_LIB)
535     else
536       AC_MSG_RESULT(no)
537       CFLAGS="$saved_CFLAGS"
538       have_ie55=no
539     fi
540     ],
541    [AC_MSG_RESULT(no)
542     CFLAGS="$saved_CFLAGS"
543     have_ie55=no])
544 fi
545 AM_CONDITIONAL(HAVE_IE55, test x$have_ie55 = xyes)
546
547 if test "${with_wintab+set}" = set && test $with_wintab != no; then
548   AC_MSG_CHECKING([for wintab.h])
549   saved_CFLAGS="$CFLAGS"
550   CFLAGS="$CFLAGS -I$with_wintab/include"
551   AC_TRY_COMPILE([#include <windows.h>
552 #include <wintab.h>], 
553    [],
554    [AC_MSG_RESULT(yes)
555     AC_MSG_CHECKING([for wntab32x.lib])
556     if test -f $with_wintab/lib/i386/wntab32x.lib ; then
557       AC_MSG_RESULT(yes)
558       have_wintab=yes
559       AC_DEFINE(HAVE_WINTAB)
560       WINTAB_LIB="$with_wintab/lib/i386/wntab32x.lib"
561       AC_SUBST(WINTAB_LIB)
562     else
563       AC_MSG_RESULT(no)
564       CFLAGS="$saved_cflags"
565       have_wintab=no
566     fi
567     ],
568    [AC_MSG_RESULT(no)
569     CFLAGS="$saved_cflags"
570     have_wintab=no])
571 fi
572 AM_CONDITIONAL(HAVE_WINTAB, test x$have_wintab = xyes)
573
574 saved_cflags="$CFLAGS"
575 saved_ldflags="$LDFLAGS"
576
577
578 # Checks for header files.
579 AC_HEADER_STDC
580
581 # Checks for typedefs, structures, and compiler characteristics.
582 AC_C_CONST
583
584 # Checks for library functions.
585 AC_TYPE_SIGNAL
586 AC_FUNC_MMAP
587
588 AC_CHECK_FUNCS(mallinfo)
589 AC_CHECK_FUNCS(getresuid)
590 AC_TYPE_UID_T
591
592 # Check if <sys/select.h> needs to be included for fd_set
593 AC_MSG_CHECKING([for fd_set])
594 AC_TRY_COMPILE([#include <sys/types.h>],
595         [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
596 if test $gtk_ok = yes; then
597     AC_MSG_RESULT([yes, found in sys/types.h])
598 else
599     AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
600     if test $gtk_ok = yes; then
601         AC_DEFINE(HAVE_SYS_SELECT_H)
602         AC_MSG_RESULT([yes, found in sys/select.h])
603     else
604         AC_DEFINE(NO_FD_SET)
605         AC_MSG_RESULT(no)
606     fi
607 fi
608
609 # `widechar' tests for gdki18n.h
610 AC_MSG_CHECKING(for wchar.h)
611 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
612 if test $gdk_wchar_h = yes; then
613    AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
614 fi
615 AC_MSG_RESULT($gdk_wchar_h)
616
617 # Check for wctype.h (for iswalnum)
618 AC_MSG_CHECKING(for wctype.h)
619 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
620 if test $gdk_wctype_h = yes; then
621    AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
622 fi
623 AC_MSG_RESULT($gdk_wctype_h)
624
625 # in Solaris 2.5, `iswalnum' is in -lw
626 GDK_WLIBS=
627 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
628
629 oLIBS="$LIBS"
630 LIBS="$LIBS $GDK_WLIBS"
631 # The following is necessary for Linux libc-5.4.38
632 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
633 AC_TRY_LINK([#include <stdlib.h>],[
634 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
635 #  ifdef HAVE_WCTYPE_H
636 #    include <wctype.h>
637 #  else
638 #    ifdef HAVE_WCHAR_H
639 #      include <wchar.h>
640 #    endif
641 #  endif
642 #else
643 #  define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
644 #endif
645 iswalnum((wchar_t) 0);
646 ], gdk_working_wctype=yes, gdk_working_wctype=no)
647 LIBS="$oLIBS"
648
649 if test $gdk_working_wctype = no; then
650    AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
651    GDK_WLIBS=
652 fi
653 AC_MSG_RESULT($gdk_working_wctype)
654 AC_SUBST(GDK_WLIBS)
655
656 # Check for uxtheme.h (for MS-Windows Engine)
657 AC_MSG_CHECKING(for uxtheme.h)
658 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
659 if test $gtk_uxtheme_h = yes; then
660    AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
661 fi
662 AC_MSG_RESULT($gtk_uxtheme_h)
663
664
665 ##################################################
666 # Checks for gdk-pixbuf
667 ##################################################
668
669 dnl ********************************************************
670 dnl * See whether we need to load our modules as .la files *
671 dnl ********************************************************
672
673 use_la_modules=false
674 case $host in
675   *-aix*) use_la_modules=true
676 esac
677
678 if $use_la_modules ; then
679    AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
680 fi
681
682
683 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
684
685 AC_ARG_ENABLE(modules,
686               [AC_HELP_STRING([--disable-modules],
687                               [disable dynamic module loading])])
688
689 dynworks=false
690 deps=
691 if test x$enable_modules = xno; then
692     AC_MSG_RESULT(no)
693 else
694     AC_MSG_RESULT(yes)
695     AC_MSG_CHECKING(whether dynamic modules work)
696     ## for loop is to strip newline 
697     tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
698     for I in $tmp; do
699         dynworks=$I
700     done
701
702     dnl Now we check to see if our libtool supports shared lib deps
703     dnl (in a rather ugly way even)
704     if $dynworks; then
705         pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
706         pixbuf_deplibs_check=`$pixbuf_libtool_config | \
707             grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
708             sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
709         if test "x$pixbuf_deplibs_check" = "xnone" || \
710            test "x$pixbuf_deplibs_check" = "xunknown" || \
711            test "x$pixbuf_deplibs_check" = "x"; then
712             dynworks=false
713         fi
714     fi
715
716     if $dynworks; then
717         AC_DEFINE(USE_GMODULE)
718         AC_MSG_RESULT(yes)
719     else
720         AC_MSG_RESULT(no)
721     fi
722 fi
723
724 dnl We allow people to disable image loaders explicitely, but if they don't we error
725 dnl out so that people don't accidentally build without them.
726
727 AC_ARG_WITH(libpng,
728             [AC_HELP_STRING([--without-libpng],
729                             [disable PNG loader for gdk-pixbuf])])
730 AC_ARG_WITH(libjpeg,
731             [AC_HELP_STRING([--without-libjpeg],
732                             [disable JPEG loader for gdk-pixbuf])])
733 AC_ARG_WITH(libtiff,
734             [AC_HELP_STRING([--without-libtiff],
735                             [disable TIFF loader for gdk-pixbuf])])
736
737 dnl Test for libtiff
738   if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
739     AC_CHECK_LIB(tiff, TIFFReadScanline,
740       [AC_CHECK_HEADER(tiffio.h,
741         TIFF='tiff'; LIBTIFF='-ltiff',
742         AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
743       [AC_CHECK_LIB(tiff, TIFFWriteScanline,
744         [AC_CHECK_HEADER(tiffio.h,
745           TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
746           AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
747         [AC_CHECK_LIB(tiff34, TIFFFlushData,
748           [AC_CHECK_HEADER(tiffio.h,
749             TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
750             AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
751         AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
752   fi
753
754   if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
755      AC_MSG_ERROR([
756 *** Checks for TIFF loader failed. You can build without it by passing 
757 *** --without-libtiff to configure but some programs using GTK+ may
758 *** not work properly])
759   fi
760
761 dnl Test for libjpeg
762   if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
763     AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
764       jpeg_ok=yes,
765       jpeg_ok=no
766       AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
767     if test "$jpeg_ok" = yes; then
768       AC_MSG_CHECKING([for jpeglib.h])
769       AC_TRY_CPP(
770 [#include <stdio.h>
771 #undef PACKAGE
772 #undef VERSION
773 #undef HAVE_STDLIB_H
774 #include <jpeglib.h>],
775         jpeg_ok=yes,
776         jpeg_ok=no)
777       AC_MSG_RESULT($jpeg_ok)
778       if test "$jpeg_ok" = yes; then
779         LIBJPEG='-ljpeg'
780         AC_CHECK_LIB(jpeg, jpeg_simple_progression,     
781           AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
782           AC_MSG_WARN(JPEG library does not support progressive saving.))
783       else
784           AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
785       fi
786     fi
787   fi
788
789   if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
790      AC_MSG_ERROR([
791 *** Checks for JPEG loader failed. You can build without it by passing 
792 *** --without-libjpeg to configure but some programs using GTK+ may
793 *** not work properly])
794   fi
795
796 dnl Test for libpng
797   if test x$with_libpng != xno && test -z "$LIBPNG"; then
798     AC_MSG_CHECKING(for libpng12)
799     if $PKG_CONFIG --exists libpng12 ; then
800         AC_MSG_RESULT(yes)
801         PNG='png'
802         PNG_DEP_CFLAGS_PACKAGES=libpng12
803         LIBPNG=`$PKG_CONFIG --libs libpng12`
804     else
805       AC_MSG_RESULT(no)
806       AC_CHECK_LIB(png, png_read_info,
807         [AC_CHECK_HEADER(png.h,
808           png_ok=yes,
809           png_ok=no)],
810         AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
811       if test "$png_ok" = yes; then
812         AC_MSG_CHECKING([for png_structp in png.h])
813         AC_TRY_COMPILE([#include <png.h>],
814           [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
815           png_ok=yes,
816           png_ok=no)
817         AC_MSG_RESULT($png_ok)
818         if test "$png_ok" = yes; then
819           PNG='png'; LIBPNG='-lpng -lz'
820         else
821           AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
822         fi
823       else
824        AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
825       fi
826     fi
827   fi
828
829   if test x$with_libpng != xno && test -z "$LIBPNG"; then
830      AC_MSG_ERROR([
831 *** Checks for PNG loader failed. You can build without it by passing 
832 *** --without-libpng to configure but many programs using GTK+ will
833 *** not work properly. The PNG loader is also needed if you are compiling
834 *** from CVS.])
835   fi
836
837 AC_SUBST(LIBTIFF)
838 AC_SUBST(LIBJPEG)
839 AC_SUBST(LIBPNG)
840
841 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
842
843 #
844 # Allow building some or all gdk-pixbuf loaders included
845 #
846 AC_MSG_CHECKING(pixbuf loaders to build)
847
848 dnl due to an autoconf bug, commas in the first arg to
849 dnl AC_HELP_STRING cause problems.
850 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
851 dnl                [build the specified loaders into gdk-pixbuf (only used if module loading disabled)])
852 AC_ARG_WITH(included_loaders,
853 [  --with-included-loaders=LOADER1,LOADER2,...
854                           build the specified loaders into gdk-pixbuf (only
855                           used if module loading disabled)])
856
857 if $dynworks; then 
858         :
859 else
860    ## if the option was specified, leave it; otherwise disable included loaders
861    if test x$with_included_loaders = xno; then
862            with_included_loaders=yes
863    fi
864 fi
865
866 all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,tga,pcx"
867 included_loaders=""
868 # If no loaders specified, include all
869 if test "x$with_included_loaders" = xyes ; then
870   included_loaders="$all_loaders"
871 else
872   included_loaders="$with_included_loaders"
873 fi
874
875 AC_MSG_RESULT($included_loaders)
876
877 INCLUDED_LOADER_OBJ=
878 INCLUDED_LOADER_DEFINE=
879
880 IFS="${IFS=     }"; gtk_save_ifs="$IFS"; IFS=","
881 for loader in $included_loaders; do
882  if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
883    :
884  else
885    AC_MSG_ERROR([the specified loader $loader does not exist])
886  fi
887
888  INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libpixbufloader-static-$loader.la"
889  INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
890 done
891 IFS="$gtk_save_ifs"
892 AC_SUBST(INCLUDED_LOADER_OBJ)
893 AC_SUBST(INCLUDED_LOADER_DEFINE)
894
895 AC_HEADER_SYS_WAIT
896
897 AC_TYPE_SIGNAL
898
899 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
900 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
901 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
902
903 if $dynworks ; then
904   STATIC_LIB_DEPS=
905   if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
906     STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
907   fi
908   if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
909     STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
910   fi
911   if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
912     STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
913   fi
914 else
915   STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
916 fi
917
918 # Checks to see if we should compile in MMX support (there will be
919 # a runtime test when the code is actually run to see if it should
920 # be used - this just checks if we can compile it.)
921 #
922 # This code is partially taken from Mesa
923 #
924 AC_MSG_CHECKING(for x86 platform)
925 case $host_cpu in
926   i386|i486|i586|i686|i786|k6|k7)
927         use_x86_asm=yes
928         ;;
929    *)
930         use_x86_asm=no
931 esac
932 AC_MSG_RESULT($use_x86_asm)
933
934 use_mmx_asm=no
935 if test $use_x86_asm = yes; then
936     save_ac_ext=$ac_ext
937     ac_ext=S
938     
939     AC_MSG_CHECKING(compiler support for MMX)
940     cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
941     if AC_TRY_EVAL(ac_compile); then
942         use_mmx_asm=yes
943     fi
944
945     rm -rf conftest*
946
947     ac_ext=$save_ac_ext
948     if test $use_mmx_asm = yes; then
949       AC_DEFINE(USE_MMX)
950       AC_MSG_RESULT(yes)
951     else
952       AC_MSG_RESULT(no)
953     fi
954 fi
955
956 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
957
958 REBUILD_PNGS=
959 if test -z "$LIBPNG"; then
960   REBUILD_PNGS=#
961 fi
962
963 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
964
965 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
966
967 if test $cross_compiling = yes; then
968   AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
969   if test x$GDK_PIXBUF_CSOURCE = xno; then
970     REBUILD_PNGS=#
971   fi
972 fi
973
974 if test ! -f $srcdir/gtk/stock-icons/gtkstockpixbufs.h && 
975    test "x$REBUILD_PNGS" = "x#" ; then
976      AC_MSG_ERROR([
977 *** gtkstockpixbufs.h is not in the tree, and cannot be built
978 *** because you don't have libpng, or (when cross-compiling) you 
979 *** don't have a prebuilt gdk-pixbuf-csource on the host system.])
980 fi
981
982 AC_SUBST(REBUILD_PNGS)
983
984 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
985 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB"
986 GDK_PIXBUF_EXTRA_CFLAGS= 
987 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
988 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
989
990 AC_SUBST(GDK_PIXBUF_PACKAGES)
991 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
992 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
993 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
994 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
995
996
997 ########################################
998 # Windowing system checks
999 ########################################
1000
1001 GDK_EXTRA_LIBS=$GDK_WLIBS
1002 GDK_EXTRA_CFLAGS= 
1003 GTK_DEP_LIBS_FOR_X=
1004
1005 FREETYPE_LIBS=
1006 FREETYPE_CFLAGS=
1007 if test "x$gdktarget" = "xlinux-fb" || test "x$gdktarget" = "xx11" ; then
1008   #
1009   # Checks for FreeType
1010   #
1011   have_freetype=false
1012   AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
1013   if test "x$FREETYPE_CONFIG" != "xno" ; then
1014     FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
1015     FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
1016
1017     gtk_save_LIBS="$LIBS"
1018     LIBS="$FREETYPE_LIBS $LIBS"
1019     AC_TRY_LINK_FUNC(FT_New_Face, have_freetype=true,:)
1020     LIBS="$gtk_save_LIBS"
1021
1022     if $have_freetype ; then
1023       gtk_save_cppflags="$CPPFLAGS"
1024       CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
1025
1026       AC_MSG_CHECKING([For sufficiently new FreeType (at least 2.0.1)])
1027       AC_TRY_COMPILE([
1028 #include <ft2build.h>
1029 #include FT_FREETYPE_H
1030 #include FT_ERRORS_H
1031     ],
1032                      [(void)1;],:,have_freetype=false)
1033       if $have_freetype ; then
1034         AC_MSG_RESULT(yes)
1035       else
1036         AC_MSG_RESULT(no)
1037       fi
1038
1039       CPPFLAGS="$gtk_save_cppflags"
1040     fi
1041   fi
1042   AC_SUBST(FREETYPE_LIBS)
1043   AC_SUBST(FREETYPE_CFLAGS)
1044 fi
1045
1046 if test "x$gdktarget" = "xx11"; then
1047   # We start off with the libraries from Pango
1048
1049   ## be sure we also have Pango built with Xft2 support
1050   if $PKG_CONFIG --exists 'pangoxft >= 1.2.0' ; then
1051     if $have_freetype ; then
1052       :
1053     else
1054       AC_MSG_ERROR([Xft Pango backend found but did not find freetype libraries])
1055     fi
1056   else
1057     AC_MSG_ERROR([Xft Pango backend is required for x11 target])
1058   fi
1059
1060   if $PKG_CONFIG --exists xft ; then : ; else
1061     AC_MSG_ERROR([Xft version 2 is required for x11 target])
1062   fi
1063
1064   #
1065   # If Pango included the shared library dependencies from X11 in
1066   # the pkg-config output, then we use that (to avoid duplicates).
1067   # but if they were omitted to avoid binary compatibility problems,
1068   # then we need to repeat the checks.
1069   #
1070   x_libs="`$PKG_CONFIG --libs pangoxft`"
1071   case "$x_libs" in
1072     *-lX11*) pango_omitted_x_deps=no ;;
1073     *)       pango_omitted_x_deps=yes ;;
1074   esac
1075
1076   x_cflags="`$PKG_CONFIG --cflags pangoxft`"
1077   x_extra_libs=
1078
1079   AC_PATH_XTRA
1080   if test x$no_x = xyes ; then
1081     AC_MSG_ERROR([X development libraries not found])
1082   fi
1083   
1084   if test $pango_omitted_x_deps = yes ; then
1085     # Old versions of Xft didn't necessarily include -lX11 in the output
1086     x_libs="`pkg-config --libs xft` -lX11 $X_EXTRA_LIBS"
1087   fi            
1088
1089   ## Strip the .la files
1090  
1091   x_libs_for_checks=""
1092   for I in $x_libs ; do
1093     case $I in 
1094       *.la) ;;
1095       *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1096     esac
1097   done
1098
1099   # Sanity check for the X11 library
1100   AC_CHECK_LIB(X11, XOpenDisplay, :,
1101             AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]),
1102             $x_libs_for_checks)
1103
1104   if test "x$enable_shm" = "xyes"; then
1105     # Check for the Xext library (needed for XShm extention)
1106     AC_CHECK_LIB(Xext, XShmAttach,
1107         [GTK_ADD_LIB(x_extra_libs,Xext)],
1108         # On AIX, it is in XextSam instead, but we still need -lXext
1109         [AC_CHECK_LIB(XextSam, XShmAttach, 
1110             [GTK_ADD_LIB(x_extra_libs,Xext)
1111              GTK_ADD_LIB(x_extra_libs,XextSam)
1112             ], , -lXext $x_libs_for_checks)],
1113         $x_libs_for_checks)
1114   fi
1115
1116   GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1117   # Don't ever pull in the pangoxft libraries for gdk-pixbuf-x11
1118   GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $x_extra_libs $X_EXTRA_LIBS"
1119
1120   # GTK+ uses some X calls, so needs to link against X directly
1121   if test $enable_explicit_deps != yes ; then
1122     GTK_DEP_LIBS_FOR_X="$X_LIBS -lX11 $X_EXTRA_LIBS"
1123   fi
1124
1125   # Check for Xinerama extension (Solaris impl or Xfree impl)
1126
1127   gtk_save_cppflags="$CPPFLAGS"
1128   CPPFLAGS="$CPPFLAGS $x_cflags"
1129
1130   case "$host" in
1131       *-*-solaris*)
1132           # Check for solaris
1133           use_solaris_xinerama=yes
1134           AC_CHECK_LIB(Xext, XineramaGetInfo,
1135                         use_solaris_xinerama=yes, 
1136                         use_solaris_xinerama=no,
1137                         -lXext $x_libs_for_checks)
1138           if test "x$use_solaris_xinerama" = "xyes"; then
1139               AC_CHECK_HEADER(X11/extensions/xinerama.h,
1140                 [GTK_ADD_LIB(x_extra_libs,Xext)
1141                 AC_DEFINE(HAVE_SOLARIS_XINERAMA)
1142                 AC_DEFINE(HAVE_XINERAMA)], 
1143                 use_solaris_xinerama=no,[#include <X11/Xlib.h>])
1144           fi    
1145           AC_MSG_CHECKING(for Xinerama support on Solaris)
1146           AC_MSG_RESULT($use_solaris_xinerama);
1147           ;;
1148       *)
1149           # Check for XFree
1150           use_xfree_xinerama=yes
1151           AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1152               [AC_CHECK_HEADER(X11/extensions/Xinerama.h, 
1153                   [GTK_ADD_LIB(x_extra_libs,Xext)
1154                   GTK_ADD_LIB(x_extra_libs,Xinerama)
1155                   AC_DEFINE(HAVE_XFREE_XINERAMA)
1156                   AC_DEFINE(HAVE_XINERAMA)], 
1157                   use_xfree_xinerama=no,
1158                   [#include <X11/Xlib.h>])],
1159               use_xfree_xinerama=no, -lXext $x_libs_for_checks)
1160           AC_MSG_CHECKING(for Xinerama support on XFree86)
1161           AC_MSG_RESULT($use_xfree_xinerama);       
1162           ;;
1163   esac
1164
1165   CPPFLAGS="$gtk_save_cppflags"
1166
1167   # Check for xReply
1168
1169   gtk_save_cppflags="$CPPFLAGS"
1170   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1171
1172   AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1173   AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1174       [xReply *rep;],
1175       [AC_MSG_RESULT([no])],
1176       [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1177 #include <X11/Xlibint.h>],
1178            [xReply *rep;],
1179            [AC_MSG_RESULT([yes])
1180             AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1181                 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1182            [AC_MSG_RESULT([unknown])
1183             AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1184
1185   CPPFLAGS="$gtk_save_cppflags"
1186
1187   # Check for shaped window extension
1188
1189   AC_CHECK_LIB(Xext, XShapeCombineMask,
1190       [GTK_ADD_LIB(x_extra_libs,Xext)
1191        AC_DEFINE(HAVE_SHAPE_EXT)],
1192       ,
1193       $x_libs_for_checks)
1194
1195   # Check for XConvertCase (X11R6 specific)
1196
1197   AC_CHECK_LIB(X11, XConvertCase,
1198       AC_DEFINE(HAVE_XCONVERTCASE),
1199       ,
1200       $x_libs_for_checks)
1201
1202   # Check for XInternAtoms (X11R6 specific)
1203
1204   AC_CHECK_LIB(X11, XInternAtoms,
1205       AC_DEFINE([HAVE_XINTERNATOMS], 1,
1206           [Define to 1 if you have the `XInternAtoms' function.]),
1207       ,
1208       $x_libs_for_checks)
1209
1210   # Generic X11R6 check needed for XIM support; we could
1211   # probably use this to replace the above, but we'll
1212   # leave the separate checks for XConvertCase and XInternAtoms 
1213   # for clarity
1214   have_x11r6=false
1215   AC_CHECK_LIB(X11, XAddConnectionWatch,
1216       have_x11r6=true,
1217       ,
1218       $x_libs_for_checks)
1219
1220   if $have_x11r6; then
1221     AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
1222   fi
1223   AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1224
1225   # Check for XKB support.
1226
1227   if test "x$enable_xkb" = "xyes"; then
1228         AC_MSG_WARN(XKB support explicitly enabled)
1229         AC_DEFINE(HAVE_XKB)
1230   elif test "x$enable_xkb" = "xmaybe"; then
1231         AC_CHECK_LIB(X11, XkbQueryExtension,
1232                      AC_DEFINE(HAVE_XKB),
1233                      ,
1234                      $x_libs_for_checks)
1235   else
1236         AC_MSG_WARN(XKB support explicitly disabled)
1237   fi
1238
1239   x_cflags="$X_CFLAGS"
1240   x_ldflags="$X_LDFLAGS"
1241
1242   # set up things for XInput
1243
1244   if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
1245     AC_DEFINE(XINPUT_XFREE)
1246     GTK_ADD_LIB(x_extra_libs, Xi)
1247   else
1248     AC_DEFINE(XINPUT_NONE)
1249   fi
1250
1251   AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
1252
1253   # Check for the RANDR extension
1254
1255   AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
1256       [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
1257           # RANDR requires RENDER
1258           [GTK_ADD_LIB(x_extra_libs, Xrender)
1259           GTK_ADD_LIB(x_extra_libs, Xrandr)
1260           AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)],
1261           :, [#include <X11/Xlib.h>])], : ,
1262        $X_LIBS -lXrandr -lXrender -lX11 $X_EXTRA_LIBS)
1263
1264   # Checks for Xcursor library
1265   
1266   have_xcursor=false
1267   PKG_CHECK_MODULES(XCURSOR, xcursor, have_xcursor=true, :)
1268
1269   if $have_xcursor ; then
1270     AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1271     GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags xcursor` $GDK_EXTRA_CFLAGS"
1272     GDK_EXTRA_LIBS="`$PKG_CONFIG --libs xcursor` $GDK_EXTRA_LIBS"
1273   fi
1274
1275   # X SYNC check
1276   AC_CHECK_LIB(Xext, XSyncQueryExtension,
1277       [AC_CHECK_HEADER(X11/extensions/sync.h,
1278           [GTK_ADD_LIB(x_extra_libs, Xext)
1279           AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library)],
1280           :, [#include <X11/Xlib.h>])], : ,
1281        $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
1282
1283   # Checks for XFixes extension
1284   
1285   have_xfixes=false
1286   PKG_CHECK_MODULES(XFIXES, xfixes, have_xfixes=true, :)
1287
1288   if $have_xfixes ; then
1289     AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1290     GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags xfixes` $GDK_EXTRA_CFLAGS"
1291     GDK_EXTRA_LIBS="`$PKG_CONFIG --libs xfixes` $GDK_EXTRA_LIBS"
1292   fi
1293     
1294   # Xshm checks
1295
1296   if test "x$enable_shm" = "xyes"; then
1297     # Check for shared memory
1298     AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
1299     AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
1300
1301     # Check for the X shared memory extension header file
1302     have_xshm=no 
1303     AC_MSG_CHECKING(X11/extensions/XShm.h)
1304     if test "x$no_xext_lib" = "xyes"; then
1305       :
1306     else
1307       gtk_save_CFLAGS="$CFLAGS"
1308       CFLAGS="$CFLAGS $x_cflags"
1309       AC_TRY_COMPILE([
1310 #include <stdlib.h>
1311 #include <sys/types.h>
1312 #include <sys/ipc.h>
1313 #include <sys/shm.h>
1314 #include <X11/Xlib.h>
1315 #include <X11/Xutil.h>
1316 #include <X11/extensions/XShm.h>
1317 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1318       CFLAGS="$gtk_save_CFLAGS"
1319     fi
1320     AC_MSG_RESULT($have_xshm)
1321     if test $have_xshm = yes ; then
1322       AC_DEFINE(HAVE_XSHM_H)
1323     fi
1324   fi
1325
1326   if test $pango_omitted_x_deps = yes ; then
1327     GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $x_libs $GDK_EXTRA_LIBS"
1328   else
1329     GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $GDK_EXTRA_LIBS"
1330   fi
1331
1332   AM_CONDITIONAL(USE_X11, true)
1333 else
1334   AM_CONDITIONAL(XINPUT_XFREE, false)
1335   AM_CONDITIONAL(USE_X11, false)
1336   AM_CONDITIONAL(HAVE_X11R6, false)
1337 fi
1338
1339 if test "x$gdktarget" = "xwin32"; then
1340   # We start off with the libraries from Pango
1341
1342   if test x$have_wintab = xyes; then
1343     GDK_WIN32_EXTRA_CFLAGS="-I $with_wintab/include"
1344     AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
1345   fi
1346
1347   GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -luuid"
1348   AM_CONDITIONAL(USE_WIN32, true)
1349 else
1350   AM_CONDITIONAL(USE_WIN32, false)
1351 fi
1352
1353 GDK_PIXBUF_XLIB_PACKAGES=
1354 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1355 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"
1356
1357 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1358 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1359 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1360 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1361 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1362
1363 if test "x$gdktarget" = "xlinux-fb"; then
1364   if $have_freetype ; then
1365     :
1366   else
1367     AC_MSG_ERROR([Using linux-fb backend but freetype was not found])
1368   fi
1369
1370   ft2_libs="`$PKG_CONFIG --libs pangoft2`"
1371   case "$ft2_libs" in
1372     *-lfreetype*) pango_omitted_ft2_deps=no ;;
1373     *)            pango_omitted_ft2_deps=yes ;;
1374   esac
1375
1376   CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
1377
1378   if test x$enable_shadowfb = xyes ; then
1379     AC_DEFINE(ENABLE_SHADOW_FB)
1380   fi
1381
1382   if test x$enable_fbmanager = xyes ; then
1383     AC_DEFINE(ENABLE_FB_MANAGER)
1384     AM_CONDITIONAL(ENABLE_FB_MANAGER, true)
1385   else
1386     AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1387   fi
1388   
1389   if test $pango_omitted_ft2_deps = yes ; then
1390     GDK_EXTRA_LIBS="$FREETYPE_LIBS $GDK_EXTRA_LIBS"
1391   fi
1392
1393   AM_CONDITIONAL(USE_LINUX_FB, true)
1394 else
1395   AM_CONDITIONAL(USE_LINUX_FB, false)
1396   AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1397 fi
1398
1399 #
1400 # Pick correct Pango packages to use
1401 #
1402
1403 if test "x$gdktarget" = "xx11"; then
1404         PANGO_PACKAGES="pangoxft pangocairo"
1405         
1406         # We no longer use pangox, but if we find it, we link to it 
1407         # for binary compatibility.
1408         if $PKG_CONFIG --exists pangox ; then
1409                 PANGO_PACKAGES="$PANGO_PACKAGES pangox"
1410         fi
1411 elif test "x$gdktarget" = "xwin32"; then
1412         PANGO_PACKAGES="pangowin32 pangocairo"
1413 elif test "x$gdktarget" = "xlinux-fb"; then
1414         PANGO_PACKAGES="pangoft2 pangocairo"
1415 else
1416         PANGO_PACKAGES="pango pangocairo"
1417 fi
1418
1419 # Check for Pango flags
1420
1421 AC_MSG_CHECKING(Pango flags)
1422 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1423         PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1424         PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1425
1426         AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1427 else
1428         AC_MSG_ERROR([
1429 *** Pango not found. Pango built with Cairo support is required
1430 *** to build GTK+. See http://www.pango.org for Pango information.
1431 ])
1432 fi
1433
1434 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1435
1436 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1437         :
1438 else
1439         gtk_save_LIBS="$LIBS"
1440         LIBS="$PANGO_LIBS $LIBS"
1441         AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1442 *** Can't link to Pango. Pango is required to build
1443 *** GTK+. For more information see http://www.pango.org]))
1444         LIBS="$gtk_save_LIBS"
1445 fi
1446
1447 CFLAGS="$saved_cflags"
1448 LDFLAGS="$saved_ldflags"
1449
1450 GDK_PACKAGES="$PANGO_PACKAGES"
1451 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1452 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1453
1454 #
1455 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1456 # into the pkg-config files
1457 #
1458 if test $enable_explicit_deps != yes ; then
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
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 $GDK_PACKAGES $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 AC_SUBST(GTK_PACKAGES)
1505 AC_SUBST(GTK_EXTRA_LIBS)
1506 AC_SUBST(GTK_EXTRA_CFLAGS)
1507 AC_SUBST(GTK_DEP_LIBS)
1508 AC_SUBST(GTK_DEP_CFLAGS)
1509
1510
1511 AC_SUBST(GTK_DEBUG_FLAGS)
1512 AC_SUBST(GTK_XIM_FLAGS)
1513
1514 ########################
1515 # Checks needed for gail
1516 ########################
1517 old_LIBS="$LIBS"
1518 dnl Checks for inet libraries:
1519 AC_SEARCH_LIBS(gethostent, nsl)
1520 AC_SEARCH_LIBS(setsockopt, socket)
1521 AC_SEARCH_LIBS(connect, inet)
1522
1523 dnl check for the sockaddr_un.sun_len member
1524 AC_CHECK_MEMBER([struct sockaddr_un.sun_len],
1525                 [struct_sockaddr_un_sun_len=true],
1526                 [struct_sockaddr_un_suin_len=false],
1527                 [#include <sys/types.h>
1528                  #include <sys/un.h>]
1529                 )
1530 case $struct_sockaddr_un_sun_len in 
1531         true)
1532                 AC_DEFINE_UNQUOTED(HAVE_SOCKADDR_UN_SUN_LEN, 1, Have the sockaddr_un.sun_len member.)
1533                 ;;
1534         *)
1535                 ;;
1536 esac
1537
1538 INET_LIBS="$LIBS"
1539 AC_SUBST(INET_LIBS)
1540
1541 LIBS="$old_LIBS"
1542
1543 GAIL_PACKAGES="atk gtk+-2.0 pango libgnomecanvas-2.0" 
1544 GAIL_DEP_CFLAGS=`$PKG_CONFIG --cflags $GAIL_PACKAGES`
1545 GAIL_DEP_LIBS=`$PKG_CONFIG --libs $GAIL_PACKAGES`
1546
1547 AC_SUBST(GAIL_DEP_CFLAGS)
1548 AC_SUBST(GAIL_DEP_LIBS)
1549
1550 ################################################################
1551 # Strip -export-dynamic from the link lines of various libraries
1552 ################################################################
1553
1554 #
1555 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1556 #  but this flag is only meaningful for executables. For libraries
1557 #  the effect is undefined; what it causes on Linux is that the
1558 #  export list from -export-symbols-regex is ignored and everything
1559 #  is exported
1560 #
1561 # We are using gmodule-no-export now, but I'm leaving the stripping
1562 # code in place for now, since pango and atk still require gmodule.
1563 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1564 if test -n "$export_dynamic"; then
1565   GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1566   GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1567   GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1568   GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1569 fi
1570
1571
1572 ##################################################
1573 # Checks for gtk-doc and docbook-tools
1574 ##################################################
1575
1576 GTK_DOC_CHECK([1.0])
1577
1578 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1579 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1580
1581 AC_ARG_ENABLE(man,
1582               [AC_HELP_STRING([--enable-man],
1583                               [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1584               enable_man=no)
1585
1586 if test "${enable_man}" != no; then
1587   dnl
1588   dnl Check for xsltproc
1589   dnl
1590   AC_PATH_PROG([XSLTPROC], [xsltproc])
1591   if test -z "$XSLTPROC"; then
1592     enable_man=no
1593   fi
1594
1595   dnl check for DocBook DTD and stylesheets in the local catalog.
1596   JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1597      [DocBook XML DTD V4.1.2],,enable_man=no)
1598   JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1599      [DocBook XSL Stylesheets],,enable_man=no)
1600 fi
1601
1602 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1603
1604
1605 ##################################################
1606 # Output commands
1607 ##################################################
1608
1609 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1610         outfile=gdkconfig.h-tmp
1611         cat > $outfile <<\_______EOF
1612 /* gdkconfig.h
1613  *
1614  * This is a generated file.  Please modify `configure.in'
1615  */
1616
1617 #ifndef GDKCONFIG_H
1618 #define GDKCONFIG_H
1619
1620 #ifdef __cplusplus
1621 extern "C" {
1622 #endif /* __cplusplus */
1623
1624 _______EOF
1625
1626         cat >>$outfile <<_______EOF
1627 $gdk_windowing
1628 $gdk_wc
1629 _______EOF
1630
1631         cat >>$outfile <<_______EOF
1632
1633 #ifdef __cplusplus
1634 }
1635 #endif /* __cplusplus */
1636
1637 #endif /* GDKCONFIG_H */
1638 _______EOF
1639
1640
1641         if cmp -s $outfile gdk/gdkconfig.h; then
1642           AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1643           rm -f $outfile
1644         else
1645           mv $outfile gdk/gdkconfig.h
1646         fi
1647 ],[
1648 if test "x$gdktarget" = "xx11" ; then
1649   gdk_windowing='
1650 #define GDK_WINDOWING_X11'
1651 elif test "x$gdktarget" = "xwin32" ; then
1652   gdk_windowing='
1653 #define GDK_WINDOWING_WIN32'
1654 elif test "x$gdktarget" = "xlinux-fb" ; then
1655   gdk_windowing='
1656 #define GDK_WINDOWING_FB
1657 #define GDK_NATIVE_WINDOW_POINTER'
1658 fi
1659
1660 if test x$gdk_wchar_h = xyes; then
1661   gdk_wc='
1662 #define GDK_HAVE_WCHAR_H 1'
1663 fi
1664 if test x$gdk_wctype_h = xyes; then
1665   gdk_wc="\$gdk_wc
1666 #define GDK_HAVE_WCTYPE_H 1"
1667 fi
1668 if test x$gdk_working_wctype = xno; then
1669   gdk_wc="\$gdk_wc
1670 #define GDK_HAVE_BROKEN_WCTYPE 1"
1671 fi
1672
1673
1674 ])
1675
1676 AC_CONFIG_FILES([
1677 config.h.win32
1678 gtk-zip.sh
1679 Makefile
1680 gdk-pixbuf-2.0.pc
1681 gdk-2.0.pc
1682 gtk+-2.0.pc
1683 gail.pc
1684 gdk-pixbuf-2.0-uninstalled.pc
1685 gdk-2.0-uninstalled.pc
1686 gtk+-2.0-uninstalled.pc
1687 gail-uninstalled.pc
1688 m4macros/Makefile
1689 po/Makefile.in
1690 po-properties/Makefile.in
1691 build/Makefile
1692 build/win32/Makefile
1693 build/win32/dirent/Makefile
1694 demos/Makefile
1695 demos/gtk-demo/Makefile
1696 demos/gtk-demo/geninclude.pl
1697 tests/Makefile
1698 docs/Makefile
1699 docs/reference/Makefile
1700 docs/reference/gdk-pixbuf/Makefile
1701 docs/reference/gdk-pixbuf/version.xml
1702 docs/reference/gdk/Makefile
1703 docs/reference/gdk/version.xml
1704 docs/reference/gtk/Makefile
1705 docs/reference/gtk/version.xml
1706 docs/reference/libgail-util/Makefile
1707 docs/faq/Makefile
1708 docs/tools/Makefile
1709 docs/tutorial/Makefile
1710 gdk-pixbuf/Makefile
1711 gdk-pixbuf/gdk_pixbuf.rc
1712 gdk-pixbuf/gdk-pixbuf-features.h
1713 gdk-pixbuf/pixops/Makefile
1714 gdk/Makefile
1715 gdk/x11/Makefile
1716 gdk/win32/Makefile
1717 gdk/win32/rc/Makefile
1718 gdk/win32/rc/gdk.rc
1719 gdk/linux-fb/Makefile
1720 gtk/Makefile
1721 gtk/makefile.msc
1722 gtk/gtkversion.h
1723 gtk/gtk-win32.rc
1724 gtk/stock-icons/Makefile
1725 gtk/theme-bits/Makefile
1726 gtk/xdgmime/Makefile
1727 modules/Makefile
1728 modules/input/Makefile
1729 modules/engines/Makefile
1730 modules/engines/pixbuf/Makefile
1731 modules/engines/ms-windows/Makefile
1732 modules/engines/ms-windows/Theme/Makefile
1733 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1734 modules/other/Makefile
1735 modules/other/gail/Makefile
1736 modules/other/gail/libgail-util/Makefile
1737 contrib/Makefile
1738 contrib/gdk-pixbuf-xlib/Makefile
1739 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
1740 ])
1741
1742 AC_OUTPUT
1743
1744 echo "configuration:
1745         target: $gdktarget"
1746
1747 if test "x$gdktarget" = "xlinux-fb"; then
1748   echo "Warning: The linux-fb GDK target is unmaintained"
1749   echo "         and may not work or even compile"
1750 fi
1751