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], [9])
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.4.0])
33 # required versions of other packages
34 m4_define([glib_required_version], [2.9.2])
35 m4_define([pango_required_version], [1.9.0])
36 m4_define([atk_required_version], [1.0.1])
37 m4_define([cairo_required_version], [0.9.2])
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])])
218 [AC_HELP_STRING([--with-ie55=DIRECTORY],
219 [IE5.5 libs and headers (for Active IMM)])])
221 if test "$platform_win32" = yes; then
227 AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/linux-fb/win32/quartz/directfb]] select non-default GDK target],
228 gdktarget=$with_gdktarget)
232 x11|linux-fb|win32|quartz|directfb) ;;
233 *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb, quartz, directfb or win32.]);;
236 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
237 gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
239 AC_SUBST(gdktargetlib)
240 AC_SUBST(gtktargetlib)
242 AC_ARG_ENABLE(shadowfb,
243 [AC_HELP_STRING([--disable-shadowfb],
244 [disable shadowfb support for linux-fb])],,
245 [enable_shadowfb=yes])
247 AC_ARG_ENABLE(fbmanager,
248 [AC_HELP_STRING([--enable-fbmanager],
249 [enable framebuffer manager support (GtkFB)])],,
252 if test "x$enable_debug" = "xyes"; then
253 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
254 GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
256 if test "x$enable_debug" = "xno"; then
257 GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
259 GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
263 if test "x$enable_visibility" = "xno"; then
264 GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
268 AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
271 # Build time sanity check...
274 # Checks for programs.
281 if test "x$GCC" = "xyes"; then
283 *[\ \ ]-Wall[\ \ ]*) ;;
284 *) CFLAGS="$CFLAGS -Wall" ;;
287 if test "x$enable_ansi" = "xyes"; then
289 *[\ \ ]-ansi[\ \ ]*) ;;
290 *) CFLAGS="$CFLAGS -ansi" ;;
294 *[\ \ ]-pedantic[\ \ ]*) ;;
295 *) CFLAGS="$CFLAGS -pedantic" ;;
301 # Ensure MSVC-compatible struct packing convention is used when
302 # compiling for Win32 with gcc.
303 # What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
304 # gcc2 uses "-fnative-struct".
305 if test x"$os_win32" = xyes; then
306 if test x"$GCC" = xyes; then
308 AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
309 if test -z "$ac_cv_prog_CC"; then
312 our_gcc="$ac_cv_prog_CC"
314 case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
316 if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
317 msnative_struct='-fnative-struct'
321 if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
322 msnative_struct='-mms-bitfields'
326 if test x"$msnative_struct" = x ; then
327 AC_MSG_RESULT([no way])
328 AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
330 CFLAGS="$CFLAGS $msnative_struct"
331 AC_MSG_RESULT([${msnative_struct}])
336 # Honor aclocal flags
337 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
339 ## Initial sanity check, done here so that users get told they
340 ## have the wrong dependencies as early in the process as possible.
341 ## Later on we actually use the cflags/libs from separate pkg-config
342 ## calls. Oh, also the later pkg-config calls don't include
343 ## the version requirements since those make the module lists
344 ## annoying to construct
345 PKG_CHECK_MODULES(BASE_DEPENDENCIES,
346 [glib-2.0 >= glib_required_version dnl
347 atk >= atk_required_version dnl
348 pango >= pango_required_version dnl
349 cairo >= cairo_required_version])
351 if test "$os_win32" != yes; then
352 # libtool option to control which symbols are exported
353 # right now, symbols starting with _ are not exported
354 LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
356 # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
357 LIBTOOL_EXPORT_OPTIONS=
359 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
361 dnl ******************************************************
362 dnl * See whether to include shared library dependencies *
363 dnl ******************************************************
365 AC_ARG_ENABLE(explicit-deps,
366 [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
367 [use explicit dependencies in .pc files [default=auto]])],,
368 [enable_explicit_deps=auto])
370 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
371 case $enable_explicit_deps in
373 deplibs_check_method=`(./libtool --config; echo eval echo \\$deplibs_check_method) | sh`
374 if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
375 enable_explicit_deps=yes
377 enable_explicit_deps=no
382 *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
385 AC_MSG_RESULT($enable_explicit_deps)
387 AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
389 # define a MAINT-like variable REBUILD which is set if Perl
390 # and awk are found, so autogenerated sources can be rebuilt
392 AC_PATH_PROGS(PERL, perl5 perl)
394 # We would like indent, but don't require it.
395 AC_CHECK_PROG(INDENT, indent, indent)
398 if test "x$enable_rebuilds" = "xyes" && \
400 $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
405 AC_CHECK_FUNCS(lstat mkstemp flockfile)
407 # _NL_TIME_FIRST_WEEKDAY is an enum and not a define
408 AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
409 AC_TRY_LINK([#include <langinfo.h>], [
411 c = *((unsigned char *) nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
412 ], gtk_ok=yes, gtk_ok=no)
413 AC_MSG_RESULT($gtk_ok)
414 if test "$gtk_ok" = "yes"; then
415 AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
416 [Define if _NL_TIME_FIRST_WEEKDAY is available])
419 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
420 AC_MSG_CHECKING(for sigsetjmp)
421 AC_TRY_LINK([#include <setjmp.h>], [
424 ], gtk_ok=yes, gtk_ok=no)
425 AC_MSG_RESULT($gtk_ok)
426 if test "$gtk_ok" = "yes"; then
427 AC_DEFINE(HAVE_SIGSETJMP)
431 # TRANSLATORS: Please note that gtk+ has both po/ and po-properties/
432 # directories. If you add a new language to ALL_LINGUAS, please make
433 # sure that both po/ and po-properties/ have .po files that correspond
434 # to your language. If you only add one to po/, the build will break
436 ALL_LINGUAS="af am ar az az_IR be bg bn br bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ko ku li lt lv mi mk ml mn mr ms nb ne nl nn no nso pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk uz uz@Latn vi wa xh yi zh_CN zh_HK zh_TW"
438 LIBS="$LIBS $INTLLIBS"
439 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
440 sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
443 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
445 dnl The DU4 header files don't provide library prototypes unless
446 dnl -std1 is given to the native cc.
447 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
451 AC_TRY_RUN([#include <math.h>
452 int main (void) { return (log(1) != log(1.)); }],
453 AC_MSG_RESULT(none needed),
454 gtk_save_CFLAGS="$CFLAGS"
455 CFLAGS="$CFLAGS -std1"
456 AC_TRY_RUN([#include <math.h>
457 int main (void) { return (log(1) != log(1.)); }],
458 AC_MSG_RESULT(-std1),
460 CFLAGS="$gtk_save_CFLAGS"
462 [No ANSI prototypes found in library. (-std1 didn't work.)]),
465 AC_MSG_RESULT(none needed)
469 AC_MSG_CHECKING(for the BeOS)
483 AC_MSG_CHECKING(for HP-UX)
485 hpux9* | hpux10* | hpux11*)
487 CFLAGS="$CFLAGS -DHPPEX -DSHMLINK"
494 dnl NeXTStep cc seems to need this
495 AC_MSG_CHECKING([for extra flags for POSIX compliance])
496 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
497 AC_MSG_RESULT(none needed),
498 gtk_save_CFLAGS="$CFLAGS"
499 CFLAGS="$CFLAGS -posix"
500 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
501 AC_MSG_RESULT(-posix),
503 CFLAGS="$gtk_save_CFLAGS"
504 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
507 # Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
510 GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
512 AM_PATH_GLIB_2_0(glib_required_version, :,
514 *** GLIB glib_required_version or better is required. The latest version of
515 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
516 gobject gmodule-no-export gthread)
518 # See if it's safe to turn G_DISABLE_DEPRECATED on.
519 GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
520 GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
521 if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
522 CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
527 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
530 LIBS="$LIBS $GLIB_LIBS"
531 AC_CHECK_FUNCS(bind_textdomain_codeset)
534 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
535 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
536 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
538 if test "${with_ie55+set}" = set && test $with_ie55 != no; then
539 AC_MSG_CHECKING([for dimm.h])
540 saved_CFLAGS="$CFLAGS"
541 CFLAGS="$CFLAGS -idirafter $with_ie55/Include"
542 AC_TRY_COMPILE([/* The w32api imm.h clashes a bit with the IE5.5 dimm.h */
544 #define IMEMENUITEMINFOA hidden_IMEMENUITEMINFOA
545 #define IMEMENUITEMINFOW hidden_IMEMENUITEMINFOW
551 #undef IMEMENUITEMINFOA
552 #undef IMEMENUITEMINFOW
558 AC_MSG_CHECKING([for IE55 uuid.lib])
559 if test -f $with_ie55/Lib/uuid.lib ; then
562 AC_DEFINE(HAVE_DIMM_H)
563 IE55_UUID_LIB="$with_ie55/Lib/uuid.lib"
564 AC_SUBST(IE55_UUID_LIB)
567 CFLAGS="$saved_CFLAGS"
572 CFLAGS="$saved_CFLAGS"
575 AM_CONDITIONAL(HAVE_IE55, test x$have_ie55 = xyes)
577 if test "${with_wintab+set}" = set && test $with_wintab != no; then
578 AC_MSG_CHECKING([for wintab.h])
579 saved_CFLAGS="$CFLAGS"
580 CFLAGS="$CFLAGS -I$with_wintab/include"
581 AC_TRY_COMPILE([#include <windows.h>
582 #include <wintab.h>],
585 AC_MSG_CHECKING([for wntab32x.lib])
586 if test -f $with_wintab/lib/i386/wntab32x.lib ; then
589 AC_DEFINE(HAVE_WINTAB)
590 WINTAB_LIB="$with_wintab/lib/i386/wntab32x.lib"
594 CFLAGS="$saved_cflags"
599 CFLAGS="$saved_cflags"
602 AM_CONDITIONAL(HAVE_WINTAB, test x$have_wintab = xyes)
604 saved_cflags="$CFLAGS"
605 saved_ldflags="$LDFLAGS"
608 # Checks for header files.
611 # Checks for typedefs, structures, and compiler characteristics.
614 # Checks for library functions.
618 AC_CHECK_FUNCS(mallinfo)
619 AC_CHECK_FUNCS(getresuid)
622 # Check if <sys/select.h> needs to be included for fd_set
623 AC_MSG_CHECKING([for fd_set])
624 AC_TRY_COMPILE([#include <sys/types.h>],
625 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
626 if test $gtk_ok = yes; then
627 AC_MSG_RESULT([yes, found in sys/types.h])
629 AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
630 if test $gtk_ok = yes; then
631 AC_DEFINE(HAVE_SYS_SELECT_H)
632 AC_MSG_RESULT([yes, found in sys/select.h])
639 # `widechar' tests for gdki18n.h
640 AC_MSG_CHECKING(for wchar.h)
641 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
642 if test $gdk_wchar_h = yes; then
643 AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
645 AC_MSG_RESULT($gdk_wchar_h)
647 # Check for wctype.h (for iswalnum)
648 AC_MSG_CHECKING(for wctype.h)
649 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
650 if test $gdk_wctype_h = yes; then
651 AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
653 AC_MSG_RESULT($gdk_wctype_h)
655 # in Solaris 2.5, `iswalnum' is in -lw
657 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
660 LIBS="$LIBS $GDK_WLIBS"
661 # The following is necessary for Linux libc-5.4.38
662 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
663 AC_TRY_LINK([#include <stdlib.h>],[
664 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
665 # ifdef HAVE_WCTYPE_H
673 # define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
675 iswalnum((wchar_t) 0);
676 ], gdk_working_wctype=yes, gdk_working_wctype=no)
679 if test $gdk_working_wctype = no; then
680 AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
683 AC_MSG_RESULT($gdk_working_wctype)
686 # Check for uxtheme.h (for MS-Windows Engine)
687 AC_MSG_CHECKING(for uxtheme.h)
688 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
689 if test $gtk_uxtheme_h = yes; then
690 AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
692 AC_MSG_RESULT($gtk_uxtheme_h)
695 ##################################################
696 # Checks for gdk-pixbuf
697 ##################################################
699 dnl ********************************************************
700 dnl * See whether we need to load our modules as .la files *
701 dnl ********************************************************
705 *-aix*) use_la_modules=true
708 if $use_la_modules ; then
709 AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
713 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
715 AC_ARG_ENABLE(modules,
716 [AC_HELP_STRING([--disable-modules],
717 [disable dynamic module loading])])
721 if test x$enable_modules = xno; then
725 AC_MSG_CHECKING(whether dynamic modules work)
726 ## for loop is to strip newline
727 tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
732 dnl Now we check to see if our libtool supports shared lib deps
733 dnl (in a rather ugly way even)
735 pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
736 pixbuf_deplibs_check=`$pixbuf_libtool_config | \
737 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
738 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
739 if test "x$pixbuf_deplibs_check" = "xnone" || \
740 test "x$pixbuf_deplibs_check" = "xunknown" || \
741 test "x$pixbuf_deplibs_check" = "x"; then
747 AC_DEFINE(USE_GMODULE)
754 dnl We allow people to disable image loaders explicitely, but if they don't we error
755 dnl out so that people don't accidentally build without them.
758 [AC_HELP_STRING([--without-libpng],
759 [disable PNG loader for gdk-pixbuf])])
761 [AC_HELP_STRING([--without-libjpeg],
762 [disable JPEG loader for gdk-pixbuf])])
764 [AC_HELP_STRING([--without-libtiff],
765 [disable TIFF loader for gdk-pixbuf])])
768 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
769 AC_CHECK_LIB(tiff, TIFFReadScanline,
770 [AC_CHECK_HEADER(tiffio.h,
771 TIFF='tiff'; LIBTIFF='-ltiff',
772 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
773 [AC_CHECK_LIB(tiff, TIFFWriteScanline,
774 [AC_CHECK_HEADER(tiffio.h,
775 TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
776 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
777 [AC_CHECK_LIB(tiff34, TIFFFlushData,
778 [AC_CHECK_HEADER(tiffio.h,
779 TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
780 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
781 AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
784 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
786 *** Checks for TIFF loader failed. You can build without it by passing
787 *** --without-libtiff to configure but some programs using GTK+ may
788 *** not work properly])
792 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
793 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
796 AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
797 if test "$jpeg_ok" = yes; then
798 AC_MSG_CHECKING([for jpeglib.h])
804 #include <jpeglib.h>],
807 AC_MSG_RESULT($jpeg_ok)
808 if test "$jpeg_ok" = yes; then
810 AC_CHECK_LIB(jpeg, jpeg_simple_progression,
811 AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
812 AC_MSG_WARN(JPEG library does not support progressive saving.))
814 AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
819 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
821 *** Checks for JPEG loader failed. You can build without it by passing
822 *** --without-libjpeg to configure but some programs using GTK+ may
823 *** not work properly])
827 if test x$with_libpng != xno && test -z "$LIBPNG"; then
828 AC_MSG_CHECKING(for libpng12)
829 if $PKG_CONFIG --exists libpng12 ; then
832 PNG_DEP_CFLAGS_PACKAGES=libpng12
833 LIBPNG=`$PKG_CONFIG --libs libpng12`
836 AC_CHECK_LIB(png, png_read_info,
837 [AC_CHECK_HEADER(png.h,
840 AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
841 if test "$png_ok" = yes; then
842 AC_MSG_CHECKING([for png_structp in png.h])
843 AC_TRY_COMPILE([#include <png.h>],
844 [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
847 AC_MSG_RESULT($png_ok)
848 if test "$png_ok" = yes; then
849 PNG='png'; LIBPNG='-lpng -lz'
851 AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
854 AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
859 if test x$with_libpng != xno && test -z "$LIBPNG"; then
861 *** Checks for PNG loader failed. You can build without it by passing
862 *** --without-libpng to configure but many programs using GTK+ will
863 *** not work properly. The PNG loader is also needed if you are compiling
871 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
874 # Allow building some or all gdk-pixbuf loaders included
876 AC_MSG_CHECKING(pixbuf loaders to build)
878 dnl due to an autoconf bug, commas in the first arg to
879 dnl AC_HELP_STRING cause problems.
880 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
881 dnl [build the specified loaders into gdk-pixbuf (only used if module loading disabled)])
882 AC_ARG_WITH(included_loaders,
883 [ --with-included-loaders=LOADER1,LOADER2,...
884 build the specified loaders into gdk-pixbuf (only
885 used if module loading disabled)])
890 ## if the option was specified, leave it; otherwise disable included loaders
891 if test x$with_included_loaders = xno; then
892 with_included_loaders=yes
896 all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,tga,pcx"
898 # If no loaders specified, include all
899 if test "x$with_included_loaders" = xyes ; then
900 included_loaders="$all_loaders"
902 included_loaders="$with_included_loaders"
905 AC_MSG_RESULT($included_loaders)
908 INCLUDED_LOADER_DEFINE=
910 IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
911 for loader in $included_loaders; do
912 if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
915 AC_MSG_ERROR([the specified loader $loader does not exist])
918 INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libpixbufloader-static-$loader.la"
919 INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
922 AC_SUBST(INCLUDED_LOADER_OBJ)
923 AC_SUBST(INCLUDED_LOADER_DEFINE)
929 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
930 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
931 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
935 if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
936 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
938 if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
939 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
941 if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
942 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
945 STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
948 # Checks to see if we should compile in MMX support (there will be
949 # a runtime test when the code is actually run to see if it should
950 # be used - this just checks if we can compile it.)
952 # This code is partially taken from Mesa
954 AC_MSG_CHECKING(for x86 platform)
956 i386|i486|i586|i686|i786|k6|k7)
962 AC_MSG_RESULT($use_x86_asm)
965 if test $use_x86_asm = yes; then
969 AC_MSG_CHECKING(compiler support for MMX)
970 cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
971 if AC_TRY_EVAL(ac_compile); then
978 if test $use_mmx_asm = yes; then
986 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
989 if test -z "$LIBPNG"; then
993 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
995 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
997 if test $cross_compiling = yes; then
998 AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
999 if test x$GDK_PIXBUF_CSOURCE = xno; then
1004 if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
1005 test "x$REBUILD_PNGS" = "x#" ; then
1007 *** gtkbuiltincache.h is not in the tree, and cannot be built
1008 *** because you don't have libpng, or (when cross-compiling) you
1009 *** don't have a prebuilt gdk-pixbuf-csource on the host system.])
1012 AC_SUBST(REBUILD_PNGS)
1014 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
1015 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB"
1016 GDK_PIXBUF_EXTRA_CFLAGS=
1017 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1018 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
1020 AC_SUBST(GDK_PIXBUF_PACKAGES)
1021 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
1022 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
1023 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
1024 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
1027 ########################################
1028 # Windowing system checks
1029 ########################################
1031 GDK_PIXBUF_XLIB_PACKAGES=
1032 GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
1033 GDK_PIXBUF_XLIB_EXTRA_LIBS=
1035 X_PACKAGES=fontconfig
1036 GDK_EXTRA_LIBS="$GDK_WLIBS"
1039 # GTK+ uses some X calls, so needs to link against X directly
1040 GTK_DEP_PACKAGES_FOR_X=
1043 if test "x$gdktarget" = "xx11"; then
1045 # We use fontconfig very peripherally when decoding the default
1048 if $PKG_CONFIG --exists fontconfig; then : ; else
1050 *** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
1054 # Check for basic X packages; we use pkg-config if available
1056 if $PKG_CONFIG --exists x11 xext xrender; then
1058 X_PACKAGES="$X_PACKAGES x11 xext xrender"
1059 x_libs="`pkg-config --libs x11 xext xrender`"
1060 X_CFLAGS="`pkg-config --cflags x11 xext xrender`"
1062 # Strip out any .la files that pkg-config might give us (this happens
1063 # with -uninstalled.pc files)
1065 for I in $x_libs ; do
1068 *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1072 GDK_PIXBUF_XLIB_PACKAGES="x11"
1073 GTK_PACKAGES_FOR_X="x11"
1075 have_base_x_pc=false
1077 if test x$no_x = xyes ; then
1078 AC_MSG_ERROR([X development libraries not found])
1081 x_cflags="$X_CFLAGS"
1082 x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
1084 GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1085 GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
1086 GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
1089 # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
1092 gtk_save_cppflags="$CPPFLAGS"
1093 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1096 LIBS="$x_libs_for_checks $LIBS"
1098 # Sanity check for the X11 and Xext libraries. While everything we need from
1099 # Xext is optional, the chances a system has *none* of these things is so
1100 # small that we just unconditionally require it.
1101 AC_CHECK_FUNC(XOpenDisplay, :,
1102 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
1103 AC_CHECK_FUNC(XextFindDisplay, :,
1104 AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
1105 AC_CHECK_FUNC(XRenderQueryExtension, :,
1106 AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
1110 AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1111 AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1113 [AC_MSG_RESULT([no])],
1114 [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1115 #include <X11/Xlibint.h>],
1117 [AC_MSG_RESULT([yes])
1118 AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1119 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1120 [AC_MSG_RESULT([unknown])
1121 AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1123 # Check for XConvertCase, XInternAtoms (X11R6 specific)
1125 AC_CHECK_FUNCS(XConvertCase XInternAtoms)
1127 # Generic X11R6 check needed for XIM support; we could
1128 # probably use this to replace the above, but we'll
1129 # leave the separate checks for XConvertCase and XInternAtoms
1133 AC_CHECK_FUNC(XAddConnectionWatch,
1136 if $have_x11r6; then
1137 AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
1139 AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1141 # Check for XKB support.
1143 if test "x$enable_xkb" = "xyes"; then
1144 AC_MSG_WARN(XKB support explicitly enabled)
1146 elif test "x$enable_xkb" = "xmaybe"; then
1147 AC_CHECK_FUNC(XkbQueryExtension,
1148 AC_DEFINE(HAVE_XKB))
1150 AC_MSG_WARN(XKB support explicitly disabled)
1153 # Check for shaped window extension
1155 AC_CHECK_FUNC(XShapeCombineMask,
1156 AC_DEFINE(HAVE_SHAPE_EXT))
1160 AC_CHECK_FUNC(XSyncQueryExtension,
1161 [AC_CHECK_HEADER(X11/extensions/sync.h,
1162 AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
1163 :, [#include <X11/Xlib.h>])])
1167 if test "x$enable_shm" = "xyes"; then
1168 # Check for the XShm extension, normally in Xext
1169 AC_CHECK_FUNC(XShmAttach,
1171 # On AIX, it is in XextSam instead
1172 [AC_CHECK_LIB(XextSam, XShmAttach,
1173 [GTK_ADD_LIB(x_extra_libs,XextSam)])])
1176 if test "x$enable_shm" = "xyes"; then
1177 # Check for shared memory
1178 AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
1179 AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
1181 # Check for the X shared memory extension header file
1183 AC_MSG_CHECKING(X11/extensions/XShm.h)
1184 if test "x$no_xext_lib" = "xyes"; then
1187 gtk_save_CFLAGS="$CFLAGS"
1188 CFLAGS="$CFLAGS $x_cflags"
1191 #include <sys/types.h>
1192 #include <sys/ipc.h>
1193 #include <sys/shm.h>
1194 #include <X11/Xlib.h>
1195 #include <X11/Xutil.h>
1196 #include <X11/extensions/XShm.h>
1197 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1198 CFLAGS="$gtk_save_CFLAGS"
1200 AC_MSG_RESULT($have_xshm)
1201 if test $have_xshm = yes ; then
1202 AC_DEFINE(HAVE_XSHM_H)
1206 # Check for Xinerama extension (Solaris impl or Xfree impl)
1208 gtk_save_cppflags="$CPPFLAGS"
1209 CPPFLAGS="$CPPFLAGS $x_cflags"
1214 AC_MSG_CHECKING(for Xinerama support on Solaris)
1216 have_solaris_xinerama=false
1217 AC_CHECK_FUNC(XineramaGetInfo,
1218 [AC_CHECK_HEADER(X11/extensions/xinerama.h,
1219 [have_solaris_xinerama=true], :,
1220 [#include <X11/Xlib.h>])])
1222 if $have_solaris_xinerama ; then
1223 AC_DEFINE(HAVE_SOLARIS_XINERAMA)
1224 AC_DEFINE(HAVE_XINERAMA)
1232 AC_MSG_CHECKING(for Xinerama support on XFree86)
1234 have_xfree_xinerama=false
1235 if $PKG_CONFIG --exists xinerama ; then
1236 have_xfree_xinerama=true
1237 X_PACKAGES="$X_PACKAGES xinerama"
1239 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1240 [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
1241 [GTK_ADD_LIB(x_extra_libs,Xinerama)
1242 have_xfree_xinerama=true], :
1243 [#include <X11/Xlib.h>])])
1246 if $have_xfree_xinerama ; then
1247 AC_DEFINE(HAVE_XFREE_XINERAMA)
1248 AC_DEFINE(HAVE_XINERAMA)
1256 # set up things for XInput
1258 if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
1259 AC_DEFINE(XINPUT_XFREE)
1261 if $PKG_CONFIG --exists xi ; then
1262 X_PACKAGES="$X_PACKAGES xi"
1264 GTK_ADD_LIB(x_extra_libs, Xi)
1267 AC_DEFINE(XINPUT_NONE)
1270 AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
1272 # Check for the RANDR extension
1275 if $PKG_CONFIG --exists xrandr ; then
1277 X_PACKAGES="$X_PACKAGES xrandr"
1279 AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
1280 [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
1281 # RANDR requires RENDER
1283 GTK_ADD_LIB(x_extra_libs, Xrender)
1284 GTK_ADD_LIB(x_extra_libs, Xrandr)],
1285 :, [#include <X11/Xlib.h>])])
1288 if $have_randr ; then
1289 AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
1292 # Checks for Xcursor library
1294 if $PKG_CONFIG --exists xcursor ; then
1295 AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1297 X_PACKAGES="$X_PACKAGES xcursor"
1300 # Checks for XFixes extension
1302 if $PKG_CONFIG --exists xfixes ; then
1303 AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1305 X_PACKAGES="$X_PACKAGES xfixes"
1308 if $have_base_x_pc ; then
1309 GDK_EXTRA_LIBS="$x_extra_libs"
1311 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
1314 CPPFLAGS="$gtk_save_cppflags"
1315 LIBS="$gtk_save_libs"
1317 AM_CONDITIONAL(USE_X11, true)
1319 AM_CONDITIONAL(XINPUT_XFREE, false)
1320 AM_CONDITIONAL(USE_X11, false)
1321 AM_CONDITIONAL(HAVE_X11R6, false)
1324 if test "x$gdktarget" = "xwin32"; then
1325 # We start off with the libraries from Pango
1327 if test x$have_wintab = xyes; then
1328 GDK_WIN32_EXTRA_CFLAGS="-I $with_wintab/include"
1329 AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
1332 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -Wl,-luuid"
1333 AM_CONDITIONAL(USE_WIN32, true)
1335 AM_CONDITIONAL(USE_WIN32, false)
1338 if test "x$gdktarget" = "xquartz"; then
1339 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
1340 AM_CONDITIONAL(USE_QUARTZ, true)
1342 AM_CONDITIONAL(USE_QUARTZ, false)
1345 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1346 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"
1348 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1349 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1350 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1351 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1352 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1354 if test "x$gdktarget" = "xlinux-fb"; then
1355 if test x$enable_shadowfb = xyes ; then
1356 AC_DEFINE(ENABLE_SHADOW_FB)
1359 if test x$enable_fbmanager = xyes ; then
1360 AC_DEFINE(ENABLE_FB_MANAGER)
1361 AM_CONDITIONAL(ENABLE_FB_MANAGER, true)
1363 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1366 AM_CONDITIONAL(USE_LINUX_FB, true)
1368 AM_CONDITIONAL(USE_LINUX_FB, false)
1369 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1372 if test "x$gdktarget" = "xdirectfb"; then
1373 DIRECTFB_REQUIRED_VERSION=0.9.21
1374 AC_MSG_CHECKING(for DirectFB)
1376 if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb ; then
1377 AC_MSG_RESULT(found)
1378 GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags directfb` $GDK_EXTRA_CFLAGS"
1379 GDK_EXTRA_LIBS="`$PKG_CONFIG --libs directfb` $GDK_EXTRA_LIBS"
1382 *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer is required. The latest
1383 *** version of DirectFB is always available from http://www.directfb.org/.
1387 AM_CONDITIONAL(USE_DIRECTFB, true)
1389 AM_CONDITIONAL(USE_DIRECTFB, false)
1393 # Check for Pango flags
1395 if test "x$gdktarget" = "xwin32"; then
1396 PANGO_PACKAGES="pangowin32 pangocairo"
1398 PANGO_PACKAGES="pango pangocairo"
1401 AC_MSG_CHECKING(Pango flags)
1402 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1403 PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1404 PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1406 AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1409 *** Pango not found. Pango built with Cairo support is required
1410 *** to build GTK+. See http://www.pango.org for Pango information.
1414 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1416 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1419 gtk_save_LIBS="$LIBS"
1420 LIBS="$PANGO_LIBS $LIBS"
1421 AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1422 *** Can't link to Pango. Pango is required to build
1423 *** GTK+. For more information see http://www.pango.org]))
1424 LIBS="$gtk_save_LIBS"
1427 CFLAGS="$saved_cflags"
1428 LDFLAGS="$saved_ldflags"
1430 GDK_PACKAGES="$PANGO_PACKAGES"
1431 if test "x$gdktarget" = "xx11"; then
1432 GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
1434 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1435 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1438 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1439 # into the pkg-config files
1441 if test $enable_explicit_deps != yes ; then
1442 GDK_PACKAGES="$PANGO_PACKAGES"
1446 AC_SUBST(GDK_PACKAGES)
1447 AC_SUBST(GDK_EXTRA_LIBS)
1448 AC_SUBST(GDK_EXTRA_CFLAGS)
1449 AC_SUBST(GDK_DEP_LIBS)
1450 AC_SUBST(GDK_DEP_CFLAGS)
1453 ########################################
1454 # Check for Accessibility Toolkit flags
1455 ########################################
1458 AC_MSG_CHECKING(ATK flags)
1459 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1460 ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1461 ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1463 AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1466 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1471 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1474 gtk_save_LIBS="$LIBS"
1475 LIBS="$ATK_LIBS $LIBS"
1476 AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1477 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1478 *** to build GTK+]))
1479 LIBS="$gtk_save_LIBS"
1482 GTK_PACKAGES="atk cairo"
1485 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"
1486 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"
1488 if test x"$os_win32" = xyes; then
1489 GTK_EXTRA_CFLAGS="$msnative_struct"
1492 AC_SUBST(GTK_PACKAGES)
1493 AC_SUBST(GTK_EXTRA_LIBS)
1494 AC_SUBST(GTK_EXTRA_CFLAGS)
1495 AC_SUBST(GTK_DEP_LIBS)
1496 AC_SUBST(GTK_DEP_CFLAGS)
1499 AC_SUBST(GTK_DEBUG_FLAGS)
1500 AC_SUBST(GTK_XIM_FLAGS)
1502 ################################################################
1503 # Strip -export-dynamic from the link lines of various libraries
1504 ################################################################
1507 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1508 # but this flag is only meaningful for executables. For libraries
1509 # the effect is undefined; what it causes on Linux is that the
1510 # export list from -export-symbols-regex is ignored and everything
1513 # We are using gmodule-no-export now, but I'm leaving the stripping
1514 # code in place for now, since pango and atk still require gmodule.
1515 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1516 if test -n "$export_dynamic"; then
1517 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1518 GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1519 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1520 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1524 ##################################################
1525 # Checks for gtk-doc and docbook-tools
1526 ##################################################
1528 GTK_DOC_CHECK([1.4])
1530 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1531 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1534 [AC_HELP_STRING([--enable-man],
1535 [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1538 if test "${enable_man}" != no; then
1540 dnl Check for xsltproc
1542 AC_PATH_PROG([XSLTPROC], [xsltproc])
1543 if test -z "$XSLTPROC"; then
1547 dnl check for DocBook DTD and stylesheets in the local catalog.
1548 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1549 [DocBook XML DTD V4.1.2],,enable_man=no)
1550 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1551 [DocBook XSL Stylesheets],,enable_man=no)
1554 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1557 ##################################################
1559 ##################################################
1561 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1562 outfile=gdkconfig.h-tmp
1563 cat > $outfile <<\_______EOF
1566 * This is a generated file. Please modify `configure.in'
1574 #endif /* __cplusplus */
1578 cat >>$outfile <<_______EOF
1583 cat >>$outfile <<_______EOF
1587 #endif /* __cplusplus */
1589 #endif /* GDKCONFIG_H */
1593 if cmp -s $outfile gdk/gdkconfig.h; then
1594 AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1597 mv $outfile gdk/gdkconfig.h
1600 if test "x$gdktarget" = "xx11" ; then
1602 #define GDK_WINDOWING_X11'
1603 elif test "x$gdktarget" = "xwin32" ; then
1605 #define GDK_WINDOWING_WIN32'
1606 elif test "x$gdktarget" = "xlinux-fb" ; then
1608 #define GDK_WINDOWING_FB
1609 #define GDK_NATIVE_WINDOW_POINTER'
1610 elif test "x$gdktarget" = "xquartz" ; then
1612 #define GDK_WINDOWING_QUARTZ'
1613 elif test "x$gdktarget" = "xdirectfb" ; then
1615 #define GDK_WINDOWING_DIRECTFB'
1618 if test x$gdk_wchar_h = xyes; then
1620 #define GDK_HAVE_WCHAR_H 1'
1622 if test x$gdk_wctype_h = xyes; then
1624 #define GDK_HAVE_WCTYPE_H 1"
1626 if test x$gdk_working_wctype = xno; then
1628 #define GDK_HAVE_BROKEN_WCTYPE 1"
1641 gdk-pixbuf-2.0-uninstalled.pc
1642 gdk-2.0-uninstalled.pc
1643 gtk+-2.0-uninstalled.pc
1646 po-properties/Makefile.in
1648 demos/gtk-demo/Makefile
1649 demos/gtk-demo/geninclude.pl
1652 docs/reference/Makefile
1653 docs/reference/gdk-pixbuf/Makefile
1654 docs/reference/gdk-pixbuf/version.xml
1655 docs/reference/gdk/Makefile
1656 docs/reference/gdk/version.xml
1657 docs/reference/gtk/Makefile
1658 docs/reference/gtk/version.xml
1661 docs/tutorial/Makefile
1663 gdk-pixbuf/gdk_pixbuf.rc
1664 gdk-pixbuf/gdk-pixbuf-features.h
1665 gdk-pixbuf/pixops/Makefile
1669 gdk/win32/rc/Makefile
1671 gdk/linux-fb/Makefile
1673 gdk/directfb/Makefile
1678 gtk/theme-bits/Makefile
1679 gtk/xdgmime/Makefile
1681 modules/input/Makefile
1682 modules/engines/Makefile
1683 modules/engines/pixbuf/Makefile
1684 modules/engines/ms-windows/Makefile
1685 modules/engines/ms-windows/Theme/Makefile
1686 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1689 contrib/gdk-pixbuf-xlib/Makefile
1690 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
1695 echo "configuration:
1698 if test "x$gdktarget" = "xlinux-fb"; then
1699 echo "Warning: The linux-fb GDK target is unmaintained"
1700 echo " and may not work or even compile"