1 # Process this file with autoconf to produce a configure script.
2 # require autoconf 2.54
6 # GTK_MICRO_VERSION += 1;
7 # GTK_INTERFACE_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.
13 m4_define([gtk_major_version], [2])
14 m4_define([gtk_minor_version], [11])
15 m4_define([gtk_micro_version], [5])
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])
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
30 #GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
31 m4_define([gtk_binary_version], [2.10.0])
33 # required versions of other packages
34 m4_define([glib_required_version], [2.13.5])
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])
40 AC_INIT([gtk+], [gtk_version],
41 [http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B],
44 AC_CONFIG_SRCDIR([gdk/gdktypes.h])
46 # Save this value here, since automake will set cflags later
47 cflags_set=${CFLAGS+set}
49 AM_INIT_AUTOMAKE(no-define)
50 AM_CONFIG_HEADER(config.h)
53 # For each of the libraries we build, we define the following
55 # substituted variables:
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
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)
79 AC_SUBST(GTK_BINARY_VERSION)
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`
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)
98 # gdk-pixbuf gets versioned separately, and for now, using standard
99 # libtool versioning, not GTK+-style versioning
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)
110 GETTEXT_PACKAGE=gtk20
111 AC_SUBST(GETTEXT_PACKAGE)
112 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE")
117 AC_MSG_CHECKING([for native Win32])
127 AC_MSG_RESULT([$os_win32])
134 dnl Initialize libtool
139 dnl Check for a working C++ compiler, but do not bail out, if none is found.
140 dnl We use this for an automated test for C++ header correctness.
142 AC_CHECK_PROGS(CXX, [$CCC c++ g++ gcc CC cxx cc++ cl], gcc)
145 AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=)
146 AM_CONDITIONAL(HAVE_CXX, test "$CXX" != "")
149 if test "$os_win32" = "yes"; then
150 if test x$enable_static = xyes -o x$enable_static = x; then
151 AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.])
154 if test x$enable_shared = xno; then
155 AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.])
163 # Make sure we use 64-bit versions of various file stuff.
167 AC_PATH_PROG(NM, nm, nm)
169 dnl Initialize maintainer mode
172 AC_MSG_CHECKING([for some Win32 platform])
174 *-*-mingw*|*-*-cygwin*)
181 AC_MSG_RESULT([$platform_win32])
182 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
184 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
185 AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
186 AM_CONDITIONAL(OS_LINUX, test "$os_linux" = "yes")
188 if test "$os_win32" = "yes"; then
189 AC_CHECK_TOOL(WINDRES, windres, no)
190 if test "$WINDRES" = no; then
191 AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.])
193 AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
195 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
197 m4_define([debug_default],
198 m4_if(m4_eval(gtk_minor_version % 2), [1], [yes], [minimum]))
200 dnl declare --enable-* args and collect ac_help strings
202 AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
203 [turn on debugging @<:@default=debug_default@:>@]),,
204 enable_debug=debug_default)
206 [AC_HELP_STRING([--enable-shm],
207 [support shared memory if available [default=yes]])],,
210 [AC_HELP_STRING([--enable-xkb],
211 [support XKB [default=maybe]])],,
212 [enable_xkb="maybe"])
213 AC_ARG_ENABLE(xinerama,
214 [AC_HELP_STRING([--enable-xinerama],
215 [support xinerama extension if available [default=yes]])],,
216 [enable_xinerama="yes"])
217 AC_ARG_ENABLE(rebuilds,
218 [AC_HELP_STRING([--disable-rebuilds],
219 [disable all source autogeneration rules])],,
220 [enable_rebuilds=yes])
221 AC_ARG_ENABLE(visibility,
222 [AC_HELP_STRING([--disable-visibility],
223 [don't use ELF visibility attributes])],,
224 [enable_visibility=yes])
227 [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
229 if test "$platform_win32" = yes; then
235 AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target],
236 gdktarget=$with_gdktarget)
240 x11|win32|quartz|directfb) ;;
241 *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);;
244 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
245 gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
247 AC_SUBST(gdktargetlib)
248 AC_SUBST(gtktargetlib)
250 if test "x$enable_debug" = "xyes"; then
251 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
252 GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES"
254 if test "x$enable_debug" = "xno"; then
255 GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
257 GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
262 if test "x$enable_visibility" = "xno"; then
263 GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
267 AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
270 # Build time sanity check...
273 # Checks for programs.
280 if test "x$GCC" = "xyes"; then
282 *[\ \ ]-Wall[\ \ ]*) ;;
283 *) CFLAGS="$CFLAGS -Wall" ;;
286 if test "x$enable_ansi" = "xyes"; then
288 *[\ \ ]-ansi[\ \ ]*) ;;
289 *) CFLAGS="$CFLAGS -ansi" ;;
293 *[\ \ ]-pedantic[\ \ ]*) ;;
294 *) CFLAGS="$CFLAGS -pedantic" ;;
300 # Ensure MSVC-compatible struct packing convention is used when
301 # compiling for Win32 with gcc.
302 # What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
303 # gcc2 uses "-fnative-struct".
304 if test x"$os_win32" = xyes; then
305 if test x"$GCC" = xyes; then
307 AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
308 if test -z "$ac_cv_prog_CC"; then
311 our_gcc="$ac_cv_prog_CC"
313 case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
315 if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
316 msnative_struct='-fnative-struct'
320 if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
321 msnative_struct='-mms-bitfields'
325 if test x"$msnative_struct" = x ; then
326 AC_MSG_RESULT([no way])
327 AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
329 CFLAGS="$CFLAGS $msnative_struct"
330 AC_MSG_RESULT([${msnative_struct}])
335 # Honor aclocal flags
336 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
338 ## Initial sanity check, done here so that users get told they
339 ## have the wrong dependencies as early in the process as possible.
340 ## Later on we actually use the cflags/libs from separate pkg-config
341 ## calls. Oh, also the later pkg-config calls don't include
342 ## the version requirements since those make the module lists
343 ## annoying to construct
344 PKG_CHECK_MODULES(BASE_DEPENDENCIES,
345 [glib-2.0 >= glib_required_version dnl
346 atk >= atk_required_version dnl
347 pango >= pango_required_version dnl
348 cairo >= cairo_required_version])
350 if test "$os_win32" != yes; then
351 # libtool option to control which symbols are exported
352 # right now, symbols starting with _ are not exported
353 LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
355 # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
356 LIBTOOL_EXPORT_OPTIONS=
358 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
360 dnl ******************************************************
361 dnl * See whether to include shared library dependencies *
362 dnl ******************************************************
364 AC_ARG_ENABLE(explicit-deps,
365 [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
366 [use explicit dependencies in .pc files [default=auto]])],,
367 [enable_explicit_deps=auto])
369 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
370 case $enable_explicit_deps in
373 deplibs_check_method=`(./libtool --config; echo 'eval echo $deplibs_check_method') | sh`
374 if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
375 enable_explicit_deps=yes
377 enable_explicit_deps=no
382 *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
385 AC_MSG_RESULT($enable_explicit_deps)
387 AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
389 # define a MAINT-like variable REBUILD which is set if Perl
390 # and awk are found, so autogenerated sources can be rebuilt
392 AC_PATH_PROGS(PERL, perl5 perl)
394 # We would like indent, but don't require it.
395 AC_CHECK_PROG(INDENT, indent, indent)
398 if test "x$enable_rebuilds" = "xyes" && \
400 $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
405 AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked)
407 # _NL_TIME_FIRST_WEEKDAY is an enum and not a define
408 AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
409 AC_TRY_LINK([#include <langinfo.h>], [
411 c = *((unsigned char *) nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
412 ], gtk_ok=yes, gtk_ok=no)
413 AC_MSG_RESULT($gtk_ok)
414 if test "$gtk_ok" = "yes"; then
415 AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
416 [Define if _NL_TIME_FIRST_WEEKDAY is available])
419 # _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
420 AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
421 AC_TRY_LINK([#include <langinfo.h>], [
423 c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
424 ], gtk_ok=yes, gtk_ok=no)
425 AC_MSG_RESULT($gtk_ok)
426 if test "$gtk_ok" = "yes"; then
427 AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1],
428 [Define if _NL_MEASUREMENT_MEASUREMENT is available])
431 # _NL_PAPER_HEIGHT is an enum and not a define
432 AC_MSG_CHECKING([for _NL_PAPER_HEIGHT])
433 AC_TRY_LINK([#include <langinfo.h>], [
435 c = *((unsigned char *) nl_langinfo(_NL_PAPER_HEIGHT));
436 ], gtk_ok=yes, gtk_ok=no)
437 AC_MSG_RESULT($gtk_ok)
438 if test "$gtk_ok" = "yes"; then
439 AC_DEFINE([HAVE__NL_PAPER_HEIGHT], [1],
440 [Define if _NL_PAPER_HEIGHT is available])
443 # _NL_PAPER_WIDTH is an enum and not a define
444 AC_MSG_CHECKING([for _NL_PAPER_WIDTH])
445 AC_TRY_LINK([#include <langinfo.h>], [
447 c = *((unsigned char *) nl_langinfo(_NL_PAPER_WIDTH));
448 ], gtk_ok=yes, gtk_ok=no)
449 AC_MSG_RESULT($gtk_ok)
450 if test "$gtk_ok" = "yes"; then
451 AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1],
452 [Define if _NL_PAPER_WIDTH is available])
455 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
456 AC_MSG_CHECKING(for sigsetjmp)
457 AC_TRY_LINK([#include <setjmp.h>], [
460 ], gtk_ok=yes, gtk_ok=no)
461 AC_MSG_RESULT($gtk_ok)
462 if test "$gtk_ok" = "yes"; then
463 AC_DEFINE(HAVE_SIGSETJMP)
467 # TRANSLATORS: Please note that gtk+ has both po/ and po-properties/
468 # directories. If you add a new language to ALL_LINGUAS, please make
469 # sure that both po/ and po-properties/ have .po files that correspond
470 # to your language. If you only add one to po/, the build will break
472 ALL_LINGUAS="af am ang ar az az_IR be be@latin bg bn bn_IN br bs ca cs cy da de dz el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ka ko ku li lt lv mi mk ml mn mr ms nb ne nl nn nso or pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk ur uz uz@Latn vi wa xh yi zh_CN zh_HK zh_TW"
474 LIBS="$LIBS $INTLLIBS"
475 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
476 sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
479 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
481 dnl The DU4 header files don't provide library prototypes unless
482 dnl -std1 is given to the native cc.
483 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
487 AC_TRY_RUN([#include <math.h>
488 int main (void) { return (log(1) != log(1.)); }],
489 AC_MSG_RESULT(none needed),
490 gtk_save_CFLAGS="$CFLAGS"
491 CFLAGS="$CFLAGS -std1"
492 AC_TRY_RUN([#include <math.h>
493 int main (void) { return (log(1) != log(1.)); }],
494 AC_MSG_RESULT(-std1),
496 CFLAGS="$gtk_save_CFLAGS"
498 [No ANSI prototypes found in library. (-std1 didn't work.)]),
501 AC_MSG_RESULT(none needed)
505 AC_MSG_CHECKING(for the BeOS)
519 AC_MSG_CHECKING(for HP-UX)
521 hpux9* | hpux10* | hpux11*)
523 CFLAGS="$CFLAGS -DHPPEX -DSHMLINK"
530 dnl NeXTStep cc seems to need this
531 AC_MSG_CHECKING([for extra flags for POSIX compliance])
532 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
533 AC_MSG_RESULT(none needed),
534 gtk_save_CFLAGS="$CFLAGS"
535 CFLAGS="$CFLAGS -posix"
536 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
537 AC_MSG_RESULT(-posix),
539 CFLAGS="$gtk_save_CFLAGS"
540 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
543 # Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
546 GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
548 AM_PATH_GLIB_2_0(glib_required_version, :,
550 *** GLIB glib_required_version or better is required. The latest version of
551 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
552 gobject gmodule-no-export gthread)
554 # See if it's safe to turn G_DISABLE_DEPRECATED on.
555 GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
556 GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
557 if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
558 CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
563 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
566 LIBS="$LIBS $GLIB_LIBS"
567 AC_CHECK_FUNCS(bind_textdomain_codeset)
570 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
571 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
572 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
573 AC_CHECK_HEADERS(ftw.h, AC_DEFINE(HAVE_FTW_H))
575 AC_MSG_CHECKING([for GNU ftw extensions])
576 AC_TRY_COMPILE([#define _XOPEN_SOURCE 500
578 #include <ftw.h>], [int flags = FTW_ACTIONRETVAL;], gtk_ok=yes, gtk_ok=no)
579 if test $gtk_ok = yes; then
581 AC_DEFINE(HAVE_GNU_FTW,1,[Have GNU ftw])
586 saved_cflags="$CFLAGS"
587 saved_ldflags="$LDFLAGS"
590 # Checks for header files.
593 # Checks for typedefs, structures, and compiler characteristics.
596 # Checks for library functions.
600 AC_CHECK_FUNCS(mallinfo)
601 AC_CHECK_FUNCS(getresuid)
604 # Check if <sys/select.h> needs to be included for fd_set
605 AC_MSG_CHECKING([for fd_set])
606 AC_TRY_COMPILE([#include <sys/types.h>],
607 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
608 if test $gtk_ok = yes; then
609 AC_MSG_RESULT([yes, found in sys/types.h])
611 AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
612 if test $gtk_ok = yes; then
613 AC_DEFINE(HAVE_SYS_SELECT_H)
614 AC_MSG_RESULT([yes, found in sys/select.h])
621 # `widechar' tests for gdki18n.h
622 AC_MSG_CHECKING(for wchar.h)
623 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
624 if test $gdk_wchar_h = yes; then
625 AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
627 AC_MSG_RESULT($gdk_wchar_h)
629 # Check for wctype.h (for iswalnum)
630 AC_MSG_CHECKING(for wctype.h)
631 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
632 if test $gdk_wctype_h = yes; then
633 AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
635 AC_MSG_RESULT($gdk_wctype_h)
637 # in Solaris 2.5, `iswalnum' is in -lw
639 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
642 LIBS="$LIBS $GDK_WLIBS"
643 # The following is necessary for Linux libc-5.4.38
644 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
645 AC_TRY_LINK([#include <stdlib.h>],[
646 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
647 # ifdef HAVE_WCTYPE_H
655 # define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
657 iswalnum((wchar_t) 0);
658 ], gdk_working_wctype=yes, gdk_working_wctype=no)
661 if test $gdk_working_wctype = no; then
662 AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
665 AC_MSG_RESULT($gdk_working_wctype)
668 # Check for uxtheme.h (for MS-Windows Engine)
669 AC_MSG_CHECKING(for uxtheme.h)
670 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
671 if test $gtk_uxtheme_h = yes; then
672 AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
674 AC_MSG_RESULT($gtk_uxtheme_h)
676 # Checks for gdkspawn
677 AC_CHECK_HEADERS(crt_externs.h)
678 AC_CHECK_FUNCS(_NSGetEnviron)
681 ##################################################
682 # Checks for gdk-pixbuf
683 ##################################################
685 dnl ********************************************************
686 dnl * See whether we need to load our modules as .la files *
687 dnl ********************************************************
691 *-aix*) use_la_modules=true
694 if $use_la_modules ; then
695 AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
699 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
701 AC_ARG_ENABLE(modules,
702 [AC_HELP_STRING([--disable-modules],
703 [disable dynamic module loading])])
707 if test x$enable_modules = xno; then
711 AC_MSG_CHECKING(whether dynamic modules work)
712 ## for loop is to strip newline
713 tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
718 dnl Now we check to see if our libtool supports shared lib deps
719 dnl (in a rather ugly way even)
721 pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
722 pixbuf_deplibs_check=`$pixbuf_libtool_config | \
723 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
724 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
725 if test "x$pixbuf_deplibs_check" = "xnone" || \
726 test "x$pixbuf_deplibs_check" = "xunknown" || \
727 test "x$pixbuf_deplibs_check" = "x"; then
733 AC_DEFINE(USE_GMODULE)
740 dnl We allow people to disable image loaders explicitely, but if they don't we error
741 dnl out so that people don't accidentally build without them.
744 [AC_HELP_STRING([--without-libpng],
745 [disable PNG loader for gdk-pixbuf])])
747 [AC_HELP_STRING([--without-libjpeg],
748 [disable JPEG loader for gdk-pixbuf])])
750 [AC_HELP_STRING([--without-libtiff],
751 [disable TIFF loader for gdk-pixbuf])])
754 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
755 AC_CHECK_LIB(tiff, TIFFReadRGBAImageOriented,
756 [AC_CHECK_HEADER(tiffio.h,
757 TIFF='tiff'; LIBTIFF='-ltiff',
758 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
759 [AC_CHECK_LIB(tiff, TIFFWriteScanline,
760 [AC_CHECK_HEADER(tiffio.h,
761 TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
762 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
763 [AC_CHECK_LIB(tiff34, TIFFFlushData,
764 [AC_CHECK_HEADER(tiffio.h,
765 TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
766 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
767 AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
770 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
772 *** Checks for TIFF loader failed. You can build without it by passing
773 *** --without-libtiff to configure but some programs using GTK+ may
774 *** not work properly])
778 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
779 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
782 AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
783 if test "$jpeg_ok" = yes; then
784 AC_MSG_CHECKING([for jpeglib.h])
790 #include <jpeglib.h>],
793 AC_MSG_RESULT($jpeg_ok)
794 if test "$jpeg_ok" = yes; then
796 AC_CHECK_LIB(jpeg, jpeg_simple_progression,
797 AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
798 AC_MSG_WARN(JPEG library does not support progressive saving.))
800 AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
805 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
807 *** Checks for JPEG loader failed. You can build without it by passing
808 *** --without-libjpeg to configure but some programs using GTK+ may
809 *** not work properly])
813 if test x$with_libpng != xno && test -z "$LIBPNG"; then
814 AC_MSG_CHECKING(for libpng12)
815 if $PKG_CONFIG --exists libpng12 ; then
818 PNG_DEP_CFLAGS_PACKAGES=libpng12
819 LIBPNG=`$PKG_CONFIG --libs libpng12`
822 AC_CHECK_LIB(png, png_read_info,
823 [AC_CHECK_HEADER(png.h,
826 AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
827 if test "$png_ok" = yes; then
828 AC_MSG_CHECKING([for png_structp in png.h])
829 AC_TRY_COMPILE([#include <png.h>],
830 [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
833 AC_MSG_RESULT($png_ok)
834 if test "$png_ok" = yes; then
835 PNG='png'; LIBPNG='-lpng -lz'
837 AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
840 AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
845 if test x$with_libpng != xno && test -z "$LIBPNG"; then
847 *** Checks for PNG loader failed. You can build without it by passing
848 *** --without-libpng to configure but many programs using GTK+ will
849 *** not work properly. The PNG loader is also needed if you are compiling
857 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
860 # Allow building some or all gdk-pixbuf loaders included
862 AC_MSG_CHECKING(pixbuf loaders to build)
864 dnl due to an autoconf bug, commas in the first arg to
865 dnl AC_HELP_STRING cause problems.
866 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
867 dnl [build the specified loaders into gdk-pixbuf])
868 AC_ARG_WITH(included_loaders,
869 [ --with-included-loaders=LOADER1,LOADER2,...
870 build the specified loaders into gdk-pixbuf])
875 ## if the option was specified, leave it; otherwise disable included loaders
876 if test x$with_included_loaders = xno; then
877 with_included_loaders=yes
881 all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,xbm,tga,pcx"
883 # If no loaders specified, include all
884 if test "x$with_included_loaders" = xyes ; then
885 included_loaders="$all_loaders"
887 included_loaders="$with_included_loaders"
890 AC_MSG_RESULT($included_loaders)
893 INCLUDED_LOADER_DEFINE=
895 IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
896 for loader in $included_loaders; do
897 if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
900 AC_MSG_ERROR([the specified loader $loader does not exist])
903 INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libstatic-pixbufloader-$loader.la"
904 INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
905 eval INCLUDE_$loader=yes
908 AC_SUBST(INCLUDED_LOADER_OBJ)
909 AC_SUBST(INCLUDED_LOADER_DEFINE)
911 AM_CONDITIONAL(INCLUDE_PNG, [test x"$INCLUDE_png" = xyes])
912 AM_CONDITIONAL(INCLUDE_BMP, [test x"$INCLUDE_bmp" = xyes])
913 AM_CONDITIONAL(INCLUDE_WBMP, [test x"$INCLUDE_wbmp" = xyes])
914 AM_CONDITIONAL(INCLUDE_GIF, [test x"$INCLUDE_gif" = xyes])
915 AM_CONDITIONAL(INCLUDE_ICO, [test x"$INCLUDE_ico" = xyes])
916 AM_CONDITIONAL(INCLUDE_ANI, [test x"$INCLUDE_ani" = xyes])
917 AM_CONDITIONAL(INCLUDE_JPEG, [test x"$INCLUDE_jpeg" = xyes])
918 AM_CONDITIONAL(INCLUDE_PNM, [test x"$INCLUDE_pnm" = xyes])
919 AM_CONDITIONAL(INCLUDE_RAS, [test x"$INCLUDE_ras" = xyes])
920 AM_CONDITIONAL(INCLUDE_TIFF, [test x"$INCLUDE_tiff" = xyes])
921 AM_CONDITIONAL(INCLUDE_XPM, [test x"$INCLUDE_xpm" = xyes])
922 AM_CONDITIONAL(INCLUDE_XBM, [test x"$INCLUDE_xbm" = xyes])
923 AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
924 AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
930 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
931 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
932 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
936 if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
937 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
939 if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
940 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
942 if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
943 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
946 STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
949 # Checks to see whether we should include mediaLib
952 AC_CHECK_HEADER(sys/systeminfo.h, AC_DEFINE(HAVE_SYS_SYSTEMINFO_H))
953 AC_CHECK_HEADER(sys/sysinfo.h, AC_DEFINE(HAVE_SYS_SYSINFO_H))
955 AC_MSG_CHECKING(for mediaLib 2.3)
957 # Check for a mediaLib 2.3 function since that is what the GTK+ mediaLib
959 AC_CHECK_LIB(mlib, mlib_ImageSetStruct, use_mlib=yes, use_mlib=no)
960 if test $use_mlib = yes; then
961 AC_DEFINE(USE_MEDIALIB)
964 AC_MSG_CHECKING(for mediaLib 2.5)
965 # Check for a mediaLib 2.5 function since that is what is needed for
966 # gdk_rgb_convert integration.
967 AC_CHECK_LIB(mlib, mlib_VideoColorRGBint_to_BGRAint, use_mlib25=yes, use_mlib25=no)
968 if test $use_mlib25 = yes; then
969 AC_DEFINE(USE_MEDIALIB25)
972 AM_CONDITIONAL(USE_MEDIALIB, test $use_mlib = yes)
973 AM_CONDITIONAL(USE_MEDIALIB25, test $use_mlib25 = yes)
975 # Checks to see if we should compile in MMX support (there will be
976 # a runtime test when the code is actually run to see if it should
977 # be used - this just checks if we can compile it.)
979 # This code is partially taken from Mesa
981 AC_MSG_CHECKING(for x86 platform)
983 i386|i486|i586|i686|i786|k6|k7)
989 AC_MSG_RESULT($use_x86_asm)
992 if test $use_x86_asm = yes; then
996 AC_MSG_CHECKING(compiler support for MMX)
997 cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
998 if AC_TRY_EVAL(ac_compile); then
1005 if test $use_mmx_asm = yes; then
1013 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
1016 if test -z "$LIBPNG"; then
1020 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
1022 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
1024 if test $cross_compiling = yes; then
1025 AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
1026 AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
1027 if test x$GTK_UPDATE_ICON_CACHE = xno; then
1032 if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
1033 test "x$REBUILD_PNGS" = "x#" ; then
1035 *** gtkbuiltincache.h is not in the tree, and cannot be built
1036 *** because you don't have libpng, or (when cross-compiling) you
1037 *** don't have a prebuilt gtk-update-icon-cache on the build system.])
1040 AC_SUBST(REBUILD_PNGS)
1042 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
1043 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB $MEDIA_LIB"
1044 GDK_PIXBUF_EXTRA_CFLAGS=
1045 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1046 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
1048 AC_SUBST(GDK_PIXBUF_PACKAGES)
1049 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
1050 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
1051 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
1052 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
1055 ########################################
1056 # Windowing system checks
1057 ########################################
1059 GDK_PIXBUF_XLIB_PACKAGES=
1060 GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
1061 GDK_PIXBUF_XLIB_EXTRA_LIBS=
1063 X_PACKAGES=fontconfig
1064 GDK_EXTRA_LIBS="$GDK_WLIBS"
1067 # GTK+ uses some X calls, so needs to link against X directly
1068 GTK_DEP_PACKAGES_FOR_X=
1071 if test "x$gdktarget" = "xx11"; then
1073 # We use fontconfig very peripherally when decoding the default
1076 if $PKG_CONFIG --exists fontconfig; then : ; else
1078 *** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
1082 # Check for basic X packages; we use pkg-config if available
1084 if $PKG_CONFIG --exists x11 xext xrender; then
1086 X_PACKAGES="$X_PACKAGES x11 xext xrender"
1087 x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
1088 X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
1090 # Strip out any .la files that pkg-config might give us (this happens
1091 # with -uninstalled.pc files)
1093 for I in $x_libs ; do
1096 *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1100 GDK_PIXBUF_XLIB_PACKAGES="x11"
1101 GTK_PACKAGES_FOR_X="x11"
1103 have_base_x_pc=false
1105 if test x$no_x = xyes ; then
1106 AC_MSG_ERROR([X development libraries not found])
1109 x_cflags="$X_CFLAGS"
1110 x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
1112 GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1113 GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
1114 GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
1117 # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
1120 gtk_save_cppflags="$CPPFLAGS"
1121 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1124 LIBS="$x_libs_for_checks $LIBS"
1126 # Sanity check for the X11 and Xext libraries. While everything we need from
1127 # Xext is optional, the chances a system has *none* of these things is so
1128 # small that we just unconditionally require it.
1129 AC_CHECK_FUNC(XOpenDisplay, :,
1130 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
1131 AC_CHECK_FUNC(XextFindDisplay, :,
1132 AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
1133 AC_CHECK_FUNC(XRenderQueryExtension, :,
1134 AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
1138 AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1139 AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1141 [AC_MSG_RESULT([no])],
1142 [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1143 #include <X11/Xlibint.h>],
1145 [AC_MSG_RESULT([yes])
1146 AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1147 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1148 [AC_MSG_RESULT([unknown])
1149 AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1151 # Check for XConvertCase, XInternAtoms (X11R6 specific)
1153 AC_CHECK_FUNCS(XConvertCase XInternAtoms)
1155 # Generic X11R6 check needed for XIM support; we could
1156 # probably use this to replace the above, but we'll
1157 # leave the separate checks for XConvertCase and XInternAtoms
1161 AC_CHECK_FUNC(XAddConnectionWatch,
1164 if $have_x11r6; then
1165 AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
1167 AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1169 # Check for XKB support.
1171 if test "x$enable_xkb" = "xyes"; then
1172 AC_MSG_WARN(XKB support explicitly enabled)
1174 elif test "x$enable_xkb" = "xmaybe"; then
1175 AC_CHECK_FUNC(XkbQueryExtension,
1176 AC_DEFINE(HAVE_XKB))
1178 AC_MSG_WARN(XKB support explicitly disabled)
1181 # Check for shaped window extension
1183 AC_CHECK_FUNC(XShapeCombineMask,
1184 AC_DEFINE(HAVE_SHAPE_EXT))
1187 gtk_save_CFLAGS="$CFLAGS"
1188 CFLAGS="$CFLAGS $x_cflags"
1190 AC_CHECK_FUNC(XSyncQueryExtension,
1191 [AC_CHECK_HEADER(X11/extensions/sync.h,
1192 AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
1193 :, [#include <X11/Xlib.h>])])
1195 CFLAGS="$gtk_save_CFLAGS"
1199 if test "x$enable_shm" = "xyes"; then
1200 # Check for the XShm extension, normally in Xext
1201 AC_CHECK_FUNC(XShmAttach,
1203 # On AIX, it is in XextSam instead
1204 [AC_CHECK_LIB(XextSam, XShmAttach,
1205 [GTK_ADD_LIB(x_extra_libs,XextSam)])])
1208 if test "x$enable_shm" = "xyes"; then
1209 # Check for shared memory
1210 AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
1211 AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
1213 # Check for the X shared memory extension header file
1215 AC_MSG_CHECKING(X11/extensions/XShm.h)
1216 if test "x$no_xext_lib" = "xyes"; then
1219 gtk_save_CFLAGS="$CFLAGS"
1220 CFLAGS="$CFLAGS $x_cflags"
1223 #include <sys/types.h>
1224 #include <sys/ipc.h>
1225 #include <sys/shm.h>
1226 #include <X11/Xlib.h>
1227 #include <X11/Xutil.h>
1228 #include <X11/extensions/XShm.h>
1229 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1230 CFLAGS="$gtk_save_CFLAGS"
1232 AC_MSG_RESULT($have_xshm)
1233 if test $have_xshm = yes ; then
1234 AC_DEFINE(HAVE_XSHM_H)
1238 if test "x$enable_xinerama" = "xyes"; then
1239 # Check for Xinerama extension (Solaris impl or Xfree impl)
1240 gtk_save_cppflags="$CPPFLAGS"
1241 CPPFLAGS="$CPPFLAGS $x_cflags"
1246 AC_MSG_CHECKING(for Xinerama support on Solaris)
1248 have_solaris_xinerama=false
1249 AC_CHECK_FUNC(XineramaGetInfo,
1250 [AC_CHECK_HEADER(X11/extensions/xinerama.h,
1251 [have_solaris_xinerama=true], :,
1252 [#include <X11/Xlib.h>])])
1254 if $have_solaris_xinerama ; then
1255 AC_DEFINE(HAVE_SOLARIS_XINERAMA)
1256 AC_DEFINE(HAVE_XINERAMA)
1264 AC_MSG_CHECKING(for Xinerama support on XFree86)
1266 have_xfree_xinerama=false
1267 if $PKG_CONFIG --exists xinerama ; then
1268 have_xfree_xinerama=true
1269 X_PACKAGES="$X_PACKAGES xinerama"
1271 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1272 [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
1273 [GTK_ADD_LIB(x_extra_libs,Xinerama)
1274 have_xfree_xinerama=true], :,
1275 [#include <X11/Xlib.h>])])
1278 if $have_xfree_xinerama ; then
1279 AC_DEFINE(HAVE_XFREE_XINERAMA)
1280 AC_DEFINE(HAVE_XINERAMA)
1289 # set up things for XInput
1291 if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
1292 AC_DEFINE(XINPUT_XFREE)
1294 if $PKG_CONFIG --exists xi ; then
1295 X_PACKAGES="$X_PACKAGES xi"
1297 GTK_ADD_LIB(x_extra_libs, Xi)
1300 AC_DEFINE(XINPUT_NONE)
1303 AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
1305 # Check for the RANDR extension
1308 if $PKG_CONFIG --exists xrandr ; then
1310 X_PACKAGES="$X_PACKAGES xrandr"
1312 AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
1313 [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
1314 # RANDR requires RENDER
1316 GTK_ADD_LIB(x_extra_libs, Xrender)
1317 GTK_ADD_LIB(x_extra_libs, Xrandr)],
1318 :, [#include <X11/Xlib.h>])])
1321 if $have_randr ; then
1322 AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
1325 # Checks for Xcursor library
1327 if $PKG_CONFIG --exists xcursor ; then
1328 AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1330 X_PACKAGES="$X_PACKAGES xcursor"
1333 # Checks for XFixes extension
1335 if $PKG_CONFIG --exists xfixes ; then
1336 AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1338 X_PACKAGES="$X_PACKAGES xfixes"
1339 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
1342 # Checks for Xcomposite extension
1344 if $PKG_CONFIG --exists xcomposite ; then
1345 AC_DEFINE(HAVE_XCOMPOSITE, 1, Have the XCOMPOSITE X extension)
1347 X_PACKAGES="$X_PACKAGES xcomposite"
1348 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite"
1351 # Checks for Xdamage extension
1353 if $PKG_CONFIG --exists xdamage ; then
1354 AC_DEFINE(HAVE_XDAMAGE, 1, Have the XDAMAGE X extension)
1356 X_PACKAGES="$X_PACKAGES xdamage"
1357 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage"
1360 if $have_base_x_pc ; then
1361 GDK_EXTRA_LIBS="$x_extra_libs"
1363 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
1366 CPPFLAGS="$gtk_save_cppflags"
1367 LIBS="$gtk_save_libs"
1369 AM_CONDITIONAL(USE_X11, true)
1371 AM_CONDITIONAL(XINPUT_XFREE, false)
1372 AM_CONDITIONAL(USE_X11, false)
1373 AM_CONDITIONAL(HAVE_X11R6, false)
1376 if test "x$gdktarget" = "xwin32"; then
1377 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid"
1378 AM_CONDITIONAL(USE_WIN32, true)
1380 AM_CONDITIONAL(USE_WIN32, false)
1383 if test "x$gdktarget" = "xquartz"; then
1384 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
1385 AM_CONDITIONAL(USE_QUARTZ, true)
1387 AM_CONDITIONAL(USE_QUARTZ, false)
1390 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1391 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"
1393 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1394 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1395 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1396 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1397 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1399 if test "x$gdktarget" = "xdirectfb"; then
1400 DIRECTFB_REQUIRED_VERSION=0.9.24
1401 AC_MSG_CHECKING(for DirectFB)
1403 if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
1404 AC_MSG_RESULT(found)
1405 GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
1406 GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
1409 *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend
1410 *** are required. The latest version of DirectFB is always available
1411 *** from http://www.directfb.org/.
1415 AM_CONDITIONAL(USE_DIRECTFB, true)
1417 AM_CONDITIONAL(USE_DIRECTFB, false)
1421 # Check for Pango flags
1423 if test "x$gdktarget" = "xwin32"; then
1424 PANGO_PACKAGES="pangowin32 pangocairo"
1426 PANGO_PACKAGES="pango pangocairo"
1429 AC_MSG_CHECKING(Pango flags)
1430 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1431 PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1432 PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1434 AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1437 *** Pango not found. Pango built with Cairo support is required
1438 *** to build GTK+. See http://www.pango.org for Pango information.
1442 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1444 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1447 gtk_save_LIBS="$LIBS"
1448 LIBS="$PANGO_LIBS $LIBS"
1449 AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1450 *** Can't link to Pango. Pango is required to build
1451 *** GTK+. For more information see http://www.pango.org]))
1452 LIBS="$gtk_save_LIBS"
1455 CFLAGS="$saved_cflags"
1456 LDFLAGS="$saved_ldflags"
1458 GDK_PACKAGES="$PANGO_PACKAGES"
1459 if test "x$gdktarget" = "xx11"; then
1460 GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
1462 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1463 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1466 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1467 # into the pkg-config files
1469 if test $enable_explicit_deps != yes ; then
1470 GDK_PACKAGES="$PANGO_PACKAGES"
1474 AC_SUBST(GDK_PACKAGES)
1475 AC_SUBST(GDK_EXTRA_LIBS)
1476 AC_SUBST(GDK_EXTRA_CFLAGS)
1477 AC_SUBST(GDK_DEP_LIBS)
1478 AC_SUBST(GDK_DEP_CFLAGS)
1481 ########################################
1482 # Check for Accessibility Toolkit flags
1483 ########################################
1486 AC_MSG_CHECKING(ATK flags)
1487 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1488 ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1489 ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1491 AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1494 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1499 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1502 gtk_save_LIBS="$LIBS"
1503 LIBS="$ATK_LIBS $LIBS"
1504 AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1505 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1506 *** to build GTK+]))
1507 LIBS="$gtk_save_LIBS"
1510 GTK_PACKAGES="atk cairo"
1513 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"
1514 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"
1516 if test x"$os_win32" = xyes; then
1517 GTK_EXTRA_CFLAGS="$msnative_struct"
1520 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
1521 ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
1522 PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
1523 CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
1525 AC_SUBST(GTK_PACKAGES)
1526 AC_SUBST(GTK_EXTRA_LIBS)
1527 AC_SUBST(GTK_EXTRA_CFLAGS)
1528 AC_SUBST(GTK_DEP_LIBS)
1529 AC_SUBST(GTK_DEP_CFLAGS)
1531 AC_SUBST(GLIB_PREFIX)
1532 AC_SUBST(ATK_PREFIX)
1533 AC_SUBST(PANGO_PREFIX)
1534 AC_SUBST(CAIRO_PREFIX)
1536 AC_SUBST(GTK_DEBUG_FLAGS)
1537 AC_SUBST(GTK_XIM_FLAGS)
1539 ################################################################
1540 # Printing system checks
1541 ################################################################
1543 AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
1544 if test "x$CUPS_CONFIG" != "xno"; then
1545 CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
1546 CUPS_LIBS=`cups-config --libs`
1548 CUPS_API_VERSION=`cups-config --api-version`
1549 CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
1550 CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
1552 if test $CUPS_API_MAJOR -gt 1 -o \
1553 $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
1554 AC_DEFINE(HAVE_CUPS_API_1_2)
1557 AC_SUBST(CUPS_API_MAJOR)
1558 AC_SUBST(CUPS_API_MINOR)
1559 AC_SUBST(CUPS_CFLAGS)
1562 AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
1564 gtk_save_cppflags="$CPPFLAGS"
1565 CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
1567 AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
1568 *** Can't find cairo-pdf.h. You must build Cairo with the pdf
1569 *** backend enabled.]))
1571 if test "$os_win32" != "yes"; then
1572 AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
1573 *** Can't find cairo-ps.h. You must build Cairo with the
1574 *** postscript backend enabled.]))
1577 CPPFLAGS="$gtk_save_cppflags"
1580 AC_ARG_ENABLE(test-print-backend,
1581 [AC_HELP_STRING([--enable-test-print-backend],
1582 [build test print backend])],,
1583 [enable_test_print_backend=no])
1584 AM_CONDITIONAL(TEST_PRINT_BACKEND, test "x$enable_test_print_backend" != "xno")
1587 ################################################################
1588 # Strip -export-dynamic from the link lines of various libraries
1589 ################################################################
1592 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1593 # but this flag is only meaningful for executables. For libraries
1594 # the effect is undefined; what it causes on Linux is that the
1595 # export list from -export-symbols-regex is ignored and everything
1598 # We are using gmodule-no-export now, but I'm leaving the stripping
1599 # code in place for now, since pango and atk still require gmodule.
1601 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1602 if test -n "$export_dynamic"; then
1603 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1604 GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1605 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1606 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1610 ##################################################
1611 # Checks for gtk-doc and docbook-tools
1612 ##################################################
1614 GTK_DOC_CHECK([1.6])
1616 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1617 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1620 [AC_HELP_STRING([--enable-man],
1621 [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1624 if test "${enable_man}" != no; then
1626 dnl Check for xsltproc
1628 AC_PATH_PROG([XSLTPROC], [xsltproc])
1629 if test -z "$XSLTPROC"; then
1633 dnl check for DocBook DTD and stylesheets in the local catalog.
1634 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1635 [DocBook XML DTD V4.1.2],,enable_man=no)
1636 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1637 [DocBook XSL Stylesheets],,enable_man=no)
1640 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1643 ##################################################
1645 ##################################################
1647 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1648 outfile=gdkconfig.h-tmp
1649 cat > $outfile <<\_______EOF
1652 * This is a generated file. Please modify `configure.in'
1660 #endif /* __cplusplus */
1664 cat >>$outfile <<_______EOF
1669 cat >>$outfile <<_______EOF
1673 #endif /* __cplusplus */
1675 #endif /* GDKCONFIG_H */
1679 if cmp -s $outfile gdk/gdkconfig.h; then
1680 AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1683 mv $outfile gdk/gdkconfig.h
1686 if test "x$gdktarget" = "xx11" ; then
1688 #define GDK_WINDOWING_X11'
1689 elif test "x$gdktarget" = "xwin32" ; then
1691 #define GDK_WINDOWING_WIN32'
1692 elif test "x$gdktarget" = "xquartz" ; then
1694 #define GDK_WINDOWING_QUARTZ'
1695 elif test "x$gdktarget" = "xdirectfb" ; then
1697 #define GDK_WINDOWING_DIRECTFB'
1700 if test x$gdk_wchar_h = xyes; then
1702 #define GDK_HAVE_WCHAR_H 1'
1704 if test x$gdk_wctype_h = xyes; then
1706 #define GDK_HAVE_WCTYPE_H 1"
1708 if test x$gdk_working_wctype = xno; then
1710 #define GDK_HAVE_BROKEN_WCTYPE 1"
1723 gtk+-unix-print-2.0.pc
1724 gdk-pixbuf-2.0-uninstalled.pc
1725 gdk-2.0-uninstalled.pc
1726 gtk+-2.0-uninstalled.pc
1729 po-properties/Makefile.in
1731 demos/gtk-demo/Makefile
1732 demos/gtk-demo/geninclude.pl
1735 docs/reference/Makefile
1736 docs/reference/gdk-pixbuf/Makefile
1737 docs/reference/gdk-pixbuf/version.xml
1738 docs/reference/gdk/Makefile
1739 docs/reference/gdk/version.xml
1740 docs/reference/gtk/Makefile
1741 docs/reference/gtk/version.xml
1744 docs/tutorial/Makefile
1746 gdk-pixbuf/gdk_pixbuf.rc
1747 gdk-pixbuf/gdk-pixbuf-features.h
1748 gdk-pixbuf/pixops/Makefile
1752 gdk/win32/rc/Makefile
1755 gdk/directfb/Makefile
1760 gtk/theme-bits/Makefile
1761 gtk/xdgmime/Makefile
1763 modules/input/Makefile
1764 modules/engines/Makefile
1765 modules/engines/pixbuf/Makefile
1766 modules/engines/ms-windows/Makefile
1767 modules/engines/ms-windows/Theme/Makefile
1768 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1769 modules/printbackends/Makefile
1770 modules/printbackends/cups/Makefile
1771 modules/printbackends/lpr/Makefile
1772 modules/printbackends/file/Makefile
1773 modules/printbackends/test/Makefile
1776 contrib/gdk-pixbuf-xlib/Makefile
1777 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
1782 echo "configuration: