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], [1])
16 m4_define([gtk_version],
17 [gtk_major_version.gtk_minor_version.gtk_micro_version])
18 m4_define([gtk_interface_age], [1])
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.1])
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
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.])
143 if test x$enable_shared = xno; then
144 AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.])
152 # Make sure we use 64-bit versions of various file stuff.
156 AC_PATH_PROG(NM, nm, nm)
158 dnl Initialize maintainer mode
161 AC_MSG_CHECKING([for some Win32 platform])
163 *-*-mingw*|*-*-cygwin*)
170 AC_MSG_RESULT([$platform_win32])
171 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
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")
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.])
182 AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
184 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
186 m4_define([debug_default],
187 m4_if(m4_eval(gtk_minor_version % 2), [1], [yes], [minimum]))
189 dnl declare --enable-* args and collect ac_help strings
191 AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
192 [turn on debugging @<:@default=debug_default@:>@]),,
193 enable_debug=debug_default)
195 [AC_HELP_STRING([--enable-shm],
196 [support shared memory if available [default=yes]])],,
199 [AC_HELP_STRING([--enable-xkb],
200 [support XKB [default=maybe]])],,
201 [enable_xkb="maybe"])
202 AC_ARG_ENABLE(xinerama,
203 [AC_HELP_STRING([--enable-xinerama],
204 [support xinerama extension if available [default=yes]])],,
205 [enable_xinerama="yes"])
206 AC_ARG_ENABLE(rebuilds,
207 [AC_HELP_STRING([--disable-rebuilds],
208 [disable all source autogeneration rules])],,
209 [enable_rebuilds=yes])
210 AC_ARG_ENABLE(visibility,
211 [AC_HELP_STRING([--disable-visibility],
212 [don't use ELF visibility attributes])],,
213 [enable_visibility=yes])
216 [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
218 if test "$platform_win32" = yes; then
224 AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/linux-fb/win32/quartz/directfb]] select non-default GDK target],
225 gdktarget=$with_gdktarget)
229 x11|linux-fb|win32|quartz|directfb) ;;
230 *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb, quartz, directfb or win32.]);;
233 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
234 gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
236 AC_SUBST(gdktargetlib)
237 AC_SUBST(gtktargetlib)
239 AC_ARG_ENABLE(shadowfb,
240 [AC_HELP_STRING([--disable-shadowfb],
241 [disable shadowfb support for linux-fb])],,
242 [enable_shadowfb=yes])
244 AC_ARG_ENABLE(fbmanager,
245 [AC_HELP_STRING([--enable-fbmanager],
246 [enable framebuffer manager support (GtkFB)])],,
249 if test "x$enable_debug" = "xyes"; then
250 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
251 GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
253 if test "x$enable_debug" = "xno"; then
254 GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
256 GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
261 if test "x$enable_visibility" = "xno"; then
262 GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
266 AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
269 # Build time sanity check...
272 # Checks for programs.
279 if test "x$GCC" = "xyes"; then
281 *[\ \ ]-Wall[\ \ ]*) ;;
282 *) CFLAGS="$CFLAGS -Wall" ;;
285 if test "x$enable_ansi" = "xyes"; then
287 *[\ \ ]-ansi[\ \ ]*) ;;
288 *) CFLAGS="$CFLAGS -ansi" ;;
292 *[\ \ ]-pedantic[\ \ ]*) ;;
293 *) CFLAGS="$CFLAGS -pedantic" ;;
299 # Ensure MSVC-compatible struct packing convention is used when
300 # compiling for Win32 with gcc.
301 # What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
302 # gcc2 uses "-fnative-struct".
303 if test x"$os_win32" = xyes; then
304 if test x"$GCC" = xyes; then
306 AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
307 if test -z "$ac_cv_prog_CC"; then
310 our_gcc="$ac_cv_prog_CC"
312 case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
314 if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
315 msnative_struct='-fnative-struct'
319 if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
320 msnative_struct='-mms-bitfields'
324 if test x"$msnative_struct" = x ; then
325 AC_MSG_RESULT([no way])
326 AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
328 CFLAGS="$CFLAGS $msnative_struct"
329 AC_MSG_RESULT([${msnative_struct}])
334 # Honor aclocal flags
335 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
337 ## Initial sanity check, done here so that users get told they
338 ## have the wrong dependencies as early in the process as possible.
339 ## Later on we actually use the cflags/libs from separate pkg-config
340 ## calls. Oh, also the later pkg-config calls don't include
341 ## the version requirements since those make the module lists
342 ## annoying to construct
343 PKG_CHECK_MODULES(BASE_DEPENDENCIES,
344 [glib-2.0 >= glib_required_version dnl
345 atk >= atk_required_version dnl
346 pango >= pango_required_version dnl
347 cairo >= cairo_required_version])
349 if test "$os_win32" != yes; then
350 # libtool option to control which symbols are exported
351 # right now, symbols starting with _ are not exported
352 LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
354 # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
355 LIBTOOL_EXPORT_OPTIONS=
357 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
359 dnl ******************************************************
360 dnl * See whether to include shared library dependencies *
361 dnl ******************************************************
363 AC_ARG_ENABLE(explicit-deps,
364 [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
365 [use explicit dependencies in .pc files [default=auto]])],,
366 [enable_explicit_deps=auto])
368 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
369 case $enable_explicit_deps in
372 deplibs_check_method=`(./libtool --config; echo 'eval echo $deplibs_check_method') | sh`
373 if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
374 enable_explicit_deps=yes
376 enable_explicit_deps=no
381 *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
384 AC_MSG_RESULT($enable_explicit_deps)
386 AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
388 # define a MAINT-like variable REBUILD which is set if Perl
389 # and awk are found, so autogenerated sources can be rebuilt
391 AC_PATH_PROGS(PERL, perl5 perl)
393 # We would like indent, but don't require it.
394 AC_CHECK_PROG(INDENT, indent, indent)
397 if test "x$enable_rebuilds" = "xyes" && \
399 $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
404 AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked)
406 # _NL_TIME_FIRST_WEEKDAY is an enum and not a define
407 AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
408 AC_TRY_LINK([#include <langinfo.h>], [
410 c = *((unsigned char *) nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
411 ], gtk_ok=yes, gtk_ok=no)
412 AC_MSG_RESULT($gtk_ok)
413 if test "$gtk_ok" = "yes"; then
414 AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
415 [Define if _NL_TIME_FIRST_WEEKDAY is available])
418 # _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
419 AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
420 AC_TRY_LINK([#include <langinfo.h>], [
422 c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
423 ], gtk_ok=yes, gtk_ok=no)
424 AC_MSG_RESULT($gtk_ok)
425 if test "$gtk_ok" = "yes"; then
426 AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1],
427 [Define if _NL_MEASUREMENT_MEASUREMENT is available])
430 # _NL_PAPER_HEIGHT is an enum and not a define
431 AC_MSG_CHECKING([for _NL_PAPER_HEIGHT])
432 AC_TRY_LINK([#include <langinfo.h>], [
434 c = *((unsigned char *) nl_langinfo(_NL_PAPER_HEIGHT));
435 ], gtk_ok=yes, gtk_ok=no)
436 AC_MSG_RESULT($gtk_ok)
437 if test "$gtk_ok" = "yes"; then
438 AC_DEFINE([HAVE__NL_PAPER_HEIGHT], [1],
439 [Define if _NL_PAPER_HEIGHT is available])
442 # _NL_PAPER_WIDTH is an enum and not a define
443 AC_MSG_CHECKING([for _NL_PAPER_WIDTH])
444 AC_TRY_LINK([#include <langinfo.h>], [
446 c = *((unsigned char *) nl_langinfo(_NL_PAPER_WIDTH));
447 ], gtk_ok=yes, gtk_ok=no)
448 AC_MSG_RESULT($gtk_ok)
449 if test "$gtk_ok" = "yes"; then
450 AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1],
451 [Define if _NL_PAPER_WIDTH is available])
454 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
455 AC_MSG_CHECKING(for sigsetjmp)
456 AC_TRY_LINK([#include <setjmp.h>], [
459 ], gtk_ok=yes, gtk_ok=no)
460 AC_MSG_RESULT($gtk_ok)
461 if test "$gtk_ok" = "yes"; then
462 AC_DEFINE(HAVE_SIGSETJMP)
466 # TRANSLATORS: Please note that gtk+ has both po/ and po-properties/
467 # directories. If you add a new language to ALL_LINGUAS, please make
468 # sure that both po/ and po-properties/ have .po files that correspond
469 # to your language. If you only add one to po/, the build will break
471 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"
473 LIBS="$LIBS $INTLLIBS"
474 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
475 sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
478 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
480 dnl The DU4 header files don't provide library prototypes unless
481 dnl -std1 is given to the native cc.
482 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
486 AC_TRY_RUN([#include <math.h>
487 int main (void) { return (log(1) != log(1.)); }],
488 AC_MSG_RESULT(none needed),
489 gtk_save_CFLAGS="$CFLAGS"
490 CFLAGS="$CFLAGS -std1"
491 AC_TRY_RUN([#include <math.h>
492 int main (void) { return (log(1) != log(1.)); }],
493 AC_MSG_RESULT(-std1),
495 CFLAGS="$gtk_save_CFLAGS"
497 [No ANSI prototypes found in library. (-std1 didn't work.)]),
500 AC_MSG_RESULT(none needed)
504 AC_MSG_CHECKING(for the BeOS)
518 AC_MSG_CHECKING(for HP-UX)
520 hpux9* | hpux10* | hpux11*)
522 CFLAGS="$CFLAGS -DHPPEX -DSHMLINK"
529 dnl NeXTStep cc seems to need this
530 AC_MSG_CHECKING([for extra flags for POSIX compliance])
531 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
532 AC_MSG_RESULT(none needed),
533 gtk_save_CFLAGS="$CFLAGS"
534 CFLAGS="$CFLAGS -posix"
535 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
536 AC_MSG_RESULT(-posix),
538 CFLAGS="$gtk_save_CFLAGS"
539 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
542 # Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
545 GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
547 AM_PATH_GLIB_2_0(glib_required_version, :,
549 *** GLIB glib_required_version or better is required. The latest version of
550 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
551 gobject gmodule-no-export gthread)
553 # See if it's safe to turn G_DISABLE_DEPRECATED on.
554 GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
555 GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
556 if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
557 CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
562 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
565 LIBS="$LIBS $GLIB_LIBS"
566 AC_CHECK_FUNCS(bind_textdomain_codeset)
569 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
570 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
571 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
572 AC_CHECK_HEADERS(ftw.h, AC_DEFINE(HAVE_FTW_H))
574 AC_MSG_CHECKING([for GNU ftw extensions])
575 AC_TRY_COMPILE([#define _XOPEN_SOURCE 500
577 #include <ftw.h>], [int flags = FTW_ACTIONRETVAL;], gtk_ok=yes, gtk_ok=no)
578 if test $gtk_ok = yes; then
580 AC_DEFINE(HAVE_GNU_FTW,1,[Have GNU ftw])
585 saved_cflags="$CFLAGS"
586 saved_ldflags="$LDFLAGS"
589 # Checks for header files.
592 # Checks for typedefs, structures, and compiler characteristics.
595 # Checks for library functions.
599 AC_CHECK_FUNCS(mallinfo)
600 AC_CHECK_FUNCS(getresuid)
603 # Check if <sys/select.h> needs to be included for fd_set
604 AC_MSG_CHECKING([for fd_set])
605 AC_TRY_COMPILE([#include <sys/types.h>],
606 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
607 if test $gtk_ok = yes; then
608 AC_MSG_RESULT([yes, found in sys/types.h])
610 AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
611 if test $gtk_ok = yes; then
612 AC_DEFINE(HAVE_SYS_SELECT_H)
613 AC_MSG_RESULT([yes, found in sys/select.h])
620 # `widechar' tests for gdki18n.h
621 AC_MSG_CHECKING(for wchar.h)
622 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
623 if test $gdk_wchar_h = yes; then
624 AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
626 AC_MSG_RESULT($gdk_wchar_h)
628 # Check for wctype.h (for iswalnum)
629 AC_MSG_CHECKING(for wctype.h)
630 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
631 if test $gdk_wctype_h = yes; then
632 AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
634 AC_MSG_RESULT($gdk_wctype_h)
636 # in Solaris 2.5, `iswalnum' is in -lw
638 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
641 LIBS="$LIBS $GDK_WLIBS"
642 # The following is necessary for Linux libc-5.4.38
643 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
644 AC_TRY_LINK([#include <stdlib.h>],[
645 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
646 # ifdef HAVE_WCTYPE_H
654 # define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
656 iswalnum((wchar_t) 0);
657 ], gdk_working_wctype=yes, gdk_working_wctype=no)
660 if test $gdk_working_wctype = no; then
661 AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
664 AC_MSG_RESULT($gdk_working_wctype)
667 # Check for uxtheme.h (for MS-Windows Engine)
668 AC_MSG_CHECKING(for uxtheme.h)
669 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
670 if test $gtk_uxtheme_h = yes; then
671 AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
673 AC_MSG_RESULT($gtk_uxtheme_h)
675 # Checks for gdkspawn
676 AC_CHECK_HEADERS(crt_externs.h)
677 AC_CHECK_FUNCS(_NSGetEnviron)
680 ##################################################
681 # Checks for gdk-pixbuf
682 ##################################################
684 dnl ********************************************************
685 dnl * See whether we need to load our modules as .la files *
686 dnl ********************************************************
690 *-aix*) use_la_modules=true
693 if $use_la_modules ; then
694 AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
698 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
700 AC_ARG_ENABLE(modules,
701 [AC_HELP_STRING([--disable-modules],
702 [disable dynamic module loading])])
706 if test x$enable_modules = xno; then
710 AC_MSG_CHECKING(whether dynamic modules work)
711 ## for loop is to strip newline
712 tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
717 dnl Now we check to see if our libtool supports shared lib deps
718 dnl (in a rather ugly way even)
720 pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
721 pixbuf_deplibs_check=`$pixbuf_libtool_config | \
722 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
723 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
724 if test "x$pixbuf_deplibs_check" = "xnone" || \
725 test "x$pixbuf_deplibs_check" = "xunknown" || \
726 test "x$pixbuf_deplibs_check" = "x"; then
732 AC_DEFINE(USE_GMODULE)
739 dnl We allow people to disable image loaders explicitely, but if they don't we error
740 dnl out so that people don't accidentally build without them.
743 [AC_HELP_STRING([--without-libpng],
744 [disable PNG loader for gdk-pixbuf])])
746 [AC_HELP_STRING([--without-libjpeg],
747 [disable JPEG loader for gdk-pixbuf])])
749 [AC_HELP_STRING([--without-libtiff],
750 [disable TIFF loader for gdk-pixbuf])])
753 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
754 AC_CHECK_LIB(tiff, TIFFReadRGBAImageOriented,
755 [AC_CHECK_HEADER(tiffio.h,
756 TIFF='tiff'; LIBTIFF='-ltiff',
757 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
758 [AC_CHECK_LIB(tiff, TIFFWriteScanline,
759 [AC_CHECK_HEADER(tiffio.h,
760 TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
761 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
762 [AC_CHECK_LIB(tiff34, TIFFFlushData,
763 [AC_CHECK_HEADER(tiffio.h,
764 TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
765 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
766 AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
769 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
771 *** Checks for TIFF loader failed. You can build without it by passing
772 *** --without-libtiff to configure but some programs using GTK+ may
773 *** not work properly])
777 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
778 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
781 AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
782 if test "$jpeg_ok" = yes; then
783 AC_MSG_CHECKING([for jpeglib.h])
789 #include <jpeglib.h>],
792 AC_MSG_RESULT($jpeg_ok)
793 if test "$jpeg_ok" = yes; then
795 AC_CHECK_LIB(jpeg, jpeg_simple_progression,
796 AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
797 AC_MSG_WARN(JPEG library does not support progressive saving.))
799 AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
804 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
806 *** Checks for JPEG loader failed. You can build without it by passing
807 *** --without-libjpeg to configure but some programs using GTK+ may
808 *** not work properly])
812 if test x$with_libpng != xno && test -z "$LIBPNG"; then
813 AC_MSG_CHECKING(for libpng12)
814 if $PKG_CONFIG --exists libpng12 ; then
817 PNG_DEP_CFLAGS_PACKAGES=libpng12
818 LIBPNG=`$PKG_CONFIG --libs libpng12`
821 AC_CHECK_LIB(png, png_read_info,
822 [AC_CHECK_HEADER(png.h,
825 AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
826 if test "$png_ok" = yes; then
827 AC_MSG_CHECKING([for png_structp in png.h])
828 AC_TRY_COMPILE([#include <png.h>],
829 [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
832 AC_MSG_RESULT($png_ok)
833 if test "$png_ok" = yes; then
834 PNG='png'; LIBPNG='-lpng -lz'
836 AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
839 AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
844 if test x$with_libpng != xno && test -z "$LIBPNG"; then
846 *** Checks for PNG loader failed. You can build without it by passing
847 *** --without-libpng to configure but many programs using GTK+ will
848 *** not work properly. The PNG loader is also needed if you are compiling
856 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
859 # Allow building some or all gdk-pixbuf loaders included
861 AC_MSG_CHECKING(pixbuf loaders to build)
863 dnl due to an autoconf bug, commas in the first arg to
864 dnl AC_HELP_STRING cause problems.
865 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
866 dnl [build the specified loaders into gdk-pixbuf])
867 AC_ARG_WITH(included_loaders,
868 [ --with-included-loaders=LOADER1,LOADER2,...
869 build the specified loaders into gdk-pixbuf])
874 ## if the option was specified, leave it; otherwise disable included loaders
875 if test x$with_included_loaders = xno; then
876 with_included_loaders=yes
880 all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,xbm,tga,pcx"
882 # If no loaders specified, include all
883 if test "x$with_included_loaders" = xyes ; then
884 included_loaders="$all_loaders"
886 included_loaders="$with_included_loaders"
889 AC_MSG_RESULT($included_loaders)
892 INCLUDED_LOADER_DEFINE=
894 IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
895 for loader in $included_loaders; do
896 if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
899 AC_MSG_ERROR([the specified loader $loader does not exist])
902 INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libstatic-pixbufloader-$loader.la"
903 INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
904 eval INCLUDE_$loader=yes
907 AC_SUBST(INCLUDED_LOADER_OBJ)
908 AC_SUBST(INCLUDED_LOADER_DEFINE)
910 AM_CONDITIONAL(INCLUDE_PNG, [test x"$INCLUDE_png" = xyes])
911 AM_CONDITIONAL(INCLUDE_BMP, [test x"$INCLUDE_bmp" = xyes])
912 AM_CONDITIONAL(INCLUDE_WBMP, [test x"$INCLUDE_wbmp" = xyes])
913 AM_CONDITIONAL(INCLUDE_GIF, [test x"$INCLUDE_gif" = xyes])
914 AM_CONDITIONAL(INCLUDE_ICO, [test x"$INCLUDE_ico" = xyes])
915 AM_CONDITIONAL(INCLUDE_ANI, [test x"$INCLUDE_ani" = xyes])
916 AM_CONDITIONAL(INCLUDE_JPEG, [test x"$INCLUDE_jpeg" = xyes])
917 AM_CONDITIONAL(INCLUDE_PNM, [test x"$INCLUDE_pnm" = xyes])
918 AM_CONDITIONAL(INCLUDE_RAS, [test x"$INCLUDE_ras" = xyes])
919 AM_CONDITIONAL(INCLUDE_TIFF, [test x"$INCLUDE_tiff" = xyes])
920 AM_CONDITIONAL(INCLUDE_XPM, [test x"$INCLUDE_xpm" = xyes])
921 AM_CONDITIONAL(INCLUDE_XBM, [test x"$INCLUDE_xbm" = xyes])
922 AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
923 AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
929 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
930 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
931 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
935 if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
936 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
938 if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
939 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
941 if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
942 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
945 STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
948 # Checks to see whether we should include mediaLib
951 AC_CHECK_HEADER(sys/systeminfo.h, AC_DEFINE(HAVE_SYS_SYSTEMINFO_H))
952 AC_CHECK_HEADER(sys/sysinfo.h, AC_DEFINE(HAVE_SYS_SYSINFO_H))
954 AC_MSG_CHECKING(for mediaLib 2.3)
956 # Check for a mediaLib 2.3 function since that is what the GTK+ mediaLib
958 AC_CHECK_LIB(mlib, mlib_ImageSetStruct, use_mlib=yes, use_mlib=no)
959 if test $use_mlib = yes; then
960 AC_DEFINE(USE_MEDIALIB)
963 AC_MSG_CHECKING(for mediaLib 2.5)
964 # Check for a mediaLib 2.5 function since that is what is needed for
965 # gdk_rgb_convert integration.
966 AC_CHECK_LIB(mlib, mlib_VideoColorRGBint_to_BGRAint, use_mlib25=yes, use_mlib25=no)
967 if test $use_mlib25 = yes; then
968 AC_DEFINE(USE_MEDIALIB25)
971 AM_CONDITIONAL(USE_MEDIALIB, test $use_mlib = yes)
972 AM_CONDITIONAL(USE_MEDIALIB25, test $use_mlib25 = yes)
974 # Checks to see if we should compile in MMX support (there will be
975 # a runtime test when the code is actually run to see if it should
976 # be used - this just checks if we can compile it.)
978 # This code is partially taken from Mesa
980 AC_MSG_CHECKING(for x86 platform)
982 i386|i486|i586|i686|i786|k6|k7)
988 AC_MSG_RESULT($use_x86_asm)
991 if test $use_x86_asm = yes; then
995 AC_MSG_CHECKING(compiler support for MMX)
996 cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
997 if AC_TRY_EVAL(ac_compile); then
1004 if test $use_mmx_asm = yes; then
1012 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
1015 if test -z "$LIBPNG"; then
1019 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
1021 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
1023 if test $cross_compiling = yes; then
1024 AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
1025 AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
1026 if test x$GTK_UPDATE_ICON_CACHE = xno; then
1031 if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
1032 test "x$REBUILD_PNGS" = "x#" ; then
1034 *** gtkbuiltincache.h is not in the tree, and cannot be built
1035 *** because you don't have libpng, or (when cross-compiling) you
1036 *** don't have a prebuilt gtk-update-icon-cache on the build system.])
1039 AC_SUBST(REBUILD_PNGS)
1041 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
1042 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB $MEDIA_LIB"
1043 GDK_PIXBUF_EXTRA_CFLAGS=
1044 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1045 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
1047 AC_SUBST(GDK_PIXBUF_PACKAGES)
1048 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
1049 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
1050 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
1051 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
1054 ########################################
1055 # Windowing system checks
1056 ########################################
1058 GDK_PIXBUF_XLIB_PACKAGES=
1059 GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
1060 GDK_PIXBUF_XLIB_EXTRA_LIBS=
1062 X_PACKAGES=fontconfig
1063 GDK_EXTRA_LIBS="$GDK_WLIBS"
1066 # GTK+ uses some X calls, so needs to link against X directly
1067 GTK_DEP_PACKAGES_FOR_X=
1070 if test "x$gdktarget" = "xx11"; then
1072 # We use fontconfig very peripherally when decoding the default
1075 if $PKG_CONFIG --exists fontconfig; then : ; else
1077 *** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
1081 # Check for basic X packages; we use pkg-config if available
1083 if $PKG_CONFIG --exists x11 xext xrender; then
1085 X_PACKAGES="$X_PACKAGES x11 xext xrender"
1086 x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
1087 X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
1089 # Strip out any .la files that pkg-config might give us (this happens
1090 # with -uninstalled.pc files)
1092 for I in $x_libs ; do
1095 *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1099 GDK_PIXBUF_XLIB_PACKAGES="x11"
1100 GTK_PACKAGES_FOR_X="x11"
1102 have_base_x_pc=false
1104 if test x$no_x = xyes ; then
1105 AC_MSG_ERROR([X development libraries not found])
1108 x_cflags="$X_CFLAGS"
1109 x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
1111 GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1112 GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
1113 GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
1116 # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
1119 gtk_save_cppflags="$CPPFLAGS"
1120 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1123 LIBS="$x_libs_for_checks $LIBS"
1125 # Sanity check for the X11 and Xext libraries. While everything we need from
1126 # Xext is optional, the chances a system has *none* of these things is so
1127 # small that we just unconditionally require it.
1128 AC_CHECK_FUNC(XOpenDisplay, :,
1129 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
1130 AC_CHECK_FUNC(XextFindDisplay, :,
1131 AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
1132 AC_CHECK_FUNC(XRenderQueryExtension, :,
1133 AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
1137 AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1138 AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1140 [AC_MSG_RESULT([no])],
1141 [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1142 #include <X11/Xlibint.h>],
1144 [AC_MSG_RESULT([yes])
1145 AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1146 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1147 [AC_MSG_RESULT([unknown])
1148 AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1150 # Check for XConvertCase, XInternAtoms (X11R6 specific)
1152 AC_CHECK_FUNCS(XConvertCase XInternAtoms)
1154 # Generic X11R6 check needed for XIM support; we could
1155 # probably use this to replace the above, but we'll
1156 # leave the separate checks for XConvertCase and XInternAtoms
1160 AC_CHECK_FUNC(XAddConnectionWatch,
1163 if $have_x11r6; then
1164 AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
1166 AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1168 # Check for XKB support.
1170 if test "x$enable_xkb" = "xyes"; then
1171 AC_MSG_WARN(XKB support explicitly enabled)
1173 elif test "x$enable_xkb" = "xmaybe"; then
1174 AC_CHECK_FUNC(XkbQueryExtension,
1175 AC_DEFINE(HAVE_XKB))
1177 AC_MSG_WARN(XKB support explicitly disabled)
1180 # Check for shaped window extension
1182 AC_CHECK_FUNC(XShapeCombineMask,
1183 AC_DEFINE(HAVE_SHAPE_EXT))
1186 gtk_save_CFLAGS="$CFLAGS"
1187 CFLAGS="$CFLAGS $x_cflags"
1189 AC_CHECK_FUNC(XSyncQueryExtension,
1190 [AC_CHECK_HEADER(X11/extensions/sync.h,
1191 AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
1192 :, [#include <X11/Xlib.h>])])
1194 CFLAGS="$gtk_save_CFLAGS"
1198 if test "x$enable_shm" = "xyes"; then
1199 # Check for the XShm extension, normally in Xext
1200 AC_CHECK_FUNC(XShmAttach,
1202 # On AIX, it is in XextSam instead
1203 [AC_CHECK_LIB(XextSam, XShmAttach,
1204 [GTK_ADD_LIB(x_extra_libs,XextSam)])])
1207 if test "x$enable_shm" = "xyes"; then
1208 # Check for shared memory
1209 AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
1210 AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
1212 # Check for the X shared memory extension header file
1214 AC_MSG_CHECKING(X11/extensions/XShm.h)
1215 if test "x$no_xext_lib" = "xyes"; then
1218 gtk_save_CFLAGS="$CFLAGS"
1219 CFLAGS="$CFLAGS $x_cflags"
1222 #include <sys/types.h>
1223 #include <sys/ipc.h>
1224 #include <sys/shm.h>
1225 #include <X11/Xlib.h>
1226 #include <X11/Xutil.h>
1227 #include <X11/extensions/XShm.h>
1228 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1229 CFLAGS="$gtk_save_CFLAGS"
1231 AC_MSG_RESULT($have_xshm)
1232 if test $have_xshm = yes ; then
1233 AC_DEFINE(HAVE_XSHM_H)
1237 if test "x$enable_xinerama" = "xyes"; then
1238 # Check for Xinerama extension (Solaris impl or Xfree impl)
1239 gtk_save_cppflags="$CPPFLAGS"
1240 CPPFLAGS="$CPPFLAGS $x_cflags"
1245 AC_MSG_CHECKING(for Xinerama support on Solaris)
1247 have_solaris_xinerama=false
1248 AC_CHECK_FUNC(XineramaGetInfo,
1249 [AC_CHECK_HEADER(X11/extensions/xinerama.h,
1250 [have_solaris_xinerama=true], :,
1251 [#include <X11/Xlib.h>])])
1253 if $have_solaris_xinerama ; then
1254 AC_DEFINE(HAVE_SOLARIS_XINERAMA)
1255 AC_DEFINE(HAVE_XINERAMA)
1263 AC_MSG_CHECKING(for Xinerama support on XFree86)
1265 have_xfree_xinerama=false
1266 if $PKG_CONFIG --exists xinerama ; then
1267 have_xfree_xinerama=true
1268 X_PACKAGES="$X_PACKAGES xinerama"
1270 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1271 [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
1272 [GTK_ADD_LIB(x_extra_libs,Xinerama)
1273 have_xfree_xinerama=true], :,
1274 [#include <X11/Xlib.h>])])
1277 if $have_xfree_xinerama ; then
1278 AC_DEFINE(HAVE_XFREE_XINERAMA)
1279 AC_DEFINE(HAVE_XINERAMA)
1288 # set up things for XInput
1290 if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
1291 AC_DEFINE(XINPUT_XFREE)
1293 if $PKG_CONFIG --exists xi ; then
1294 X_PACKAGES="$X_PACKAGES xi"
1296 GTK_ADD_LIB(x_extra_libs, Xi)
1299 AC_DEFINE(XINPUT_NONE)
1302 AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
1304 # Check for the RANDR extension
1307 if $PKG_CONFIG --exists xrandr ; then
1309 X_PACKAGES="$X_PACKAGES xrandr"
1311 AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
1312 [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
1313 # RANDR requires RENDER
1315 GTK_ADD_LIB(x_extra_libs, Xrender)
1316 GTK_ADD_LIB(x_extra_libs, Xrandr)],
1317 :, [#include <X11/Xlib.h>])])
1320 if $have_randr ; then
1321 AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
1324 # Checks for Xcursor library
1326 if $PKG_CONFIG --exists xcursor ; then
1327 AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1329 X_PACKAGES="$X_PACKAGES xcursor"
1332 # Checks for XFixes extension
1334 if $PKG_CONFIG --exists xfixes ; then
1335 AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1337 X_PACKAGES="$X_PACKAGES xfixes"
1338 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
1341 # Checks for Xcomposite extension
1343 if $PKG_CONFIG --exists xcomposite ; then
1344 AC_DEFINE(HAVE_XCOMPOSITE, 1, Have the XCOMPOSITE X extension)
1346 X_PACKAGES="$X_PACKAGES xcomposite"
1347 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite"
1350 # Checks for Xdamage extension
1352 if $PKG_CONFIG --exists xdamage ; then
1353 AC_DEFINE(HAVE_XDAMAGE, 1, Have the XDAMAGE X extension)
1355 X_PACKAGES="$X_PACKAGES xdamage"
1356 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage"
1359 if $have_base_x_pc ; then
1360 GDK_EXTRA_LIBS="$x_extra_libs"
1362 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
1365 CPPFLAGS="$gtk_save_cppflags"
1366 LIBS="$gtk_save_libs"
1368 AM_CONDITIONAL(USE_X11, true)
1370 AM_CONDITIONAL(XINPUT_XFREE, false)
1371 AM_CONDITIONAL(USE_X11, false)
1372 AM_CONDITIONAL(HAVE_X11R6, false)
1375 if test "x$gdktarget" = "xwin32"; then
1376 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid"
1377 AM_CONDITIONAL(USE_WIN32, true)
1379 AM_CONDITIONAL(USE_WIN32, false)
1382 if test "x$gdktarget" = "xquartz"; then
1383 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
1384 AM_CONDITIONAL(USE_QUARTZ, true)
1386 AM_CONDITIONAL(USE_QUARTZ, false)
1389 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1390 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"
1392 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1393 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1394 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1395 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1396 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1398 if test "x$gdktarget" = "xlinux-fb"; then
1399 if test x$enable_shadowfb = xyes ; then
1400 AC_DEFINE(ENABLE_SHADOW_FB)
1403 if test x$enable_fbmanager = xyes ; then
1404 AC_DEFINE(ENABLE_FB_MANAGER)
1405 AM_CONDITIONAL(ENABLE_FB_MANAGER, true)
1407 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1410 AM_CONDITIONAL(USE_LINUX_FB, true)
1412 AM_CONDITIONAL(USE_LINUX_FB, false)
1413 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1416 if test "x$gdktarget" = "xdirectfb"; then
1417 DIRECTFB_REQUIRED_VERSION=0.9.24
1418 AC_MSG_CHECKING(for DirectFB)
1420 if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
1421 AC_MSG_RESULT(found)
1422 GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
1423 GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
1426 *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend
1427 *** are required. The latest version of DirectFB is always available
1428 *** from http://www.directfb.org/.
1432 AM_CONDITIONAL(USE_DIRECTFB, true)
1434 AM_CONDITIONAL(USE_DIRECTFB, false)
1438 # Check for Pango flags
1440 if test "x$gdktarget" = "xwin32"; then
1441 PANGO_PACKAGES="pangowin32 pangocairo"
1443 PANGO_PACKAGES="pango pangocairo"
1446 AC_MSG_CHECKING(Pango flags)
1447 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1448 PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1449 PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1451 AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1454 *** Pango not found. Pango built with Cairo support is required
1455 *** to build GTK+. See http://www.pango.org for Pango information.
1459 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1461 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1464 gtk_save_LIBS="$LIBS"
1465 LIBS="$PANGO_LIBS $LIBS"
1466 AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1467 *** Can't link to Pango. Pango is required to build
1468 *** GTK+. For more information see http://www.pango.org]))
1469 LIBS="$gtk_save_LIBS"
1472 CFLAGS="$saved_cflags"
1473 LDFLAGS="$saved_ldflags"
1475 GDK_PACKAGES="$PANGO_PACKAGES"
1476 if test "x$gdktarget" = "xx11"; then
1477 GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
1479 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1480 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1483 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1484 # into the pkg-config files
1486 if test $enable_explicit_deps != yes ; then
1487 GDK_PACKAGES="$PANGO_PACKAGES"
1491 AC_SUBST(GDK_PACKAGES)
1492 AC_SUBST(GDK_EXTRA_LIBS)
1493 AC_SUBST(GDK_EXTRA_CFLAGS)
1494 AC_SUBST(GDK_DEP_LIBS)
1495 AC_SUBST(GDK_DEP_CFLAGS)
1498 ########################################
1499 # Check for Accessibility Toolkit flags
1500 ########################################
1503 AC_MSG_CHECKING(ATK flags)
1504 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1505 ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1506 ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1508 AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1511 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1516 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1519 gtk_save_LIBS="$LIBS"
1520 LIBS="$ATK_LIBS $LIBS"
1521 AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1522 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1523 *** to build GTK+]))
1524 LIBS="$gtk_save_LIBS"
1527 GTK_PACKAGES="atk cairo"
1530 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"
1531 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"
1533 if test x"$os_win32" = xyes; then
1534 GTK_EXTRA_CFLAGS="$msnative_struct"
1537 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
1538 ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
1539 PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
1540 CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
1542 AC_SUBST(GTK_PACKAGES)
1543 AC_SUBST(GTK_EXTRA_LIBS)
1544 AC_SUBST(GTK_EXTRA_CFLAGS)
1545 AC_SUBST(GTK_DEP_LIBS)
1546 AC_SUBST(GTK_DEP_CFLAGS)
1548 AC_SUBST(GLIB_PREFIX)
1549 AC_SUBST(ATK_PREFIX)
1550 AC_SUBST(PANGO_PREFIX)
1551 AC_SUBST(CAIRO_PREFIX)
1553 AC_SUBST(GTK_DEBUG_FLAGS)
1554 AC_SUBST(GTK_XIM_FLAGS)
1556 ################################################################
1557 # Printing system checks
1558 ################################################################
1560 AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
1561 if test "x$CUPS_CONFIG" != "xno"; then
1562 CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
1563 CUPS_LIBS=`cups-config --libs`
1565 CUPS_API_VERSION=`cups-config --api-version`
1566 CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
1567 CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
1569 if test $CUPS_API_MAJOR -gt 1 -o \
1570 $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
1571 AC_DEFINE(HAVE_CUPS_API_1_2)
1574 AC_SUBST(CUPS_API_MAJOR)
1575 AC_SUBST(CUPS_API_MINOR)
1576 AC_SUBST(CUPS_CFLAGS)
1579 AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
1581 gtk_save_cppflags="$CPPFLAGS"
1582 CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
1584 AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
1585 *** Can't find cairo-pdf.h. You must build Cairo with the pdf
1586 *** backend enabled.]))
1588 if test "$os_win32" != "yes"; then
1589 AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
1590 *** Can't find cairo-ps.h. You must build Cairo with the
1591 *** postscript backend enabled.]))
1594 CPPFLAGS="$gtk_save_cppflags"
1597 AC_ARG_ENABLE(test-print-backend,
1598 [AC_HELP_STRING([--enable-test-print-backend],
1599 [build test print backend])],,
1600 [enable_test_print_backend=no])
1601 AM_CONDITIONAL(TEST_PRINT_BACKEND, test "x$enable_test_print_backend" != "xno")
1604 ################################################################
1605 # Strip -export-dynamic from the link lines of various libraries
1606 ################################################################
1609 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1610 # but this flag is only meaningful for executables. For libraries
1611 # the effect is undefined; what it causes on Linux is that the
1612 # export list from -export-symbols-regex is ignored and everything
1615 # We are using gmodule-no-export now, but I'm leaving the stripping
1616 # code in place for now, since pango and atk still require gmodule.
1618 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1619 if test -n "$export_dynamic"; then
1620 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1621 GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1622 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1623 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1627 ##################################################
1628 # Checks for gtk-doc and docbook-tools
1629 ##################################################
1631 GTK_DOC_CHECK([1.6])
1633 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1634 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1637 [AC_HELP_STRING([--enable-man],
1638 [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1641 if test "${enable_man}" != no; then
1643 dnl Check for xsltproc
1645 AC_PATH_PROG([XSLTPROC], [xsltproc])
1646 if test -z "$XSLTPROC"; then
1650 dnl check for DocBook DTD and stylesheets in the local catalog.
1651 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1652 [DocBook XML DTD V4.1.2],,enable_man=no)
1653 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1654 [DocBook XSL Stylesheets],,enable_man=no)
1657 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1660 ##################################################
1662 ##################################################
1664 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1665 outfile=gdkconfig.h-tmp
1666 cat > $outfile <<\_______EOF
1669 * This is a generated file. Please modify `configure.in'
1677 #endif /* __cplusplus */
1681 cat >>$outfile <<_______EOF
1686 cat >>$outfile <<_______EOF
1690 #endif /* __cplusplus */
1692 #endif /* GDKCONFIG_H */
1696 if cmp -s $outfile gdk/gdkconfig.h; then
1697 AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1700 mv $outfile gdk/gdkconfig.h
1703 if test "x$gdktarget" = "xx11" ; then
1705 #define GDK_WINDOWING_X11'
1706 elif test "x$gdktarget" = "xwin32" ; then
1708 #define GDK_WINDOWING_WIN32'
1709 elif test "x$gdktarget" = "xlinux-fb" ; then
1711 #define GDK_WINDOWING_FB
1712 #define GDK_NATIVE_WINDOW_POINTER'
1713 elif test "x$gdktarget" = "xquartz" ; then
1715 #define GDK_WINDOWING_QUARTZ'
1716 elif test "x$gdktarget" = "xdirectfb" ; then
1718 #define GDK_WINDOWING_DIRECTFB'
1721 if test x$gdk_wchar_h = xyes; then
1723 #define GDK_HAVE_WCHAR_H 1'
1725 if test x$gdk_wctype_h = xyes; then
1727 #define GDK_HAVE_WCTYPE_H 1"
1729 if test x$gdk_working_wctype = xno; then
1731 #define GDK_HAVE_BROKEN_WCTYPE 1"
1744 gtk+-unix-print-2.0.pc
1745 gdk-pixbuf-2.0-uninstalled.pc
1746 gdk-2.0-uninstalled.pc
1747 gtk+-2.0-uninstalled.pc
1750 po-properties/Makefile.in
1752 demos/gtk-demo/Makefile
1753 demos/gtk-demo/geninclude.pl
1756 docs/reference/Makefile
1757 docs/reference/gdk-pixbuf/Makefile
1758 docs/reference/gdk-pixbuf/version.xml
1759 docs/reference/gdk/Makefile
1760 docs/reference/gdk/version.xml
1761 docs/reference/gtk/Makefile
1762 docs/reference/gtk/version.xml
1765 docs/tutorial/Makefile
1767 gdk-pixbuf/gdk_pixbuf.rc
1768 gdk-pixbuf/gdk-pixbuf-features.h
1769 gdk-pixbuf/pixops/Makefile
1773 gdk/win32/rc/Makefile
1775 gdk/linux-fb/Makefile
1777 gdk/directfb/Makefile
1782 gtk/theme-bits/Makefile
1783 gtk/xdgmime/Makefile
1785 modules/input/Makefile
1786 modules/engines/Makefile
1787 modules/engines/pixbuf/Makefile
1788 modules/engines/ms-windows/Makefile
1789 modules/engines/ms-windows/Theme/Makefile
1790 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1791 modules/printbackends/Makefile
1792 modules/printbackends/cups/Makefile
1793 modules/printbackends/lpr/Makefile
1794 modules/printbackends/file/Makefile
1795 modules/printbackends/test/Makefile
1798 contrib/gdk-pixbuf-xlib/Makefile
1799 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
1804 echo "configuration:
1807 if test "x$gdktarget" = "xlinux-fb"; then
1808 echo "Warning: The linux-fb GDK target is unmaintained"
1809 echo " and may not work or even compile"