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.12.0])
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
369 deplibs_check_method=`(./libtool --config; echo 'eval echo $deplibs_check_method') | sh`
370 if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
371 enable_explicit_deps=yes
373 enable_explicit_deps=no
378 *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
381 AC_MSG_RESULT($enable_explicit_deps)
383 AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
385 # define a MAINT-like variable REBUILD which is set if Perl
386 # and awk are found, so autogenerated sources can be rebuilt
388 AC_PATH_PROGS(PERL, perl5 perl)
390 # We would like indent, but don't require it.
391 AC_CHECK_PROG(INDENT, indent, indent)
394 if test "x$enable_rebuilds" = "xyes" && \
396 $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
401 AC_CHECK_FUNCS(lstat mkstemp flockfile)
403 # _NL_TIME_FIRST_WEEKDAY is an enum and not a define
404 AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
405 AC_TRY_LINK([#include <langinfo.h>], [
407 c = *((unsigned char *) nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
408 ], gtk_ok=yes, gtk_ok=no)
409 AC_MSG_RESULT($gtk_ok)
410 if test "$gtk_ok" = "yes"; then
411 AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
412 [Define if _NL_TIME_FIRST_WEEKDAY is available])
415 # _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
416 AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
417 AC_TRY_LINK([#include <langinfo.h>], [
419 c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
420 ], gtk_ok=yes, gtk_ok=no)
421 AC_MSG_RESULT($gtk_ok)
422 if test "$gtk_ok" = "yes"; then
423 AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1],
424 [Define if _NL_MEASUREMENT_MEASUREMENT is available])
427 # _NL_PAPER_HEIGHT is an enum and not a define
428 AC_MSG_CHECKING([for _NL_PAPER_HEIGHT])
429 AC_TRY_LINK([#include <langinfo.h>], [
431 c = *((unsigned char *) nl_langinfo(_NL_PAPER_HEIGHT));
432 ], gtk_ok=yes, gtk_ok=no)
433 AC_MSG_RESULT($gtk_ok)
434 if test "$gtk_ok" = "yes"; then
435 AC_DEFINE([HAVE__NL_PAPER_HEIGHT], [1],
436 [Define if _NL_PAPER_HEIGHT is available])
439 # _NL_PAPER_WIDTH is an enum and not a define
440 AC_MSG_CHECKING([for _NL_PAPER_WIDTH])
441 AC_TRY_LINK([#include <langinfo.h>], [
443 c = *((unsigned char *) nl_langinfo(_NL_PAPER_WIDTH));
444 ], gtk_ok=yes, gtk_ok=no)
445 AC_MSG_RESULT($gtk_ok)
446 if test "$gtk_ok" = "yes"; then
447 AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1],
448 [Define if _NL_PAPER_WIDTH is available])
451 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
452 AC_MSG_CHECKING(for sigsetjmp)
453 AC_TRY_LINK([#include <setjmp.h>], [
456 ], gtk_ok=yes, gtk_ok=no)
457 AC_MSG_RESULT($gtk_ok)
458 if test "$gtk_ok" = "yes"; then
459 AC_DEFINE(HAVE_SIGSETJMP)
463 # TRANSLATORS: Please note that gtk+ has both po/ and po-properties/
464 # directories. If you add a new language to ALL_LINGUAS, please make
465 # sure that both po/ and po-properties/ have .po files that correspond
466 # to your language. If you only add one to po/, the build will break
468 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"
470 LIBS="$LIBS $INTLLIBS"
471 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
472 sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
475 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
477 dnl The DU4 header files don't provide library prototypes unless
478 dnl -std1 is given to the native cc.
479 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
483 AC_TRY_RUN([#include <math.h>
484 int main (void) { return (log(1) != log(1.)); }],
485 AC_MSG_RESULT(none needed),
486 gtk_save_CFLAGS="$CFLAGS"
487 CFLAGS="$CFLAGS -std1"
488 AC_TRY_RUN([#include <math.h>
489 int main (void) { return (log(1) != log(1.)); }],
490 AC_MSG_RESULT(-std1),
492 CFLAGS="$gtk_save_CFLAGS"
494 [No ANSI prototypes found in library. (-std1 didn't work.)]),
497 AC_MSG_RESULT(none needed)
501 AC_MSG_CHECKING(for the BeOS)
515 AC_MSG_CHECKING(for HP-UX)
517 hpux9* | hpux10* | hpux11*)
519 CFLAGS="$CFLAGS -DHPPEX -DSHMLINK"
526 dnl NeXTStep cc seems to need this
527 AC_MSG_CHECKING([for extra flags for POSIX compliance])
528 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
529 AC_MSG_RESULT(none needed),
530 gtk_save_CFLAGS="$CFLAGS"
531 CFLAGS="$CFLAGS -posix"
532 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
533 AC_MSG_RESULT(-posix),
535 CFLAGS="$gtk_save_CFLAGS"
536 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
539 # Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
542 GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
544 AM_PATH_GLIB_2_0(glib_required_version, :,
546 *** GLIB glib_required_version or better is required. The latest version of
547 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
548 gobject gmodule-no-export gthread)
550 # See if it's safe to turn G_DISABLE_DEPRECATED on.
551 GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
552 GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
553 if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
554 CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
559 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
562 LIBS="$LIBS $GLIB_LIBS"
563 AC_CHECK_FUNCS(bind_textdomain_codeset)
566 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
567 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
568 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
570 if test "${with_wintab+set}" = set && test $with_wintab != no; then
571 AC_MSG_CHECKING([for wintab.h])
572 saved_CFLAGS="$CFLAGS"
573 CFLAGS="$CFLAGS -I$with_wintab/include"
574 AC_TRY_COMPILE([#include <windows.h>
575 #include <wintab.h>],
578 AC_MSG_CHECKING([for wntab32x.lib])
579 if test -f $with_wintab/lib/i386/wntab32x.lib ; then
582 AC_DEFINE(HAVE_WINTAB)
583 WINTAB_LIB="$with_wintab/lib/i386/wntab32x.lib"
587 CFLAGS="$saved_cflags"
592 CFLAGS="$saved_cflags"
595 AM_CONDITIONAL(HAVE_WINTAB, test x$have_wintab = xyes)
597 saved_cflags="$CFLAGS"
598 saved_ldflags="$LDFLAGS"
601 # Checks for header files.
604 # Checks for typedefs, structures, and compiler characteristics.
607 # Checks for library functions.
611 AC_CHECK_FUNCS(mallinfo)
612 AC_CHECK_FUNCS(getresuid)
615 # Check if <sys/select.h> needs to be included for fd_set
616 AC_MSG_CHECKING([for fd_set])
617 AC_TRY_COMPILE([#include <sys/types.h>],
618 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
619 if test $gtk_ok = yes; then
620 AC_MSG_RESULT([yes, found in sys/types.h])
622 AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
623 if test $gtk_ok = yes; then
624 AC_DEFINE(HAVE_SYS_SELECT_H)
625 AC_MSG_RESULT([yes, found in sys/select.h])
632 # `widechar' tests for gdki18n.h
633 AC_MSG_CHECKING(for wchar.h)
634 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
635 if test $gdk_wchar_h = yes; then
636 AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
638 AC_MSG_RESULT($gdk_wchar_h)
640 # Check for wctype.h (for iswalnum)
641 AC_MSG_CHECKING(for wctype.h)
642 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
643 if test $gdk_wctype_h = yes; then
644 AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
646 AC_MSG_RESULT($gdk_wctype_h)
648 # in Solaris 2.5, `iswalnum' is in -lw
650 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
653 LIBS="$LIBS $GDK_WLIBS"
654 # The following is necessary for Linux libc-5.4.38
655 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
656 AC_TRY_LINK([#include <stdlib.h>],[
657 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
658 # ifdef HAVE_WCTYPE_H
666 # define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
668 iswalnum((wchar_t) 0);
669 ], gdk_working_wctype=yes, gdk_working_wctype=no)
672 if test $gdk_working_wctype = no; then
673 AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
676 AC_MSG_RESULT($gdk_working_wctype)
679 # Check for uxtheme.h (for MS-Windows Engine)
680 AC_MSG_CHECKING(for uxtheme.h)
681 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
682 if test $gtk_uxtheme_h = yes; then
683 AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
685 AC_MSG_RESULT($gtk_uxtheme_h)
687 # Checks for gdkspawn
688 AC_CHECK_HEADERS(crt_externs.h)
689 AC_CHECK_FUNCS(_NSGetEnviron)
692 ##################################################
693 # Checks for gdk-pixbuf
694 ##################################################
696 dnl ********************************************************
697 dnl * See whether we need to load our modules as .la files *
698 dnl ********************************************************
702 *-aix*) use_la_modules=true
705 if $use_la_modules ; then
706 AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
710 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
712 AC_ARG_ENABLE(modules,
713 [AC_HELP_STRING([--disable-modules],
714 [disable dynamic module loading])])
718 if test x$enable_modules = xno; then
722 AC_MSG_CHECKING(whether dynamic modules work)
723 ## for loop is to strip newline
724 tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
729 dnl Now we check to see if our libtool supports shared lib deps
730 dnl (in a rather ugly way even)
732 pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
733 pixbuf_deplibs_check=`$pixbuf_libtool_config | \
734 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
735 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
736 if test "x$pixbuf_deplibs_check" = "xnone" || \
737 test "x$pixbuf_deplibs_check" = "xunknown" || \
738 test "x$pixbuf_deplibs_check" = "x"; then
744 AC_DEFINE(USE_GMODULE)
751 dnl We allow people to disable image loaders explicitely, but if they don't we error
752 dnl out so that people don't accidentally build without them.
755 [AC_HELP_STRING([--without-libpng],
756 [disable PNG loader for gdk-pixbuf])])
758 [AC_HELP_STRING([--without-libjpeg],
759 [disable JPEG loader for gdk-pixbuf])])
761 [AC_HELP_STRING([--without-libtiff],
762 [disable TIFF loader for gdk-pixbuf])])
765 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
766 AC_CHECK_LIB(tiff, TIFFReadScanline,
767 [AC_CHECK_HEADER(tiffio.h,
768 TIFF='tiff'; LIBTIFF='-ltiff',
769 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
770 [AC_CHECK_LIB(tiff, TIFFWriteScanline,
771 [AC_CHECK_HEADER(tiffio.h,
772 TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
773 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
774 [AC_CHECK_LIB(tiff34, TIFFFlushData,
775 [AC_CHECK_HEADER(tiffio.h,
776 TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
777 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
778 AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
781 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
783 *** Checks for TIFF loader failed. You can build without it by passing
784 *** --without-libtiff to configure but some programs using GTK+ may
785 *** not work properly])
789 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
790 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
793 AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
794 if test "$jpeg_ok" = yes; then
795 AC_MSG_CHECKING([for jpeglib.h])
801 #include <jpeglib.h>],
804 AC_MSG_RESULT($jpeg_ok)
805 if test "$jpeg_ok" = yes; then
807 AC_CHECK_LIB(jpeg, jpeg_simple_progression,
808 AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
809 AC_MSG_WARN(JPEG library does not support progressive saving.))
811 AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
816 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
818 *** Checks for JPEG loader failed. You can build without it by passing
819 *** --without-libjpeg to configure but some programs using GTK+ may
820 *** not work properly])
824 if test x$with_libpng != xno && test -z "$LIBPNG"; then
825 AC_MSG_CHECKING(for libpng12)
826 if $PKG_CONFIG --exists libpng12 ; then
829 PNG_DEP_CFLAGS_PACKAGES=libpng12
830 LIBPNG=`$PKG_CONFIG --libs libpng12`
833 AC_CHECK_LIB(png, png_read_info,
834 [AC_CHECK_HEADER(png.h,
837 AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
838 if test "$png_ok" = yes; then
839 AC_MSG_CHECKING([for png_structp in png.h])
840 AC_TRY_COMPILE([#include <png.h>],
841 [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
844 AC_MSG_RESULT($png_ok)
845 if test "$png_ok" = yes; then
846 PNG='png'; LIBPNG='-lpng -lz'
848 AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
851 AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
856 if test x$with_libpng != xno && test -z "$LIBPNG"; then
858 *** Checks for PNG loader failed. You can build without it by passing
859 *** --without-libpng to configure but many programs using GTK+ will
860 *** not work properly. The PNG loader is also needed if you are compiling
868 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
871 # Allow building some or all gdk-pixbuf loaders included
873 AC_MSG_CHECKING(pixbuf loaders to build)
875 dnl due to an autoconf bug, commas in the first arg to
876 dnl AC_HELP_STRING cause problems.
877 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
878 dnl [build the specified loaders into gdk-pixbuf (only used if module loading disabled)])
879 AC_ARG_WITH(included_loaders,
880 [ --with-included-loaders=LOADER1,LOADER2,...
881 build the specified loaders into gdk-pixbuf])
886 ## if the option was specified, leave it; otherwise disable included loaders
887 if test x$with_included_loaders = xno; then
888 with_included_loaders=yes
892 all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,xbm,tga,pcx"
894 # If no loaders specified, include all
895 if test "x$with_included_loaders" = xyes ; then
896 included_loaders="$all_loaders"
898 included_loaders="$with_included_loaders"
901 AC_MSG_RESULT($included_loaders)
904 INCLUDED_LOADER_DEFINE=
906 IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
907 for loader in $included_loaders; do
908 if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
911 AC_MSG_ERROR([the specified loader $loader does not exist])
914 INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libstatic-pixbufloader-$loader.la"
915 INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
916 eval INCLUDE_$loader=yes
919 AC_SUBST(INCLUDED_LOADER_OBJ)
920 AC_SUBST(INCLUDED_LOADER_DEFINE)
922 AM_CONDITIONAL(INCLUDE_PNG, [test x"$INCLUDE_png" = xyes])
923 AM_CONDITIONAL(INCLUDE_BMP, [test x"$INCLUDE_bmp" = xyes])
924 AM_CONDITIONAL(INCLUDE_WBMP, [test x"$INCLUDE_wbmp" = xyes])
925 AM_CONDITIONAL(INCLUDE_GIF, [test x"$INCLUDE_gif" = xyes])
926 AM_CONDITIONAL(INCLUDE_ICO, [test x"$INCLUDE_ico" = xyes])
927 AM_CONDITIONAL(INCLUDE_ANI, [test x"$INCLUDE_ani" = xyes])
928 AM_CONDITIONAL(INCLUDE_JPEG, [test x"$INCLUDE_jpeg" = xyes])
929 AM_CONDITIONAL(INCLUDE_PNM, [test x"$INCLUDE_pnm" = xyes])
930 AM_CONDITIONAL(INCLUDE_RAS, [test x"$INCLUDE_ras" = xyes])
931 AM_CONDITIONAL(INCLUDE_TIFF, [test x"$INCLUDE_tiff" = xyes])
932 AM_CONDITIONAL(INCLUDE_XPM, [test x"$INCLUDE_xpm" = xyes])
933 AM_CONDITIONAL(INCLUDE_XBM, [test x"$INCLUDE_xbm" = xyes])
934 AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
935 AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
941 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
942 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
943 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
947 if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
948 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
950 if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
951 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
953 if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
954 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
957 STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
960 # Checks to see if we should compile in MMX support (there will be
961 # a runtime test when the code is actually run to see if it should
962 # be used - this just checks if we can compile it.)
964 # This code is partially taken from Mesa
966 AC_MSG_CHECKING(for x86 platform)
968 i386|i486|i586|i686|i786|k6|k7)
974 AC_MSG_RESULT($use_x86_asm)
977 if test $use_x86_asm = yes; then
981 AC_MSG_CHECKING(compiler support for MMX)
982 cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
983 if AC_TRY_EVAL(ac_compile); then
990 if test $use_mmx_asm = yes; then
998 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
1001 if test -z "$LIBPNG"; then
1005 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
1007 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
1009 if test $cross_compiling = yes; then
1010 AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
1011 if test x$GDK_PIXBUF_CSOURCE = xno; then
1016 if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
1017 test "x$REBUILD_PNGS" = "x#" ; then
1019 *** gtkbuiltincache.h is not in the tree, and cannot be built
1020 *** because you don't have libpng, or (when cross-compiling) you
1021 *** don't have a prebuilt gdk-pixbuf-csource on the host system.])
1024 AC_SUBST(REBUILD_PNGS)
1026 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
1027 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB"
1028 GDK_PIXBUF_EXTRA_CFLAGS=
1029 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1030 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
1032 AC_SUBST(GDK_PIXBUF_PACKAGES)
1033 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
1034 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
1035 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
1036 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
1039 ########################################
1040 # Windowing system checks
1041 ########################################
1043 GDK_PIXBUF_XLIB_PACKAGES=
1044 GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
1045 GDK_PIXBUF_XLIB_EXTRA_LIBS=
1047 X_PACKAGES=fontconfig
1048 GDK_EXTRA_LIBS="$GDK_WLIBS"
1051 # GTK+ uses some X calls, so needs to link against X directly
1052 GTK_DEP_PACKAGES_FOR_X=
1055 if test "x$gdktarget" = "xx11"; then
1057 # We use fontconfig very peripherally when decoding the default
1060 if $PKG_CONFIG --exists fontconfig; then : ; else
1062 *** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
1066 # Check for basic X packages; we use pkg-config if available
1068 if $PKG_CONFIG --exists x11 xext xrender; then
1070 X_PACKAGES="$X_PACKAGES x11 xext xrender"
1071 x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
1072 X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
1074 # Strip out any .la files that pkg-config might give us (this happens
1075 # with -uninstalled.pc files)
1077 for I in $x_libs ; do
1080 *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1084 GDK_PIXBUF_XLIB_PACKAGES="x11"
1085 GTK_PACKAGES_FOR_X="x11"
1087 have_base_x_pc=false
1089 if test x$no_x = xyes ; then
1090 AC_MSG_ERROR([X development libraries not found])
1093 x_cflags="$X_CFLAGS"
1094 x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
1096 GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1097 GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
1098 GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
1101 # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
1104 gtk_save_cppflags="$CPPFLAGS"
1105 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1108 LIBS="$x_libs_for_checks $LIBS"
1110 # Sanity check for the X11 and Xext libraries. While everything we need from
1111 # Xext is optional, the chances a system has *none* of these things is so
1112 # small that we just unconditionally require it.
1113 AC_CHECK_FUNC(XOpenDisplay, :,
1114 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
1115 AC_CHECK_FUNC(XextFindDisplay, :,
1116 AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
1117 AC_CHECK_FUNC(XRenderQueryExtension, :,
1118 AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
1122 AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1123 AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1125 [AC_MSG_RESULT([no])],
1126 [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1127 #include <X11/Xlibint.h>],
1129 [AC_MSG_RESULT([yes])
1130 AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1131 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1132 [AC_MSG_RESULT([unknown])
1133 AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1135 # Check for XConvertCase, XInternAtoms (X11R6 specific)
1137 AC_CHECK_FUNCS(XConvertCase XInternAtoms)
1139 # Generic X11R6 check needed for XIM support; we could
1140 # probably use this to replace the above, but we'll
1141 # leave the separate checks for XConvertCase and XInternAtoms
1145 AC_CHECK_FUNC(XAddConnectionWatch,
1148 if $have_x11r6; then
1149 AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
1151 AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1153 # Check for XKB support.
1155 if test "x$enable_xkb" = "xyes"; then
1156 AC_MSG_WARN(XKB support explicitly enabled)
1158 elif test "x$enable_xkb" = "xmaybe"; then
1159 AC_CHECK_FUNC(XkbQueryExtension,
1160 AC_DEFINE(HAVE_XKB))
1162 AC_MSG_WARN(XKB support explicitly disabled)
1165 # Check for shaped window extension
1167 AC_CHECK_FUNC(XShapeCombineMask,
1168 AC_DEFINE(HAVE_SHAPE_EXT))
1171 gtk_save_CFLAGS="$CFLAGS"
1172 CFLAGS="$CFLAGS $x_cflags"
1174 AC_CHECK_FUNC(XSyncQueryExtension,
1175 [AC_CHECK_HEADER(X11/extensions/sync.h,
1176 AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
1177 :, [#include <X11/Xlib.h>])])
1179 CFLAGS="$gtk_save_CFLAGS"
1183 if test "x$enable_shm" = "xyes"; then
1184 # Check for the XShm extension, normally in Xext
1185 AC_CHECK_FUNC(XShmAttach,
1187 # On AIX, it is in XextSam instead
1188 [AC_CHECK_LIB(XextSam, XShmAttach,
1189 [GTK_ADD_LIB(x_extra_libs,XextSam)])])
1192 if test "x$enable_shm" = "xyes"; then
1193 # Check for shared memory
1194 AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
1195 AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
1197 # Check for the X shared memory extension header file
1199 AC_MSG_CHECKING(X11/extensions/XShm.h)
1200 if test "x$no_xext_lib" = "xyes"; then
1203 gtk_save_CFLAGS="$CFLAGS"
1204 CFLAGS="$CFLAGS $x_cflags"
1207 #include <sys/types.h>
1208 #include <sys/ipc.h>
1209 #include <sys/shm.h>
1210 #include <X11/Xlib.h>
1211 #include <X11/Xutil.h>
1212 #include <X11/extensions/XShm.h>
1213 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1214 CFLAGS="$gtk_save_CFLAGS"
1216 AC_MSG_RESULT($have_xshm)
1217 if test $have_xshm = yes ; then
1218 AC_DEFINE(HAVE_XSHM_H)
1222 # Check for Xinerama extension (Solaris impl or Xfree impl)
1224 gtk_save_cppflags="$CPPFLAGS"
1225 CPPFLAGS="$CPPFLAGS $x_cflags"
1230 AC_MSG_CHECKING(for Xinerama support on Solaris)
1232 have_solaris_xinerama=false
1233 AC_CHECK_FUNC(XineramaGetInfo,
1234 [AC_CHECK_HEADER(X11/extensions/xinerama.h,
1235 [have_solaris_xinerama=true], :,
1236 [#include <X11/Xlib.h>])])
1238 if $have_solaris_xinerama ; then
1239 AC_DEFINE(HAVE_SOLARIS_XINERAMA)
1240 AC_DEFINE(HAVE_XINERAMA)
1248 AC_MSG_CHECKING(for Xinerama support on XFree86)
1250 have_xfree_xinerama=false
1251 if $PKG_CONFIG --exists xinerama ; then
1252 have_xfree_xinerama=true
1253 X_PACKAGES="$X_PACKAGES xinerama"
1255 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1256 [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
1257 [GTK_ADD_LIB(x_extra_libs,Xinerama)
1258 have_xfree_xinerama=true], :,
1259 [#include <X11/Xlib.h>])])
1262 if $have_xfree_xinerama ; then
1263 AC_DEFINE(HAVE_XFREE_XINERAMA)
1264 AC_DEFINE(HAVE_XINERAMA)
1272 # set up things for XInput
1274 if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
1275 AC_DEFINE(XINPUT_XFREE)
1277 if $PKG_CONFIG --exists xi ; then
1278 X_PACKAGES="$X_PACKAGES xi"
1280 GTK_ADD_LIB(x_extra_libs, Xi)
1283 AC_DEFINE(XINPUT_NONE)
1286 AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
1288 # Check for the RANDR extension
1291 if $PKG_CONFIG --exists xrandr ; then
1293 X_PACKAGES="$X_PACKAGES xrandr"
1295 AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
1296 [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
1297 # RANDR requires RENDER
1299 GTK_ADD_LIB(x_extra_libs, Xrender)
1300 GTK_ADD_LIB(x_extra_libs, Xrandr)],
1301 :, [#include <X11/Xlib.h>])])
1304 if $have_randr ; then
1305 AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
1308 # Checks for Xcursor library
1310 if $PKG_CONFIG --exists xcursor ; then
1311 AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1313 X_PACKAGES="$X_PACKAGES xcursor"
1316 # Checks for XFixes extension
1318 if $PKG_CONFIG --exists xfixes ; then
1319 AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1321 X_PACKAGES="$X_PACKAGES xfixes"
1324 if $have_base_x_pc ; then
1325 GDK_EXTRA_LIBS="$x_extra_libs"
1327 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
1330 CPPFLAGS="$gtk_save_cppflags"
1331 LIBS="$gtk_save_libs"
1333 AM_CONDITIONAL(USE_X11, true)
1335 AM_CONDITIONAL(XINPUT_XFREE, false)
1336 AM_CONDITIONAL(USE_X11, false)
1337 AM_CONDITIONAL(HAVE_X11R6, false)
1340 if test "x$gdktarget" = "xwin32"; then
1341 # We start off with the libraries from Pango
1343 if test x$have_wintab = xyes; then
1344 GDK_WIN32_EXTRA_CFLAGS="-I $with_wintab/include"
1345 AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
1348 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -Wl,-luuid"
1349 AM_CONDITIONAL(USE_WIN32, true)
1351 AM_CONDITIONAL(USE_WIN32, false)
1354 if test "x$gdktarget" = "xquartz"; then
1355 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
1356 AM_CONDITIONAL(USE_QUARTZ, true)
1358 AM_CONDITIONAL(USE_QUARTZ, false)
1361 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1362 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"
1364 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1365 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1366 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1367 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1368 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1370 if test "x$gdktarget" = "xlinux-fb"; then
1371 if test x$enable_shadowfb = xyes ; then
1372 AC_DEFINE(ENABLE_SHADOW_FB)
1375 if test x$enable_fbmanager = xyes ; then
1376 AC_DEFINE(ENABLE_FB_MANAGER)
1377 AM_CONDITIONAL(ENABLE_FB_MANAGER, true)
1379 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1382 AM_CONDITIONAL(USE_LINUX_FB, true)
1384 AM_CONDITIONAL(USE_LINUX_FB, false)
1385 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
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 ; 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 is required. The latest
1399 *** version of DirectFB is always available from http://www.directfb.org/.
1403 AM_CONDITIONAL(USE_DIRECTFB, true)
1405 AM_CONDITIONAL(USE_DIRECTFB, false)
1409 # Check for Pango flags
1411 if test "x$gdktarget" = "xwin32"; then
1412 PANGO_PACKAGES="pangowin32 pangocairo"
1414 PANGO_PACKAGES="pango pangocairo"
1417 AC_MSG_CHECKING(Pango flags)
1418 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1419 PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1420 PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1422 AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1425 *** Pango not found. Pango built with Cairo support is required
1426 *** to build GTK+. See http://www.pango.org for Pango information.
1430 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1432 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1435 gtk_save_LIBS="$LIBS"
1436 LIBS="$PANGO_LIBS $LIBS"
1437 AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1438 *** Can't link to Pango. Pango is required to build
1439 *** GTK+. For more information see http://www.pango.org]))
1440 LIBS="$gtk_save_LIBS"
1443 CFLAGS="$saved_cflags"
1444 LDFLAGS="$saved_ldflags"
1446 GDK_PACKAGES="$PANGO_PACKAGES"
1447 if test "x$gdktarget" = "xx11"; then
1448 GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
1450 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1451 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1454 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1455 # into the pkg-config files
1457 if test $enable_explicit_deps != yes ; then
1458 GDK_PACKAGES="$PANGO_PACKAGES"
1462 AC_SUBST(GDK_PACKAGES)
1463 AC_SUBST(GDK_EXTRA_LIBS)
1464 AC_SUBST(GDK_EXTRA_CFLAGS)
1465 AC_SUBST(GDK_DEP_LIBS)
1466 AC_SUBST(GDK_DEP_CFLAGS)
1469 ########################################
1470 # Check for Accessibility Toolkit flags
1471 ########################################
1474 AC_MSG_CHECKING(ATK flags)
1475 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1476 ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1477 ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1479 AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1482 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1487 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1490 gtk_save_LIBS="$LIBS"
1491 LIBS="$ATK_LIBS $LIBS"
1492 AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1493 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1494 *** to build GTK+]))
1495 LIBS="$gtk_save_LIBS"
1498 GTK_PACKAGES="atk cairo"
1501 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"
1502 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"
1504 if test x"$os_win32" = xyes; then
1505 GTK_EXTRA_CFLAGS="$msnative_struct"
1508 AC_SUBST(GTK_PACKAGES)
1509 AC_SUBST(GTK_EXTRA_LIBS)
1510 AC_SUBST(GTK_EXTRA_CFLAGS)
1511 AC_SUBST(GTK_DEP_LIBS)
1512 AC_SUBST(GTK_DEP_CFLAGS)
1515 AC_SUBST(GTK_DEBUG_FLAGS)
1516 AC_SUBST(GTK_XIM_FLAGS)
1518 ################################################################
1519 # Printing system checks
1520 ################################################################
1522 AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
1523 if test "x$CUPS_CONFIG" != "xno"; then
1524 CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
1525 CUPS_LIBS=`cups-config --libs`
1527 CUPS_API_VERSION=`cups-config --api-version`
1528 CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
1529 CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
1531 if test $CUPS_API_MAJOR -gt 1 -o \
1532 $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
1533 AC_DEFINE(HAVE_CUPS_API_1_2)
1536 AC_SUBST(CUPS_API_MAJOR)
1537 AC_SUBST(CUPS_API_MINOR)
1538 AC_SUBST(CUPS_CFLAGS)
1541 AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
1543 gtk_save_cppflags="$CPPFLAGS"
1544 CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
1546 AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
1547 *** Can't find cairo-pdf.h. You must build Cairo with the pdf
1548 *** backend enabled.]))
1550 if test "$os_win32" != "yes"; then
1551 AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
1552 *** Can't find cairo-ps.h. You must build Cairo with the
1553 *** postscript backend enabled.]))
1556 CPPFLAGS="$gtk_save_cppflags"
1559 ################################################################
1560 # Strip -export-dynamic from the link lines of various libraries
1561 ################################################################
1564 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1565 # but this flag is only meaningful for executables. For libraries
1566 # the effect is undefined; what it causes on Linux is that the
1567 # export list from -export-symbols-regex is ignored and everything
1570 # We are using gmodule-no-export now, but I'm leaving the stripping
1571 # code in place for now, since pango and atk still require gmodule.
1572 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1573 if test -n "$export_dynamic"; then
1574 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1575 GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1576 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1577 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1581 ##################################################
1582 # Checks for gtk-doc and docbook-tools
1583 ##################################################
1585 GTK_DOC_CHECK([1.4])
1587 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1588 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1591 [AC_HELP_STRING([--enable-man],
1592 [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1595 if test "${enable_man}" != no; then
1597 dnl Check for xsltproc
1599 AC_PATH_PROG([XSLTPROC], [xsltproc])
1600 if test -z "$XSLTPROC"; then
1604 dnl check for DocBook DTD and stylesheets in the local catalog.
1605 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1606 [DocBook XML DTD V4.1.2],,enable_man=no)
1607 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1608 [DocBook XSL Stylesheets],,enable_man=no)
1611 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1614 ##################################################
1616 ##################################################
1618 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1619 outfile=gdkconfig.h-tmp
1620 cat > $outfile <<\_______EOF
1623 * This is a generated file. Please modify `configure.in'
1631 #endif /* __cplusplus */
1635 cat >>$outfile <<_______EOF
1640 cat >>$outfile <<_______EOF
1644 #endif /* __cplusplus */
1646 #endif /* GDKCONFIG_H */
1650 if cmp -s $outfile gdk/gdkconfig.h; then
1651 AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1654 mv $outfile gdk/gdkconfig.h
1657 if test "x$gdktarget" = "xx11" ; then
1659 #define GDK_WINDOWING_X11'
1660 elif test "x$gdktarget" = "xwin32" ; then
1662 #define GDK_WINDOWING_WIN32'
1663 elif test "x$gdktarget" = "xlinux-fb" ; then
1665 #define GDK_WINDOWING_FB
1666 #define GDK_NATIVE_WINDOW_POINTER'
1667 elif test "x$gdktarget" = "xquartz" ; then
1669 #define GDK_WINDOWING_QUARTZ'
1670 elif test "x$gdktarget" = "xdirectfb" ; then
1672 #define GDK_WINDOWING_DIRECTFB'
1675 if test x$gdk_wchar_h = xyes; then
1677 #define GDK_HAVE_WCHAR_H 1'
1679 if test x$gdk_wctype_h = xyes; then
1681 #define GDK_HAVE_WCTYPE_H 1"
1683 if test x$gdk_working_wctype = xno; then
1685 #define GDK_HAVE_BROKEN_WCTYPE 1"
1698 gtk+-unix-print-2.0.pc
1699 gdk-pixbuf-2.0-uninstalled.pc
1700 gdk-2.0-uninstalled.pc
1701 gtk+-2.0-uninstalled.pc
1704 po-properties/Makefile.in
1706 demos/gtk-demo/Makefile
1707 demos/gtk-demo/geninclude.pl
1710 docs/reference/Makefile
1711 docs/reference/gdk-pixbuf/Makefile
1712 docs/reference/gdk-pixbuf/version.xml
1713 docs/reference/gdk/Makefile
1714 docs/reference/gdk/version.xml
1715 docs/reference/gtk/Makefile
1716 docs/reference/gtk/version.xml
1719 docs/tutorial/Makefile
1721 gdk-pixbuf/gdk_pixbuf.rc
1722 gdk-pixbuf/gdk-pixbuf-features.h
1723 gdk-pixbuf/pixops/Makefile
1727 gdk/win32/rc/Makefile
1729 gdk/linux-fb/Makefile
1731 gdk/directfb/Makefile
1736 gtk/theme-bits/Makefile
1737 gtk/xdgmime/Makefile
1739 modules/input/Makefile
1740 modules/engines/Makefile
1741 modules/engines/pixbuf/Makefile
1742 modules/engines/ms-windows/Makefile
1743 modules/engines/ms-windows/Theme/Makefile
1744 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1745 modules/printbackends/Makefile
1746 modules/printbackends/cups/Makefile
1747 modules/printbackends/lpr/Makefile
1748 modules/printbackends/file/Makefile
1751 contrib/gdk-pixbuf-xlib/Makefile
1752 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
1757 echo "configuration:
1760 if test "x$gdktarget" = "xlinux-fb"; then
1761 echo "Warning: The linux-fb GDK target is unmaintained"
1762 echo " and may not work or even compile"