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