]> Pileus Git - ~andy/gtk/blob - configure.in
Build Wintab support always on Windows. Don't require the Wintab SDK.
[~andy/gtk] / configure.in
1 # Process this file with autoconf to produce a configure script.
2 # require autoconf 2.54
3 AC_PREREQ(2.54)
4
5 # Making releases:
6 #   GTK_MICRO_VERSION += 1;
7 #   GTK_INTERFACE_AGE += 1;
8 #   GTK_BINARY_AGE += 1;
9 # if any functions have been added, set GTK_INTERFACE_AGE to 0.
10 # if backwards compatibility has been broken,
11 # set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
12
13 m4_define([gtk_major_version], [2])
14 m4_define([gtk_minor_version], [11])
15 m4_define([gtk_micro_version], [0])
16 m4_define([gtk_version],
17           [gtk_major_version.gtk_minor_version.gtk_micro_version])
18 m4_define([gtk_interface_age], [0])
19 m4_define([gtk_binary_age],
20           [m4_eval(100 * gtk_minor_version + gtk_micro_version)])
21 # This is the X.Y used in -lgtk-FOO-X.Y
22 m4_define([gtk_api_version], [2.0])
23
24 # Define a string for the earliest version that this release has
25 # backwards binary compatibility with for all interfaces a module
26 # might. Unless we add module-only API with lower stability
27 # guarantees, this should be unchanged until we break binary compat
28 # for GTK+.
29 #
30 #GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
31 m4_define([gtk_binary_version], [2.10.0])
32
33 # required versions of other packages
34 m4_define([glib_required_version], [2.12.0])
35 m4_define([pango_required_version], [1.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 bg bn bn_IN br bs ca cs cy da de dz el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ka ko ku li lt lv mi mk ml mn mr ms nb ne nl nn nso or pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk ur uz uz@Latn vi wa xh yi zh_CN zh_HK zh_TW"
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
568 saved_cflags="$CFLAGS"
569 saved_ldflags="$LDFLAGS"
570
571
572 # Checks for header files.
573 AC_HEADER_STDC
574
575 # Checks for typedefs, structures, and compiler characteristics.
576 AC_C_CONST
577
578 # Checks for library functions.
579 AC_TYPE_SIGNAL
580 AC_FUNC_MMAP
581
582 AC_CHECK_FUNCS(mallinfo)
583 AC_CHECK_FUNCS(getresuid)
584 AC_TYPE_UID_T
585
586 # Check if <sys/select.h> needs to be included for fd_set
587 AC_MSG_CHECKING([for fd_set])
588 AC_TRY_COMPILE([#include <sys/types.h>],
589         [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
590 if test $gtk_ok = yes; then
591     AC_MSG_RESULT([yes, found in sys/types.h])
592 else
593     AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
594     if test $gtk_ok = yes; then
595         AC_DEFINE(HAVE_SYS_SELECT_H)
596         AC_MSG_RESULT([yes, found in sys/select.h])
597     else
598         AC_DEFINE(NO_FD_SET)
599         AC_MSG_RESULT(no)
600     fi
601 fi
602
603 # `widechar' tests for gdki18n.h
604 AC_MSG_CHECKING(for wchar.h)
605 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
606 if test $gdk_wchar_h = yes; then
607    AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
608 fi
609 AC_MSG_RESULT($gdk_wchar_h)
610
611 # Check for wctype.h (for iswalnum)
612 AC_MSG_CHECKING(for wctype.h)
613 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
614 if test $gdk_wctype_h = yes; then
615    AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
616 fi
617 AC_MSG_RESULT($gdk_wctype_h)
618
619 # in Solaris 2.5, `iswalnum' is in -lw
620 GDK_WLIBS=
621 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
622
623 oLIBS="$LIBS"
624 LIBS="$LIBS $GDK_WLIBS"
625 # The following is necessary for Linux libc-5.4.38
626 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
627 AC_TRY_LINK([#include <stdlib.h>],[
628 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
629 #  ifdef HAVE_WCTYPE_H
630 #    include <wctype.h>
631 #  else
632 #    ifdef HAVE_WCHAR_H
633 #      include <wchar.h>
634 #    endif
635 #  endif
636 #else
637 #  define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
638 #endif
639 iswalnum((wchar_t) 0);
640 ], gdk_working_wctype=yes, gdk_working_wctype=no)
641 LIBS="$oLIBS"
642
643 if test $gdk_working_wctype = no; then
644    AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
645    GDK_WLIBS=
646 fi
647 AC_MSG_RESULT($gdk_working_wctype)
648 AC_SUBST(GDK_WLIBS)
649
650 # Check for uxtheme.h (for MS-Windows Engine)
651 AC_MSG_CHECKING(for uxtheme.h)
652 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
653 if test $gtk_uxtheme_h = yes; then
654    AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
655 fi
656 AC_MSG_RESULT($gtk_uxtheme_h)
657
658 # Checks for gdkspawn
659 AC_CHECK_HEADERS(crt_externs.h)
660 AC_CHECK_FUNCS(_NSGetEnviron)
661
662
663 ##################################################
664 # Checks for gdk-pixbuf
665 ##################################################
666
667 dnl ********************************************************
668 dnl * See whether we need to load our modules as .la files *
669 dnl ********************************************************
670
671 use_la_modules=false
672 case $host in
673   *-aix*) use_la_modules=true
674 esac
675
676 if $use_la_modules ; then
677    AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
678 fi
679
680
681 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
682
683 AC_ARG_ENABLE(modules,
684               [AC_HELP_STRING([--disable-modules],
685                               [disable dynamic module loading])])
686
687 dynworks=false
688 deps=
689 if test x$enable_modules = xno; then
690     AC_MSG_RESULT(no)
691 else
692     AC_MSG_RESULT(yes)
693     AC_MSG_CHECKING(whether dynamic modules work)
694     ## for loop is to strip newline 
695     tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
696     for I in $tmp; do
697         dynworks=$I
698     done
699
700     dnl Now we check to see if our libtool supports shared lib deps
701     dnl (in a rather ugly way even)
702     if $dynworks; then
703         pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
704         pixbuf_deplibs_check=`$pixbuf_libtool_config | \
705             grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
706             sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
707         if test "x$pixbuf_deplibs_check" = "xnone" || \
708            test "x$pixbuf_deplibs_check" = "xunknown" || \
709            test "x$pixbuf_deplibs_check" = "x"; then
710             dynworks=false
711         fi
712     fi
713
714     if $dynworks; then
715         AC_DEFINE(USE_GMODULE)
716         AC_MSG_RESULT(yes)
717     else
718         AC_MSG_RESULT(no)
719     fi
720 fi
721
722 dnl We allow people to disable image loaders explicitely, but if they don't we error
723 dnl out so that people don't accidentally build without them.
724
725 AC_ARG_WITH(libpng,
726             [AC_HELP_STRING([--without-libpng],
727                             [disable PNG loader for gdk-pixbuf])])
728 AC_ARG_WITH(libjpeg,
729             [AC_HELP_STRING([--without-libjpeg],
730                             [disable JPEG loader for gdk-pixbuf])])
731 AC_ARG_WITH(libtiff,
732             [AC_HELP_STRING([--without-libtiff],
733                             [disable TIFF loader for gdk-pixbuf])])
734
735 dnl Test for libtiff
736   if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
737     AC_CHECK_LIB(tiff, TIFFReadScanline,
738       [AC_CHECK_HEADER(tiffio.h,
739         TIFF='tiff'; LIBTIFF='-ltiff',
740         AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
741       [AC_CHECK_LIB(tiff, TIFFWriteScanline,
742         [AC_CHECK_HEADER(tiffio.h,
743           TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
744           AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
745         [AC_CHECK_LIB(tiff34, TIFFFlushData,
746           [AC_CHECK_HEADER(tiffio.h,
747             TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
748             AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
749         AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
750   fi
751
752   if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
753      AC_MSG_ERROR([
754 *** Checks for TIFF loader failed. You can build without it by passing 
755 *** --without-libtiff to configure but some programs using GTK+ may
756 *** not work properly])
757   fi
758
759 dnl Test for libjpeg
760   if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
761     AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
762       jpeg_ok=yes,
763       jpeg_ok=no
764       AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
765     if test "$jpeg_ok" = yes; then
766       AC_MSG_CHECKING([for jpeglib.h])
767       AC_TRY_CPP(
768 [#include <stdio.h>
769 #undef PACKAGE
770 #undef VERSION
771 #undef HAVE_STDLIB_H
772 #include <jpeglib.h>],
773         jpeg_ok=yes,
774         jpeg_ok=no)
775       AC_MSG_RESULT($jpeg_ok)
776       if test "$jpeg_ok" = yes; then
777         LIBJPEG='-ljpeg'
778         AC_CHECK_LIB(jpeg, jpeg_simple_progression,     
779           AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
780           AC_MSG_WARN(JPEG library does not support progressive saving.))
781       else
782           AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
783       fi
784     fi
785   fi
786
787   if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
788      AC_MSG_ERROR([
789 *** Checks for JPEG loader failed. You can build without it by passing 
790 *** --without-libjpeg to configure but some programs using GTK+ may
791 *** not work properly])
792   fi
793
794 dnl Test for libpng
795   if test x$with_libpng != xno && test -z "$LIBPNG"; then
796     AC_MSG_CHECKING(for libpng12)
797     if $PKG_CONFIG --exists libpng12 ; then
798         AC_MSG_RESULT(yes)
799         PNG='png'
800         PNG_DEP_CFLAGS_PACKAGES=libpng12
801         LIBPNG=`$PKG_CONFIG --libs libpng12`
802     else
803       AC_MSG_RESULT(no)
804       AC_CHECK_LIB(png, png_read_info,
805         [AC_CHECK_HEADER(png.h,
806           png_ok=yes,
807           png_ok=no)],
808         AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
809       if test "$png_ok" = yes; then
810         AC_MSG_CHECKING([for png_structp in png.h])
811         AC_TRY_COMPILE([#include <png.h>],
812           [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
813           png_ok=yes,
814           png_ok=no)
815         AC_MSG_RESULT($png_ok)
816         if test "$png_ok" = yes; then
817           PNG='png'; LIBPNG='-lpng -lz'
818         else
819           AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
820         fi
821       else
822        AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
823       fi
824     fi
825   fi
826
827   if test x$with_libpng != xno && test -z "$LIBPNG"; then
828      AC_MSG_ERROR([
829 *** Checks for PNG loader failed. You can build without it by passing 
830 *** --without-libpng to configure but many programs using GTK+ will
831 *** not work properly. The PNG loader is also needed if you are compiling
832 *** from CVS.])
833   fi
834
835 AC_SUBST(LIBTIFF)
836 AC_SUBST(LIBJPEG)
837 AC_SUBST(LIBPNG)
838
839 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
840
841 #
842 # Allow building some or all gdk-pixbuf loaders included
843 #
844 AC_MSG_CHECKING(pixbuf loaders to build)
845
846 dnl due to an autoconf bug, commas in the first arg to
847 dnl AC_HELP_STRING cause problems.
848 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
849 dnl                [build the specified loaders into gdk-pixbuf])
850 AC_ARG_WITH(included_loaders,
851 [  --with-included-loaders=LOADER1,LOADER2,...
852                           build the specified loaders into gdk-pixbuf])
853
854 if $dynworks; then 
855    :
856 else
857    ## if the option was specified, leave it; otherwise disable included loaders
858    if test x$with_included_loaders = xno; then
859            with_included_loaders=yes
860    fi
861 fi
862
863 all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,xbm,tga,pcx"
864 included_loaders=""
865 # If no loaders specified, include all
866 if test "x$with_included_loaders" = xyes ; then
867   included_loaders="$all_loaders"
868 else
869   included_loaders="$with_included_loaders"
870 fi
871
872 AC_MSG_RESULT($included_loaders)
873
874 INCLUDED_LOADER_OBJ=
875 INCLUDED_LOADER_DEFINE=
876
877 IFS="${IFS=     }"; gtk_save_ifs="$IFS"; IFS=","
878 for loader in $included_loaders; do
879  if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
880    :
881  else
882    AC_MSG_ERROR([the specified loader $loader does not exist])
883  fi
884
885  INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libstatic-pixbufloader-$loader.la"
886  INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
887  eval INCLUDE_$loader=yes
888 done
889 IFS="$gtk_save_ifs"
890 AC_SUBST(INCLUDED_LOADER_OBJ)
891 AC_SUBST(INCLUDED_LOADER_DEFINE)
892
893 AM_CONDITIONAL(INCLUDE_PNG, [test x"$INCLUDE_png" = xyes])
894 AM_CONDITIONAL(INCLUDE_BMP, [test x"$INCLUDE_bmp" = xyes])
895 AM_CONDITIONAL(INCLUDE_WBMP, [test x"$INCLUDE_wbmp" = xyes])
896 AM_CONDITIONAL(INCLUDE_GIF, [test x"$INCLUDE_gif" = xyes])
897 AM_CONDITIONAL(INCLUDE_ICO, [test x"$INCLUDE_ico" = xyes])
898 AM_CONDITIONAL(INCLUDE_ANI, [test x"$INCLUDE_ani" = xyes])
899 AM_CONDITIONAL(INCLUDE_JPEG, [test x"$INCLUDE_jpeg" = xyes])
900 AM_CONDITIONAL(INCLUDE_PNM, [test x"$INCLUDE_pnm" = xyes])
901 AM_CONDITIONAL(INCLUDE_RAS, [test x"$INCLUDE_ras" = xyes])
902 AM_CONDITIONAL(INCLUDE_TIFF, [test x"$INCLUDE_tiff" = xyes])
903 AM_CONDITIONAL(INCLUDE_XPM, [test x"$INCLUDE_xpm" = xyes])
904 AM_CONDITIONAL(INCLUDE_XBM, [test x"$INCLUDE_xbm" = xyes])
905 AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
906 AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
907
908 AC_HEADER_SYS_WAIT
909
910 AC_TYPE_SIGNAL
911
912 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
913 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
914 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
915
916 if $dynworks ; then
917   STATIC_LIB_DEPS=
918   if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
919     STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
920   fi
921   if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
922     STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
923   fi
924   if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
925     STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
926   fi
927 else
928   STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
929 fi
930
931 # Checks to see if we should compile in MMX support (there will be
932 # a runtime test when the code is actually run to see if it should
933 # be used - this just checks if we can compile it.)
934 #
935 # This code is partially taken from Mesa
936 #
937 AC_MSG_CHECKING(for x86 platform)
938 case $host_cpu in
939   i386|i486|i586|i686|i786|k6|k7)
940         use_x86_asm=yes
941         ;;
942    *)
943         use_x86_asm=no
944 esac
945 AC_MSG_RESULT($use_x86_asm)
946
947 use_mmx_asm=no
948 if test $use_x86_asm = yes; then
949     save_ac_ext=$ac_ext
950     ac_ext=S
951     
952     AC_MSG_CHECKING(compiler support for MMX)
953     cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
954     if AC_TRY_EVAL(ac_compile); then
955         use_mmx_asm=yes
956     fi
957
958     rm -rf conftest*
959
960     ac_ext=$save_ac_ext
961     if test $use_mmx_asm = yes; then
962       AC_DEFINE(USE_MMX)
963       AC_MSG_RESULT(yes)
964     else
965       AC_MSG_RESULT(no)
966     fi
967 fi
968
969 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
970
971 REBUILD_PNGS=
972 if test -z "$LIBPNG"; then
973   REBUILD_PNGS=#
974 fi
975
976 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
977
978 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
979
980 if test $cross_compiling = yes; then
981   AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
982   AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
983   if test x$GTK_UPDATE_ICON_CACHE = xno; then
984     REBUILD_PNGS=#
985   fi
986 fi
987
988 if test ! -f $srcdir/gtk/gtkbuiltincache.h && 
989    test "x$REBUILD_PNGS" = "x#" ; then
990      AC_MSG_ERROR([
991 *** gtkbuiltincache.h is not in the tree, and cannot be built
992 *** because you don't have libpng, or (when cross-compiling) you 
993 *** don't have a prebuilt gtk-update-icon-cache on the build system.])
994 fi
995
996 AC_SUBST(REBUILD_PNGS)
997
998 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
999 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB"
1000 GDK_PIXBUF_EXTRA_CFLAGS= 
1001 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1002 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
1003
1004 AC_SUBST(GDK_PIXBUF_PACKAGES)
1005 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
1006 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
1007 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
1008 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
1009
1010
1011 ########################################
1012 # Windowing system checks
1013 ########################################
1014
1015 GDK_PIXBUF_XLIB_PACKAGES=
1016 GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
1017 GDK_PIXBUF_XLIB_EXTRA_LIBS=
1018         
1019 X_PACKAGES=fontconfig
1020 GDK_EXTRA_LIBS="$GDK_WLIBS"
1021 GDK_EXTRA_CFLAGS=
1022         
1023 # GTK+ uses some X calls, so needs to link against X directly
1024 GTK_DEP_PACKAGES_FOR_X=
1025 GTK_DEP_LIBS_FOR_X=
1026
1027 if test "x$gdktarget" = "xx11"; then
1028   #
1029   # We use fontconfig very peripherally when decoding the default
1030   # settings.
1031   #
1032   if $PKG_CONFIG --exists fontconfig; then : ; else
1033     AC_MSG_ERROR([
1034 *** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
1035   fi
1036
1037   #
1038   # Check for basic X packages; we use pkg-config if available
1039   #
1040   if $PKG_CONFIG --exists x11 xext xrender; then
1041     have_base_x_pc=true
1042     X_PACKAGES="$X_PACKAGES x11 xext xrender"
1043     x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
1044     X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
1045     
1046     # Strip out any .la files that pkg-config might give us (this happens
1047     # with -uninstalled.pc files)
1048     x_libs_for_checks=
1049     for I in $x_libs ; do
1050       case $I in 
1051         *.la) ;;
1052         *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1053       esac
1054     done
1055     
1056     GDK_PIXBUF_XLIB_PACKAGES="x11"
1057     GTK_PACKAGES_FOR_X="x11"
1058   else
1059     have_base_x_pc=false
1060     AC_PATH_XTRA
1061     if test x$no_x = xyes ; then
1062       AC_MSG_ERROR([X development libraries not found])
1063     fi
1064     
1065     x_cflags="$X_CFLAGS"
1066     x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
1067
1068     GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1069     GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
1070     GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
1071   fi
1072
1073   # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
1074   x_extra_libs=
1075
1076   gtk_save_cppflags="$CPPFLAGS"
1077   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1078
1079   gtk_save_LIBS=$LIBS
1080   LIBS="$x_libs_for_checks $LIBS"
1081   
1082   # Sanity check for the X11 and Xext libraries. While everything we need from
1083   # Xext is optional, the chances a system has *none* of these things is so
1084   # small that we just unconditionally require it.
1085   AC_CHECK_FUNC(XOpenDisplay, :,
1086                 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
1087   AC_CHECK_FUNC(XextFindDisplay, :,
1088                 AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
1089   AC_CHECK_FUNC(XRenderQueryExtension, :,
1090                 AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
1091
1092   # Check for xReply
1093
1094   AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1095   AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1096       [xReply *rep;],
1097       [AC_MSG_RESULT([no])],
1098       [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1099 #include <X11/Xlibint.h>],
1100            [xReply *rep;],
1101            [AC_MSG_RESULT([yes])
1102             AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1103                 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1104            [AC_MSG_RESULT([unknown])
1105             AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1106
1107   # Check for XConvertCase, XInternAtoms (X11R6 specific)
1108
1109   AC_CHECK_FUNCS(XConvertCase XInternAtoms)
1110
1111   # Generic X11R6 check needed for XIM support; we could
1112   # probably use this to replace the above, but we'll
1113   # leave the separate checks for XConvertCase and XInternAtoms 
1114   # for clarity
1115   
1116   have_x11r6=false
1117   AC_CHECK_FUNC(XAddConnectionWatch,
1118       have_x11r6=true)
1119
1120   if $have_x11r6; then
1121     AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
1122   fi
1123   AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1124
1125   # Check for XKB support.
1126
1127   if test "x$enable_xkb" = "xyes"; then
1128         AC_MSG_WARN(XKB support explicitly enabled)
1129         AC_DEFINE(HAVE_XKB)
1130   elif test "x$enable_xkb" = "xmaybe"; then
1131         AC_CHECK_FUNC(XkbQueryExtension,
1132                       AC_DEFINE(HAVE_XKB))
1133   else
1134         AC_MSG_WARN(XKB support explicitly disabled)
1135   fi
1136
1137   # Check for shaped window extension
1138
1139   AC_CHECK_FUNC(XShapeCombineMask,
1140       AC_DEFINE(HAVE_SHAPE_EXT))
1141
1142   # X SYNC check
1143   gtk_save_CFLAGS="$CFLAGS"
1144   CFLAGS="$CFLAGS $x_cflags"
1145   
1146   AC_CHECK_FUNC(XSyncQueryExtension,
1147       [AC_CHECK_HEADER(X11/extensions/sync.h,
1148           AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
1149           :, [#include <X11/Xlib.h>])])
1150
1151   CFLAGS="$gtk_save_CFLAGS"
1152
1153   # Xshm checks
1154
1155   if test "x$enable_shm" = "xyes"; then
1156      # Check for the XShm extension, normally in Xext
1157      AC_CHECK_FUNC(XShmAttach,
1158         :,
1159         # On AIX, it is in XextSam instead
1160         [AC_CHECK_LIB(XextSam, XShmAttach, 
1161             [GTK_ADD_LIB(x_extra_libs,XextSam)])])
1162   fi    
1163
1164   if test "x$enable_shm" = "xyes"; then
1165     # Check for shared memory
1166     AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
1167     AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
1168
1169     # Check for the X shared memory extension header file
1170     have_xshm=no 
1171     AC_MSG_CHECKING(X11/extensions/XShm.h)
1172     if test "x$no_xext_lib" = "xyes"; then
1173       :
1174     else
1175       gtk_save_CFLAGS="$CFLAGS"
1176       CFLAGS="$CFLAGS $x_cflags"
1177       AC_TRY_COMPILE([
1178 #include <stdlib.h>
1179 #include <sys/types.h>
1180 #include <sys/ipc.h>
1181 #include <sys/shm.h>
1182 #include <X11/Xlib.h>
1183 #include <X11/Xutil.h>
1184 #include <X11/extensions/XShm.h>
1185 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1186       CFLAGS="$gtk_save_CFLAGS"
1187     fi
1188     AC_MSG_RESULT($have_xshm)
1189     if test $have_xshm = yes ; then
1190       AC_DEFINE(HAVE_XSHM_H)
1191     fi
1192   fi
1193
1194   # Check for Xinerama extension (Solaris impl or Xfree impl)
1195
1196   gtk_save_cppflags="$CPPFLAGS"
1197   CPPFLAGS="$CPPFLAGS $x_cflags"
1198   
1199   case "$host" in
1200       *-*-solaris*)
1201           # Check for solaris
1202           AC_MSG_CHECKING(for Xinerama support on Solaris)
1203           
1204           have_solaris_xinerama=false
1205           AC_CHECK_FUNC(XineramaGetInfo,
1206               [AC_CHECK_HEADER(X11/extensions/xinerama.h,
1207                   [have_solaris_xinerama=true], :,
1208                   [#include <X11/Xlib.h>])])
1209                 
1210           if $have_solaris_xinerama ; then
1211             AC_DEFINE(HAVE_SOLARIS_XINERAMA)
1212             AC_DEFINE(HAVE_XINERAMA) 
1213             AC_MSG_RESULT(yes)
1214           else
1215             AC_MSG_RESULT(no)
1216           fi
1217           ;;
1218       *)
1219           # Check for XFree
1220           AC_MSG_CHECKING(for Xinerama support on XFree86)
1221           
1222           have_xfree_xinerama=false
1223           if $PKG_CONFIG --exists xinerama ; then
1224              have_xfree_xinerama=true
1225              X_PACKAGES="$X_PACKAGES xinerama"
1226           else    
1227               AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1228                   [AC_CHECK_HEADER(X11/extensions/Xinerama.h, 
1229                       [GTK_ADD_LIB(x_extra_libs,Xinerama)
1230                       have_xfree_xinerama=true], :,
1231                       [#include <X11/Xlib.h>])])
1232           fi
1233
1234           if $have_xfree_xinerama ; then
1235             AC_DEFINE(HAVE_XFREE_XINERAMA)
1236             AC_DEFINE(HAVE_XINERAMA) 
1237             AC_MSG_RESULT(yes)
1238          else
1239             AC_MSG_RESULT(no)
1240          fi
1241          ;;
1242   esac
1243
1244   # set up things for XInput
1245
1246   if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
1247     AC_DEFINE(XINPUT_XFREE)
1248     
1249     if $PKG_CONFIG --exists xi ; then
1250       X_PACKAGES="$X_PACKAGES xi"
1251     else
1252       GTK_ADD_LIB(x_extra_libs, Xi)
1253     fi
1254   else
1255     AC_DEFINE(XINPUT_NONE)
1256   fi
1257
1258   AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
1259
1260   # Check for the RANDR extension
1261
1262   have_randr=false
1263   if $PKG_CONFIG --exists xrandr ; then
1264     have_randr=true
1265     X_PACKAGES="$X_PACKAGES xrandr"
1266   else    
1267     AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
1268        [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
1269           # RANDR requires RENDER
1270           [have_randr=true
1271           GTK_ADD_LIB(x_extra_libs, Xrender)
1272           GTK_ADD_LIB(x_extra_libs, Xrandr)],
1273           :, [#include <X11/Xlib.h>])])
1274   fi
1275
1276   if $have_randr ; then
1277      AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
1278   fi
1279        
1280   # Checks for Xcursor library
1281   
1282   if $PKG_CONFIG --exists xcursor ; then
1283     AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1284     
1285     X_PACKAGES="$X_PACKAGES xcursor"
1286   fi
1287
1288   # Checks for XFixes extension
1289   
1290   if $PKG_CONFIG --exists xfixes ; then
1291     AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1292     
1293     X_PACKAGES="$X_PACKAGES xfixes"
1294     GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
1295   fi
1296
1297   if $have_base_x_pc ; then
1298     GDK_EXTRA_LIBS="$x_extra_libs"
1299   else
1300     GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
1301   fi
1302
1303   CPPFLAGS="$gtk_save_cppflags"
1304   LIBS="$gtk_save_libs"
1305
1306   AM_CONDITIONAL(USE_X11, true)
1307 else
1308   AM_CONDITIONAL(XINPUT_XFREE, false)
1309   AM_CONDITIONAL(USE_X11, false)
1310   AM_CONDITIONAL(HAVE_X11R6, false)
1311 fi
1312
1313 if test "x$gdktarget" = "xwin32"; then
1314   GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -Wl,-luuid"
1315   AM_CONDITIONAL(USE_WIN32, true)
1316 else
1317   AM_CONDITIONAL(USE_WIN32, false)
1318 fi
1319
1320 if test "x$gdktarget" = "xquartz"; then
1321   GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
1322   AM_CONDITIONAL(USE_QUARTZ, true)
1323 else
1324   AM_CONDITIONAL(USE_QUARTZ, false)
1325 fi
1326
1327 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1328 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"
1329
1330 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1331 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1332 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1333 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1334 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1335
1336 if test "x$gdktarget" = "xlinux-fb"; then
1337   if test x$enable_shadowfb = xyes ; then
1338     AC_DEFINE(ENABLE_SHADOW_FB)
1339   fi
1340
1341   if test x$enable_fbmanager = xyes ; then
1342     AC_DEFINE(ENABLE_FB_MANAGER)
1343     AM_CONDITIONAL(ENABLE_FB_MANAGER, true)
1344   else
1345     AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1346   fi
1347   
1348   AM_CONDITIONAL(USE_LINUX_FB, true)
1349 else
1350   AM_CONDITIONAL(USE_LINUX_FB, false)
1351   AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1352 fi
1353
1354 if test "x$gdktarget" = "xdirectfb"; then
1355   DIRECTFB_REQUIRED_VERSION=0.9.24
1356   AC_MSG_CHECKING(for DirectFB)
1357
1358   if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
1359       AC_MSG_RESULT(found)
1360       GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
1361       GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
1362   else
1363       AC_MSG_ERROR([
1364 *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend 
1365 *** are required. The latest version of DirectFB is always available 
1366 *** from http://www.directfb.org/.
1367   ])
1368   fi
1369
1370   AM_CONDITIONAL(USE_DIRECTFB, true)
1371 else
1372   AM_CONDITIONAL(USE_DIRECTFB, false)
1373 fi
1374
1375
1376 # Check for Pango flags
1377
1378 if test "x$gdktarget" = "xwin32"; then
1379         PANGO_PACKAGES="pangowin32 pangocairo"
1380 else
1381         PANGO_PACKAGES="pango pangocairo"
1382 fi
1383
1384 AC_MSG_CHECKING(Pango flags)
1385 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1386         PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1387         PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1388
1389         AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1390 else
1391         AC_MSG_ERROR([
1392 *** Pango not found. Pango built with Cairo support is required
1393 *** to build GTK+. See http://www.pango.org for Pango information.
1394 ])
1395 fi
1396
1397 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1398
1399 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1400         :
1401 else
1402         gtk_save_LIBS="$LIBS"
1403         LIBS="$PANGO_LIBS $LIBS"
1404         AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1405 *** Can't link to Pango. Pango is required to build
1406 *** GTK+. For more information see http://www.pango.org]))
1407         LIBS="$gtk_save_LIBS"
1408 fi
1409
1410 CFLAGS="$saved_cflags"
1411 LDFLAGS="$saved_ldflags"
1412
1413 GDK_PACKAGES="$PANGO_PACKAGES"
1414 if test "x$gdktarget" = "xx11"; then
1415   GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
1416 fi
1417 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1418 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags  gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1419
1420 #
1421 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1422 # into the pkg-config files
1423 #
1424 if test $enable_explicit_deps != yes ; then
1425   GDK_PACKAGES="$PANGO_PACKAGES"
1426   GDK_EXTRA_LIBS=
1427 fi
1428
1429 AC_SUBST(GDK_PACKAGES)
1430 AC_SUBST(GDK_EXTRA_LIBS)
1431 AC_SUBST(GDK_EXTRA_CFLAGS)
1432 AC_SUBST(GDK_DEP_LIBS)
1433 AC_SUBST(GDK_DEP_CFLAGS)
1434
1435
1436 ########################################
1437 # Check for Accessibility Toolkit flags
1438 ########################################
1439
1440 ATK_PACKAGES=atk
1441 AC_MSG_CHECKING(ATK flags)
1442 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1443         ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1444         ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1445
1446         AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1447 else
1448         AC_MSG_ERROR([
1449 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1450 *** to build GTK+.
1451 ])
1452 fi
1453
1454 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1455         :
1456 else
1457         gtk_save_LIBS="$LIBS"
1458         LIBS="$ATK_LIBS $LIBS"
1459         AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1460                 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1461                 *** to build GTK+]))
1462         LIBS="$gtk_save_LIBS"
1463 fi
1464
1465 GTK_PACKAGES="atk cairo"
1466 GTK_EXTRA_LIBS=
1467 GTK_EXTRA_CFLAGS= 
1468 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"
1469 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"
1470
1471 if test x"$os_win32" = xyes; then
1472   GTK_EXTRA_CFLAGS="$msnative_struct"
1473 fi
1474
1475 AC_SUBST(GTK_PACKAGES)
1476 AC_SUBST(GTK_EXTRA_LIBS)
1477 AC_SUBST(GTK_EXTRA_CFLAGS)
1478 AC_SUBST(GTK_DEP_LIBS)
1479 AC_SUBST(GTK_DEP_CFLAGS)
1480
1481
1482 AC_SUBST(GTK_DEBUG_FLAGS)
1483 AC_SUBST(GTK_XIM_FLAGS)
1484
1485 ################################################################
1486 # Printing system checks
1487 ################################################################
1488
1489 AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
1490 if test "x$CUPS_CONFIG" != "xno"; then
1491   CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
1492   CUPS_LIBS=`cups-config --libs`
1493
1494   CUPS_API_VERSION=`cups-config --api-version`
1495   CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
1496   CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
1497
1498   if test $CUPS_API_MAJOR -gt 1 -o \
1499           $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
1500     AC_DEFINE(HAVE_CUPS_API_1_2)
1501   fi
1502
1503   AC_SUBST(CUPS_API_MAJOR)
1504   AC_SUBST(CUPS_API_MINOR)
1505   AC_SUBST(CUPS_CFLAGS)
1506   AC_SUBST(CUPS_LIBS)
1507 fi
1508 AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
1509
1510 gtk_save_cppflags="$CPPFLAGS"
1511 CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
1512                           
1513 AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
1514 *** Can't find cairo-pdf.h. You must build Cairo with the pdf
1515 *** backend enabled.]))
1516
1517 if test "$os_win32" != "yes"; then
1518   AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
1519 *** Can't find cairo-ps.h. You must build Cairo with the 
1520 *** postscript backend enabled.]))
1521 fi   
1522
1523 CPPFLAGS="$gtk_save_cppflags"
1524      
1525                                 
1526 ################################################################
1527 # Strip -export-dynamic from the link lines of various libraries
1528 ################################################################
1529
1530 #
1531 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1532 #  but this flag is only meaningful for executables. For libraries
1533 #  the effect is undefined; what it causes on Linux is that the
1534 #  export list from -export-symbols-regex is ignored and everything
1535 #  is exported
1536 #
1537 # We are using gmodule-no-export now, but I'm leaving the stripping
1538 # code in place for now, since pango and atk still require gmodule.
1539 export SED
1540 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1541 if test -n "$export_dynamic"; then
1542   GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1543   GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1544   GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1545   GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1546 fi
1547
1548
1549 ##################################################
1550 # Checks for gtk-doc and docbook-tools
1551 ##################################################
1552
1553 GTK_DOC_CHECK([1.4])
1554
1555 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1556 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1557
1558 AC_ARG_ENABLE(man,
1559               [AC_HELP_STRING([--enable-man],
1560                               [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1561               enable_man=no)
1562
1563 if test "${enable_man}" != no; then
1564   dnl
1565   dnl Check for xsltproc
1566   dnl
1567   AC_PATH_PROG([XSLTPROC], [xsltproc])
1568   if test -z "$XSLTPROC"; then
1569     enable_man=no
1570   fi
1571
1572   dnl check for DocBook DTD and stylesheets in the local catalog.
1573   JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1574      [DocBook XML DTD V4.1.2],,enable_man=no)
1575   JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1576      [DocBook XSL Stylesheets],,enable_man=no)
1577 fi
1578
1579 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1580
1581
1582 ##################################################
1583 # Output commands
1584 ##################################################
1585
1586 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1587         outfile=gdkconfig.h-tmp
1588         cat > $outfile <<\_______EOF
1589 /* gdkconfig.h
1590  *
1591  * This is a generated file.  Please modify `configure.in'
1592  */
1593
1594 #ifndef GDKCONFIG_H
1595 #define GDKCONFIG_H
1596
1597 #ifdef __cplusplus
1598 extern "C" {
1599 #endif /* __cplusplus */
1600
1601 _______EOF
1602
1603         cat >>$outfile <<_______EOF
1604 $gdk_windowing
1605 $gdk_wc
1606 _______EOF
1607
1608         cat >>$outfile <<_______EOF
1609
1610 #ifdef __cplusplus
1611 }
1612 #endif /* __cplusplus */
1613
1614 #endif /* GDKCONFIG_H */
1615 _______EOF
1616
1617
1618         if cmp -s $outfile gdk/gdkconfig.h; then
1619           AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1620           rm -f $outfile
1621         else
1622           mv $outfile gdk/gdkconfig.h
1623         fi
1624 ],[
1625 if test "x$gdktarget" = "xx11" ; then
1626   gdk_windowing='
1627 #define GDK_WINDOWING_X11'
1628 elif test "x$gdktarget" = "xwin32" ; then
1629   gdk_windowing='
1630 #define GDK_WINDOWING_WIN32'
1631 elif test "x$gdktarget" = "xlinux-fb" ; then
1632   gdk_windowing='
1633 #define GDK_WINDOWING_FB
1634 #define GDK_NATIVE_WINDOW_POINTER'
1635 elif test "x$gdktarget" = "xquartz" ; then
1636   gdk_windowing='
1637 #define GDK_WINDOWING_QUARTZ'
1638 elif test "x$gdktarget" = "xdirectfb" ; then
1639   gdk_windowing='
1640 #define GDK_WINDOWING_DIRECTFB'
1641 fi
1642
1643 if test x$gdk_wchar_h = xyes; then
1644   gdk_wc='
1645 #define GDK_HAVE_WCHAR_H 1'
1646 fi
1647 if test x$gdk_wctype_h = xyes; then
1648   gdk_wc="\$gdk_wc
1649 #define GDK_HAVE_WCTYPE_H 1"
1650 fi
1651 if test x$gdk_working_wctype = xno; then
1652   gdk_wc="\$gdk_wc
1653 #define GDK_HAVE_BROKEN_WCTYPE 1"
1654 fi
1655
1656
1657 ])
1658
1659 AC_CONFIG_FILES([
1660 config.h.win32
1661 gtk-zip.sh
1662 Makefile
1663 gdk-pixbuf-2.0.pc
1664 gdk-2.0.pc
1665 gtk+-2.0.pc
1666 gtk+-unix-print-2.0.pc
1667 gdk-pixbuf-2.0-uninstalled.pc
1668 gdk-2.0-uninstalled.pc
1669 gtk+-2.0-uninstalled.pc
1670 m4macros/Makefile
1671 po/Makefile.in
1672 po-properties/Makefile.in
1673 demos/Makefile
1674 demos/gtk-demo/Makefile
1675 demos/gtk-demo/geninclude.pl
1676 tests/Makefile
1677 docs/Makefile
1678 docs/reference/Makefile
1679 docs/reference/gdk-pixbuf/Makefile
1680 docs/reference/gdk-pixbuf/version.xml
1681 docs/reference/gdk/Makefile
1682 docs/reference/gdk/version.xml
1683 docs/reference/gtk/Makefile
1684 docs/reference/gtk/version.xml
1685 docs/faq/Makefile
1686 docs/tools/Makefile
1687 docs/tutorial/Makefile
1688 gdk-pixbuf/Makefile
1689 gdk-pixbuf/gdk_pixbuf.rc
1690 gdk-pixbuf/gdk-pixbuf-features.h
1691 gdk-pixbuf/pixops/Makefile
1692 gdk/Makefile
1693 gdk/x11/Makefile
1694 gdk/win32/Makefile
1695 gdk/win32/rc/Makefile
1696 gdk/win32/rc/gdk.rc
1697 gdk/linux-fb/Makefile
1698 gdk/quartz/Makefile
1699 gdk/directfb/Makefile
1700 gtk/Makefile
1701 gtk/makefile.msc
1702 gtk/gtkversion.h
1703 gtk/gtk-win32.rc
1704 gtk/theme-bits/Makefile
1705 gtk/xdgmime/Makefile
1706 modules/Makefile
1707 modules/input/Makefile
1708 modules/engines/Makefile
1709 modules/engines/pixbuf/Makefile
1710 modules/engines/ms-windows/Makefile
1711 modules/engines/ms-windows/Theme/Makefile
1712 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1713 modules/printbackends/Makefile
1714 modules/printbackends/cups/Makefile
1715 modules/printbackends/lpr/Makefile
1716 modules/printbackends/file/Makefile
1717 perf/Makefile
1718 contrib/Makefile
1719 contrib/gdk-pixbuf-xlib/Makefile
1720 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
1721 ])
1722
1723 AC_OUTPUT
1724
1725 echo "configuration:
1726         target: $gdktarget"
1727
1728 if test "x$gdktarget" = "xlinux-fb"; then
1729   echo "Warning: The linux-fb GDK target is unmaintained"
1730   echo "         and may not work or even compile"
1731 fi
1732