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.12.0])
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])])
215 [AC_HELP_STRING([--with-wintab=DIRECTORY],
216 [use Wintab API with win32 backend])])
217 if test "$platform_win32" = yes; then
223 AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/linux-fb/win32/quartz/directfb]] select non-default GDK target],
224 gdktarget=$with_gdktarget)
228 x11|linux-fb|win32|quartz|directfb) ;;
229 *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb, quartz, directfb or win32.]);;
232 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
233 gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
235 AC_SUBST(gdktargetlib)
236 AC_SUBST(gtktargetlib)
238 AC_ARG_ENABLE(shadowfb,
239 [AC_HELP_STRING([--disable-shadowfb],
240 [disable shadowfb support for linux-fb])],,
241 [enable_shadowfb=yes])
243 AC_ARG_ENABLE(fbmanager,
244 [AC_HELP_STRING([--enable-fbmanager],
245 [enable framebuffer manager support (GtkFB)])],,
248 if test "x$enable_debug" = "xyes"; then
249 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
250 GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
252 if test "x$enable_debug" = "xno"; then
253 GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
255 GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
259 if test "x$enable_visibility" = "xno"; then
260 GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
264 AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
267 # Build time sanity check...
270 # Checks for programs.
277 if test "x$GCC" = "xyes"; then
279 *[\ \ ]-Wall[\ \ ]*) ;;
280 *) CFLAGS="$CFLAGS -Wall" ;;
283 if test "x$enable_ansi" = "xyes"; then
285 *[\ \ ]-ansi[\ \ ]*) ;;
286 *) CFLAGS="$CFLAGS -ansi" ;;
290 *[\ \ ]-pedantic[\ \ ]*) ;;
291 *) CFLAGS="$CFLAGS -pedantic" ;;
297 # Ensure MSVC-compatible struct packing convention is used when
298 # compiling for Win32 with gcc.
299 # What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
300 # gcc2 uses "-fnative-struct".
301 if test x"$os_win32" = xyes; then
302 if test x"$GCC" = xyes; then
304 AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
305 if test -z "$ac_cv_prog_CC"; then
308 our_gcc="$ac_cv_prog_CC"
310 case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
312 if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
313 msnative_struct='-fnative-struct'
317 if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
318 msnative_struct='-mms-bitfields'
322 if test x"$msnative_struct" = x ; then
323 AC_MSG_RESULT([no way])
324 AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
326 CFLAGS="$CFLAGS $msnative_struct"
327 AC_MSG_RESULT([${msnative_struct}])
332 # Honor aclocal flags
333 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
335 ## Initial sanity check, done here so that users get told they
336 ## have the wrong dependencies as early in the process as possible.
337 ## Later on we actually use the cflags/libs from separate pkg-config
338 ## calls. Oh, also the later pkg-config calls don't include
339 ## the version requirements since those make the module lists
340 ## annoying to construct
341 PKG_CHECK_MODULES(BASE_DEPENDENCIES,
342 [glib-2.0 >= glib_required_version dnl
343 atk >= atk_required_version dnl
344 pango >= pango_required_version dnl
345 cairo >= cairo_required_version])
347 if test "$os_win32" != yes; then
348 # libtool option to control which symbols are exported
349 # right now, symbols starting with _ are not exported
350 LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
352 # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
353 LIBTOOL_EXPORT_OPTIONS=
355 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
357 dnl ******************************************************
358 dnl * See whether to include shared library dependencies *
359 dnl ******************************************************
361 AC_ARG_ENABLE(explicit-deps,
362 [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
363 [use explicit dependencies in .pc files [default=auto]])],,
364 [enable_explicit_deps=auto])
366 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
367 case $enable_explicit_deps in
370 deplibs_check_method=`(./libtool --config; echo 'eval echo $deplibs_check_method') | sh`
371 if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
372 enable_explicit_deps=yes
374 enable_explicit_deps=no
379 *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
382 AC_MSG_RESULT($enable_explicit_deps)
384 AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
386 # define a MAINT-like variable REBUILD which is set if Perl
387 # and awk are found, so autogenerated sources can be rebuilt
389 AC_PATH_PROGS(PERL, perl5 perl)
391 # We would like indent, but don't require it.
392 AC_CHECK_PROG(INDENT, indent, indent)
395 if test "x$enable_rebuilds" = "xyes" && \
397 $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
402 AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked)
404 # _NL_TIME_FIRST_WEEKDAY is an enum and not a define
405 AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
406 AC_TRY_LINK([#include <langinfo.h>], [
408 c = *((unsigned char *) nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
409 ], gtk_ok=yes, gtk_ok=no)
410 AC_MSG_RESULT($gtk_ok)
411 if test "$gtk_ok" = "yes"; then
412 AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
413 [Define if _NL_TIME_FIRST_WEEKDAY is available])
416 # _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
417 AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
418 AC_TRY_LINK([#include <langinfo.h>], [
420 c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
421 ], gtk_ok=yes, gtk_ok=no)
422 AC_MSG_RESULT($gtk_ok)
423 if test "$gtk_ok" = "yes"; then
424 AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1],
425 [Define if _NL_MEASUREMENT_MEASUREMENT is available])
428 # _NL_PAPER_HEIGHT is an enum and not a define
429 AC_MSG_CHECKING([for _NL_PAPER_HEIGHT])
430 AC_TRY_LINK([#include <langinfo.h>], [
432 c = *((unsigned char *) nl_langinfo(_NL_PAPER_HEIGHT));
433 ], gtk_ok=yes, gtk_ok=no)
434 AC_MSG_RESULT($gtk_ok)
435 if test "$gtk_ok" = "yes"; then
436 AC_DEFINE([HAVE__NL_PAPER_HEIGHT], [1],
437 [Define if _NL_PAPER_HEIGHT is available])
440 # _NL_PAPER_WIDTH is an enum and not a define
441 AC_MSG_CHECKING([for _NL_PAPER_WIDTH])
442 AC_TRY_LINK([#include <langinfo.h>], [
444 c = *((unsigned char *) nl_langinfo(_NL_PAPER_WIDTH));
445 ], gtk_ok=yes, gtk_ok=no)
446 AC_MSG_RESULT($gtk_ok)
447 if test "$gtk_ok" = "yes"; then
448 AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1],
449 [Define if _NL_PAPER_WIDTH is available])
452 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
453 AC_MSG_CHECKING(for sigsetjmp)
454 AC_TRY_LINK([#include <setjmp.h>], [
457 ], gtk_ok=yes, gtk_ok=no)
458 AC_MSG_RESULT($gtk_ok)
459 if test "$gtk_ok" = "yes"; then
460 AC_DEFINE(HAVE_SIGSETJMP)
464 # TRANSLATORS: Please note that gtk+ has both po/ and po-properties/
465 # directories. If you add a new language to ALL_LINGUAS, please make
466 # sure that both po/ and po-properties/ have .po files that correspond
467 # to your language. If you only add one to po/, the build will break
469 ALL_LINGUAS="af am ang ar az az_IR be bg bn bn_IN br bs ca cs cy da de dz el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ka ko ku li lt lv mi mk ml mn mr ms nb ne nl nn nso or pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk ur uz uz@Latn vi wa xh yi zh_CN zh_HK zh_TW"
471 LIBS="$LIBS $INTLLIBS"
472 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
473 sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
476 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
478 dnl The DU4 header files don't provide library prototypes unless
479 dnl -std1 is given to the native cc.
480 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
484 AC_TRY_RUN([#include <math.h>
485 int main (void) { return (log(1) != log(1.)); }],
486 AC_MSG_RESULT(none needed),
487 gtk_save_CFLAGS="$CFLAGS"
488 CFLAGS="$CFLAGS -std1"
489 AC_TRY_RUN([#include <math.h>
490 int main (void) { return (log(1) != log(1.)); }],
491 AC_MSG_RESULT(-std1),
493 CFLAGS="$gtk_save_CFLAGS"
495 [No ANSI prototypes found in library. (-std1 didn't work.)]),
498 AC_MSG_RESULT(none needed)
502 AC_MSG_CHECKING(for the BeOS)
516 AC_MSG_CHECKING(for HP-UX)
518 hpux9* | hpux10* | hpux11*)
520 CFLAGS="$CFLAGS -DHPPEX -DSHMLINK"
527 dnl NeXTStep cc seems to need this
528 AC_MSG_CHECKING([for extra flags for POSIX compliance])
529 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
530 AC_MSG_RESULT(none needed),
531 gtk_save_CFLAGS="$CFLAGS"
532 CFLAGS="$CFLAGS -posix"
533 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
534 AC_MSG_RESULT(-posix),
536 CFLAGS="$gtk_save_CFLAGS"
537 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
540 # Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
543 GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
545 AM_PATH_GLIB_2_0(glib_required_version, :,
547 *** GLIB glib_required_version or better is required. The latest version of
548 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
549 gobject gmodule-no-export gthread)
551 # See if it's safe to turn G_DISABLE_DEPRECATED on.
552 GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
553 GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
554 if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
555 CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
560 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
563 LIBS="$LIBS $GLIB_LIBS"
564 AC_CHECK_FUNCS(bind_textdomain_codeset)
567 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
568 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
569 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
571 if test "${with_wintab+set}" = set && test $with_wintab != no; then
572 AC_MSG_CHECKING([for wintab.h])
573 saved_CFLAGS="$CFLAGS"
574 CFLAGS="$CFLAGS -I$with_wintab/include"
575 AC_TRY_COMPILE([#include <windows.h>
576 #include <wintab.h>],
579 AC_MSG_CHECKING([for wntab32x.lib])
580 if test -f $with_wintab/lib/i386/wntab32x.lib ; then
583 AC_DEFINE(HAVE_WINTAB)
584 WINTAB_LIB="$with_wintab/lib/i386/wntab32x.lib"
588 CFLAGS="$saved_cflags"
593 CFLAGS="$saved_cflags"
596 AM_CONDITIONAL(HAVE_WINTAB, test x$have_wintab = xyes)
598 saved_cflags="$CFLAGS"
599 saved_ldflags="$LDFLAGS"
602 # Checks for header files.
605 # Checks for typedefs, structures, and compiler characteristics.
608 # Checks for library functions.
612 AC_CHECK_FUNCS(mallinfo)
613 AC_CHECK_FUNCS(getresuid)
616 # Check if <sys/select.h> needs to be included for fd_set
617 AC_MSG_CHECKING([for fd_set])
618 AC_TRY_COMPILE([#include <sys/types.h>],
619 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
620 if test $gtk_ok = yes; then
621 AC_MSG_RESULT([yes, found in sys/types.h])
623 AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
624 if test $gtk_ok = yes; then
625 AC_DEFINE(HAVE_SYS_SELECT_H)
626 AC_MSG_RESULT([yes, found in sys/select.h])
633 # `widechar' tests for gdki18n.h
634 AC_MSG_CHECKING(for wchar.h)
635 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
636 if test $gdk_wchar_h = yes; then
637 AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
639 AC_MSG_RESULT($gdk_wchar_h)
641 # Check for wctype.h (for iswalnum)
642 AC_MSG_CHECKING(for wctype.h)
643 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
644 if test $gdk_wctype_h = yes; then
645 AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
647 AC_MSG_RESULT($gdk_wctype_h)
649 # in Solaris 2.5, `iswalnum' is in -lw
651 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
654 LIBS="$LIBS $GDK_WLIBS"
655 # The following is necessary for Linux libc-5.4.38
656 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
657 AC_TRY_LINK([#include <stdlib.h>],[
658 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
659 # ifdef HAVE_WCTYPE_H
667 # define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
669 iswalnum((wchar_t) 0);
670 ], gdk_working_wctype=yes, gdk_working_wctype=no)
673 if test $gdk_working_wctype = no; then
674 AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
677 AC_MSG_RESULT($gdk_working_wctype)
680 # Check for uxtheme.h (for MS-Windows Engine)
681 AC_MSG_CHECKING(for uxtheme.h)
682 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
683 if test $gtk_uxtheme_h = yes; then
684 AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
686 AC_MSG_RESULT($gtk_uxtheme_h)
688 # Checks for gdkspawn
689 AC_CHECK_HEADERS(crt_externs.h)
690 AC_CHECK_FUNCS(_NSGetEnviron)
693 ##################################################
694 # Checks for gdk-pixbuf
695 ##################################################
697 dnl ********************************************************
698 dnl * See whether we need to load our modules as .la files *
699 dnl ********************************************************
703 *-aix*) use_la_modules=true
706 if $use_la_modules ; then
707 AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
711 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
713 AC_ARG_ENABLE(modules,
714 [AC_HELP_STRING([--disable-modules],
715 [disable dynamic module loading])])
719 if test x$enable_modules = xno; then
723 AC_MSG_CHECKING(whether dynamic modules work)
724 ## for loop is to strip newline
725 tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
730 dnl Now we check to see if our libtool supports shared lib deps
731 dnl (in a rather ugly way even)
733 pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
734 pixbuf_deplibs_check=`$pixbuf_libtool_config | \
735 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
736 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
737 if test "x$pixbuf_deplibs_check" = "xnone" || \
738 test "x$pixbuf_deplibs_check" = "xunknown" || \
739 test "x$pixbuf_deplibs_check" = "x"; then
745 AC_DEFINE(USE_GMODULE)
752 dnl We allow people to disable image loaders explicitely, but if they don't we error
753 dnl out so that people don't accidentally build without them.
756 [AC_HELP_STRING([--without-libpng],
757 [disable PNG loader for gdk-pixbuf])])
759 [AC_HELP_STRING([--without-libjpeg],
760 [disable JPEG loader for gdk-pixbuf])])
762 [AC_HELP_STRING([--without-libtiff],
763 [disable TIFF loader for gdk-pixbuf])])
766 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
767 AC_CHECK_LIB(tiff, TIFFReadScanline,
768 [AC_CHECK_HEADER(tiffio.h,
769 TIFF='tiff'; LIBTIFF='-ltiff',
770 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
771 [AC_CHECK_LIB(tiff, TIFFWriteScanline,
772 [AC_CHECK_HEADER(tiffio.h,
773 TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
774 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
775 [AC_CHECK_LIB(tiff34, TIFFFlushData,
776 [AC_CHECK_HEADER(tiffio.h,
777 TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
778 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
779 AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
782 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
784 *** Checks for TIFF loader failed. You can build without it by passing
785 *** --without-libtiff to configure but some programs using GTK+ may
786 *** not work properly])
790 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
791 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
794 AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
795 if test "$jpeg_ok" = yes; then
796 AC_MSG_CHECKING([for jpeglib.h])
802 #include <jpeglib.h>],
805 AC_MSG_RESULT($jpeg_ok)
806 if test "$jpeg_ok" = yes; then
808 AC_CHECK_LIB(jpeg, jpeg_simple_progression,
809 AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
810 AC_MSG_WARN(JPEG library does not support progressive saving.))
812 AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
817 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
819 *** Checks for JPEG loader failed. You can build without it by passing
820 *** --without-libjpeg to configure but some programs using GTK+ may
821 *** not work properly])
825 if test x$with_libpng != xno && test -z "$LIBPNG"; then
826 AC_MSG_CHECKING(for libpng12)
827 if $PKG_CONFIG --exists libpng12 ; then
830 PNG_DEP_CFLAGS_PACKAGES=libpng12
831 LIBPNG=`$PKG_CONFIG --libs libpng12`
834 AC_CHECK_LIB(png, png_read_info,
835 [AC_CHECK_HEADER(png.h,
838 AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
839 if test "$png_ok" = yes; then
840 AC_MSG_CHECKING([for png_structp in png.h])
841 AC_TRY_COMPILE([#include <png.h>],
842 [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
845 AC_MSG_RESULT($png_ok)
846 if test "$png_ok" = yes; then
847 PNG='png'; LIBPNG='-lpng -lz'
849 AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
852 AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
857 if test x$with_libpng != xno && test -z "$LIBPNG"; then
859 *** Checks for PNG loader failed. You can build without it by passing
860 *** --without-libpng to configure but many programs using GTK+ will
861 *** not work properly. The PNG loader is also needed if you are compiling
869 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
872 # Allow building some or all gdk-pixbuf loaders included
874 AC_MSG_CHECKING(pixbuf loaders to build)
876 dnl due to an autoconf bug, commas in the first arg to
877 dnl AC_HELP_STRING cause problems.
878 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
879 dnl [build the specified loaders into gdk-pixbuf])
880 AC_ARG_WITH(included_loaders,
881 [ --with-included-loaders=LOADER1,LOADER2,...
882 build the specified loaders into gdk-pixbuf])
887 ## if the option was specified, leave it; otherwise disable included loaders
888 if test x$with_included_loaders = xno; then
889 with_included_loaders=yes
893 all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,xbm,tga,pcx"
895 # If no loaders specified, include all
896 if test "x$with_included_loaders" = xyes ; then
897 included_loaders="$all_loaders"
899 included_loaders="$with_included_loaders"
902 AC_MSG_RESULT($included_loaders)
905 INCLUDED_LOADER_DEFINE=
907 IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
908 for loader in $included_loaders; do
909 if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
912 AC_MSG_ERROR([the specified loader $loader does not exist])
915 INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libstatic-pixbufloader-$loader.la"
916 INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
917 eval INCLUDE_$loader=yes
920 AC_SUBST(INCLUDED_LOADER_OBJ)
921 AC_SUBST(INCLUDED_LOADER_DEFINE)
923 AM_CONDITIONAL(INCLUDE_PNG, [test x"$INCLUDE_png" = xyes])
924 AM_CONDITIONAL(INCLUDE_BMP, [test x"$INCLUDE_bmp" = xyes])
925 AM_CONDITIONAL(INCLUDE_WBMP, [test x"$INCLUDE_wbmp" = xyes])
926 AM_CONDITIONAL(INCLUDE_GIF, [test x"$INCLUDE_gif" = xyes])
927 AM_CONDITIONAL(INCLUDE_ICO, [test x"$INCLUDE_ico" = xyes])
928 AM_CONDITIONAL(INCLUDE_ANI, [test x"$INCLUDE_ani" = xyes])
929 AM_CONDITIONAL(INCLUDE_JPEG, [test x"$INCLUDE_jpeg" = xyes])
930 AM_CONDITIONAL(INCLUDE_PNM, [test x"$INCLUDE_pnm" = xyes])
931 AM_CONDITIONAL(INCLUDE_RAS, [test x"$INCLUDE_ras" = xyes])
932 AM_CONDITIONAL(INCLUDE_TIFF, [test x"$INCLUDE_tiff" = xyes])
933 AM_CONDITIONAL(INCLUDE_XPM, [test x"$INCLUDE_xpm" = xyes])
934 AM_CONDITIONAL(INCLUDE_XBM, [test x"$INCLUDE_xbm" = xyes])
935 AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
936 AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
942 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
943 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
944 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
948 if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
949 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
951 if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
952 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
954 if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
955 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
958 STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
961 # Checks to see if we should compile in MMX support (there will be
962 # a runtime test when the code is actually run to see if it should
963 # be used - this just checks if we can compile it.)
965 # This code is partially taken from Mesa
967 AC_MSG_CHECKING(for x86 platform)
969 i386|i486|i586|i686|i786|k6|k7)
975 AC_MSG_RESULT($use_x86_asm)
978 if test $use_x86_asm = yes; then
982 AC_MSG_CHECKING(compiler support for MMX)
983 cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
984 if AC_TRY_EVAL(ac_compile); then
991 if test $use_mmx_asm = yes; then
999 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
1002 if test -z "$LIBPNG"; then
1006 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
1008 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
1010 if test $cross_compiling = yes; then
1011 AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
1012 AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
1013 if test x$GTK_UPDATE_ICON_CACHE = xno; then
1018 if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
1019 test "x$REBUILD_PNGS" = "x#" ; then
1021 *** gtkbuiltincache.h is not in the tree, and cannot be built
1022 *** because you don't have libpng, or (when cross-compiling) you
1023 *** don't have a prebuilt gtk-update-icon-cache on the build system.])
1026 AC_SUBST(REBUILD_PNGS)
1028 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
1029 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB"
1030 GDK_PIXBUF_EXTRA_CFLAGS=
1031 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1032 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
1034 AC_SUBST(GDK_PIXBUF_PACKAGES)
1035 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
1036 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
1037 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
1038 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
1041 ########################################
1042 # Windowing system checks
1043 ########################################
1045 GDK_PIXBUF_XLIB_PACKAGES=
1046 GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
1047 GDK_PIXBUF_XLIB_EXTRA_LIBS=
1049 X_PACKAGES=fontconfig
1050 GDK_EXTRA_LIBS="$GDK_WLIBS"
1053 # GTK+ uses some X calls, so needs to link against X directly
1054 GTK_DEP_PACKAGES_FOR_X=
1057 if test "x$gdktarget" = "xx11"; then
1059 # We use fontconfig very peripherally when decoding the default
1062 if $PKG_CONFIG --exists fontconfig; then : ; else
1064 *** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
1068 # Check for basic X packages; we use pkg-config if available
1070 if $PKG_CONFIG --exists x11 xext xrender; then
1072 X_PACKAGES="$X_PACKAGES x11 xext xrender"
1073 x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
1074 X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
1076 # Strip out any .la files that pkg-config might give us (this happens
1077 # with -uninstalled.pc files)
1079 for I in $x_libs ; do
1082 *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1086 GDK_PIXBUF_XLIB_PACKAGES="x11"
1087 GTK_PACKAGES_FOR_X="x11"
1089 have_base_x_pc=false
1091 if test x$no_x = xyes ; then
1092 AC_MSG_ERROR([X development libraries not found])
1095 x_cflags="$X_CFLAGS"
1096 x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
1098 GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1099 GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
1100 GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
1103 # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
1106 gtk_save_cppflags="$CPPFLAGS"
1107 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1110 LIBS="$x_libs_for_checks $LIBS"
1112 # Sanity check for the X11 and Xext libraries. While everything we need from
1113 # Xext is optional, the chances a system has *none* of these things is so
1114 # small that we just unconditionally require it.
1115 AC_CHECK_FUNC(XOpenDisplay, :,
1116 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
1117 AC_CHECK_FUNC(XextFindDisplay, :,
1118 AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
1119 AC_CHECK_FUNC(XRenderQueryExtension, :,
1120 AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
1124 AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1125 AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1127 [AC_MSG_RESULT([no])],
1128 [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1129 #include <X11/Xlibint.h>],
1131 [AC_MSG_RESULT([yes])
1132 AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1133 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1134 [AC_MSG_RESULT([unknown])
1135 AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1137 # Check for XConvertCase, XInternAtoms (X11R6 specific)
1139 AC_CHECK_FUNCS(XConvertCase XInternAtoms)
1141 # Generic X11R6 check needed for XIM support; we could
1142 # probably use this to replace the above, but we'll
1143 # leave the separate checks for XConvertCase and XInternAtoms
1147 AC_CHECK_FUNC(XAddConnectionWatch,
1150 if $have_x11r6; then
1151 AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
1153 AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1155 # Check for XKB support.
1157 if test "x$enable_xkb" = "xyes"; then
1158 AC_MSG_WARN(XKB support explicitly enabled)
1160 elif test "x$enable_xkb" = "xmaybe"; then
1161 AC_CHECK_FUNC(XkbQueryExtension,
1162 AC_DEFINE(HAVE_XKB))
1164 AC_MSG_WARN(XKB support explicitly disabled)
1167 # Check for shaped window extension
1169 AC_CHECK_FUNC(XShapeCombineMask,
1170 AC_DEFINE(HAVE_SHAPE_EXT))
1173 gtk_save_CFLAGS="$CFLAGS"
1174 CFLAGS="$CFLAGS $x_cflags"
1176 AC_CHECK_FUNC(XSyncQueryExtension,
1177 [AC_CHECK_HEADER(X11/extensions/sync.h,
1178 AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
1179 :, [#include <X11/Xlib.h>])])
1181 CFLAGS="$gtk_save_CFLAGS"
1185 if test "x$enable_shm" = "xyes"; then
1186 # Check for the XShm extension, normally in Xext
1187 AC_CHECK_FUNC(XShmAttach,
1189 # On AIX, it is in XextSam instead
1190 [AC_CHECK_LIB(XextSam, XShmAttach,
1191 [GTK_ADD_LIB(x_extra_libs,XextSam)])])
1194 if test "x$enable_shm" = "xyes"; then
1195 # Check for shared memory
1196 AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
1197 AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
1199 # Check for the X shared memory extension header file
1201 AC_MSG_CHECKING(X11/extensions/XShm.h)
1202 if test "x$no_xext_lib" = "xyes"; then
1205 gtk_save_CFLAGS="$CFLAGS"
1206 CFLAGS="$CFLAGS $x_cflags"
1209 #include <sys/types.h>
1210 #include <sys/ipc.h>
1211 #include <sys/shm.h>
1212 #include <X11/Xlib.h>
1213 #include <X11/Xutil.h>
1214 #include <X11/extensions/XShm.h>
1215 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1216 CFLAGS="$gtk_save_CFLAGS"
1218 AC_MSG_RESULT($have_xshm)
1219 if test $have_xshm = yes ; then
1220 AC_DEFINE(HAVE_XSHM_H)
1224 # Check for Xinerama extension (Solaris impl or Xfree impl)
1226 gtk_save_cppflags="$CPPFLAGS"
1227 CPPFLAGS="$CPPFLAGS $x_cflags"
1232 AC_MSG_CHECKING(for Xinerama support on Solaris)
1234 have_solaris_xinerama=false
1235 AC_CHECK_FUNC(XineramaGetInfo,
1236 [AC_CHECK_HEADER(X11/extensions/xinerama.h,
1237 [have_solaris_xinerama=true], :,
1238 [#include <X11/Xlib.h>])])
1240 if $have_solaris_xinerama ; then
1241 AC_DEFINE(HAVE_SOLARIS_XINERAMA)
1242 AC_DEFINE(HAVE_XINERAMA)
1250 AC_MSG_CHECKING(for Xinerama support on XFree86)
1252 have_xfree_xinerama=false
1253 if $PKG_CONFIG --exists xinerama ; then
1254 have_xfree_xinerama=true
1255 X_PACKAGES="$X_PACKAGES xinerama"
1257 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1258 [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
1259 [GTK_ADD_LIB(x_extra_libs,Xinerama)
1260 have_xfree_xinerama=true], :,
1261 [#include <X11/Xlib.h>])])
1264 if $have_xfree_xinerama ; then
1265 AC_DEFINE(HAVE_XFREE_XINERAMA)
1266 AC_DEFINE(HAVE_XINERAMA)
1274 # set up things for XInput
1276 if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
1277 AC_DEFINE(XINPUT_XFREE)
1279 if $PKG_CONFIG --exists xi ; then
1280 X_PACKAGES="$X_PACKAGES xi"
1282 GTK_ADD_LIB(x_extra_libs, Xi)
1285 AC_DEFINE(XINPUT_NONE)
1288 AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
1290 # Check for the RANDR extension
1293 if $PKG_CONFIG --exists xrandr ; then
1295 X_PACKAGES="$X_PACKAGES xrandr"
1297 AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
1298 [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
1299 # RANDR requires RENDER
1301 GTK_ADD_LIB(x_extra_libs, Xrender)
1302 GTK_ADD_LIB(x_extra_libs, Xrandr)],
1303 :, [#include <X11/Xlib.h>])])
1306 if $have_randr ; then
1307 AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
1310 # Checks for Xcursor library
1312 if $PKG_CONFIG --exists xcursor ; then
1313 AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1315 X_PACKAGES="$X_PACKAGES xcursor"
1318 # Checks for XFixes extension
1320 if $PKG_CONFIG --exists xfixes ; then
1321 AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1323 X_PACKAGES="$X_PACKAGES xfixes"
1324 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
1327 if $have_base_x_pc ; then
1328 GDK_EXTRA_LIBS="$x_extra_libs"
1330 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
1333 CPPFLAGS="$gtk_save_cppflags"
1334 LIBS="$gtk_save_libs"
1336 AM_CONDITIONAL(USE_X11, true)
1338 AM_CONDITIONAL(XINPUT_XFREE, false)
1339 AM_CONDITIONAL(USE_X11, false)
1340 AM_CONDITIONAL(HAVE_X11R6, false)
1343 if test "x$gdktarget" = "xwin32"; then
1344 # We start off with the libraries from Pango
1346 if test x$have_wintab = xyes; then
1347 GDK_WIN32_EXTRA_CFLAGS="-I $with_wintab/include"
1348 AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
1351 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -Wl,-luuid"
1352 AM_CONDITIONAL(USE_WIN32, true)
1354 AM_CONDITIONAL(USE_WIN32, false)
1357 if test "x$gdktarget" = "xquartz"; then
1358 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
1359 AM_CONDITIONAL(USE_QUARTZ, true)
1361 AM_CONDITIONAL(USE_QUARTZ, false)
1364 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1365 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"
1367 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1368 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1369 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1370 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1371 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1373 if test "x$gdktarget" = "xlinux-fb"; then
1374 if test x$enable_shadowfb = xyes ; then
1375 AC_DEFINE(ENABLE_SHADOW_FB)
1378 if test x$enable_fbmanager = xyes ; then
1379 AC_DEFINE(ENABLE_FB_MANAGER)
1380 AM_CONDITIONAL(ENABLE_FB_MANAGER, true)
1382 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1385 AM_CONDITIONAL(USE_LINUX_FB, true)
1387 AM_CONDITIONAL(USE_LINUX_FB, false)
1388 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1391 if test "x$gdktarget" = "xdirectfb"; then
1392 DIRECTFB_REQUIRED_VERSION=0.9.24
1393 AC_MSG_CHECKING(for DirectFB)
1395 if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
1396 AC_MSG_RESULT(found)
1397 GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
1398 GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
1401 *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend
1402 *** are required. The latest version of DirectFB is always available
1403 *** from http://www.directfb.org/.
1407 AM_CONDITIONAL(USE_DIRECTFB, true)
1409 AM_CONDITIONAL(USE_DIRECTFB, false)
1413 # Check for Pango flags
1415 if test "x$gdktarget" = "xwin32"; then
1416 PANGO_PACKAGES="pangowin32 pangocairo"
1418 PANGO_PACKAGES="pango pangocairo"
1421 AC_MSG_CHECKING(Pango flags)
1422 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1423 PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1424 PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1426 AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1429 *** Pango not found. Pango built with Cairo support is required
1430 *** to build GTK+. See http://www.pango.org for Pango information.
1434 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1436 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1439 gtk_save_LIBS="$LIBS"
1440 LIBS="$PANGO_LIBS $LIBS"
1441 AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1442 *** Can't link to Pango. Pango is required to build
1443 *** GTK+. For more information see http://www.pango.org]))
1444 LIBS="$gtk_save_LIBS"
1447 CFLAGS="$saved_cflags"
1448 LDFLAGS="$saved_ldflags"
1450 GDK_PACKAGES="$PANGO_PACKAGES"
1451 if test "x$gdktarget" = "xx11"; then
1452 GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
1454 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1455 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1458 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1459 # into the pkg-config files
1461 if test $enable_explicit_deps != yes ; then
1462 GDK_PACKAGES="$PANGO_PACKAGES"
1466 AC_SUBST(GDK_PACKAGES)
1467 AC_SUBST(GDK_EXTRA_LIBS)
1468 AC_SUBST(GDK_EXTRA_CFLAGS)
1469 AC_SUBST(GDK_DEP_LIBS)
1470 AC_SUBST(GDK_DEP_CFLAGS)
1473 ########################################
1474 # Check for Accessibility Toolkit flags
1475 ########################################
1478 AC_MSG_CHECKING(ATK flags)
1479 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1480 ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1481 ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1483 AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1486 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1491 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1494 gtk_save_LIBS="$LIBS"
1495 LIBS="$ATK_LIBS $LIBS"
1496 AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1497 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1498 *** to build GTK+]))
1499 LIBS="$gtk_save_LIBS"
1502 GTK_PACKAGES="atk cairo"
1505 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"
1506 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"
1508 if test x"$os_win32" = xyes; then
1509 GTK_EXTRA_CFLAGS="$msnative_struct"
1512 AC_SUBST(GTK_PACKAGES)
1513 AC_SUBST(GTK_EXTRA_LIBS)
1514 AC_SUBST(GTK_EXTRA_CFLAGS)
1515 AC_SUBST(GTK_DEP_LIBS)
1516 AC_SUBST(GTK_DEP_CFLAGS)
1519 AC_SUBST(GTK_DEBUG_FLAGS)
1520 AC_SUBST(GTK_XIM_FLAGS)
1522 ################################################################
1523 # Printing system checks
1524 ################################################################
1526 AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
1527 if test "x$CUPS_CONFIG" != "xno"; then
1528 CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
1529 CUPS_LIBS=`cups-config --libs`
1531 CUPS_API_VERSION=`cups-config --api-version`
1532 CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
1533 CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
1535 if test $CUPS_API_MAJOR -gt 1 -o \
1536 $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
1537 AC_DEFINE(HAVE_CUPS_API_1_2)
1540 AC_SUBST(CUPS_API_MAJOR)
1541 AC_SUBST(CUPS_API_MINOR)
1542 AC_SUBST(CUPS_CFLAGS)
1545 AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
1547 gtk_save_cppflags="$CPPFLAGS"
1548 CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
1550 AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
1551 *** Can't find cairo-pdf.h. You must build Cairo with the pdf
1552 *** backend enabled.]))
1554 if test "$os_win32" != "yes"; then
1555 AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
1556 *** Can't find cairo-ps.h. You must build Cairo with the
1557 *** postscript backend enabled.]))
1560 CPPFLAGS="$gtk_save_cppflags"
1563 ################################################################
1564 # Strip -export-dynamic from the link lines of various libraries
1565 ################################################################
1568 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1569 # but this flag is only meaningful for executables. For libraries
1570 # the effect is undefined; what it causes on Linux is that the
1571 # export list from -export-symbols-regex is ignored and everything
1574 # We are using gmodule-no-export now, but I'm leaving the stripping
1575 # code in place for now, since pango and atk still require gmodule.
1577 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1578 if test -n "$export_dynamic"; then
1579 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1580 GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1581 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1582 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1586 ##################################################
1587 # Checks for gtk-doc and docbook-tools
1588 ##################################################
1590 GTK_DOC_CHECK([1.4])
1592 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1593 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1596 [AC_HELP_STRING([--enable-man],
1597 [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1600 if test "${enable_man}" != no; then
1602 dnl Check for xsltproc
1604 AC_PATH_PROG([XSLTPROC], [xsltproc])
1605 if test -z "$XSLTPROC"; then
1609 dnl check for DocBook DTD and stylesheets in the local catalog.
1610 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1611 [DocBook XML DTD V4.1.2],,enable_man=no)
1612 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1613 [DocBook XSL Stylesheets],,enable_man=no)
1616 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1619 ##################################################
1621 ##################################################
1623 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1624 outfile=gdkconfig.h-tmp
1625 cat > $outfile <<\_______EOF
1628 * This is a generated file. Please modify `configure.in'
1636 #endif /* __cplusplus */
1640 cat >>$outfile <<_______EOF
1645 cat >>$outfile <<_______EOF
1649 #endif /* __cplusplus */
1651 #endif /* GDKCONFIG_H */
1655 if cmp -s $outfile gdk/gdkconfig.h; then
1656 AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1659 mv $outfile gdk/gdkconfig.h
1662 if test "x$gdktarget" = "xx11" ; then
1664 #define GDK_WINDOWING_X11'
1665 elif test "x$gdktarget" = "xwin32" ; then
1667 #define GDK_WINDOWING_WIN32'
1668 elif test "x$gdktarget" = "xlinux-fb" ; then
1670 #define GDK_WINDOWING_FB
1671 #define GDK_NATIVE_WINDOW_POINTER'
1672 elif test "x$gdktarget" = "xquartz" ; then
1674 #define GDK_WINDOWING_QUARTZ'
1675 elif test "x$gdktarget" = "xdirectfb" ; then
1677 #define GDK_WINDOWING_DIRECTFB'
1680 if test x$gdk_wchar_h = xyes; then
1682 #define GDK_HAVE_WCHAR_H 1'
1684 if test x$gdk_wctype_h = xyes; then
1686 #define GDK_HAVE_WCTYPE_H 1"
1688 if test x$gdk_working_wctype = xno; then
1690 #define GDK_HAVE_BROKEN_WCTYPE 1"
1703 gtk+-unix-print-2.0.pc
1704 gdk-pixbuf-2.0-uninstalled.pc
1705 gdk-2.0-uninstalled.pc
1706 gtk+-2.0-uninstalled.pc
1709 po-properties/Makefile.in
1711 demos/gtk-demo/Makefile
1712 demos/gtk-demo/geninclude.pl
1715 docs/reference/Makefile
1716 docs/reference/gdk-pixbuf/Makefile
1717 docs/reference/gdk-pixbuf/version.xml
1718 docs/reference/gdk/Makefile
1719 docs/reference/gdk/version.xml
1720 docs/reference/gtk/Makefile
1721 docs/reference/gtk/version.xml
1724 docs/tutorial/Makefile
1726 gdk-pixbuf/gdk_pixbuf.rc
1727 gdk-pixbuf/gdk-pixbuf-features.h
1728 gdk-pixbuf/pixops/Makefile
1732 gdk/win32/rc/Makefile
1734 gdk/linux-fb/Makefile
1736 gdk/directfb/Makefile
1741 gtk/theme-bits/Makefile
1742 gtk/xdgmime/Makefile
1744 modules/input/Makefile
1745 modules/engines/Makefile
1746 modules/engines/pixbuf/Makefile
1747 modules/engines/ms-windows/Makefile
1748 modules/engines/ms-windows/Theme/Makefile
1749 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1750 modules/printbackends/Makefile
1751 modules/printbackends/cups/Makefile
1752 modules/printbackends/lpr/Makefile
1753 modules/printbackends/file/Makefile
1756 contrib/gdk-pixbuf-xlib/Makefile
1757 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
1762 echo "configuration:
1765 if test "x$gdktarget" = "xlinux-fb"; then
1766 echo "Warning: The linux-fb GDK target is unmaintained"
1767 echo " and may not work or even compile"