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], [4])
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.3])
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/win32/quartz/directfb]] select non-default GDK target],
225 gdktarget=$with_gdktarget)
229 x11|win32|quartz|directfb) ;;
230 *) AC_MSG_ERROR([Invalid target for GDK: use x11, 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 if test "x$enable_debug" = "xyes"; then
240 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
241 GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES"
243 if test "x$enable_debug" = "xno"; then
244 GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
246 GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
251 if test "x$enable_visibility" = "xno"; then
252 GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
256 AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
259 # Build time sanity check...
262 # Checks for programs.
269 if test "x$GCC" = "xyes"; then
271 *[\ \ ]-Wall[\ \ ]*) ;;
272 *) CFLAGS="$CFLAGS -Wall" ;;
275 if test "x$enable_ansi" = "xyes"; then
277 *[\ \ ]-ansi[\ \ ]*) ;;
278 *) CFLAGS="$CFLAGS -ansi" ;;
282 *[\ \ ]-pedantic[\ \ ]*) ;;
283 *) CFLAGS="$CFLAGS -pedantic" ;;
289 # Ensure MSVC-compatible struct packing convention is used when
290 # compiling for Win32 with gcc.
291 # What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
292 # gcc2 uses "-fnative-struct".
293 if test x"$os_win32" = xyes; then
294 if test x"$GCC" = xyes; then
296 AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
297 if test -z "$ac_cv_prog_CC"; then
300 our_gcc="$ac_cv_prog_CC"
302 case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
304 if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
305 msnative_struct='-fnative-struct'
309 if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
310 msnative_struct='-mms-bitfields'
314 if test x"$msnative_struct" = x ; then
315 AC_MSG_RESULT([no way])
316 AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
318 CFLAGS="$CFLAGS $msnative_struct"
319 AC_MSG_RESULT([${msnative_struct}])
324 # Honor aclocal flags
325 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
327 ## Initial sanity check, done here so that users get told they
328 ## have the wrong dependencies as early in the process as possible.
329 ## Later on we actually use the cflags/libs from separate pkg-config
330 ## calls. Oh, also the later pkg-config calls don't include
331 ## the version requirements since those make the module lists
332 ## annoying to construct
333 PKG_CHECK_MODULES(BASE_DEPENDENCIES,
334 [glib-2.0 >= glib_required_version dnl
335 atk >= atk_required_version dnl
336 pango >= pango_required_version dnl
337 cairo >= cairo_required_version])
339 if test "$os_win32" != yes; then
340 # libtool option to control which symbols are exported
341 # right now, symbols starting with _ are not exported
342 LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
344 # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
345 LIBTOOL_EXPORT_OPTIONS=
347 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
349 dnl ******************************************************
350 dnl * See whether to include shared library dependencies *
351 dnl ******************************************************
353 AC_ARG_ENABLE(explicit-deps,
354 [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
355 [use explicit dependencies in .pc files [default=auto]])],,
356 [enable_explicit_deps=auto])
358 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
359 case $enable_explicit_deps in
362 deplibs_check_method=`(./libtool --config; echo 'eval echo $deplibs_check_method') | sh`
363 if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
364 enable_explicit_deps=yes
366 enable_explicit_deps=no
371 *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
374 AC_MSG_RESULT($enable_explicit_deps)
376 AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
378 # define a MAINT-like variable REBUILD which is set if Perl
379 # and awk are found, so autogenerated sources can be rebuilt
381 AC_PATH_PROGS(PERL, perl5 perl)
383 # We would like indent, but don't require it.
384 AC_CHECK_PROG(INDENT, indent, indent)
387 if test "x$enable_rebuilds" = "xyes" && \
389 $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
394 AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked)
396 # _NL_TIME_FIRST_WEEKDAY is an enum and not a define
397 AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
398 AC_TRY_LINK([#include <langinfo.h>], [
400 c = *((unsigned char *) nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
401 ], gtk_ok=yes, gtk_ok=no)
402 AC_MSG_RESULT($gtk_ok)
403 if test "$gtk_ok" = "yes"; then
404 AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
405 [Define if _NL_TIME_FIRST_WEEKDAY is available])
408 # _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
409 AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
410 AC_TRY_LINK([#include <langinfo.h>], [
412 c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
413 ], gtk_ok=yes, gtk_ok=no)
414 AC_MSG_RESULT($gtk_ok)
415 if test "$gtk_ok" = "yes"; then
416 AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1],
417 [Define if _NL_MEASUREMENT_MEASUREMENT is available])
420 # _NL_PAPER_HEIGHT is an enum and not a define
421 AC_MSG_CHECKING([for _NL_PAPER_HEIGHT])
422 AC_TRY_LINK([#include <langinfo.h>], [
424 c = *((unsigned char *) nl_langinfo(_NL_PAPER_HEIGHT));
425 ], gtk_ok=yes, gtk_ok=no)
426 AC_MSG_RESULT($gtk_ok)
427 if test "$gtk_ok" = "yes"; then
428 AC_DEFINE([HAVE__NL_PAPER_HEIGHT], [1],
429 [Define if _NL_PAPER_HEIGHT is available])
432 # _NL_PAPER_WIDTH is an enum and not a define
433 AC_MSG_CHECKING([for _NL_PAPER_WIDTH])
434 AC_TRY_LINK([#include <langinfo.h>], [
436 c = *((unsigned char *) nl_langinfo(_NL_PAPER_WIDTH));
437 ], gtk_ok=yes, gtk_ok=no)
438 AC_MSG_RESULT($gtk_ok)
439 if test "$gtk_ok" = "yes"; then
440 AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1],
441 [Define if _NL_PAPER_WIDTH is available])
444 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
445 AC_MSG_CHECKING(for sigsetjmp)
446 AC_TRY_LINK([#include <setjmp.h>], [
449 ], gtk_ok=yes, gtk_ok=no)
450 AC_MSG_RESULT($gtk_ok)
451 if test "$gtk_ok" = "yes"; then
452 AC_DEFINE(HAVE_SIGSETJMP)
456 # TRANSLATORS: Please note that gtk+ has both po/ and po-properties/
457 # directories. If you add a new language to ALL_LINGUAS, please make
458 # sure that both po/ and po-properties/ have .po files that correspond
459 # to your language. If you only add one to po/, the build will break
461 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"
463 LIBS="$LIBS $INTLLIBS"
464 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
465 sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
468 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
470 dnl The DU4 header files don't provide library prototypes unless
471 dnl -std1 is given to the native cc.
472 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
476 AC_TRY_RUN([#include <math.h>
477 int main (void) { return (log(1) != log(1.)); }],
478 AC_MSG_RESULT(none needed),
479 gtk_save_CFLAGS="$CFLAGS"
480 CFLAGS="$CFLAGS -std1"
481 AC_TRY_RUN([#include <math.h>
482 int main (void) { return (log(1) != log(1.)); }],
483 AC_MSG_RESULT(-std1),
485 CFLAGS="$gtk_save_CFLAGS"
487 [No ANSI prototypes found in library. (-std1 didn't work.)]),
490 AC_MSG_RESULT(none needed)
494 AC_MSG_CHECKING(for the BeOS)
508 AC_MSG_CHECKING(for HP-UX)
510 hpux9* | hpux10* | hpux11*)
512 CFLAGS="$CFLAGS -DHPPEX -DSHMLINK"
519 dnl NeXTStep cc seems to need this
520 AC_MSG_CHECKING([for extra flags for POSIX compliance])
521 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
522 AC_MSG_RESULT(none needed),
523 gtk_save_CFLAGS="$CFLAGS"
524 CFLAGS="$CFLAGS -posix"
525 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
526 AC_MSG_RESULT(-posix),
528 CFLAGS="$gtk_save_CFLAGS"
529 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
532 # Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
535 GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
537 AM_PATH_GLIB_2_0(glib_required_version, :,
539 *** GLIB glib_required_version or better is required. The latest version of
540 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
541 gobject gmodule-no-export gthread)
543 # See if it's safe to turn G_DISABLE_DEPRECATED on.
544 GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
545 GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
546 if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
547 CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
552 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
555 LIBS="$LIBS $GLIB_LIBS"
556 AC_CHECK_FUNCS(bind_textdomain_codeset)
559 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
560 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
561 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
562 AC_CHECK_HEADERS(ftw.h, AC_DEFINE(HAVE_FTW_H))
564 AC_MSG_CHECKING([for GNU ftw extensions])
565 AC_TRY_COMPILE([#define _XOPEN_SOURCE 500
567 #include <ftw.h>], [int flags = FTW_ACTIONRETVAL;], gtk_ok=yes, gtk_ok=no)
568 if test $gtk_ok = yes; then
570 AC_DEFINE(HAVE_GNU_FTW,1,[Have GNU ftw])
575 saved_cflags="$CFLAGS"
576 saved_ldflags="$LDFLAGS"
579 # Checks for header files.
582 # Checks for typedefs, structures, and compiler characteristics.
585 # Checks for library functions.
589 AC_CHECK_FUNCS(mallinfo)
590 AC_CHECK_FUNCS(getresuid)
593 # Check if <sys/select.h> needs to be included for fd_set
594 AC_MSG_CHECKING([for fd_set])
595 AC_TRY_COMPILE([#include <sys/types.h>],
596 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
597 if test $gtk_ok = yes; then
598 AC_MSG_RESULT([yes, found in sys/types.h])
600 AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
601 if test $gtk_ok = yes; then
602 AC_DEFINE(HAVE_SYS_SELECT_H)
603 AC_MSG_RESULT([yes, found in sys/select.h])
610 # `widechar' tests for gdki18n.h
611 AC_MSG_CHECKING(for wchar.h)
612 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
613 if test $gdk_wchar_h = yes; then
614 AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
616 AC_MSG_RESULT($gdk_wchar_h)
618 # Check for wctype.h (for iswalnum)
619 AC_MSG_CHECKING(for wctype.h)
620 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
621 if test $gdk_wctype_h = yes; then
622 AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
624 AC_MSG_RESULT($gdk_wctype_h)
626 # in Solaris 2.5, `iswalnum' is in -lw
628 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
631 LIBS="$LIBS $GDK_WLIBS"
632 # The following is necessary for Linux libc-5.4.38
633 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
634 AC_TRY_LINK([#include <stdlib.h>],[
635 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
636 # ifdef HAVE_WCTYPE_H
644 # define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
646 iswalnum((wchar_t) 0);
647 ], gdk_working_wctype=yes, gdk_working_wctype=no)
650 if test $gdk_working_wctype = no; then
651 AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
654 AC_MSG_RESULT($gdk_working_wctype)
657 # Check for uxtheme.h (for MS-Windows Engine)
658 AC_MSG_CHECKING(for uxtheme.h)
659 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
660 if test $gtk_uxtheme_h = yes; then
661 AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
663 AC_MSG_RESULT($gtk_uxtheme_h)
665 # Checks for gdkspawn
666 AC_CHECK_HEADERS(crt_externs.h)
667 AC_CHECK_FUNCS(_NSGetEnviron)
670 ##################################################
671 # Checks for gdk-pixbuf
672 ##################################################
674 dnl ********************************************************
675 dnl * See whether we need to load our modules as .la files *
676 dnl ********************************************************
680 *-aix*) use_la_modules=true
683 if $use_la_modules ; then
684 AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
688 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
690 AC_ARG_ENABLE(modules,
691 [AC_HELP_STRING([--disable-modules],
692 [disable dynamic module loading])])
696 if test x$enable_modules = xno; then
700 AC_MSG_CHECKING(whether dynamic modules work)
701 ## for loop is to strip newline
702 tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
707 dnl Now we check to see if our libtool supports shared lib deps
708 dnl (in a rather ugly way even)
710 pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
711 pixbuf_deplibs_check=`$pixbuf_libtool_config | \
712 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
713 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
714 if test "x$pixbuf_deplibs_check" = "xnone" || \
715 test "x$pixbuf_deplibs_check" = "xunknown" || \
716 test "x$pixbuf_deplibs_check" = "x"; then
722 AC_DEFINE(USE_GMODULE)
729 dnl We allow people to disable image loaders explicitely, but if they don't we error
730 dnl out so that people don't accidentally build without them.
733 [AC_HELP_STRING([--without-libpng],
734 [disable PNG loader for gdk-pixbuf])])
736 [AC_HELP_STRING([--without-libjpeg],
737 [disable JPEG loader for gdk-pixbuf])])
739 [AC_HELP_STRING([--without-libtiff],
740 [disable TIFF loader for gdk-pixbuf])])
743 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
744 AC_CHECK_LIB(tiff, TIFFReadRGBAImageOriented,
745 [AC_CHECK_HEADER(tiffio.h,
746 TIFF='tiff'; LIBTIFF='-ltiff',
747 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
748 [AC_CHECK_LIB(tiff, TIFFWriteScanline,
749 [AC_CHECK_HEADER(tiffio.h,
750 TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
751 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
752 [AC_CHECK_LIB(tiff34, TIFFFlushData,
753 [AC_CHECK_HEADER(tiffio.h,
754 TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
755 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
756 AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
759 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
761 *** Checks for TIFF loader failed. You can build without it by passing
762 *** --without-libtiff to configure but some programs using GTK+ may
763 *** not work properly])
767 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
768 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
771 AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
772 if test "$jpeg_ok" = yes; then
773 AC_MSG_CHECKING([for jpeglib.h])
779 #include <jpeglib.h>],
782 AC_MSG_RESULT($jpeg_ok)
783 if test "$jpeg_ok" = yes; then
785 AC_CHECK_LIB(jpeg, jpeg_simple_progression,
786 AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
787 AC_MSG_WARN(JPEG library does not support progressive saving.))
789 AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
794 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
796 *** Checks for JPEG loader failed. You can build without it by passing
797 *** --without-libjpeg to configure but some programs using GTK+ may
798 *** not work properly])
802 if test x$with_libpng != xno && test -z "$LIBPNG"; then
803 AC_MSG_CHECKING(for libpng12)
804 if $PKG_CONFIG --exists libpng12 ; then
807 PNG_DEP_CFLAGS_PACKAGES=libpng12
808 LIBPNG=`$PKG_CONFIG --libs libpng12`
811 AC_CHECK_LIB(png, png_read_info,
812 [AC_CHECK_HEADER(png.h,
815 AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
816 if test "$png_ok" = yes; then
817 AC_MSG_CHECKING([for png_structp in png.h])
818 AC_TRY_COMPILE([#include <png.h>],
819 [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
822 AC_MSG_RESULT($png_ok)
823 if test "$png_ok" = yes; then
824 PNG='png'; LIBPNG='-lpng -lz'
826 AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
829 AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
834 if test x$with_libpng != xno && test -z "$LIBPNG"; then
836 *** Checks for PNG loader failed. You can build without it by passing
837 *** --without-libpng to configure but many programs using GTK+ will
838 *** not work properly. The PNG loader is also needed if you are compiling
846 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
849 # Allow building some or all gdk-pixbuf loaders included
851 AC_MSG_CHECKING(pixbuf loaders to build)
853 dnl due to an autoconf bug, commas in the first arg to
854 dnl AC_HELP_STRING cause problems.
855 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
856 dnl [build the specified loaders into gdk-pixbuf])
857 AC_ARG_WITH(included_loaders,
858 [ --with-included-loaders=LOADER1,LOADER2,...
859 build the specified loaders into gdk-pixbuf])
864 ## if the option was specified, leave it; otherwise disable included loaders
865 if test x$with_included_loaders = xno; then
866 with_included_loaders=yes
870 all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,xbm,tga,pcx"
872 # If no loaders specified, include all
873 if test "x$with_included_loaders" = xyes ; then
874 included_loaders="$all_loaders"
876 included_loaders="$with_included_loaders"
879 AC_MSG_RESULT($included_loaders)
882 INCLUDED_LOADER_DEFINE=
884 IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
885 for loader in $included_loaders; do
886 if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
889 AC_MSG_ERROR([the specified loader $loader does not exist])
892 INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libstatic-pixbufloader-$loader.la"
893 INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
894 eval INCLUDE_$loader=yes
897 AC_SUBST(INCLUDED_LOADER_OBJ)
898 AC_SUBST(INCLUDED_LOADER_DEFINE)
900 AM_CONDITIONAL(INCLUDE_PNG, [test x"$INCLUDE_png" = xyes])
901 AM_CONDITIONAL(INCLUDE_BMP, [test x"$INCLUDE_bmp" = xyes])
902 AM_CONDITIONAL(INCLUDE_WBMP, [test x"$INCLUDE_wbmp" = xyes])
903 AM_CONDITIONAL(INCLUDE_GIF, [test x"$INCLUDE_gif" = xyes])
904 AM_CONDITIONAL(INCLUDE_ICO, [test x"$INCLUDE_ico" = xyes])
905 AM_CONDITIONAL(INCLUDE_ANI, [test x"$INCLUDE_ani" = xyes])
906 AM_CONDITIONAL(INCLUDE_JPEG, [test x"$INCLUDE_jpeg" = xyes])
907 AM_CONDITIONAL(INCLUDE_PNM, [test x"$INCLUDE_pnm" = xyes])
908 AM_CONDITIONAL(INCLUDE_RAS, [test x"$INCLUDE_ras" = xyes])
909 AM_CONDITIONAL(INCLUDE_TIFF, [test x"$INCLUDE_tiff" = xyes])
910 AM_CONDITIONAL(INCLUDE_XPM, [test x"$INCLUDE_xpm" = xyes])
911 AM_CONDITIONAL(INCLUDE_XBM, [test x"$INCLUDE_xbm" = xyes])
912 AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
913 AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
919 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
920 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
921 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
925 if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
926 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
928 if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
929 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
931 if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
932 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
935 STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
938 # Checks to see whether we should include mediaLib
941 AC_CHECK_HEADER(sys/systeminfo.h, AC_DEFINE(HAVE_SYS_SYSTEMINFO_H))
942 AC_CHECK_HEADER(sys/sysinfo.h, AC_DEFINE(HAVE_SYS_SYSINFO_H))
944 AC_MSG_CHECKING(for mediaLib 2.3)
946 # Check for a mediaLib 2.3 function since that is what the GTK+ mediaLib
948 AC_CHECK_LIB(mlib, mlib_ImageSetStruct, use_mlib=yes, use_mlib=no)
949 if test $use_mlib = yes; then
950 AC_DEFINE(USE_MEDIALIB)
953 AC_MSG_CHECKING(for mediaLib 2.5)
954 # Check for a mediaLib 2.5 function since that is what is needed for
955 # gdk_rgb_convert integration.
956 AC_CHECK_LIB(mlib, mlib_VideoColorRGBint_to_BGRAint, use_mlib25=yes, use_mlib25=no)
957 if test $use_mlib25 = yes; then
958 AC_DEFINE(USE_MEDIALIB25)
961 AM_CONDITIONAL(USE_MEDIALIB, test $use_mlib = yes)
962 AM_CONDITIONAL(USE_MEDIALIB25, test $use_mlib25 = yes)
964 # Checks to see if we should compile in MMX support (there will be
965 # a runtime test when the code is actually run to see if it should
966 # be used - this just checks if we can compile it.)
968 # This code is partially taken from Mesa
970 AC_MSG_CHECKING(for x86 platform)
972 i386|i486|i586|i686|i786|k6|k7)
978 AC_MSG_RESULT($use_x86_asm)
981 if test $use_x86_asm = yes; then
985 AC_MSG_CHECKING(compiler support for MMX)
986 cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
987 if AC_TRY_EVAL(ac_compile); then
994 if test $use_mmx_asm = yes; then
1002 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
1005 if test -z "$LIBPNG"; then
1009 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
1011 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
1013 if test $cross_compiling = yes; then
1014 AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
1015 AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
1016 if test x$GTK_UPDATE_ICON_CACHE = xno; then
1021 if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
1022 test "x$REBUILD_PNGS" = "x#" ; then
1024 *** gtkbuiltincache.h is not in the tree, and cannot be built
1025 *** because you don't have libpng, or (when cross-compiling) you
1026 *** don't have a prebuilt gtk-update-icon-cache on the build system.])
1029 AC_SUBST(REBUILD_PNGS)
1031 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
1032 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB $MEDIA_LIB"
1033 GDK_PIXBUF_EXTRA_CFLAGS=
1034 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1035 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
1037 AC_SUBST(GDK_PIXBUF_PACKAGES)
1038 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
1039 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
1040 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
1041 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
1044 ########################################
1045 # Windowing system checks
1046 ########################################
1048 GDK_PIXBUF_XLIB_PACKAGES=
1049 GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
1050 GDK_PIXBUF_XLIB_EXTRA_LIBS=
1052 X_PACKAGES=fontconfig
1053 GDK_EXTRA_LIBS="$GDK_WLIBS"
1056 # GTK+ uses some X calls, so needs to link against X directly
1057 GTK_DEP_PACKAGES_FOR_X=
1060 if test "x$gdktarget" = "xx11"; then
1062 # We use fontconfig very peripherally when decoding the default
1065 if $PKG_CONFIG --exists fontconfig; then : ; else
1067 *** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
1071 # Check for basic X packages; we use pkg-config if available
1073 if $PKG_CONFIG --exists x11 xext xrender; then
1075 X_PACKAGES="$X_PACKAGES x11 xext xrender"
1076 x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
1077 X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
1079 # Strip out any .la files that pkg-config might give us (this happens
1080 # with -uninstalled.pc files)
1082 for I in $x_libs ; do
1085 *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1089 GDK_PIXBUF_XLIB_PACKAGES="x11"
1090 GTK_PACKAGES_FOR_X="x11"
1092 have_base_x_pc=false
1094 if test x$no_x = xyes ; then
1095 AC_MSG_ERROR([X development libraries not found])
1098 x_cflags="$X_CFLAGS"
1099 x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
1101 GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1102 GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
1103 GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
1106 # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
1109 gtk_save_cppflags="$CPPFLAGS"
1110 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1113 LIBS="$x_libs_for_checks $LIBS"
1115 # Sanity check for the X11 and Xext libraries. While everything we need from
1116 # Xext is optional, the chances a system has *none* of these things is so
1117 # small that we just unconditionally require it.
1118 AC_CHECK_FUNC(XOpenDisplay, :,
1119 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
1120 AC_CHECK_FUNC(XextFindDisplay, :,
1121 AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
1122 AC_CHECK_FUNC(XRenderQueryExtension, :,
1123 AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
1127 AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1128 AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1130 [AC_MSG_RESULT([no])],
1131 [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1132 #include <X11/Xlibint.h>],
1134 [AC_MSG_RESULT([yes])
1135 AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1136 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1137 [AC_MSG_RESULT([unknown])
1138 AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1140 # Check for XConvertCase, XInternAtoms (X11R6 specific)
1142 AC_CHECK_FUNCS(XConvertCase XInternAtoms)
1144 # Generic X11R6 check needed for XIM support; we could
1145 # probably use this to replace the above, but we'll
1146 # leave the separate checks for XConvertCase and XInternAtoms
1150 AC_CHECK_FUNC(XAddConnectionWatch,
1153 if $have_x11r6; then
1154 AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
1156 AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1158 # Check for XKB support.
1160 if test "x$enable_xkb" = "xyes"; then
1161 AC_MSG_WARN(XKB support explicitly enabled)
1163 elif test "x$enable_xkb" = "xmaybe"; then
1164 AC_CHECK_FUNC(XkbQueryExtension,
1165 AC_DEFINE(HAVE_XKB))
1167 AC_MSG_WARN(XKB support explicitly disabled)
1170 # Check for shaped window extension
1172 AC_CHECK_FUNC(XShapeCombineMask,
1173 AC_DEFINE(HAVE_SHAPE_EXT))
1176 gtk_save_CFLAGS="$CFLAGS"
1177 CFLAGS="$CFLAGS $x_cflags"
1179 AC_CHECK_FUNC(XSyncQueryExtension,
1180 [AC_CHECK_HEADER(X11/extensions/sync.h,
1181 AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
1182 :, [#include <X11/Xlib.h>])])
1184 CFLAGS="$gtk_save_CFLAGS"
1188 if test "x$enable_shm" = "xyes"; then
1189 # Check for the XShm extension, normally in Xext
1190 AC_CHECK_FUNC(XShmAttach,
1192 # On AIX, it is in XextSam instead
1193 [AC_CHECK_LIB(XextSam, XShmAttach,
1194 [GTK_ADD_LIB(x_extra_libs,XextSam)])])
1197 if test "x$enable_shm" = "xyes"; then
1198 # Check for shared memory
1199 AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
1200 AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
1202 # Check for the X shared memory extension header file
1204 AC_MSG_CHECKING(X11/extensions/XShm.h)
1205 if test "x$no_xext_lib" = "xyes"; then
1208 gtk_save_CFLAGS="$CFLAGS"
1209 CFLAGS="$CFLAGS $x_cflags"
1212 #include <sys/types.h>
1213 #include <sys/ipc.h>
1214 #include <sys/shm.h>
1215 #include <X11/Xlib.h>
1216 #include <X11/Xutil.h>
1217 #include <X11/extensions/XShm.h>
1218 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1219 CFLAGS="$gtk_save_CFLAGS"
1221 AC_MSG_RESULT($have_xshm)
1222 if test $have_xshm = yes ; then
1223 AC_DEFINE(HAVE_XSHM_H)
1227 if test "x$enable_xinerama" = "xyes"; then
1228 # Check for Xinerama extension (Solaris impl or Xfree impl)
1229 gtk_save_cppflags="$CPPFLAGS"
1230 CPPFLAGS="$CPPFLAGS $x_cflags"
1235 AC_MSG_CHECKING(for Xinerama support on Solaris)
1237 have_solaris_xinerama=false
1238 AC_CHECK_FUNC(XineramaGetInfo,
1239 [AC_CHECK_HEADER(X11/extensions/xinerama.h,
1240 [have_solaris_xinerama=true], :,
1241 [#include <X11/Xlib.h>])])
1243 if $have_solaris_xinerama ; then
1244 AC_DEFINE(HAVE_SOLARIS_XINERAMA)
1245 AC_DEFINE(HAVE_XINERAMA)
1253 AC_MSG_CHECKING(for Xinerama support on XFree86)
1255 have_xfree_xinerama=false
1256 if $PKG_CONFIG --exists xinerama ; then
1257 have_xfree_xinerama=true
1258 X_PACKAGES="$X_PACKAGES xinerama"
1260 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1261 [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
1262 [GTK_ADD_LIB(x_extra_libs,Xinerama)
1263 have_xfree_xinerama=true], :,
1264 [#include <X11/Xlib.h>])])
1267 if $have_xfree_xinerama ; then
1268 AC_DEFINE(HAVE_XFREE_XINERAMA)
1269 AC_DEFINE(HAVE_XINERAMA)
1278 # set up things for XInput
1280 if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
1281 AC_DEFINE(XINPUT_XFREE)
1283 if $PKG_CONFIG --exists xi ; then
1284 X_PACKAGES="$X_PACKAGES xi"
1286 GTK_ADD_LIB(x_extra_libs, Xi)
1289 AC_DEFINE(XINPUT_NONE)
1292 AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
1294 # Check for the RANDR extension
1297 if $PKG_CONFIG --exists xrandr ; then
1299 X_PACKAGES="$X_PACKAGES xrandr"
1301 AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
1302 [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
1303 # RANDR requires RENDER
1305 GTK_ADD_LIB(x_extra_libs, Xrender)
1306 GTK_ADD_LIB(x_extra_libs, Xrandr)],
1307 :, [#include <X11/Xlib.h>])])
1310 if $have_randr ; then
1311 AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
1314 # Checks for Xcursor library
1316 if $PKG_CONFIG --exists xcursor ; then
1317 AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1319 X_PACKAGES="$X_PACKAGES xcursor"
1322 # Checks for XFixes extension
1324 if $PKG_CONFIG --exists xfixes ; then
1325 AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1327 X_PACKAGES="$X_PACKAGES xfixes"
1328 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
1331 # Checks for Xcomposite extension
1333 if $PKG_CONFIG --exists xcomposite ; then
1334 AC_DEFINE(HAVE_XCOMPOSITE, 1, Have the XCOMPOSITE X extension)
1336 X_PACKAGES="$X_PACKAGES xcomposite"
1337 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite"
1340 # Checks for Xdamage extension
1342 if $PKG_CONFIG --exists xdamage ; then
1343 AC_DEFINE(HAVE_XDAMAGE, 1, Have the XDAMAGE X extension)
1345 X_PACKAGES="$X_PACKAGES xdamage"
1346 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage"
1349 if $have_base_x_pc ; then
1350 GDK_EXTRA_LIBS="$x_extra_libs"
1352 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
1355 CPPFLAGS="$gtk_save_cppflags"
1356 LIBS="$gtk_save_libs"
1358 AM_CONDITIONAL(USE_X11, true)
1360 AM_CONDITIONAL(XINPUT_XFREE, false)
1361 AM_CONDITIONAL(USE_X11, false)
1362 AM_CONDITIONAL(HAVE_X11R6, false)
1365 if test "x$gdktarget" = "xwin32"; then
1366 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid"
1367 AM_CONDITIONAL(USE_WIN32, true)
1369 AM_CONDITIONAL(USE_WIN32, false)
1372 if test "x$gdktarget" = "xquartz"; then
1373 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
1374 AM_CONDITIONAL(USE_QUARTZ, true)
1376 AM_CONDITIONAL(USE_QUARTZ, false)
1379 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1380 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"
1382 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1383 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1384 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1385 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1386 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1388 if test "x$gdktarget" = "xdirectfb"; then
1389 DIRECTFB_REQUIRED_VERSION=0.9.24
1390 AC_MSG_CHECKING(for DirectFB)
1392 if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
1393 AC_MSG_RESULT(found)
1394 GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
1395 GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
1398 *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend
1399 *** are required. The latest version of DirectFB is always available
1400 *** from http://www.directfb.org/.
1404 AM_CONDITIONAL(USE_DIRECTFB, true)
1406 AM_CONDITIONAL(USE_DIRECTFB, false)
1410 # Check for Pango flags
1412 if test "x$gdktarget" = "xwin32"; then
1413 PANGO_PACKAGES="pangowin32 pangocairo"
1415 PANGO_PACKAGES="pango pangocairo"
1418 AC_MSG_CHECKING(Pango flags)
1419 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1420 PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1421 PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1423 AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1426 *** Pango not found. Pango built with Cairo support is required
1427 *** to build GTK+. See http://www.pango.org for Pango information.
1431 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1433 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1436 gtk_save_LIBS="$LIBS"
1437 LIBS="$PANGO_LIBS $LIBS"
1438 AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1439 *** Can't link to Pango. Pango is required to build
1440 *** GTK+. For more information see http://www.pango.org]))
1441 LIBS="$gtk_save_LIBS"
1444 CFLAGS="$saved_cflags"
1445 LDFLAGS="$saved_ldflags"
1447 GDK_PACKAGES="$PANGO_PACKAGES"
1448 if test "x$gdktarget" = "xx11"; then
1449 GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
1451 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1452 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1455 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1456 # into the pkg-config files
1458 if test $enable_explicit_deps != yes ; then
1459 GDK_PACKAGES="$PANGO_PACKAGES"
1463 AC_SUBST(GDK_PACKAGES)
1464 AC_SUBST(GDK_EXTRA_LIBS)
1465 AC_SUBST(GDK_EXTRA_CFLAGS)
1466 AC_SUBST(GDK_DEP_LIBS)
1467 AC_SUBST(GDK_DEP_CFLAGS)
1470 ########################################
1471 # Check for Accessibility Toolkit flags
1472 ########################################
1475 AC_MSG_CHECKING(ATK flags)
1476 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1477 ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1478 ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1480 AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1483 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1488 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1491 gtk_save_LIBS="$LIBS"
1492 LIBS="$ATK_LIBS $LIBS"
1493 AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1494 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1495 *** to build GTK+]))
1496 LIBS="$gtk_save_LIBS"
1499 GTK_PACKAGES="atk cairo"
1502 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"
1503 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"
1505 if test x"$os_win32" = xyes; then
1506 GTK_EXTRA_CFLAGS="$msnative_struct"
1509 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
1510 ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
1511 PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
1512 CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
1514 AC_SUBST(GTK_PACKAGES)
1515 AC_SUBST(GTK_EXTRA_LIBS)
1516 AC_SUBST(GTK_EXTRA_CFLAGS)
1517 AC_SUBST(GTK_DEP_LIBS)
1518 AC_SUBST(GTK_DEP_CFLAGS)
1520 AC_SUBST(GLIB_PREFIX)
1521 AC_SUBST(ATK_PREFIX)
1522 AC_SUBST(PANGO_PREFIX)
1523 AC_SUBST(CAIRO_PREFIX)
1525 AC_SUBST(GTK_DEBUG_FLAGS)
1526 AC_SUBST(GTK_XIM_FLAGS)
1528 ################################################################
1529 # Printing system checks
1530 ################################################################
1532 AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
1533 if test "x$CUPS_CONFIG" != "xno"; then
1534 CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
1535 CUPS_LIBS=`cups-config --libs`
1537 CUPS_API_VERSION=`cups-config --api-version`
1538 CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
1539 CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
1541 if test $CUPS_API_MAJOR -gt 1 -o \
1542 $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
1543 AC_DEFINE(HAVE_CUPS_API_1_2)
1546 AC_SUBST(CUPS_API_MAJOR)
1547 AC_SUBST(CUPS_API_MINOR)
1548 AC_SUBST(CUPS_CFLAGS)
1551 AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
1553 gtk_save_cppflags="$CPPFLAGS"
1554 CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
1556 AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
1557 *** Can't find cairo-pdf.h. You must build Cairo with the pdf
1558 *** backend enabled.]))
1560 if test "$os_win32" != "yes"; then
1561 AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
1562 *** Can't find cairo-ps.h. You must build Cairo with the
1563 *** postscript backend enabled.]))
1566 CPPFLAGS="$gtk_save_cppflags"
1569 AC_ARG_ENABLE(test-print-backend,
1570 [AC_HELP_STRING([--enable-test-print-backend],
1571 [build test print backend])],,
1572 [enable_test_print_backend=no])
1573 AM_CONDITIONAL(TEST_PRINT_BACKEND, test "x$enable_test_print_backend" != "xno")
1576 ################################################################
1577 # Strip -export-dynamic from the link lines of various libraries
1578 ################################################################
1581 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1582 # but this flag is only meaningful for executables. For libraries
1583 # the effect is undefined; what it causes on Linux is that the
1584 # export list from -export-symbols-regex is ignored and everything
1587 # We are using gmodule-no-export now, but I'm leaving the stripping
1588 # code in place for now, since pango and atk still require gmodule.
1590 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1591 if test -n "$export_dynamic"; then
1592 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1593 GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1594 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1595 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1599 ##################################################
1600 # Checks for gtk-doc and docbook-tools
1601 ##################################################
1603 GTK_DOC_CHECK([1.6])
1605 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1606 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1609 [AC_HELP_STRING([--enable-man],
1610 [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1613 if test "${enable_man}" != no; then
1615 dnl Check for xsltproc
1617 AC_PATH_PROG([XSLTPROC], [xsltproc])
1618 if test -z "$XSLTPROC"; then
1622 dnl check for DocBook DTD and stylesheets in the local catalog.
1623 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1624 [DocBook XML DTD V4.1.2],,enable_man=no)
1625 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1626 [DocBook XSL Stylesheets],,enable_man=no)
1629 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1632 ##################################################
1634 ##################################################
1636 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1637 outfile=gdkconfig.h-tmp
1638 cat > $outfile <<\_______EOF
1641 * This is a generated file. Please modify `configure.in'
1649 #endif /* __cplusplus */
1653 cat >>$outfile <<_______EOF
1658 cat >>$outfile <<_______EOF
1662 #endif /* __cplusplus */
1664 #endif /* GDKCONFIG_H */
1668 if cmp -s $outfile gdk/gdkconfig.h; then
1669 AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1672 mv $outfile gdk/gdkconfig.h
1675 if test "x$gdktarget" = "xx11" ; then
1677 #define GDK_WINDOWING_X11'
1678 elif test "x$gdktarget" = "xwin32" ; then
1680 #define GDK_WINDOWING_WIN32'
1681 elif test "x$gdktarget" = "xquartz" ; then
1683 #define GDK_WINDOWING_QUARTZ'
1684 elif test "x$gdktarget" = "xdirectfb" ; then
1686 #define GDK_WINDOWING_DIRECTFB'
1689 if test x$gdk_wchar_h = xyes; then
1691 #define GDK_HAVE_WCHAR_H 1'
1693 if test x$gdk_wctype_h = xyes; then
1695 #define GDK_HAVE_WCTYPE_H 1"
1697 if test x$gdk_working_wctype = xno; then
1699 #define GDK_HAVE_BROKEN_WCTYPE 1"
1712 gtk+-unix-print-2.0.pc
1713 gdk-pixbuf-2.0-uninstalled.pc
1714 gdk-2.0-uninstalled.pc
1715 gtk+-2.0-uninstalled.pc
1718 po-properties/Makefile.in
1720 demos/gtk-demo/Makefile
1721 demos/gtk-demo/geninclude.pl
1724 docs/reference/Makefile
1725 docs/reference/gdk-pixbuf/Makefile
1726 docs/reference/gdk-pixbuf/version.xml
1727 docs/reference/gdk/Makefile
1728 docs/reference/gdk/version.xml
1729 docs/reference/gtk/Makefile
1730 docs/reference/gtk/version.xml
1733 docs/tutorial/Makefile
1735 gdk-pixbuf/gdk_pixbuf.rc
1736 gdk-pixbuf/gdk-pixbuf-features.h
1737 gdk-pixbuf/pixops/Makefile
1741 gdk/win32/rc/Makefile
1744 gdk/directfb/Makefile
1749 gtk/theme-bits/Makefile
1750 gtk/xdgmime/Makefile
1752 modules/input/Makefile
1753 modules/engines/Makefile
1754 modules/engines/pixbuf/Makefile
1755 modules/engines/ms-windows/Makefile
1756 modules/engines/ms-windows/Theme/Makefile
1757 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1758 modules/printbackends/Makefile
1759 modules/printbackends/cups/Makefile
1760 modules/printbackends/lpr/Makefile
1761 modules/printbackends/file/Makefile
1762 modules/printbackends/test/Makefile
1765 contrib/gdk-pixbuf-xlib/Makefile
1766 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
1771 echo "configuration: