1 # Process this file with autoconf to produce a configure script.
2 # require autoconf 2.54
6 # GTK_MICRO_VERSION += 1;
7 # GTK_INTERFACE_AGE += 1;
9 # if any functions have been added, set GTK_INTERFACE_AGE to 0.
10 # if backwards compatibility has been broken,
11 # set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
13 m4_define([gtk_major_version], [2])
14 m4_define([gtk_minor_version], [11])
15 m4_define([gtk_micro_version], [0])
16 m4_define([gtk_version],
17 [gtk_major_version.gtk_minor_version.gtk_micro_version])
18 m4_define([gtk_interface_age], [0])
19 m4_define([gtk_binary_age],
20 [m4_eval(100 * gtk_minor_version + gtk_micro_version)])
21 # This is the X.Y used in -lgtk-FOO-X.Y
22 m4_define([gtk_api_version], [2.0])
24 # Define a string for the earliest version that this release has
25 # backwards binary compatibility with for all interfaces a module
26 # might. Unless we add module-only API with lower stability
27 # guarantees, this should be unchanged until we break binary compat
30 #GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
31 m4_define([gtk_binary_version], [2.10.0])
33 # required versions of other packages
34 m4_define([glib_required_version], [2.13.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])])
214 if test "$platform_win32" = yes; then
220 AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/linux-fb/win32/quartz/directfb]] select non-default GDK target],
221 gdktarget=$with_gdktarget)
225 x11|linux-fb|win32|quartz|directfb) ;;
226 *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb, quartz, directfb or win32.]);;
229 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
230 gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
232 AC_SUBST(gdktargetlib)
233 AC_SUBST(gtktargetlib)
235 AC_ARG_ENABLE(shadowfb,
236 [AC_HELP_STRING([--disable-shadowfb],
237 [disable shadowfb support for linux-fb])],,
238 [enable_shadowfb=yes])
240 AC_ARG_ENABLE(fbmanager,
241 [AC_HELP_STRING([--enable-fbmanager],
242 [enable framebuffer manager support (GtkFB)])],,
245 if test "x$enable_debug" = "xyes"; then
246 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
247 GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
249 if test "x$enable_debug" = "xno"; then
250 GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
252 GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
256 if test "x$enable_visibility" = "xno"; then
257 GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
261 AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
264 # Build time sanity check...
267 # Checks for programs.
274 if test "x$GCC" = "xyes"; then
276 *[\ \ ]-Wall[\ \ ]*) ;;
277 *) CFLAGS="$CFLAGS -Wall" ;;
280 if test "x$enable_ansi" = "xyes"; then
282 *[\ \ ]-ansi[\ \ ]*) ;;
283 *) CFLAGS="$CFLAGS -ansi" ;;
287 *[\ \ ]-pedantic[\ \ ]*) ;;
288 *) CFLAGS="$CFLAGS -pedantic" ;;
294 # Ensure MSVC-compatible struct packing convention is used when
295 # compiling for Win32 with gcc.
296 # What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
297 # gcc2 uses "-fnative-struct".
298 if test x"$os_win32" = xyes; then
299 if test x"$GCC" = xyes; then
301 AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
302 if test -z "$ac_cv_prog_CC"; then
305 our_gcc="$ac_cv_prog_CC"
307 case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
309 if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
310 msnative_struct='-fnative-struct'
314 if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
315 msnative_struct='-mms-bitfields'
319 if test x"$msnative_struct" = x ; then
320 AC_MSG_RESULT([no way])
321 AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
323 CFLAGS="$CFLAGS $msnative_struct"
324 AC_MSG_RESULT([${msnative_struct}])
329 # Honor aclocal flags
330 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
332 ## Initial sanity check, done here so that users get told they
333 ## have the wrong dependencies as early in the process as possible.
334 ## Later on we actually use the cflags/libs from separate pkg-config
335 ## calls. Oh, also the later pkg-config calls don't include
336 ## the version requirements since those make the module lists
337 ## annoying to construct
338 PKG_CHECK_MODULES(BASE_DEPENDENCIES,
339 [glib-2.0 >= glib_required_version dnl
340 atk >= atk_required_version dnl
341 pango >= pango_required_version dnl
342 cairo >= cairo_required_version])
344 if test "$os_win32" != yes; then
345 # libtool option to control which symbols are exported
346 # right now, symbols starting with _ are not exported
347 LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
349 # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
350 LIBTOOL_EXPORT_OPTIONS=
352 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
354 dnl ******************************************************
355 dnl * See whether to include shared library dependencies *
356 dnl ******************************************************
358 AC_ARG_ENABLE(explicit-deps,
359 [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
360 [use explicit dependencies in .pc files [default=auto]])],,
361 [enable_explicit_deps=auto])
363 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
364 case $enable_explicit_deps in
367 deplibs_check_method=`(./libtool --config; echo 'eval echo $deplibs_check_method') | sh`
368 if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
369 enable_explicit_deps=yes
371 enable_explicit_deps=no
376 *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
379 AC_MSG_RESULT($enable_explicit_deps)
381 AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
383 # define a MAINT-like variable REBUILD which is set if Perl
384 # and awk are found, so autogenerated sources can be rebuilt
386 AC_PATH_PROGS(PERL, perl5 perl)
388 # We would like indent, but don't require it.
389 AC_CHECK_PROG(INDENT, indent, indent)
392 if test "x$enable_rebuilds" = "xyes" && \
394 $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
399 AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked)
401 # _NL_TIME_FIRST_WEEKDAY is an enum and not a define
402 AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
403 AC_TRY_LINK([#include <langinfo.h>], [
405 c = *((unsigned char *) nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
406 ], gtk_ok=yes, gtk_ok=no)
407 AC_MSG_RESULT($gtk_ok)
408 if test "$gtk_ok" = "yes"; then
409 AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
410 [Define if _NL_TIME_FIRST_WEEKDAY is available])
413 # _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
414 AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
415 AC_TRY_LINK([#include <langinfo.h>], [
417 c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
418 ], gtk_ok=yes, gtk_ok=no)
419 AC_MSG_RESULT($gtk_ok)
420 if test "$gtk_ok" = "yes"; then
421 AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1],
422 [Define if _NL_MEASUREMENT_MEASUREMENT is available])
425 # _NL_PAPER_HEIGHT is an enum and not a define
426 AC_MSG_CHECKING([for _NL_PAPER_HEIGHT])
427 AC_TRY_LINK([#include <langinfo.h>], [
429 c = *((unsigned char *) nl_langinfo(_NL_PAPER_HEIGHT));
430 ], gtk_ok=yes, gtk_ok=no)
431 AC_MSG_RESULT($gtk_ok)
432 if test "$gtk_ok" = "yes"; then
433 AC_DEFINE([HAVE__NL_PAPER_HEIGHT], [1],
434 [Define if _NL_PAPER_HEIGHT is available])
437 # _NL_PAPER_WIDTH is an enum and not a define
438 AC_MSG_CHECKING([for _NL_PAPER_WIDTH])
439 AC_TRY_LINK([#include <langinfo.h>], [
441 c = *((unsigned char *) nl_langinfo(_NL_PAPER_WIDTH));
442 ], gtk_ok=yes, gtk_ok=no)
443 AC_MSG_RESULT($gtk_ok)
444 if test "$gtk_ok" = "yes"; then
445 AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1],
446 [Define if _NL_PAPER_WIDTH is available])
449 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
450 AC_MSG_CHECKING(for sigsetjmp)
451 AC_TRY_LINK([#include <setjmp.h>], [
454 ], gtk_ok=yes, gtk_ok=no)
455 AC_MSG_RESULT($gtk_ok)
456 if test "$gtk_ok" = "yes"; then
457 AC_DEFINE(HAVE_SIGSETJMP)
461 # TRANSLATORS: Please note that gtk+ has both po/ and po-properties/
462 # directories. If you add a new language to ALL_LINGUAS, please make
463 # sure that both po/ and po-properties/ have .po files that correspond
464 # to your language. If you only add one to po/, the build will break
466 ALL_LINGUAS="af am ang ar az az_IR be be@latin bg bn bn_IN br bs ca cs cy da de dz el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ka ko ku li lt lv mi mk ml mn mr ms nb ne nl nn nso or pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk ur uz uz@Latn vi wa xh yi zh_CN zh_HK zh_TW"
468 LIBS="$LIBS $INTLLIBS"
469 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
470 sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
473 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
475 dnl The DU4 header files don't provide library prototypes unless
476 dnl -std1 is given to the native cc.
477 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
481 AC_TRY_RUN([#include <math.h>
482 int main (void) { return (log(1) != log(1.)); }],
483 AC_MSG_RESULT(none needed),
484 gtk_save_CFLAGS="$CFLAGS"
485 CFLAGS="$CFLAGS -std1"
486 AC_TRY_RUN([#include <math.h>
487 int main (void) { return (log(1) != log(1.)); }],
488 AC_MSG_RESULT(-std1),
490 CFLAGS="$gtk_save_CFLAGS"
492 [No ANSI prototypes found in library. (-std1 didn't work.)]),
495 AC_MSG_RESULT(none needed)
499 AC_MSG_CHECKING(for the BeOS)
513 AC_MSG_CHECKING(for HP-UX)
515 hpux9* | hpux10* | hpux11*)
517 CFLAGS="$CFLAGS -DHPPEX -DSHMLINK"
524 dnl NeXTStep cc seems to need this
525 AC_MSG_CHECKING([for extra flags for POSIX compliance])
526 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
527 AC_MSG_RESULT(none needed),
528 gtk_save_CFLAGS="$CFLAGS"
529 CFLAGS="$CFLAGS -posix"
530 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
531 AC_MSG_RESULT(-posix),
533 CFLAGS="$gtk_save_CFLAGS"
534 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
537 # Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
540 GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
542 AM_PATH_GLIB_2_0(glib_required_version, :,
544 *** GLIB glib_required_version or better is required. The latest version of
545 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
546 gobject gmodule-no-export gthread)
548 # See if it's safe to turn G_DISABLE_DEPRECATED on.
549 GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
550 GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
551 if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
552 CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
557 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
560 LIBS="$LIBS $GLIB_LIBS"
561 AC_CHECK_FUNCS(bind_textdomain_codeset)
564 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
565 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
566 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
567 AC_CHECK_HEADERS(ftw.h, AC_DEFINE(HAVE_FTW_H))
569 saved_cflags="$CFLAGS"
570 saved_ldflags="$LDFLAGS"
573 # Checks for header files.
576 # Checks for typedefs, structures, and compiler characteristics.
579 # Checks for library functions.
583 AC_CHECK_FUNCS(mallinfo)
584 AC_CHECK_FUNCS(getresuid)
587 # Check if <sys/select.h> needs to be included for fd_set
588 AC_MSG_CHECKING([for fd_set])
589 AC_TRY_COMPILE([#include <sys/types.h>],
590 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
591 if test $gtk_ok = yes; then
592 AC_MSG_RESULT([yes, found in sys/types.h])
594 AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
595 if test $gtk_ok = yes; then
596 AC_DEFINE(HAVE_SYS_SELECT_H)
597 AC_MSG_RESULT([yes, found in sys/select.h])
604 # `widechar' tests for gdki18n.h
605 AC_MSG_CHECKING(for wchar.h)
606 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
607 if test $gdk_wchar_h = yes; then
608 AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
610 AC_MSG_RESULT($gdk_wchar_h)
612 # Check for wctype.h (for iswalnum)
613 AC_MSG_CHECKING(for wctype.h)
614 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
615 if test $gdk_wctype_h = yes; then
616 AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
618 AC_MSG_RESULT($gdk_wctype_h)
620 # in Solaris 2.5, `iswalnum' is in -lw
622 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
625 LIBS="$LIBS $GDK_WLIBS"
626 # The following is necessary for Linux libc-5.4.38
627 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
628 AC_TRY_LINK([#include <stdlib.h>],[
629 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
630 # ifdef HAVE_WCTYPE_H
638 # define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
640 iswalnum((wchar_t) 0);
641 ], gdk_working_wctype=yes, gdk_working_wctype=no)
644 if test $gdk_working_wctype = no; then
645 AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
648 AC_MSG_RESULT($gdk_working_wctype)
651 # Check for uxtheme.h (for MS-Windows Engine)
652 AC_MSG_CHECKING(for uxtheme.h)
653 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
654 if test $gtk_uxtheme_h = yes; then
655 AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
657 AC_MSG_RESULT($gtk_uxtheme_h)
659 # Checks for gdkspawn
660 AC_CHECK_HEADERS(crt_externs.h)
661 AC_CHECK_FUNCS(_NSGetEnviron)
664 ##################################################
665 # Checks for gdk-pixbuf
666 ##################################################
668 dnl ********************************************************
669 dnl * See whether we need to load our modules as .la files *
670 dnl ********************************************************
674 *-aix*) use_la_modules=true
677 if $use_la_modules ; then
678 AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
682 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
684 AC_ARG_ENABLE(modules,
685 [AC_HELP_STRING([--disable-modules],
686 [disable dynamic module loading])])
690 if test x$enable_modules = xno; then
694 AC_MSG_CHECKING(whether dynamic modules work)
695 ## for loop is to strip newline
696 tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
701 dnl Now we check to see if our libtool supports shared lib deps
702 dnl (in a rather ugly way even)
704 pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
705 pixbuf_deplibs_check=`$pixbuf_libtool_config | \
706 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
707 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
708 if test "x$pixbuf_deplibs_check" = "xnone" || \
709 test "x$pixbuf_deplibs_check" = "xunknown" || \
710 test "x$pixbuf_deplibs_check" = "x"; then
716 AC_DEFINE(USE_GMODULE)
723 dnl We allow people to disable image loaders explicitely, but if they don't we error
724 dnl out so that people don't accidentally build without them.
727 [AC_HELP_STRING([--without-libpng],
728 [disable PNG loader for gdk-pixbuf])])
730 [AC_HELP_STRING([--without-libjpeg],
731 [disable JPEG loader for gdk-pixbuf])])
733 [AC_HELP_STRING([--without-libtiff],
734 [disable TIFF loader for gdk-pixbuf])])
737 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
738 AC_CHECK_LIB(tiff, TIFFReadScanline,
739 [AC_CHECK_HEADER(tiffio.h,
740 TIFF='tiff'; LIBTIFF='-ltiff',
741 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
742 [AC_CHECK_LIB(tiff, TIFFWriteScanline,
743 [AC_CHECK_HEADER(tiffio.h,
744 TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
745 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
746 [AC_CHECK_LIB(tiff34, TIFFFlushData,
747 [AC_CHECK_HEADER(tiffio.h,
748 TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
749 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
750 AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
753 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
755 *** Checks for TIFF loader failed. You can build without it by passing
756 *** --without-libtiff to configure but some programs using GTK+ may
757 *** not work properly])
761 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
762 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
765 AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
766 if test "$jpeg_ok" = yes; then
767 AC_MSG_CHECKING([for jpeglib.h])
773 #include <jpeglib.h>],
776 AC_MSG_RESULT($jpeg_ok)
777 if test "$jpeg_ok" = yes; then
779 AC_CHECK_LIB(jpeg, jpeg_simple_progression,
780 AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
781 AC_MSG_WARN(JPEG library does not support progressive saving.))
783 AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
788 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
790 *** Checks for JPEG loader failed. You can build without it by passing
791 *** --without-libjpeg to configure but some programs using GTK+ may
792 *** not work properly])
796 if test x$with_libpng != xno && test -z "$LIBPNG"; then
797 AC_MSG_CHECKING(for libpng12)
798 if $PKG_CONFIG --exists libpng12 ; then
801 PNG_DEP_CFLAGS_PACKAGES=libpng12
802 LIBPNG=`$PKG_CONFIG --libs libpng12`
805 AC_CHECK_LIB(png, png_read_info,
806 [AC_CHECK_HEADER(png.h,
809 AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
810 if test "$png_ok" = yes; then
811 AC_MSG_CHECKING([for png_structp in png.h])
812 AC_TRY_COMPILE([#include <png.h>],
813 [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
816 AC_MSG_RESULT($png_ok)
817 if test "$png_ok" = yes; then
818 PNG='png'; LIBPNG='-lpng -lz'
820 AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
823 AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
828 if test x$with_libpng != xno && test -z "$LIBPNG"; then
830 *** Checks for PNG loader failed. You can build without it by passing
831 *** --without-libpng to configure but many programs using GTK+ will
832 *** not work properly. The PNG loader is also needed if you are compiling
840 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
843 # Allow building some or all gdk-pixbuf loaders included
845 AC_MSG_CHECKING(pixbuf loaders to build)
847 dnl due to an autoconf bug, commas in the first arg to
848 dnl AC_HELP_STRING cause problems.
849 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
850 dnl [build the specified loaders into gdk-pixbuf])
851 AC_ARG_WITH(included_loaders,
852 [ --with-included-loaders=LOADER1,LOADER2,...
853 build the specified loaders into gdk-pixbuf])
858 ## if the option was specified, leave it; otherwise disable included loaders
859 if test x$with_included_loaders = xno; then
860 with_included_loaders=yes
864 all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,xbm,tga,pcx"
866 # If no loaders specified, include all
867 if test "x$with_included_loaders" = xyes ; then
868 included_loaders="$all_loaders"
870 included_loaders="$with_included_loaders"
873 AC_MSG_RESULT($included_loaders)
876 INCLUDED_LOADER_DEFINE=
878 IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
879 for loader in $included_loaders; do
880 if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
883 AC_MSG_ERROR([the specified loader $loader does not exist])
886 INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libstatic-pixbufloader-$loader.la"
887 INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
888 eval INCLUDE_$loader=yes
891 AC_SUBST(INCLUDED_LOADER_OBJ)
892 AC_SUBST(INCLUDED_LOADER_DEFINE)
894 AM_CONDITIONAL(INCLUDE_PNG, [test x"$INCLUDE_png" = xyes])
895 AM_CONDITIONAL(INCLUDE_BMP, [test x"$INCLUDE_bmp" = xyes])
896 AM_CONDITIONAL(INCLUDE_WBMP, [test x"$INCLUDE_wbmp" = xyes])
897 AM_CONDITIONAL(INCLUDE_GIF, [test x"$INCLUDE_gif" = xyes])
898 AM_CONDITIONAL(INCLUDE_ICO, [test x"$INCLUDE_ico" = xyes])
899 AM_CONDITIONAL(INCLUDE_ANI, [test x"$INCLUDE_ani" = xyes])
900 AM_CONDITIONAL(INCLUDE_JPEG, [test x"$INCLUDE_jpeg" = xyes])
901 AM_CONDITIONAL(INCLUDE_PNM, [test x"$INCLUDE_pnm" = xyes])
902 AM_CONDITIONAL(INCLUDE_RAS, [test x"$INCLUDE_ras" = xyes])
903 AM_CONDITIONAL(INCLUDE_TIFF, [test x"$INCLUDE_tiff" = xyes])
904 AM_CONDITIONAL(INCLUDE_XPM, [test x"$INCLUDE_xpm" = xyes])
905 AM_CONDITIONAL(INCLUDE_XBM, [test x"$INCLUDE_xbm" = xyes])
906 AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
907 AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
913 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
914 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
915 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
919 if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
920 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
922 if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
923 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
925 if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
926 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
929 STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
932 # Checks to see if we should compile in MMX support (there will be
933 # a runtime test when the code is actually run to see if it should
934 # be used - this just checks if we can compile it.)
936 # This code is partially taken from Mesa
938 AC_MSG_CHECKING(for x86 platform)
940 i386|i486|i586|i686|i786|k6|k7)
946 AC_MSG_RESULT($use_x86_asm)
949 if test $use_x86_asm = yes; then
953 AC_MSG_CHECKING(compiler support for MMX)
954 cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
955 if AC_TRY_EVAL(ac_compile); then
962 if test $use_mmx_asm = yes; then
970 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
973 if test -z "$LIBPNG"; then
977 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
979 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
981 if test $cross_compiling = yes; then
982 AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
983 AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
984 if test x$GTK_UPDATE_ICON_CACHE = xno; then
989 if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
990 test "x$REBUILD_PNGS" = "x#" ; then
992 *** gtkbuiltincache.h is not in the tree, and cannot be built
993 *** because you don't have libpng, or (when cross-compiling) you
994 *** don't have a prebuilt gtk-update-icon-cache on the build system.])
997 AC_SUBST(REBUILD_PNGS)
999 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
1000 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB"
1001 GDK_PIXBUF_EXTRA_CFLAGS=
1002 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1003 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
1005 AC_SUBST(GDK_PIXBUF_PACKAGES)
1006 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
1007 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
1008 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
1009 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
1012 ########################################
1013 # Windowing system checks
1014 ########################################
1016 GDK_PIXBUF_XLIB_PACKAGES=
1017 GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
1018 GDK_PIXBUF_XLIB_EXTRA_LIBS=
1020 X_PACKAGES=fontconfig
1021 GDK_EXTRA_LIBS="$GDK_WLIBS"
1024 # GTK+ uses some X calls, so needs to link against X directly
1025 GTK_DEP_PACKAGES_FOR_X=
1028 if test "x$gdktarget" = "xx11"; then
1030 # We use fontconfig very peripherally when decoding the default
1033 if $PKG_CONFIG --exists fontconfig; then : ; else
1035 *** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
1039 # Check for basic X packages; we use pkg-config if available
1041 if $PKG_CONFIG --exists x11 xext xrender; then
1043 X_PACKAGES="$X_PACKAGES x11 xext xrender"
1044 x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
1045 X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
1047 # Strip out any .la files that pkg-config might give us (this happens
1048 # with -uninstalled.pc files)
1050 for I in $x_libs ; do
1053 *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1057 GDK_PIXBUF_XLIB_PACKAGES="x11"
1058 GTK_PACKAGES_FOR_X="x11"
1060 have_base_x_pc=false
1062 if test x$no_x = xyes ; then
1063 AC_MSG_ERROR([X development libraries not found])
1066 x_cflags="$X_CFLAGS"
1067 x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
1069 GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1070 GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
1071 GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
1074 # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
1077 gtk_save_cppflags="$CPPFLAGS"
1078 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1081 LIBS="$x_libs_for_checks $LIBS"
1083 # Sanity check for the X11 and Xext libraries. While everything we need from
1084 # Xext is optional, the chances a system has *none* of these things is so
1085 # small that we just unconditionally require it.
1086 AC_CHECK_FUNC(XOpenDisplay, :,
1087 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
1088 AC_CHECK_FUNC(XextFindDisplay, :,
1089 AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
1090 AC_CHECK_FUNC(XRenderQueryExtension, :,
1091 AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
1095 AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1096 AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1098 [AC_MSG_RESULT([no])],
1099 [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1100 #include <X11/Xlibint.h>],
1102 [AC_MSG_RESULT([yes])
1103 AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1104 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1105 [AC_MSG_RESULT([unknown])
1106 AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1108 # Check for XConvertCase, XInternAtoms (X11R6 specific)
1110 AC_CHECK_FUNCS(XConvertCase XInternAtoms)
1112 # Generic X11R6 check needed for XIM support; we could
1113 # probably use this to replace the above, but we'll
1114 # leave the separate checks for XConvertCase and XInternAtoms
1118 AC_CHECK_FUNC(XAddConnectionWatch,
1121 if $have_x11r6; then
1122 AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
1124 AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1126 # Check for XKB support.
1128 if test "x$enable_xkb" = "xyes"; then
1129 AC_MSG_WARN(XKB support explicitly enabled)
1131 elif test "x$enable_xkb" = "xmaybe"; then
1132 AC_CHECK_FUNC(XkbQueryExtension,
1133 AC_DEFINE(HAVE_XKB))
1135 AC_MSG_WARN(XKB support explicitly disabled)
1138 # Check for shaped window extension
1140 AC_CHECK_FUNC(XShapeCombineMask,
1141 AC_DEFINE(HAVE_SHAPE_EXT))
1144 gtk_save_CFLAGS="$CFLAGS"
1145 CFLAGS="$CFLAGS $x_cflags"
1147 AC_CHECK_FUNC(XSyncQueryExtension,
1148 [AC_CHECK_HEADER(X11/extensions/sync.h,
1149 AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
1150 :, [#include <X11/Xlib.h>])])
1152 CFLAGS="$gtk_save_CFLAGS"
1156 if test "x$enable_shm" = "xyes"; then
1157 # Check for the XShm extension, normally in Xext
1158 AC_CHECK_FUNC(XShmAttach,
1160 # On AIX, it is in XextSam instead
1161 [AC_CHECK_LIB(XextSam, XShmAttach,
1162 [GTK_ADD_LIB(x_extra_libs,XextSam)])])
1165 if test "x$enable_shm" = "xyes"; then
1166 # Check for shared memory
1167 AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
1168 AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
1170 # Check for the X shared memory extension header file
1172 AC_MSG_CHECKING(X11/extensions/XShm.h)
1173 if test "x$no_xext_lib" = "xyes"; then
1176 gtk_save_CFLAGS="$CFLAGS"
1177 CFLAGS="$CFLAGS $x_cflags"
1180 #include <sys/types.h>
1181 #include <sys/ipc.h>
1182 #include <sys/shm.h>
1183 #include <X11/Xlib.h>
1184 #include <X11/Xutil.h>
1185 #include <X11/extensions/XShm.h>
1186 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1187 CFLAGS="$gtk_save_CFLAGS"
1189 AC_MSG_RESULT($have_xshm)
1190 if test $have_xshm = yes ; then
1191 AC_DEFINE(HAVE_XSHM_H)
1195 # Check for Xinerama extension (Solaris impl or Xfree impl)
1197 gtk_save_cppflags="$CPPFLAGS"
1198 CPPFLAGS="$CPPFLAGS $x_cflags"
1203 AC_MSG_CHECKING(for Xinerama support on Solaris)
1205 have_solaris_xinerama=false
1206 AC_CHECK_FUNC(XineramaGetInfo,
1207 [AC_CHECK_HEADER(X11/extensions/xinerama.h,
1208 [have_solaris_xinerama=true], :,
1209 [#include <X11/Xlib.h>])])
1211 if $have_solaris_xinerama ; then
1212 AC_DEFINE(HAVE_SOLARIS_XINERAMA)
1213 AC_DEFINE(HAVE_XINERAMA)
1221 AC_MSG_CHECKING(for Xinerama support on XFree86)
1223 have_xfree_xinerama=false
1224 if $PKG_CONFIG --exists xinerama ; then
1225 have_xfree_xinerama=true
1226 X_PACKAGES="$X_PACKAGES xinerama"
1228 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1229 [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
1230 [GTK_ADD_LIB(x_extra_libs,Xinerama)
1231 have_xfree_xinerama=true], :,
1232 [#include <X11/Xlib.h>])])
1235 if $have_xfree_xinerama ; then
1236 AC_DEFINE(HAVE_XFREE_XINERAMA)
1237 AC_DEFINE(HAVE_XINERAMA)
1245 # set up things for XInput
1247 if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
1248 AC_DEFINE(XINPUT_XFREE)
1250 if $PKG_CONFIG --exists xi ; then
1251 X_PACKAGES="$X_PACKAGES xi"
1253 GTK_ADD_LIB(x_extra_libs, Xi)
1256 AC_DEFINE(XINPUT_NONE)
1259 AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
1261 # Check for the RANDR extension
1264 if $PKG_CONFIG --exists xrandr ; then
1266 X_PACKAGES="$X_PACKAGES xrandr"
1268 AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
1269 [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
1270 # RANDR requires RENDER
1272 GTK_ADD_LIB(x_extra_libs, Xrender)
1273 GTK_ADD_LIB(x_extra_libs, Xrandr)],
1274 :, [#include <X11/Xlib.h>])])
1277 if $have_randr ; then
1278 AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
1281 # Checks for Xcursor library
1283 if $PKG_CONFIG --exists xcursor ; then
1284 AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1286 X_PACKAGES="$X_PACKAGES xcursor"
1289 # Checks for XFixes extension
1291 if $PKG_CONFIG --exists xfixes ; then
1292 AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1294 X_PACKAGES="$X_PACKAGES xfixes"
1295 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
1298 if $have_base_x_pc ; then
1299 GDK_EXTRA_LIBS="$x_extra_libs"
1301 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
1304 CPPFLAGS="$gtk_save_cppflags"
1305 LIBS="$gtk_save_libs"
1307 AM_CONDITIONAL(USE_X11, true)
1309 AM_CONDITIONAL(XINPUT_XFREE, false)
1310 AM_CONDITIONAL(USE_X11, false)
1311 AM_CONDITIONAL(HAVE_X11R6, false)
1314 if test "x$gdktarget" = "xwin32"; then
1315 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -Wl,-luuid"
1316 AM_CONDITIONAL(USE_WIN32, true)
1318 AM_CONDITIONAL(USE_WIN32, false)
1321 if test "x$gdktarget" = "xquartz"; then
1322 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
1323 AM_CONDITIONAL(USE_QUARTZ, true)
1325 AM_CONDITIONAL(USE_QUARTZ, false)
1328 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1329 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"
1331 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1332 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1333 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1334 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1335 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1337 if test "x$gdktarget" = "xlinux-fb"; then
1338 if test x$enable_shadowfb = xyes ; then
1339 AC_DEFINE(ENABLE_SHADOW_FB)
1342 if test x$enable_fbmanager = xyes ; then
1343 AC_DEFINE(ENABLE_FB_MANAGER)
1344 AM_CONDITIONAL(ENABLE_FB_MANAGER, true)
1346 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1349 AM_CONDITIONAL(USE_LINUX_FB, true)
1351 AM_CONDITIONAL(USE_LINUX_FB, false)
1352 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1355 if test "x$gdktarget" = "xdirectfb"; then
1356 DIRECTFB_REQUIRED_VERSION=0.9.24
1357 AC_MSG_CHECKING(for DirectFB)
1359 if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
1360 AC_MSG_RESULT(found)
1361 GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
1362 GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
1365 *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend
1366 *** are required. The latest version of DirectFB is always available
1367 *** from http://www.directfb.org/.
1371 AM_CONDITIONAL(USE_DIRECTFB, true)
1373 AM_CONDITIONAL(USE_DIRECTFB, false)
1377 # Check for Pango flags
1379 if test "x$gdktarget" = "xwin32"; then
1380 PANGO_PACKAGES="pangowin32 pangocairo"
1382 PANGO_PACKAGES="pango pangocairo"
1385 AC_MSG_CHECKING(Pango flags)
1386 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1387 PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1388 PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1390 AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1393 *** Pango not found. Pango built with Cairo support is required
1394 *** to build GTK+. See http://www.pango.org for Pango information.
1398 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1400 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1403 gtk_save_LIBS="$LIBS"
1404 LIBS="$PANGO_LIBS $LIBS"
1405 AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1406 *** Can't link to Pango. Pango is required to build
1407 *** GTK+. For more information see http://www.pango.org]))
1408 LIBS="$gtk_save_LIBS"
1411 CFLAGS="$saved_cflags"
1412 LDFLAGS="$saved_ldflags"
1414 GDK_PACKAGES="$PANGO_PACKAGES"
1415 if test "x$gdktarget" = "xx11"; then
1416 GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
1418 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1419 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1422 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1423 # into the pkg-config files
1425 if test $enable_explicit_deps != yes ; then
1426 GDK_PACKAGES="$PANGO_PACKAGES"
1430 AC_SUBST(GDK_PACKAGES)
1431 AC_SUBST(GDK_EXTRA_LIBS)
1432 AC_SUBST(GDK_EXTRA_CFLAGS)
1433 AC_SUBST(GDK_DEP_LIBS)
1434 AC_SUBST(GDK_DEP_CFLAGS)
1437 ########################################
1438 # Check for Accessibility Toolkit flags
1439 ########################################
1442 AC_MSG_CHECKING(ATK flags)
1443 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1444 ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1445 ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1447 AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1450 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1455 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1458 gtk_save_LIBS="$LIBS"
1459 LIBS="$ATK_LIBS $LIBS"
1460 AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1461 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1462 *** to build GTK+]))
1463 LIBS="$gtk_save_LIBS"
1466 GTK_PACKAGES="atk cairo"
1469 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"
1470 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"
1472 if test x"$os_win32" = xyes; then
1473 GTK_EXTRA_CFLAGS="$msnative_struct"
1476 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
1477 ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
1478 PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
1479 CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
1481 AC_SUBST(GTK_PACKAGES)
1482 AC_SUBST(GTK_EXTRA_LIBS)
1483 AC_SUBST(GTK_EXTRA_CFLAGS)
1484 AC_SUBST(GTK_DEP_LIBS)
1485 AC_SUBST(GTK_DEP_CFLAGS)
1487 AC_SUBST(GLIB_PREFIX)
1488 AC_SUBST(ATK_PREFIX)
1489 AC_SUBST(PANGO_PREFIX)
1490 AC_SUBST(CAIRO_PREFIX)
1492 AC_SUBST(GTK_DEBUG_FLAGS)
1493 AC_SUBST(GTK_XIM_FLAGS)
1495 ################################################################
1496 # Printing system checks
1497 ################################################################
1499 AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
1500 if test "x$CUPS_CONFIG" != "xno"; then
1501 CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
1502 CUPS_LIBS=`cups-config --libs`
1504 CUPS_API_VERSION=`cups-config --api-version`
1505 CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
1506 CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
1508 if test $CUPS_API_MAJOR -gt 1 -o \
1509 $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
1510 AC_DEFINE(HAVE_CUPS_API_1_2)
1513 AC_SUBST(CUPS_API_MAJOR)
1514 AC_SUBST(CUPS_API_MINOR)
1515 AC_SUBST(CUPS_CFLAGS)
1518 AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
1520 gtk_save_cppflags="$CPPFLAGS"
1521 CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
1523 AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
1524 *** Can't find cairo-pdf.h. You must build Cairo with the pdf
1525 *** backend enabled.]))
1527 if test "$os_win32" != "yes"; then
1528 AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
1529 *** Can't find cairo-ps.h. You must build Cairo with the
1530 *** postscript backend enabled.]))
1533 CPPFLAGS="$gtk_save_cppflags"
1536 ################################################################
1537 # Strip -export-dynamic from the link lines of various libraries
1538 ################################################################
1541 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1542 # but this flag is only meaningful for executables. For libraries
1543 # the effect is undefined; what it causes on Linux is that the
1544 # export list from -export-symbols-regex is ignored and everything
1547 # We are using gmodule-no-export now, but I'm leaving the stripping
1548 # code in place for now, since pango and atk still require gmodule.
1550 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1551 if test -n "$export_dynamic"; then
1552 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1553 GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1554 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1555 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1559 ##################################################
1560 # Checks for gtk-doc and docbook-tools
1561 ##################################################
1563 GTK_DOC_CHECK([1.4])
1565 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1566 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1569 [AC_HELP_STRING([--enable-man],
1570 [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1573 if test "${enable_man}" != no; then
1575 dnl Check for xsltproc
1577 AC_PATH_PROG([XSLTPROC], [xsltproc])
1578 if test -z "$XSLTPROC"; then
1582 dnl check for DocBook DTD and stylesheets in the local catalog.
1583 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1584 [DocBook XML DTD V4.1.2],,enable_man=no)
1585 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1586 [DocBook XSL Stylesheets],,enable_man=no)
1589 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1592 ##################################################
1594 ##################################################
1596 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1597 outfile=gdkconfig.h-tmp
1598 cat > $outfile <<\_______EOF
1601 * This is a generated file. Please modify `configure.in'
1609 #endif /* __cplusplus */
1613 cat >>$outfile <<_______EOF
1618 cat >>$outfile <<_______EOF
1622 #endif /* __cplusplus */
1624 #endif /* GDKCONFIG_H */
1628 if cmp -s $outfile gdk/gdkconfig.h; then
1629 AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1632 mv $outfile gdk/gdkconfig.h
1635 if test "x$gdktarget" = "xx11" ; then
1637 #define GDK_WINDOWING_X11'
1638 elif test "x$gdktarget" = "xwin32" ; then
1640 #define GDK_WINDOWING_WIN32'
1641 elif test "x$gdktarget" = "xlinux-fb" ; then
1643 #define GDK_WINDOWING_FB
1644 #define GDK_NATIVE_WINDOW_POINTER'
1645 elif test "x$gdktarget" = "xquartz" ; then
1647 #define GDK_WINDOWING_QUARTZ'
1648 elif test "x$gdktarget" = "xdirectfb" ; then
1650 #define GDK_WINDOWING_DIRECTFB'
1653 if test x$gdk_wchar_h = xyes; then
1655 #define GDK_HAVE_WCHAR_H 1'
1657 if test x$gdk_wctype_h = xyes; then
1659 #define GDK_HAVE_WCTYPE_H 1"
1661 if test x$gdk_working_wctype = xno; then
1663 #define GDK_HAVE_BROKEN_WCTYPE 1"
1676 gtk+-unix-print-2.0.pc
1677 gdk-pixbuf-2.0-uninstalled.pc
1678 gdk-2.0-uninstalled.pc
1679 gtk+-2.0-uninstalled.pc
1682 po-properties/Makefile.in
1684 demos/gtk-demo/Makefile
1685 demos/gtk-demo/geninclude.pl
1688 docs/reference/Makefile
1689 docs/reference/gdk-pixbuf/Makefile
1690 docs/reference/gdk-pixbuf/version.xml
1691 docs/reference/gdk/Makefile
1692 docs/reference/gdk/version.xml
1693 docs/reference/gtk/Makefile
1694 docs/reference/gtk/version.xml
1697 docs/tutorial/Makefile
1699 gdk-pixbuf/gdk_pixbuf.rc
1700 gdk-pixbuf/gdk-pixbuf-features.h
1701 gdk-pixbuf/pixops/Makefile
1705 gdk/win32/rc/Makefile
1707 gdk/linux-fb/Makefile
1709 gdk/directfb/Makefile
1714 gtk/theme-bits/Makefile
1715 gtk/xdgmime/Makefile
1717 modules/input/Makefile
1718 modules/engines/Makefile
1719 modules/engines/pixbuf/Makefile
1720 modules/engines/ms-windows/Makefile
1721 modules/engines/ms-windows/Theme/Makefile
1722 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1723 modules/printbackends/Makefile
1724 modules/printbackends/cups/Makefile
1725 modules/printbackends/lpr/Makefile
1726 modules/printbackends/file/Makefile
1729 contrib/gdk-pixbuf-xlib/Makefile
1730 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
1735 echo "configuration:
1738 if test "x$gdktarget" = "xlinux-fb"; then
1739 echo "Warning: The linux-fb GDK target is unmaintained"
1740 echo " and may not work or even compile"