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