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], [0])
16 m4_define([gtk_version],
17 [gtk_major_version.gtk_minor_version.gtk_micro_version])
18 m4_define([gtk_interface_age], [0])
19 m4_define([gtk_binary_age],
20 [m4_eval(100 * gtk_minor_version + gtk_micro_version)])
21 # This is the X.Y used in -lgtk-FOO-X.Y
22 m4_define([gtk_api_version], [2.0])
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(rebuilds,
203 [AC_HELP_STRING([--disable-rebuilds],
204 [disable all source autogeneration rules])],,
205 [enable_rebuilds=yes])
206 AC_ARG_ENABLE(visibility,
207 [AC_HELP_STRING([--disable-visibility],
208 [don't use ELF visibility attributes])],,
209 [enable_visibility=yes])
212 [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
214 if test "$platform_win32" = yes; then
220 AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/linux-fb/win32/quartz/directfb]] select non-default GDK target],
221 gdktarget=$with_gdktarget)
225 x11|linux-fb|win32|quartz|directfb) ;;
226 *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb, quartz, directfb or win32.]);;
229 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
230 gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
232 AC_SUBST(gdktargetlib)
233 AC_SUBST(gtktargetlib)
235 AC_ARG_ENABLE(shadowfb,
236 [AC_HELP_STRING([--disable-shadowfb],
237 [disable shadowfb support for linux-fb])],,
238 [enable_shadowfb=yes])
240 AC_ARG_ENABLE(fbmanager,
241 [AC_HELP_STRING([--enable-fbmanager],
242 [enable framebuffer manager support (GtkFB)])],,
245 if test "x$enable_debug" = "xyes"; then
246 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
247 GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
249 if test "x$enable_debug" = "xno"; then
250 GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
252 GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
257 if test "x$enable_visibility" = "xno"; then
258 GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
262 AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
265 # Build time sanity check...
268 # Checks for programs.
275 if test "x$GCC" = "xyes"; then
277 *[\ \ ]-Wall[\ \ ]*) ;;
278 *) CFLAGS="$CFLAGS -Wall" ;;
281 if test "x$enable_ansi" = "xyes"; then
283 *[\ \ ]-ansi[\ \ ]*) ;;
284 *) CFLAGS="$CFLAGS -ansi" ;;
288 *[\ \ ]-pedantic[\ \ ]*) ;;
289 *) CFLAGS="$CFLAGS -pedantic" ;;
295 # Ensure MSVC-compatible struct packing convention is used when
296 # compiling for Win32 with gcc.
297 # What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
298 # gcc2 uses "-fnative-struct".
299 if test x"$os_win32" = xyes; then
300 if test x"$GCC" = xyes; then
302 AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
303 if test -z "$ac_cv_prog_CC"; then
306 our_gcc="$ac_cv_prog_CC"
308 case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
310 if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
311 msnative_struct='-fnative-struct'
315 if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
316 msnative_struct='-mms-bitfields'
320 if test x"$msnative_struct" = x ; then
321 AC_MSG_RESULT([no way])
322 AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
324 CFLAGS="$CFLAGS $msnative_struct"
325 AC_MSG_RESULT([${msnative_struct}])
330 # Honor aclocal flags
331 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
333 ## Initial sanity check, done here so that users get told they
334 ## have the wrong dependencies as early in the process as possible.
335 ## Later on we actually use the cflags/libs from separate pkg-config
336 ## calls. Oh, also the later pkg-config calls don't include
337 ## the version requirements since those make the module lists
338 ## annoying to construct
339 PKG_CHECK_MODULES(BASE_DEPENDENCIES,
340 [glib-2.0 >= glib_required_version dnl
341 atk >= atk_required_version dnl
342 pango >= pango_required_version dnl
343 cairo >= cairo_required_version])
345 if test "$os_win32" != yes; then
346 # libtool option to control which symbols are exported
347 # right now, symbols starting with _ are not exported
348 LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
350 # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
351 LIBTOOL_EXPORT_OPTIONS=
353 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
355 dnl ******************************************************
356 dnl * See whether to include shared library dependencies *
357 dnl ******************************************************
359 AC_ARG_ENABLE(explicit-deps,
360 [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
361 [use explicit dependencies in .pc files [default=auto]])],,
362 [enable_explicit_deps=auto])
364 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
365 case $enable_explicit_deps in
368 deplibs_check_method=`(./libtool --config; echo 'eval echo $deplibs_check_method') | sh`
369 if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
370 enable_explicit_deps=yes
372 enable_explicit_deps=no
377 *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
380 AC_MSG_RESULT($enable_explicit_deps)
382 AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
384 # define a MAINT-like variable REBUILD which is set if Perl
385 # and awk are found, so autogenerated sources can be rebuilt
387 AC_PATH_PROGS(PERL, perl5 perl)
389 # We would like indent, but don't require it.
390 AC_CHECK_PROG(INDENT, indent, indent)
393 if test "x$enable_rebuilds" = "xyes" && \
395 $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
400 AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked)
402 # _NL_TIME_FIRST_WEEKDAY is an enum and not a define
403 AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
404 AC_TRY_LINK([#include <langinfo.h>], [
406 c = *((unsigned char *) nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
407 ], gtk_ok=yes, gtk_ok=no)
408 AC_MSG_RESULT($gtk_ok)
409 if test "$gtk_ok" = "yes"; then
410 AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
411 [Define if _NL_TIME_FIRST_WEEKDAY is available])
414 # _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
415 AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
416 AC_TRY_LINK([#include <langinfo.h>], [
418 c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
419 ], gtk_ok=yes, gtk_ok=no)
420 AC_MSG_RESULT($gtk_ok)
421 if test "$gtk_ok" = "yes"; then
422 AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1],
423 [Define if _NL_MEASUREMENT_MEASUREMENT is available])
426 # _NL_PAPER_HEIGHT is an enum and not a define
427 AC_MSG_CHECKING([for _NL_PAPER_HEIGHT])
428 AC_TRY_LINK([#include <langinfo.h>], [
430 c = *((unsigned char *) nl_langinfo(_NL_PAPER_HEIGHT));
431 ], gtk_ok=yes, gtk_ok=no)
432 AC_MSG_RESULT($gtk_ok)
433 if test "$gtk_ok" = "yes"; then
434 AC_DEFINE([HAVE__NL_PAPER_HEIGHT], [1],
435 [Define if _NL_PAPER_HEIGHT is available])
438 # _NL_PAPER_WIDTH is an enum and not a define
439 AC_MSG_CHECKING([for _NL_PAPER_WIDTH])
440 AC_TRY_LINK([#include <langinfo.h>], [
442 c = *((unsigned char *) nl_langinfo(_NL_PAPER_WIDTH));
443 ], gtk_ok=yes, gtk_ok=no)
444 AC_MSG_RESULT($gtk_ok)
445 if test "$gtk_ok" = "yes"; then
446 AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1],
447 [Define if _NL_PAPER_WIDTH is available])
450 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
451 AC_MSG_CHECKING(for sigsetjmp)
452 AC_TRY_LINK([#include <setjmp.h>], [
455 ], gtk_ok=yes, gtk_ok=no)
456 AC_MSG_RESULT($gtk_ok)
457 if test "$gtk_ok" = "yes"; then
458 AC_DEFINE(HAVE_SIGSETJMP)
462 # TRANSLATORS: Please note that gtk+ has both po/ and po-properties/
463 # directories. If you add a new language to ALL_LINGUAS, please make
464 # sure that both po/ and po-properties/ have .po files that correspond
465 # to your language. If you only add one to po/, the build will break
467 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"
469 LIBS="$LIBS $INTLLIBS"
470 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
471 sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
474 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
476 dnl The DU4 header files don't provide library prototypes unless
477 dnl -std1 is given to the native cc.
478 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
482 AC_TRY_RUN([#include <math.h>
483 int main (void) { return (log(1) != log(1.)); }],
484 AC_MSG_RESULT(none needed),
485 gtk_save_CFLAGS="$CFLAGS"
486 CFLAGS="$CFLAGS -std1"
487 AC_TRY_RUN([#include <math.h>
488 int main (void) { return (log(1) != log(1.)); }],
489 AC_MSG_RESULT(-std1),
491 CFLAGS="$gtk_save_CFLAGS"
493 [No ANSI prototypes found in library. (-std1 didn't work.)]),
496 AC_MSG_RESULT(none needed)
500 AC_MSG_CHECKING(for the BeOS)
514 AC_MSG_CHECKING(for HP-UX)
516 hpux9* | hpux10* | hpux11*)
518 CFLAGS="$CFLAGS -DHPPEX -DSHMLINK"
525 dnl NeXTStep cc seems to need this
526 AC_MSG_CHECKING([for extra flags for POSIX compliance])
527 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
528 AC_MSG_RESULT(none needed),
529 gtk_save_CFLAGS="$CFLAGS"
530 CFLAGS="$CFLAGS -posix"
531 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
532 AC_MSG_RESULT(-posix),
534 CFLAGS="$gtk_save_CFLAGS"
535 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
538 # Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
541 GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
543 AM_PATH_GLIB_2_0(glib_required_version, :,
545 *** GLIB glib_required_version or better is required. The latest version of
546 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
547 gobject gmodule-no-export gthread)
549 # See if it's safe to turn G_DISABLE_DEPRECATED on.
550 GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
551 GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
552 if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
553 CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
558 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
561 LIBS="$LIBS $GLIB_LIBS"
562 AC_CHECK_FUNCS(bind_textdomain_codeset)
565 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
566 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
567 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
568 AC_CHECK_HEADERS(ftw.h, AC_DEFINE(HAVE_FTW_H))
570 AC_MSG_CHECKING([for GNU ftw extensions])
571 AC_TRY_COMPILE([#define _XOPEN_SOURCE 500
573 #include <ftw.h>], [int flags = FTW_ACTIONRETVAL;], gtk_ok=yes, gtk_ok=no)
574 if test $gtk_ok = yes; then
576 AC_DEFINE(HAVE_GNU_FTW,1,[Have GNU ftw])
581 saved_cflags="$CFLAGS"
582 saved_ldflags="$LDFLAGS"
585 # Checks for header files.
588 # Checks for typedefs, structures, and compiler characteristics.
591 # Checks for library functions.
595 AC_CHECK_FUNCS(mallinfo)
596 AC_CHECK_FUNCS(getresuid)
599 # Check if <sys/select.h> needs to be included for fd_set
600 AC_MSG_CHECKING([for fd_set])
601 AC_TRY_COMPILE([#include <sys/types.h>],
602 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
603 if test $gtk_ok = yes; then
604 AC_MSG_RESULT([yes, found in sys/types.h])
606 AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
607 if test $gtk_ok = yes; then
608 AC_DEFINE(HAVE_SYS_SELECT_H)
609 AC_MSG_RESULT([yes, found in sys/select.h])
616 # `widechar' tests for gdki18n.h
617 AC_MSG_CHECKING(for wchar.h)
618 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
619 if test $gdk_wchar_h = yes; then
620 AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
622 AC_MSG_RESULT($gdk_wchar_h)
624 # Check for wctype.h (for iswalnum)
625 AC_MSG_CHECKING(for wctype.h)
626 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
627 if test $gdk_wctype_h = yes; then
628 AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
630 AC_MSG_RESULT($gdk_wctype_h)
632 # in Solaris 2.5, `iswalnum' is in -lw
634 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
637 LIBS="$LIBS $GDK_WLIBS"
638 # The following is necessary for Linux libc-5.4.38
639 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
640 AC_TRY_LINK([#include <stdlib.h>],[
641 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
642 # ifdef HAVE_WCTYPE_H
650 # define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
652 iswalnum((wchar_t) 0);
653 ], gdk_working_wctype=yes, gdk_working_wctype=no)
656 if test $gdk_working_wctype = no; then
657 AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
660 AC_MSG_RESULT($gdk_working_wctype)
663 # Check for uxtheme.h (for MS-Windows Engine)
664 AC_MSG_CHECKING(for uxtheme.h)
665 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
666 if test $gtk_uxtheme_h = yes; then
667 AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
669 AC_MSG_RESULT($gtk_uxtheme_h)
671 # Checks for gdkspawn
672 AC_CHECK_HEADERS(crt_externs.h)
673 AC_CHECK_FUNCS(_NSGetEnviron)
676 ##################################################
677 # Checks for gdk-pixbuf
678 ##################################################
680 dnl ********************************************************
681 dnl * See whether we need to load our modules as .la files *
682 dnl ********************************************************
686 *-aix*) use_la_modules=true
689 if $use_la_modules ; then
690 AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
694 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
696 AC_ARG_ENABLE(modules,
697 [AC_HELP_STRING([--disable-modules],
698 [disable dynamic module loading])])
702 if test x$enable_modules = xno; then
706 AC_MSG_CHECKING(whether dynamic modules work)
707 ## for loop is to strip newline
708 tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
713 dnl Now we check to see if our libtool supports shared lib deps
714 dnl (in a rather ugly way even)
716 pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
717 pixbuf_deplibs_check=`$pixbuf_libtool_config | \
718 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
719 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
720 if test "x$pixbuf_deplibs_check" = "xnone" || \
721 test "x$pixbuf_deplibs_check" = "xunknown" || \
722 test "x$pixbuf_deplibs_check" = "x"; then
728 AC_DEFINE(USE_GMODULE)
735 dnl We allow people to disable image loaders explicitely, but if they don't we error
736 dnl out so that people don't accidentally build without them.
739 [AC_HELP_STRING([--without-libpng],
740 [disable PNG loader for gdk-pixbuf])])
742 [AC_HELP_STRING([--without-libjpeg],
743 [disable JPEG loader for gdk-pixbuf])])
745 [AC_HELP_STRING([--without-libtiff],
746 [disable TIFF loader for gdk-pixbuf])])
749 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
750 AC_CHECK_LIB(tiff, TIFFReadRGBAImageOriented,
751 [AC_CHECK_HEADER(tiffio.h,
752 TIFF='tiff'; LIBTIFF='-ltiff',
753 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
754 [AC_CHECK_LIB(tiff, TIFFWriteScanline,
755 [AC_CHECK_HEADER(tiffio.h,
756 TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
757 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
758 [AC_CHECK_LIB(tiff34, TIFFFlushData,
759 [AC_CHECK_HEADER(tiffio.h,
760 TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
761 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
762 AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
765 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
767 *** Checks for TIFF loader failed. You can build without it by passing
768 *** --without-libtiff to configure but some programs using GTK+ may
769 *** not work properly])
773 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
774 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
777 AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
778 if test "$jpeg_ok" = yes; then
779 AC_MSG_CHECKING([for jpeglib.h])
785 #include <jpeglib.h>],
788 AC_MSG_RESULT($jpeg_ok)
789 if test "$jpeg_ok" = yes; then
791 AC_CHECK_LIB(jpeg, jpeg_simple_progression,
792 AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
793 AC_MSG_WARN(JPEG library does not support progressive saving.))
795 AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
800 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
802 *** Checks for JPEG loader failed. You can build without it by passing
803 *** --without-libjpeg to configure but some programs using GTK+ may
804 *** not work properly])
808 if test x$with_libpng != xno && test -z "$LIBPNG"; then
809 AC_MSG_CHECKING(for libpng12)
810 if $PKG_CONFIG --exists libpng12 ; then
813 PNG_DEP_CFLAGS_PACKAGES=libpng12
814 LIBPNG=`$PKG_CONFIG --libs libpng12`
817 AC_CHECK_LIB(png, png_read_info,
818 [AC_CHECK_HEADER(png.h,
821 AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
822 if test "$png_ok" = yes; then
823 AC_MSG_CHECKING([for png_structp in png.h])
824 AC_TRY_COMPILE([#include <png.h>],
825 [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
828 AC_MSG_RESULT($png_ok)
829 if test "$png_ok" = yes; then
830 PNG='png'; LIBPNG='-lpng -lz'
832 AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
835 AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
840 if test x$with_libpng != xno && test -z "$LIBPNG"; then
842 *** Checks for PNG loader failed. You can build without it by passing
843 *** --without-libpng to configure but many programs using GTK+ will
844 *** not work properly. The PNG loader is also needed if you are compiling
852 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
855 # Allow building some or all gdk-pixbuf loaders included
857 AC_MSG_CHECKING(pixbuf loaders to build)
859 dnl due to an autoconf bug, commas in the first arg to
860 dnl AC_HELP_STRING cause problems.
861 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
862 dnl [build the specified loaders into gdk-pixbuf])
863 AC_ARG_WITH(included_loaders,
864 [ --with-included-loaders=LOADER1,LOADER2,...
865 build the specified loaders into gdk-pixbuf])
870 ## if the option was specified, leave it; otherwise disable included loaders
871 if test x$with_included_loaders = xno; then
872 with_included_loaders=yes
876 all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,xbm,tga,pcx"
878 # If no loaders specified, include all
879 if test "x$with_included_loaders" = xyes ; then
880 included_loaders="$all_loaders"
882 included_loaders="$with_included_loaders"
885 AC_MSG_RESULT($included_loaders)
888 INCLUDED_LOADER_DEFINE=
890 IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
891 for loader in $included_loaders; do
892 if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
895 AC_MSG_ERROR([the specified loader $loader does not exist])
898 INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libstatic-pixbufloader-$loader.la"
899 INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
900 eval INCLUDE_$loader=yes
903 AC_SUBST(INCLUDED_LOADER_OBJ)
904 AC_SUBST(INCLUDED_LOADER_DEFINE)
906 AM_CONDITIONAL(INCLUDE_PNG, [test x"$INCLUDE_png" = xyes])
907 AM_CONDITIONAL(INCLUDE_BMP, [test x"$INCLUDE_bmp" = xyes])
908 AM_CONDITIONAL(INCLUDE_WBMP, [test x"$INCLUDE_wbmp" = xyes])
909 AM_CONDITIONAL(INCLUDE_GIF, [test x"$INCLUDE_gif" = xyes])
910 AM_CONDITIONAL(INCLUDE_ICO, [test x"$INCLUDE_ico" = xyes])
911 AM_CONDITIONAL(INCLUDE_ANI, [test x"$INCLUDE_ani" = xyes])
912 AM_CONDITIONAL(INCLUDE_JPEG, [test x"$INCLUDE_jpeg" = xyes])
913 AM_CONDITIONAL(INCLUDE_PNM, [test x"$INCLUDE_pnm" = xyes])
914 AM_CONDITIONAL(INCLUDE_RAS, [test x"$INCLUDE_ras" = xyes])
915 AM_CONDITIONAL(INCLUDE_TIFF, [test x"$INCLUDE_tiff" = xyes])
916 AM_CONDITIONAL(INCLUDE_XPM, [test x"$INCLUDE_xpm" = xyes])
917 AM_CONDITIONAL(INCLUDE_XBM, [test x"$INCLUDE_xbm" = xyes])
918 AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
919 AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
925 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
926 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
927 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
931 if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
932 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
934 if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
935 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
937 if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
938 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
941 STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
944 # Checks to see whether we should include mediaLib
947 AC_CHECK_HEADER(sys/systeminfo.h, AC_DEFINE(HAVE_SYS_SYSTEMINFO_H))
948 AC_CHECK_HEADER(sys/sysinfo.h, AC_DEFINE(HAVE_SYS_SYSINFO_H))
950 AC_MSG_CHECKING(for mediaLib 2.3)
952 # Check for a mediaLib 2.3 function since that is what the GTK+ mediaLib
954 AC_CHECK_LIB(mlib, mlib_ImageSetStruct, use_mlib=yes, use_mlib=no)
955 if test $use_mlib = yes; then
956 AC_DEFINE(USE_MEDIALIB)
959 AC_MSG_CHECKING(for mediaLib 2.5)
960 # Check for a mediaLib 2.5 function since that is what is needed for
961 # gdk_rgb_convert integration.
962 AC_CHECK_LIB(mlib, mlib_VideoColorRGBint_to_BGRAint, use_mlib25=yes, use_mlib25=no)
963 if test $use_mlib25 = yes; then
964 AC_DEFINE(USE_MEDIALIB25)
967 AM_CONDITIONAL(USE_MEDIALIB, test $use_mlib = yes)
968 AM_CONDITIONAL(USE_MEDIALIB25, test $use_mlib25 = yes)
970 # Checks to see if we should compile in MMX support (there will be
971 # a runtime test when the code is actually run to see if it should
972 # be used - this just checks if we can compile it.)
974 # This code is partially taken from Mesa
976 AC_MSG_CHECKING(for x86 platform)
978 i386|i486|i586|i686|i786|k6|k7)
984 AC_MSG_RESULT($use_x86_asm)
987 if test $use_x86_asm = yes; then
991 AC_MSG_CHECKING(compiler support for MMX)
992 cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
993 if AC_TRY_EVAL(ac_compile); then
1000 if test $use_mmx_asm = yes; then
1008 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
1011 if test -z "$LIBPNG"; then
1015 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
1017 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
1019 if test $cross_compiling = yes; then
1020 AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
1021 AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
1022 if test x$GTK_UPDATE_ICON_CACHE = xno; then
1027 if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
1028 test "x$REBUILD_PNGS" = "x#" ; then
1030 *** gtkbuiltincache.h is not in the tree, and cannot be built
1031 *** because you don't have libpng, or (when cross-compiling) you
1032 *** don't have a prebuilt gtk-update-icon-cache on the build system.])
1035 AC_SUBST(REBUILD_PNGS)
1037 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
1038 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB $MEDIA_LIB"
1039 GDK_PIXBUF_EXTRA_CFLAGS=
1040 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1041 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
1043 AC_SUBST(GDK_PIXBUF_PACKAGES)
1044 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
1045 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
1046 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
1047 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
1050 ########################################
1051 # Windowing system checks
1052 ########################################
1054 GDK_PIXBUF_XLIB_PACKAGES=
1055 GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
1056 GDK_PIXBUF_XLIB_EXTRA_LIBS=
1058 X_PACKAGES=fontconfig
1059 GDK_EXTRA_LIBS="$GDK_WLIBS"
1062 # GTK+ uses some X calls, so needs to link against X directly
1063 GTK_DEP_PACKAGES_FOR_X=
1066 if test "x$gdktarget" = "xx11"; then
1068 # We use fontconfig very peripherally when decoding the default
1071 if $PKG_CONFIG --exists fontconfig; then : ; else
1073 *** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
1077 # Check for basic X packages; we use pkg-config if available
1079 if $PKG_CONFIG --exists x11 xext xrender; then
1081 X_PACKAGES="$X_PACKAGES x11 xext xrender"
1082 x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
1083 X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
1085 # Strip out any .la files that pkg-config might give us (this happens
1086 # with -uninstalled.pc files)
1088 for I in $x_libs ; do
1091 *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1095 GDK_PIXBUF_XLIB_PACKAGES="x11"
1096 GTK_PACKAGES_FOR_X="x11"
1098 have_base_x_pc=false
1100 if test x$no_x = xyes ; then
1101 AC_MSG_ERROR([X development libraries not found])
1104 x_cflags="$X_CFLAGS"
1105 x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
1107 GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1108 GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
1109 GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
1112 # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
1115 gtk_save_cppflags="$CPPFLAGS"
1116 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1119 LIBS="$x_libs_for_checks $LIBS"
1121 # Sanity check for the X11 and Xext libraries. While everything we need from
1122 # Xext is optional, the chances a system has *none* of these things is so
1123 # small that we just unconditionally require it.
1124 AC_CHECK_FUNC(XOpenDisplay, :,
1125 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
1126 AC_CHECK_FUNC(XextFindDisplay, :,
1127 AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
1128 AC_CHECK_FUNC(XRenderQueryExtension, :,
1129 AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
1133 AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1134 AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1136 [AC_MSG_RESULT([no])],
1137 [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1138 #include <X11/Xlibint.h>],
1140 [AC_MSG_RESULT([yes])
1141 AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1142 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1143 [AC_MSG_RESULT([unknown])
1144 AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1146 # Check for XConvertCase, XInternAtoms (X11R6 specific)
1148 AC_CHECK_FUNCS(XConvertCase XInternAtoms)
1150 # Generic X11R6 check needed for XIM support; we could
1151 # probably use this to replace the above, but we'll
1152 # leave the separate checks for XConvertCase and XInternAtoms
1156 AC_CHECK_FUNC(XAddConnectionWatch,
1159 if $have_x11r6; then
1160 AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
1162 AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1164 # Check for XKB support.
1166 if test "x$enable_xkb" = "xyes"; then
1167 AC_MSG_WARN(XKB support explicitly enabled)
1169 elif test "x$enable_xkb" = "xmaybe"; then
1170 AC_CHECK_FUNC(XkbQueryExtension,
1171 AC_DEFINE(HAVE_XKB))
1173 AC_MSG_WARN(XKB support explicitly disabled)
1176 # Check for shaped window extension
1178 AC_CHECK_FUNC(XShapeCombineMask,
1179 AC_DEFINE(HAVE_SHAPE_EXT))
1182 gtk_save_CFLAGS="$CFLAGS"
1183 CFLAGS="$CFLAGS $x_cflags"
1185 AC_CHECK_FUNC(XSyncQueryExtension,
1186 [AC_CHECK_HEADER(X11/extensions/sync.h,
1187 AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
1188 :, [#include <X11/Xlib.h>])])
1190 CFLAGS="$gtk_save_CFLAGS"
1194 if test "x$enable_shm" = "xyes"; then
1195 # Check for the XShm extension, normally in Xext
1196 AC_CHECK_FUNC(XShmAttach,
1198 # On AIX, it is in XextSam instead
1199 [AC_CHECK_LIB(XextSam, XShmAttach,
1200 [GTK_ADD_LIB(x_extra_libs,XextSam)])])
1203 if test "x$enable_shm" = "xyes"; then
1204 # Check for shared memory
1205 AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
1206 AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
1208 # Check for the X shared memory extension header file
1210 AC_MSG_CHECKING(X11/extensions/XShm.h)
1211 if test "x$no_xext_lib" = "xyes"; then
1214 gtk_save_CFLAGS="$CFLAGS"
1215 CFLAGS="$CFLAGS $x_cflags"
1218 #include <sys/types.h>
1219 #include <sys/ipc.h>
1220 #include <sys/shm.h>
1221 #include <X11/Xlib.h>
1222 #include <X11/Xutil.h>
1223 #include <X11/extensions/XShm.h>
1224 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1225 CFLAGS="$gtk_save_CFLAGS"
1227 AC_MSG_RESULT($have_xshm)
1228 if test $have_xshm = yes ; then
1229 AC_DEFINE(HAVE_XSHM_H)
1233 # Check for Xinerama extension (Solaris impl or Xfree impl)
1235 gtk_save_cppflags="$CPPFLAGS"
1236 CPPFLAGS="$CPPFLAGS $x_cflags"
1241 AC_MSG_CHECKING(for Xinerama support on Solaris)
1243 have_solaris_xinerama=false
1244 AC_CHECK_FUNC(XineramaGetInfo,
1245 [AC_CHECK_HEADER(X11/extensions/xinerama.h,
1246 [have_solaris_xinerama=true], :,
1247 [#include <X11/Xlib.h>])])
1249 if $have_solaris_xinerama ; then
1250 AC_DEFINE(HAVE_SOLARIS_XINERAMA)
1251 AC_DEFINE(HAVE_XINERAMA)
1259 AC_MSG_CHECKING(for Xinerama support on XFree86)
1261 have_xfree_xinerama=false
1262 if $PKG_CONFIG --exists xinerama ; then
1263 have_xfree_xinerama=true
1264 X_PACKAGES="$X_PACKAGES xinerama"
1266 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1267 [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
1268 [GTK_ADD_LIB(x_extra_libs,Xinerama)
1269 have_xfree_xinerama=true], :,
1270 [#include <X11/Xlib.h>])])
1273 if $have_xfree_xinerama ; then
1274 AC_DEFINE(HAVE_XFREE_XINERAMA)
1275 AC_DEFINE(HAVE_XINERAMA)
1283 # set up things for XInput
1285 if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
1286 AC_DEFINE(XINPUT_XFREE)
1288 if $PKG_CONFIG --exists xi ; then
1289 X_PACKAGES="$X_PACKAGES xi"
1291 GTK_ADD_LIB(x_extra_libs, Xi)
1294 AC_DEFINE(XINPUT_NONE)
1297 AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
1299 # Check for the RANDR extension
1302 if $PKG_CONFIG --exists xrandr ; then
1304 X_PACKAGES="$X_PACKAGES xrandr"
1306 AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
1307 [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
1308 # RANDR requires RENDER
1310 GTK_ADD_LIB(x_extra_libs, Xrender)
1311 GTK_ADD_LIB(x_extra_libs, Xrandr)],
1312 :, [#include <X11/Xlib.h>])])
1315 if $have_randr ; then
1316 AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
1319 # Checks for Xcursor library
1321 if $PKG_CONFIG --exists xcursor ; then
1322 AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1324 X_PACKAGES="$X_PACKAGES xcursor"
1327 # Checks for XFixes extension
1329 if $PKG_CONFIG --exists xfixes ; then
1330 AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1332 X_PACKAGES="$X_PACKAGES xfixes"
1333 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
1336 # Checks for Xcomposite extension
1338 if $PKG_CONFIG --exists xcomposite ; then
1339 AC_DEFINE(HAVE_XCOMPOSITE, 1, Have the XCOMPOSITE X extension)
1341 X_PACKAGES="$X_PACKAGES xcomposite"
1342 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite"
1345 # Checks for Xdamage extension
1347 if $PKG_CONFIG --exists xdamage ; then
1348 AC_DEFINE(HAVE_XDAMAGE, 1, Have the XDAMAGE X extension)
1350 X_PACKAGES="$X_PACKAGES xdamage"
1351 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage"
1354 if $have_base_x_pc ; then
1355 GDK_EXTRA_LIBS="$x_extra_libs"
1357 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
1360 CPPFLAGS="$gtk_save_cppflags"
1361 LIBS="$gtk_save_libs"
1363 AM_CONDITIONAL(USE_X11, true)
1365 AM_CONDITIONAL(XINPUT_XFREE, false)
1366 AM_CONDITIONAL(USE_X11, false)
1367 AM_CONDITIONAL(HAVE_X11R6, false)
1370 if test "x$gdktarget" = "xwin32"; then
1371 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -Wl,-luuid"
1372 AM_CONDITIONAL(USE_WIN32, true)
1374 AM_CONDITIONAL(USE_WIN32, false)
1377 if test "x$gdktarget" = "xquartz"; then
1378 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
1379 AM_CONDITIONAL(USE_QUARTZ, true)
1381 AM_CONDITIONAL(USE_QUARTZ, false)
1384 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1385 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"
1387 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1388 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1389 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1390 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1391 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1393 if test "x$gdktarget" = "xlinux-fb"; then
1394 if test x$enable_shadowfb = xyes ; then
1395 AC_DEFINE(ENABLE_SHADOW_FB)
1398 if test x$enable_fbmanager = xyes ; then
1399 AC_DEFINE(ENABLE_FB_MANAGER)
1400 AM_CONDITIONAL(ENABLE_FB_MANAGER, true)
1402 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1405 AM_CONDITIONAL(USE_LINUX_FB, true)
1407 AM_CONDITIONAL(USE_LINUX_FB, false)
1408 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1411 if test "x$gdktarget" = "xdirectfb"; then
1412 DIRECTFB_REQUIRED_VERSION=0.9.24
1413 AC_MSG_CHECKING(for DirectFB)
1415 if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
1416 AC_MSG_RESULT(found)
1417 GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
1418 GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
1421 *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend
1422 *** are required. The latest version of DirectFB is always available
1423 *** from http://www.directfb.org/.
1427 AM_CONDITIONAL(USE_DIRECTFB, true)
1429 AM_CONDITIONAL(USE_DIRECTFB, false)
1433 # Check for Pango flags
1435 if test "x$gdktarget" = "xwin32"; then
1436 PANGO_PACKAGES="pangowin32 pangocairo"
1438 PANGO_PACKAGES="pango pangocairo"
1441 AC_MSG_CHECKING(Pango flags)
1442 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1443 PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1444 PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1446 AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1449 *** Pango not found. Pango built with Cairo support is required
1450 *** to build GTK+. See http://www.pango.org for Pango information.
1454 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1456 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1459 gtk_save_LIBS="$LIBS"
1460 LIBS="$PANGO_LIBS $LIBS"
1461 AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1462 *** Can't link to Pango. Pango is required to build
1463 *** GTK+. For more information see http://www.pango.org]))
1464 LIBS="$gtk_save_LIBS"
1467 CFLAGS="$saved_cflags"
1468 LDFLAGS="$saved_ldflags"
1470 GDK_PACKAGES="$PANGO_PACKAGES"
1471 if test "x$gdktarget" = "xx11"; then
1472 GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
1474 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1475 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1478 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1479 # into the pkg-config files
1481 if test $enable_explicit_deps != yes ; then
1482 GDK_PACKAGES="$PANGO_PACKAGES"
1486 AC_SUBST(GDK_PACKAGES)
1487 AC_SUBST(GDK_EXTRA_LIBS)
1488 AC_SUBST(GDK_EXTRA_CFLAGS)
1489 AC_SUBST(GDK_DEP_LIBS)
1490 AC_SUBST(GDK_DEP_CFLAGS)
1493 ########################################
1494 # Check for Accessibility Toolkit flags
1495 ########################################
1498 AC_MSG_CHECKING(ATK flags)
1499 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1500 ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1501 ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1503 AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1506 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1511 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1514 gtk_save_LIBS="$LIBS"
1515 LIBS="$ATK_LIBS $LIBS"
1516 AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1517 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1518 *** to build GTK+]))
1519 LIBS="$gtk_save_LIBS"
1522 GTK_PACKAGES="atk cairo"
1525 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"
1526 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"
1528 if test x"$os_win32" = xyes; then
1529 GTK_EXTRA_CFLAGS="$msnative_struct"
1532 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
1533 ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
1534 PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
1535 CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
1537 AC_SUBST(GTK_PACKAGES)
1538 AC_SUBST(GTK_EXTRA_LIBS)
1539 AC_SUBST(GTK_EXTRA_CFLAGS)
1540 AC_SUBST(GTK_DEP_LIBS)
1541 AC_SUBST(GTK_DEP_CFLAGS)
1543 AC_SUBST(GLIB_PREFIX)
1544 AC_SUBST(ATK_PREFIX)
1545 AC_SUBST(PANGO_PREFIX)
1546 AC_SUBST(CAIRO_PREFIX)
1548 AC_SUBST(GTK_DEBUG_FLAGS)
1549 AC_SUBST(GTK_XIM_FLAGS)
1551 ################################################################
1552 # Printing system checks
1553 ################################################################
1555 AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
1556 if test "x$CUPS_CONFIG" != "xno"; then
1557 CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
1558 CUPS_LIBS=`cups-config --libs`
1560 CUPS_API_VERSION=`cups-config --api-version`
1561 CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
1562 CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
1564 if test $CUPS_API_MAJOR -gt 1 -o \
1565 $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
1566 AC_DEFINE(HAVE_CUPS_API_1_2)
1569 AC_SUBST(CUPS_API_MAJOR)
1570 AC_SUBST(CUPS_API_MINOR)
1571 AC_SUBST(CUPS_CFLAGS)
1574 AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
1576 gtk_save_cppflags="$CPPFLAGS"
1577 CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
1579 AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
1580 *** Can't find cairo-pdf.h. You must build Cairo with the pdf
1581 *** backend enabled.]))
1583 if test "$os_win32" != "yes"; then
1584 AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
1585 *** Can't find cairo-ps.h. You must build Cairo with the
1586 *** postscript backend enabled.]))
1589 CPPFLAGS="$gtk_save_cppflags"
1592 AC_ARG_ENABLE(test-print-backend,
1593 [AC_HELP_STRING([--enable-test-print-backend],
1594 [build test print backend])],,
1595 [enable_test_print_backend=no])
1596 AM_CONDITIONAL(TEST_PRINT_BACKEND, test "x$enable_test_print_backend" != "xno")
1599 ################################################################
1600 # Strip -export-dynamic from the link lines of various libraries
1601 ################################################################
1604 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1605 # but this flag is only meaningful for executables. For libraries
1606 # the effect is undefined; what it causes on Linux is that the
1607 # export list from -export-symbols-regex is ignored and everything
1610 # We are using gmodule-no-export now, but I'm leaving the stripping
1611 # code in place for now, since pango and atk still require gmodule.
1613 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1614 if test -n "$export_dynamic"; then
1615 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1616 GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1617 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1618 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1622 ##################################################
1623 # Checks for gtk-doc and docbook-tools
1624 ##################################################
1626 GTK_DOC_CHECK([1.4])
1628 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1629 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1632 [AC_HELP_STRING([--enable-man],
1633 [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1636 if test "${enable_man}" != no; then
1638 dnl Check for xsltproc
1640 AC_PATH_PROG([XSLTPROC], [xsltproc])
1641 if test -z "$XSLTPROC"; then
1645 dnl check for DocBook DTD and stylesheets in the local catalog.
1646 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1647 [DocBook XML DTD V4.1.2],,enable_man=no)
1648 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1649 [DocBook XSL Stylesheets],,enable_man=no)
1652 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1655 ##################################################
1657 ##################################################
1659 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1660 outfile=gdkconfig.h-tmp
1661 cat > $outfile <<\_______EOF
1664 * This is a generated file. Please modify `configure.in'
1672 #endif /* __cplusplus */
1676 cat >>$outfile <<_______EOF
1681 cat >>$outfile <<_______EOF
1685 #endif /* __cplusplus */
1687 #endif /* GDKCONFIG_H */
1691 if cmp -s $outfile gdk/gdkconfig.h; then
1692 AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1695 mv $outfile gdk/gdkconfig.h
1698 if test "x$gdktarget" = "xx11" ; then
1700 #define GDK_WINDOWING_X11'
1701 elif test "x$gdktarget" = "xwin32" ; then
1703 #define GDK_WINDOWING_WIN32'
1704 elif test "x$gdktarget" = "xlinux-fb" ; then
1706 #define GDK_WINDOWING_FB
1707 #define GDK_NATIVE_WINDOW_POINTER'
1708 elif test "x$gdktarget" = "xquartz" ; then
1710 #define GDK_WINDOWING_QUARTZ'
1711 elif test "x$gdktarget" = "xdirectfb" ; then
1713 #define GDK_WINDOWING_DIRECTFB'
1716 if test x$gdk_wchar_h = xyes; then
1718 #define GDK_HAVE_WCHAR_H 1'
1720 if test x$gdk_wctype_h = xyes; then
1722 #define GDK_HAVE_WCTYPE_H 1"
1724 if test x$gdk_working_wctype = xno; then
1726 #define GDK_HAVE_BROKEN_WCTYPE 1"
1739 gtk+-unix-print-2.0.pc
1740 gdk-pixbuf-2.0-uninstalled.pc
1741 gdk-2.0-uninstalled.pc
1742 gtk+-2.0-uninstalled.pc
1745 po-properties/Makefile.in
1747 demos/gtk-demo/Makefile
1748 demos/gtk-demo/geninclude.pl
1751 docs/reference/Makefile
1752 docs/reference/gdk-pixbuf/Makefile
1753 docs/reference/gdk-pixbuf/version.xml
1754 docs/reference/gdk/Makefile
1755 docs/reference/gdk/version.xml
1756 docs/reference/gtk/Makefile
1757 docs/reference/gtk/version.xml
1760 docs/tutorial/Makefile
1762 gdk-pixbuf/gdk_pixbuf.rc
1763 gdk-pixbuf/gdk-pixbuf-features.h
1764 gdk-pixbuf/pixops/Makefile
1768 gdk/win32/rc/Makefile
1770 gdk/linux-fb/Makefile
1772 gdk/directfb/Makefile
1777 gtk/theme-bits/Makefile
1778 gtk/xdgmime/Makefile
1780 modules/input/Makefile
1781 modules/engines/Makefile
1782 modules/engines/pixbuf/Makefile
1783 modules/engines/ms-windows/Makefile
1784 modules/engines/ms-windows/Theme/Makefile
1785 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1786 modules/printbackends/Makefile
1787 modules/printbackends/cups/Makefile
1788 modules/printbackends/lpr/Makefile
1789 modules/printbackends/file/Makefile
1790 modules/printbackends/test/Makefile
1793 contrib/gdk-pixbuf-xlib/Makefile
1794 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
1799 echo "configuration:
1802 if test "x$gdktarget" = "xlinux-fb"; then
1803 echo "Warning: The linux-fb GDK target is unmaintained"
1804 echo " and may not work or even compile"