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], [15])
15 m4_define([gtk_micro_version], [0])
16 m4_define([gtk_interface_age], [0])
17 m4_define([gtk_binary_age],
18 [m4_eval(100 * gtk_minor_version + gtk_micro_version)])
19 m4_define([gtk_version],
20 [gtk_major_version.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.15.0])
35 m4_define([pango_required_version], [1.17.3])
36 m4_define([atk_required_version], [1.13.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)
96 m4_define([gail_lt_current],[18])
97 m4_define([gail_lt_revision],[1])
98 m4_define([gail_lt_age],[0])
99 m4_define([gail_lt_version_info],[gail_lt_current:gail_lt_revision:gail_lt_age])
100 m4_define([gail_lt_current_minus_age],[m4_eval(gail_lt_current - gail_lt_age)])
101 AC_SUBST([GAIL_LT_VERSION_INFO],[gail_lt_version_info])
102 AC_SUBST([GAIL_LT_CURRENT_MINUS_AGE],[gail_lt_current_minus_age])
105 # gdk-pixbuf gets versioned separately, and for now, using standard
106 # libtool versioning, not GTK+-style versioning
108 GDK_PIXBUF_MAJOR=gtk_major_version
109 GDK_PIXBUF_MINOR=gtk_minor_version
110 GDK_PIXBUF_MICRO=gtk_micro_version
111 GDK_PIXBUF_VERSION="${GDK_PIXBUF_MAJOR}.${GDK_PIXBUF_MINOR}.${GDK_PIXBUF_MICRO}"
112 AC_SUBST(GDK_PIXBUF_MAJOR)
113 AC_SUBST(GDK_PIXBUF_MINOR)
114 AC_SUBST(GDK_PIXBUF_MICRO)
115 AC_SUBST(GDK_PIXBUF_VERSION)
117 GETTEXT_PACKAGE=gtk20
118 AC_SUBST(GETTEXT_PACKAGE)
119 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE")
124 AC_MSG_CHECKING([for native Win32])
134 AC_MSG_RESULT([$os_win32])
141 dnl Initialize libtool
146 dnl Check for a working C++ compiler, but do not bail out, if none is found.
147 dnl We use this for an automated test for C++ header correctness.
149 AC_CHECK_PROGS(CXX, [$CCC c++ g++ gcc CC cxx cc++ cl], gcc)
153 AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=)
154 AM_CONDITIONAL(HAVE_CXX, test "$CXX" != "")
156 gtk_save_cxxflags="$CXXFLAGS"
157 CXXFLAGS="$CXXFLAGS -x objective-c++"
158 AC_TRY_COMPILE([@interface Foo @end],,OBJC=yes,OBJC=no)
159 AM_CONDITIONAL(HAVE_OBJC, test "$OBJC" == "yes")
160 CXXFLAGS="$gtk_save_cxxflags"
163 if test "$os_win32" = "yes"; then
164 if test x$enable_static = xyes -o x$enable_static = x; then
165 AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.])
168 if test x$enable_shared = xno; then
169 AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.])
177 # Make sure we use 64-bit versions of various file stuff.
181 AC_PATH_PROG(NM, nm, nm)
183 dnl Initialize maintainer mode
186 AC_MSG_CHECKING([for some Win32 platform])
188 *-*-mingw*|*-*-cygwin*)
195 AC_MSG_RESULT([$platform_win32])
196 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
198 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
199 AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
200 AM_CONDITIONAL(OS_LINUX, test "$os_linux" = "yes")
202 if test "$os_win32" = "yes"; then
203 AC_CHECK_TOOL(WINDRES, windres, no)
204 if test "$WINDRES" = no; then
205 AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.])
207 AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
209 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
211 m4_define([debug_default],
212 m4_if(m4_eval(gtk_minor_version % 2), [1], [yes], [minimum]))
214 dnl declare --enable-* args and collect ac_help strings
216 AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
217 [turn on debugging @<:@default=debug_default@:>@]),,
218 enable_debug=debug_default)
220 [AC_HELP_STRING([--enable-shm],
221 [support shared memory if available [default=yes]])],,
224 [AC_HELP_STRING([--enable-xkb],
225 [support XKB [default=maybe]])],,
226 [enable_xkb="maybe"])
227 AC_ARG_ENABLE(xinerama,
228 [AC_HELP_STRING([--enable-xinerama],
229 [support xinerama extension if available [default=yes]])],,
230 [enable_xinerama="no"])
231 AC_ARG_ENABLE(rebuilds,
232 [AC_HELP_STRING([--disable-rebuilds],
233 [disable all source autogeneration rules])],,
234 [enable_rebuilds=yes])
235 AC_ARG_ENABLE(visibility,
236 [AC_HELP_STRING([--disable-visibility],
237 [don't use ELF visibility attributes])],,
238 [enable_visibility=yes])
241 [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
243 if test "$platform_win32" = yes; then
249 AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target],
250 gdktarget=$with_gdktarget)
254 x11|win32|quartz|directfb) ;;
255 *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);;
258 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
259 gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
261 AC_SUBST(gdktargetlib)
262 AC_SUBST(gtktargetlib)
264 if test "x$enable_debug" = "xyes"; then
265 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
266 GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES"
268 if test "x$enable_debug" = "xno"; then
269 GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
271 GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
276 if test "x$enable_visibility" = "xno"; then
277 GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
281 AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
284 # Build time sanity check...
287 # Checks for programs.
294 if test "x$GCC" = "xyes"; then
296 *[\ \ ]-Wall[\ \ ]*) ;;
297 *) CFLAGS="$CFLAGS -Wall" ;;
300 if test "x$enable_ansi" = "xyes"; then
302 *[\ \ ]-ansi[\ \ ]*) ;;
303 *) CFLAGS="$CFLAGS -ansi" ;;
307 *[\ \ ]-pedantic[\ \ ]*) ;;
308 *) CFLAGS="$CFLAGS -pedantic" ;;
314 # Ensure MSVC-compatible struct packing convention is used when
315 # compiling for Win32 with gcc.
316 # What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
317 # gcc2 uses "-fnative-struct".
318 if test x"$os_win32" = xyes; then
319 if test x"$GCC" = xyes; then
321 AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
322 if test -z "$ac_cv_prog_CC"; then
325 our_gcc="$ac_cv_prog_CC"
327 case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
329 if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
330 msnative_struct='-fnative-struct'
334 if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
335 msnative_struct='-mms-bitfields'
339 if test x"$msnative_struct" = x ; then
340 AC_MSG_RESULT([no way])
341 AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
343 CFLAGS="$CFLAGS $msnative_struct"
344 AC_MSG_RESULT([${msnative_struct}])
349 # Honor aclocal flags
350 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
352 ## Initial sanity check, done here so that users get told they
353 ## have the wrong dependencies as early in the process as possible.
354 ## Later on we actually use the cflags/libs from separate pkg-config
355 ## calls. Oh, also the later pkg-config calls don't include
356 ## the version requirements since those make the module lists
357 ## annoying to construct
358 PKG_CHECK_MODULES(BASE_DEPENDENCIES,
359 [glib-2.0 >= glib_required_version dnl
360 atk >= atk_required_version dnl
361 pango >= pango_required_version dnl
362 cairo >= cairo_required_version])
364 if test "$os_win32" != yes; then
365 # libtool option to control which symbols are exported
366 # right now, symbols starting with _ are not exported
367 LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
369 # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
370 LIBTOOL_EXPORT_OPTIONS=
372 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
374 dnl ******************************************************
375 dnl * See whether to include shared library dependencies *
376 dnl ******************************************************
378 AC_ARG_ENABLE(explicit-deps,
379 [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
380 [use explicit dependencies in .pc files [default=auto]])],,
381 [enable_explicit_deps=auto])
383 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
384 case $enable_explicit_deps in
387 deplibs_check_method=`(./libtool --config; echo 'eval echo $deplibs_check_method') | sh`
388 if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
389 enable_explicit_deps=yes
391 enable_explicit_deps=no
396 *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
399 AC_MSG_RESULT($enable_explicit_deps)
401 AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
403 # define a MAINT-like variable REBUILD which is set if Perl
404 # and awk are found, so autogenerated sources can be rebuilt
406 AC_PATH_PROGS(PERL, perl5 perl)
408 # We would like indent, but don't require it.
409 AC_CHECK_PROG(INDENT, indent, indent)
412 if test "x$enable_rebuilds" = "xyes" && \
414 $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
419 AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked)
420 AC_CHECK_FUNCS(localtime_r)
422 # _NL_TIME_FIRST_WEEKDAY is an enum and not a define
423 AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
424 AC_TRY_LINK([#include <langinfo.h>], [
426 c = *((unsigned char *) nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
427 ], gtk_ok=yes, gtk_ok=no)
428 AC_MSG_RESULT($gtk_ok)
429 if test "$gtk_ok" = "yes"; then
430 AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
431 [Define if _NL_TIME_FIRST_WEEKDAY is available])
434 # _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
435 AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
436 AC_TRY_LINK([#include <langinfo.h>], [
438 c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
439 ], gtk_ok=yes, gtk_ok=no)
440 AC_MSG_RESULT($gtk_ok)
441 if test "$gtk_ok" = "yes"; then
442 AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1],
443 [Define if _NL_MEASUREMENT_MEASUREMENT is available])
446 # _NL_PAPER_HEIGHT is an enum and not a define
447 AC_MSG_CHECKING([for _NL_PAPER_HEIGHT])
448 AC_TRY_LINK([#include <langinfo.h>], [
450 c = *((unsigned char *) nl_langinfo(_NL_PAPER_HEIGHT));
451 ], gtk_ok=yes, gtk_ok=no)
452 AC_MSG_RESULT($gtk_ok)
453 if test "$gtk_ok" = "yes"; then
454 AC_DEFINE([HAVE__NL_PAPER_HEIGHT], [1],
455 [Define if _NL_PAPER_HEIGHT is available])
458 # _NL_PAPER_WIDTH is an enum and not a define
459 AC_MSG_CHECKING([for _NL_PAPER_WIDTH])
460 AC_TRY_LINK([#include <langinfo.h>], [
462 c = *((unsigned char *) nl_langinfo(_NL_PAPER_WIDTH));
463 ], gtk_ok=yes, gtk_ok=no)
464 AC_MSG_RESULT($gtk_ok)
465 if test "$gtk_ok" = "yes"; then
466 AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1],
467 [Define if _NL_PAPER_WIDTH is available])
470 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
471 AC_MSG_CHECKING(for sigsetjmp)
472 AC_TRY_LINK([#include <setjmp.h>], [
475 ], gtk_ok=yes, gtk_ok=no)
476 AC_MSG_RESULT($gtk_ok)
477 if test "$gtk_ok" = "yes"; then
478 AC_DEFINE(HAVE_SIGSETJMP)
482 # TRANSLATORS: Please note that gtk+ has both po/ and po-properties/
483 # directories. If you add a new language to ALL_LINGUAS, please make
484 # sure that both po/ and po-properties/ have .po files that correspond
485 # to your language. If you only add one to po/, the build will break
487 ALL_LINGUAS="af am ang ar as 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 io is it ja ka ko ku li lt lv mi mk ml mn mr ms nb ne nl nn nso oc 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@cyrillic vi wa xh yi zh_CN zh_HK zh_TW"
489 LIBS="$LIBS $INTLLIBS"
490 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
491 sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
494 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
496 dnl The DU4 header files don't provide library prototypes unless
497 dnl -std1 is given to the native cc.
498 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
502 AC_TRY_RUN([#include <math.h>
503 int main (void) { return (log(1) != log(1.)); }],
504 AC_MSG_RESULT(none needed),
505 gtk_save_CFLAGS="$CFLAGS"
506 CFLAGS="$CFLAGS -std1"
507 AC_TRY_RUN([#include <math.h>
508 int main (void) { return (log(1) != log(1.)); }],
509 AC_MSG_RESULT(-std1),
511 CFLAGS="$gtk_save_CFLAGS"
513 [No ANSI prototypes found in library. (-std1 didn't work.)]),
516 AC_MSG_RESULT(none needed)
520 AC_MSG_CHECKING(for the BeOS)
534 AC_MSG_CHECKING(for HP-UX)
536 hpux9* | hpux10* | hpux11*)
538 CFLAGS="$CFLAGS -DHPPEX -DSHMLINK"
545 dnl NeXTStep cc seems to need this
546 AC_MSG_CHECKING([for extra flags for POSIX compliance])
547 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
548 AC_MSG_RESULT(none needed),
549 gtk_save_CFLAGS="$CFLAGS"
550 CFLAGS="$CFLAGS -posix"
551 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
552 AC_MSG_RESULT(-posix),
554 CFLAGS="$gtk_save_CFLAGS"
555 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
558 # Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
561 GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
563 AM_PATH_GLIB_2_0(glib_required_version, :,
565 *** GLIB glib_required_version or better is required. The latest version of
566 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
567 gobject gmodule-no-export gthread)
569 # See if it's safe to turn G_DISABLE_DEPRECATED on.
570 GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
571 GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
572 if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
573 CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
578 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
581 LIBS="$LIBS $GLIB_LIBS"
582 AC_CHECK_FUNCS(bind_textdomain_codeset)
585 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
586 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
587 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
588 AC_CHECK_HEADERS(ftw.h, AC_DEFINE(HAVE_FTW_H))
590 AC_MSG_CHECKING([for GNU ftw extensions])
591 AC_TRY_COMPILE([#define _XOPEN_SOURCE 500
593 #include <ftw.h>], [int flags = FTW_ACTIONRETVAL;], gtk_ok=yes, gtk_ok=no)
594 if test $gtk_ok = yes; then
596 AC_DEFINE(HAVE_GNU_FTW,1,[Have GNU ftw])
601 saved_cflags="$CFLAGS"
602 saved_ldflags="$LDFLAGS"
605 # Checks for header files.
608 # Checks for typedefs, structures, and compiler characteristics.
611 # Checks for library functions.
615 AC_CHECK_FUNCS(mallinfo)
616 AC_CHECK_FUNCS(getresuid)
619 # Check if <sys/select.h> needs to be included for fd_set
620 AC_MSG_CHECKING([for fd_set])
621 AC_TRY_COMPILE([#include <sys/types.h>],
622 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
623 if test $gtk_ok = yes; then
624 AC_MSG_RESULT([yes, found in sys/types.h])
626 AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
627 if test $gtk_ok = yes; then
628 AC_DEFINE(HAVE_SYS_SELECT_H)
629 AC_MSG_RESULT([yes, found in sys/select.h])
636 # `widechar' tests for gdki18n.h
637 AC_MSG_CHECKING(for wchar.h)
638 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
639 if test $gdk_wchar_h = yes; then
640 AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
642 AC_MSG_RESULT($gdk_wchar_h)
644 # Check for wctype.h (for iswalnum)
645 AC_MSG_CHECKING(for wctype.h)
646 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
647 if test $gdk_wctype_h = yes; then
648 AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
650 AC_MSG_RESULT($gdk_wctype_h)
652 # in Solaris 2.5, `iswalnum' is in -lw
654 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
657 LIBS="$LIBS $GDK_WLIBS"
658 # The following is necessary for Linux libc-5.4.38
659 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
660 AC_TRY_LINK([#include <stdlib.h>],[
661 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
662 # ifdef HAVE_WCTYPE_H
670 # define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
672 iswalnum((wchar_t) 0);
673 ], gdk_working_wctype=yes, gdk_working_wctype=no)
676 if test $gdk_working_wctype = no; then
677 AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
680 AC_MSG_RESULT($gdk_working_wctype)
683 # Check for uxtheme.h (for MS-Windows Engine)
684 AC_MSG_CHECKING(for uxtheme.h)
685 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
686 if test $gtk_uxtheme_h = yes; then
687 AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
689 AC_MSG_RESULT($gtk_uxtheme_h)
691 # Checks for gdkspawn
692 AC_CHECK_HEADERS(crt_externs.h)
693 AC_CHECK_FUNCS(_NSGetEnviron)
696 ##################################################
697 # Checks for gdk-pixbuf
698 ##################################################
700 dnl ********************************************************
701 dnl * See whether we need to load our modules as .la files *
702 dnl ********************************************************
706 *-aix*) use_la_modules=true
709 if $use_la_modules ; then
710 AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
714 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
716 AC_ARG_ENABLE(modules,
717 [AC_HELP_STRING([--disable-modules],
718 [disable dynamic module loading])])
722 if test x$enable_modules = xno; then
726 AC_MSG_CHECKING(whether dynamic modules work)
727 ## for loop is to strip newline
728 tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
733 dnl Now we check to see if our libtool supports shared lib deps
734 dnl (in a rather ugly way even)
736 pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
737 pixbuf_deplibs_check=`$pixbuf_libtool_config | \
738 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
739 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
740 if test "x$pixbuf_deplibs_check" = "xnone" || \
741 test "x$pixbuf_deplibs_check" = "xunknown" || \
742 test "x$pixbuf_deplibs_check" = "x"; then
748 AC_DEFINE(USE_GMODULE)
755 dnl We allow people to disable image loaders explicitely, but if they don't we error
756 dnl out so that people don't accidentally build without them.
759 [AC_HELP_STRING([--without-libpng],
760 [disable PNG loader for gdk-pixbuf])])
762 [AC_HELP_STRING([--without-libjpeg],
763 [disable JPEG loader for gdk-pixbuf])])
765 [AC_HELP_STRING([--without-libtiff],
766 [disable TIFF loader for gdk-pixbuf])])
767 AC_ARG_WITH(libjasper,
768 [AC_HELP_STRING([--without-libjasper],
769 [disable JPEG2000 loader for gdk-pixbuf])])
772 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
773 AC_CHECK_LIB(tiff, TIFFReadRGBAImageOriented,
774 [AC_CHECK_HEADER(tiffio.h,
775 TIFF='tiff'; LIBTIFF='-ltiff',
776 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
777 [AC_CHECK_LIB(tiff, TIFFWriteScanline,
778 [AC_CHECK_HEADER(tiffio.h,
779 TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
780 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
781 [AC_CHECK_LIB(tiff34, TIFFFlushData,
782 [AC_CHECK_HEADER(tiffio.h,
783 TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
784 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
785 AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
788 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
790 *** Checks for TIFF loader failed. You can build without it by passing
791 *** --without-libtiff to configure but some programs using GTK+ may
792 *** not work properly])
796 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
797 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
800 AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
801 if test "$jpeg_ok" = yes; then
802 AC_MSG_CHECKING([for jpeglib.h])
808 #include <jpeglib.h>],
811 AC_MSG_RESULT($jpeg_ok)
812 if test "$jpeg_ok" = yes; then
814 AC_CHECK_LIB(jpeg, jpeg_simple_progression,
815 AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
816 AC_MSG_WARN(JPEG library does not support progressive saving.))
818 AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
823 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
825 *** Checks for JPEG loader failed. You can build without it by passing
826 *** --without-libjpeg to configure but some programs using GTK+ may
827 *** not work properly])
831 if test x$with_libpng != xno && test -z "$LIBPNG"; then
832 AC_MSG_CHECKING(for libpng12)
833 if $PKG_CONFIG --exists libpng12 ; then
836 PNG_DEP_CFLAGS_PACKAGES=libpng12
837 LIBPNG=`$PKG_CONFIG --libs libpng12`
840 AC_CHECK_LIB(png, png_read_info,
841 [AC_CHECK_HEADER(png.h,
844 AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
845 if test "$png_ok" = yes; then
846 AC_MSG_CHECKING([for png_structp in png.h])
847 AC_TRY_COMPILE([#include <png.h>],
848 [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
851 AC_MSG_RESULT($png_ok)
852 if test "$png_ok" = yes; then
853 PNG='png'; LIBPNG='-lpng -lz'
855 AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
858 AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
863 if test x$with_libpng != xno && test -z "$LIBPNG"; then
865 *** Checks for PNG loader failed. You can build without it by passing
866 *** --without-libpng to configure but many programs using GTK+ will
867 *** not work properly. The PNG loader is also needed if you are compiling
871 dnl Test for libjasper
872 if test x$with_libjasper != xno && test -z "$LIBJASPER"; then
873 AC_CHECK_LIB(jasper, jas_init, LIBJASPER=-ljasper, [])
876 if test x$with_libjasper != xno && test -z "$LIBJASPER"; then
878 *** Checks for JPEG2000 loader failed. You can build without it by passing
879 *** --without-libjasper to configure])
887 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
890 # Allow building some or all gdk-pixbuf loaders included
892 AC_MSG_CHECKING(pixbuf loaders to build)
894 dnl due to an autoconf bug, commas in the first arg to
895 dnl AC_HELP_STRING cause problems.
896 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
897 dnl [build the specified loaders into gdk-pixbuf])
898 AC_ARG_WITH(included_loaders,
899 [ --with-included-loaders=LOADER1,LOADER2,...
900 build the specified loaders into gdk-pixbuf])
905 ## if the option was specified, leave it; otherwise disable included loaders
906 if test x$with_included_loaders = xno; then
907 with_included_loaders=yes
911 all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,xbm,tga,pcx,icns"
912 if test x$with_libjasper != xno; then
913 all_loaders="$all_loaders,jasper"
916 # If no loaders specified, include all
917 if test "x$with_included_loaders" = xyes ; then
918 included_loaders="$all_loaders"
920 included_loaders="$with_included_loaders"
923 AC_MSG_RESULT($included_loaders)
926 INCLUDED_LOADER_DEFINE=
928 IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
929 for loader in $included_loaders; do
930 if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
933 AC_MSG_ERROR([the specified loader $loader does not exist])
936 INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libstatic-pixbufloader-$loader.la"
937 INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
938 eval INCLUDE_$loader=yes
941 AC_SUBST(INCLUDED_LOADER_OBJ)
942 AC_SUBST(INCLUDED_LOADER_DEFINE)
944 AM_CONDITIONAL(INCLUDE_PNG, [test x"$INCLUDE_png" = xyes])
945 AM_CONDITIONAL(INCLUDE_BMP, [test x"$INCLUDE_bmp" = xyes])
946 AM_CONDITIONAL(INCLUDE_WBMP, [test x"$INCLUDE_wbmp" = xyes])
947 AM_CONDITIONAL(INCLUDE_GIF, [test x"$INCLUDE_gif" = xyes])
948 AM_CONDITIONAL(INCLUDE_ICO, [test x"$INCLUDE_ico" = xyes])
949 AM_CONDITIONAL(INCLUDE_ANI, [test x"$INCLUDE_ani" = xyes])
950 AM_CONDITIONAL(INCLUDE_JPEG, [test x"$INCLUDE_jpeg" = xyes])
951 AM_CONDITIONAL(INCLUDE_PNM, [test x"$INCLUDE_pnm" = xyes])
952 AM_CONDITIONAL(INCLUDE_RAS, [test x"$INCLUDE_ras" = xyes])
953 AM_CONDITIONAL(INCLUDE_TIFF, [test x"$INCLUDE_tiff" = xyes])
954 AM_CONDITIONAL(INCLUDE_XPM, [test x"$INCLUDE_xpm" = xyes])
955 AM_CONDITIONAL(INCLUDE_XBM, [test x"$INCLUDE_xbm" = xyes])
956 AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
957 AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
958 AM_CONDITIONAL(INCLUDE_ICNS, [test x"$INCLUDE_icns" = xyes])
959 AM_CONDITIONAL(INCLUDE_JASPER, [test x"$INCLUDE_jasper" = xyes])
965 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
966 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
967 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
968 AM_CONDITIONAL(HAVE_JASPER, test "x$LIBJASPER" != x)
972 if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
973 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
975 if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
976 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
978 if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
979 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
982 STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
985 # Checks to see whether we should include mediaLib
988 AC_CHECK_HEADER(sys/systeminfo.h, AC_DEFINE(HAVE_SYS_SYSTEMINFO_H))
989 AC_CHECK_HEADER(sys/sysinfo.h, AC_DEFINE(HAVE_SYS_SYSINFO_H))
991 AC_MSG_CHECKING(for mediaLib 2.3)
993 # Check for a mediaLib 2.3 function since that is what the GTK+ mediaLib
995 AC_CHECK_LIB(mlib, mlib_ImageSetStruct, use_mlib=yes, use_mlib=no)
996 if test $use_mlib = yes; then
997 AC_DEFINE(USE_MEDIALIB)
1000 AC_MSG_CHECKING(for mediaLib 2.5)
1001 # Check for a mediaLib 2.5 function since that is what is needed for
1002 # gdk_rgb_convert integration.
1003 AC_CHECK_LIB(mlib, mlib_VideoColorRGBint_to_BGRAint, use_mlib25=yes, use_mlib25=no)
1004 if test $use_mlib25 = yes; then
1005 AC_DEFINE(USE_MEDIALIB25)
1008 AM_CONDITIONAL(USE_MEDIALIB, test $use_mlib = yes)
1009 AM_CONDITIONAL(USE_MEDIALIB25, test $use_mlib25 = yes)
1011 # Checks to see if we should compile in MMX support (there will be
1012 # a runtime test when the code is actually run to see if it should
1013 # be used - this just checks if we can compile it.)
1015 # This code is partially taken from Mesa
1017 AC_MSG_CHECKING(for x86 platform)
1019 i386|i486|i586|i686|i786|k6|k7)
1025 AC_MSG_RESULT($use_x86_asm)
1028 if test $use_x86_asm = yes; then
1032 AC_MSG_CHECKING(compiler support for MMX)
1033 cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
1034 if AC_TRY_EVAL(ac_compile); then
1041 if test $use_mmx_asm = yes; then
1049 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
1052 if test -z "$LIBPNG"; then
1056 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
1058 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
1060 if test $cross_compiling = yes; then
1061 AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
1062 AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
1063 if test x$GTK_UPDATE_ICON_CACHE = xno; then
1068 if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
1069 test "x$REBUILD_PNGS" = "x#" ; then
1071 *** gtkbuiltincache.h is not in the tree, and cannot be built
1072 *** because you don't have libpng, or (when cross-compiling) you
1073 *** don't have a prebuilt gtk-update-icon-cache on the build system.])
1076 AC_SUBST(REBUILD_PNGS)
1078 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
1079 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB $MEDIA_LIB"
1080 GDK_PIXBUF_EXTRA_CFLAGS=
1081 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1082 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
1084 ########################################
1085 # Windowing system checks
1086 ########################################
1088 GDK_PIXBUF_XLIB_PACKAGES=
1089 GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
1090 GDK_PIXBUF_XLIB_EXTRA_LIBS=
1092 X_PACKAGES=fontconfig
1093 GDK_EXTRA_LIBS="$GDK_WLIBS"
1096 # GTK+ uses some X calls, so needs to link against X directly
1097 GTK_DEP_PACKAGES_FOR_X=
1100 if test "x$gdktarget" = "xx11"; then
1102 # We use fontconfig very peripherally when decoding the default
1105 if $PKG_CONFIG --exists fontconfig; then : ; else
1107 *** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
1111 # Check for basic X packages; we use pkg-config if available
1113 if $PKG_CONFIG --exists x11 xext xrender; then
1115 X_PACKAGES="$X_PACKAGES x11 xext xrender"
1116 x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
1117 X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
1119 # Strip out any .la files that pkg-config might give us (this happens
1120 # with -uninstalled.pc files)
1122 for I in $x_libs ; do
1125 *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1129 GDK_PIXBUF_XLIB_PACKAGES="x11"
1130 GTK_PACKAGES_FOR_X="x11"
1132 have_base_x_pc=false
1134 if test x$no_x = xyes ; then
1135 AC_MSG_ERROR([X development libraries not found])
1138 x_cflags="$X_CFLAGS"
1139 x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
1141 GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1142 GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
1143 GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
1146 # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
1149 gtk_save_cppflags="$CPPFLAGS"
1150 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1153 LIBS="$x_libs_for_checks $LIBS"
1155 # Sanity check for the X11 and Xext libraries. While everything we need from
1156 # Xext is optional, the chances a system has *none* of these things is so
1157 # small that we just unconditionally require it.
1158 AC_CHECK_FUNC(XOpenDisplay, :,
1159 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
1160 AC_CHECK_FUNC(XextFindDisplay, :,
1161 AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
1162 AC_CHECK_FUNC(XRenderQueryExtension, :,
1163 AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
1167 AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1168 AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1170 [AC_MSG_RESULT([no])],
1171 [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1172 #include <X11/Xlibint.h>],
1174 [AC_MSG_RESULT([yes])
1175 AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1176 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1177 [AC_MSG_RESULT([unknown])
1178 AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1180 # Check for XConvertCase, XInternAtoms (X11R6 specific)
1182 AC_CHECK_FUNCS(XConvertCase XInternAtoms)
1184 # Generic X11R6 check needed for XIM support; we could
1185 # probably use this to replace the above, but we'll
1186 # leave the separate checks for XConvertCase and XInternAtoms
1190 AC_CHECK_FUNC(XAddConnectionWatch,
1193 if $have_x11r6; then
1194 AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
1196 AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1198 # Check for XKB support.
1200 if test "x$enable_xkb" = "xyes"; then
1201 AC_MSG_WARN(XKB support explicitly enabled)
1203 elif test "x$enable_xkb" = "xmaybe"; then
1204 AC_CHECK_FUNC(XkbQueryExtension,
1205 AC_DEFINE(HAVE_XKB))
1207 AC_MSG_WARN(XKB support explicitly disabled)
1210 # Check for shaped window extension
1212 AC_CHECK_FUNC(XShapeCombineMask,
1213 AC_DEFINE(HAVE_SHAPE_EXT))
1216 gtk_save_CFLAGS="$CFLAGS"
1217 CFLAGS="$CFLAGS $x_cflags"
1219 AC_CHECK_FUNC(XSyncQueryExtension,
1220 [AC_CHECK_HEADER(X11/extensions/sync.h,
1221 AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
1222 :, [#include <X11/Xlib.h>])])
1224 CFLAGS="$gtk_save_CFLAGS"
1228 if test "x$enable_shm" = "xyes"; then
1229 # Check for the XShm extension, normally in Xext
1230 AC_CHECK_FUNC(XShmAttach,
1232 # On AIX, it is in XextSam instead
1233 [AC_CHECK_LIB(XextSam, XShmAttach,
1234 [GTK_ADD_LIB(x_extra_libs,XextSam)])])
1237 if test "x$enable_shm" = "xyes"; then
1238 # Check for shared memory
1239 AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
1240 AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
1242 # Check for the X shared memory extension header file
1244 AC_MSG_CHECKING(X11/extensions/XShm.h)
1245 if test "x$no_xext_lib" = "xyes"; then
1248 gtk_save_CFLAGS="$CFLAGS"
1249 CFLAGS="$CFLAGS $x_cflags"
1252 #include <sys/types.h>
1253 #include <sys/ipc.h>
1254 #include <sys/shm.h>
1255 #include <X11/Xlib.h>
1256 #include <X11/Xutil.h>
1257 #include <X11/extensions/XShm.h>
1258 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1259 CFLAGS="$gtk_save_CFLAGS"
1261 AC_MSG_RESULT($have_xshm)
1262 if test $have_xshm = yes ; then
1263 AC_DEFINE(HAVE_XSHM_H)
1267 if test "x$enable_xinerama" = "xyes"; then
1268 # Check for Xinerama extension (Solaris impl or Xfree impl)
1269 gtk_save_cppflags="$CPPFLAGS"
1270 CPPFLAGS="$CPPFLAGS $x_cflags"
1275 AC_MSG_CHECKING(for Xinerama support on Solaris)
1277 have_solaris_xinerama=false
1278 AC_CHECK_FUNC(XineramaGetInfo,
1279 [AC_CHECK_HEADER(X11/extensions/xinerama.h,
1280 [have_solaris_xinerama=true], :,
1281 [#include <X11/Xlib.h>])])
1283 if $have_solaris_xinerama ; then
1284 AC_DEFINE(HAVE_SOLARIS_XINERAMA)
1285 AC_DEFINE(HAVE_XINERAMA)
1293 AC_MSG_CHECKING(for Xinerama support on XFree86)
1295 have_xfree_xinerama=false
1296 if $PKG_CONFIG --exists xinerama ; then
1297 have_xfree_xinerama=true
1298 X_PACKAGES="$X_PACKAGES xinerama"
1300 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1301 [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
1302 [GTK_ADD_LIB(x_extra_libs,Xinerama)
1303 have_xfree_xinerama=true], :,
1304 [#include <X11/Xlib.h>])])
1307 if $have_xfree_xinerama ; then
1308 AC_DEFINE(HAVE_XFREE_XINERAMA)
1309 AC_DEFINE(HAVE_XINERAMA)
1318 # set up things for XInput
1320 if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
1321 AC_DEFINE(XINPUT_XFREE)
1323 if $PKG_CONFIG --exists xi ; then
1324 X_PACKAGES="$X_PACKAGES xi"
1326 GTK_ADD_LIB(x_extra_libs, Xi)
1329 AC_DEFINE(XINPUT_NONE)
1332 AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
1334 # Check for the RANDR extension
1335 if $PKG_CONFIG --exists "xrandr >= 1.2" ; then
1336 AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
1338 X_PACKAGES="$X_PACKAGES xrandr"
1341 if $have_randr ; then
1342 AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
1345 # Checks for Xcursor library
1347 if $PKG_CONFIG --exists xcursor ; then
1348 AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1350 X_PACKAGES="$X_PACKAGES xcursor"
1353 # Checks for XFixes extension
1355 if $PKG_CONFIG --exists xfixes ; then
1356 AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1358 X_PACKAGES="$X_PACKAGES xfixes"
1359 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
1362 # Checks for Xcomposite extension
1364 if $PKG_CONFIG --exists xcomposite ; then
1365 AC_DEFINE(HAVE_XCOMPOSITE, 1, Have the XCOMPOSITE X extension)
1367 X_PACKAGES="$X_PACKAGES xcomposite"
1368 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite"
1371 # Checks for Xdamage extension
1373 if $PKG_CONFIG --exists xdamage ; then
1374 AC_DEFINE(HAVE_XDAMAGE, 1, Have the XDAMAGE X extension)
1376 X_PACKAGES="$X_PACKAGES xdamage"
1377 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage"
1380 if $have_base_x_pc ; then
1381 GDK_EXTRA_LIBS="$x_extra_libs"
1383 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
1386 CPPFLAGS="$gtk_save_cppflags"
1387 LIBS="$gtk_save_libs"
1389 AM_CONDITIONAL(USE_X11, true)
1391 AM_CONDITIONAL(XINPUT_XFREE, false)
1392 AM_CONDITIONAL(USE_X11, false)
1393 AM_CONDITIONAL(HAVE_X11R6, false)
1396 if test "x$gdktarget" = "xwin32"; then
1397 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid"
1398 AM_CONDITIONAL(USE_WIN32, true)
1400 AM_CONDITIONAL(USE_WIN32, false)
1403 if test "x$gdktarget" = "xquartz"; then
1404 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
1405 AM_CONDITIONAL(USE_QUARTZ, true)
1407 AM_CONDITIONAL(USE_QUARTZ, false)
1410 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1411 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"
1413 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1414 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1415 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1416 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1417 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1419 if test "x$gdktarget" = "xdirectfb"; then
1420 DIRECTFB_REQUIRED_VERSION=0.9.24
1421 AC_MSG_CHECKING(for DirectFB)
1423 if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
1424 AC_MSG_RESULT(found)
1425 GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
1426 GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
1429 *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend
1430 *** are required. The latest version of DirectFB is always available
1431 *** from http://www.directfb.org/.
1435 AM_CONDITIONAL(USE_DIRECTFB, true)
1437 AM_CONDITIONAL(USE_DIRECTFB, false)
1441 # Check for Pango flags
1443 if test "x$gdktarget" = "xwin32"; then
1444 PANGO_PACKAGES="pangowin32 pangocairo"
1446 PANGO_PACKAGES="pango pangocairo"
1449 AC_MSG_CHECKING(Pango flags)
1450 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1451 PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1452 PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1454 AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1457 *** Pango not found. Pango built with Cairo support is required
1458 *** to build GTK+. See http://www.pango.org for Pango information.
1462 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1464 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1467 gtk_save_LIBS="$LIBS"
1468 LIBS="$PANGO_LIBS $LIBS"
1469 AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1470 *** Can't link to Pango. Pango is required to build
1471 *** GTK+. For more information see http://www.pango.org]))
1472 LIBS="$gtk_save_LIBS"
1475 CFLAGS="$saved_cflags"
1476 LDFLAGS="$saved_ldflags"
1478 GDK_PACKAGES="$PANGO_PACKAGES gio-2.0"
1479 if test "x$gdktarget" = "xx11"; then
1480 GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
1482 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1483 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1486 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1487 # into the pkg-config files
1489 if test $enable_explicit_deps != yes ; then
1490 GDK_PACKAGES="$PANGO_PACKAGES"
1494 AC_SUBST(GDK_PACKAGES)
1495 AC_SUBST(GDK_EXTRA_LIBS)
1496 AC_SUBST(GDK_EXTRA_CFLAGS)
1497 AC_SUBST(GDK_DEP_LIBS)
1498 AC_SUBST(GDK_DEP_CFLAGS)
1501 ########################################
1502 # Check for Accessibility Toolkit flags
1503 ########################################
1506 AC_MSG_CHECKING(ATK flags)
1507 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1508 ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1509 ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1511 AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1514 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1519 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1522 gtk_save_LIBS="$LIBS"
1523 LIBS="$ATK_LIBS $LIBS"
1524 AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1525 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1526 *** to build GTK+]))
1527 LIBS="$gtk_save_LIBS"
1530 GTK_PACKAGES="atk cairo"
1533 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"
1534 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"
1536 if test x"$os_win32" = xyes; then
1537 GTK_EXTRA_CFLAGS="$msnative_struct"
1540 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
1541 ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
1542 PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
1543 CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
1545 if test $enable_explicit_deps != yes ; then
1546 GDK_PIXBUF_EXTRA_LIBS=
1549 AC_SUBST(GDK_PIXBUF_PACKAGES)
1550 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
1551 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
1552 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
1553 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
1555 AC_SUBST(GTK_PACKAGES)
1556 AC_SUBST(GTK_EXTRA_LIBS)
1557 AC_SUBST(GTK_EXTRA_CFLAGS)
1558 AC_SUBST(GTK_DEP_LIBS)
1559 AC_SUBST(GTK_DEP_CFLAGS)
1561 AC_SUBST(GLIB_PREFIX)
1562 AC_SUBST(ATK_PREFIX)
1563 AC_SUBST(PANGO_PREFIX)
1564 AC_SUBST(CAIRO_PREFIX)
1566 AC_SUBST(GTK_DEBUG_FLAGS)
1567 AC_SUBST(GTK_XIM_FLAGS)
1569 ########################
1570 # Checks needed for gail
1571 ########################
1574 dnl Checks for inet libraries:
1575 AC_SEARCH_LIBS(gethostent, nsl)
1576 AC_SEARCH_LIBS(setsockopt, socket)
1577 AC_SEARCH_LIBS(connect, inet)
1579 dnl check for the sockaddr_un.sun_len member
1580 AC_CHECK_MEMBER([struct sockaddr_un.sun_len],
1581 [struct_sockaddr_un_sun_len=true],
1582 [struct_sockaddr_un_suin_len=false],
1583 [#include <sys/types.h>
1584 #include <sys/un.h>]
1586 case $struct_sockaddr_un_sun_len in
1588 AC_DEFINE_UNQUOTED(HAVE_SOCKADDR_UN_SUN_LEN, 1, Have the sockaddr_un.sun_len member.)
1594 GAIL_INET_LIBS="$LIBS"
1595 AC_SUBST([GAIL_INET_LIBS])
1599 ################################################################
1600 # Printing system checks
1601 ################################################################
1603 AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
1604 if test "x$CUPS_CONFIG" != "xno"; then
1605 CUPS_CFLAGS=`$CUPS_CONFIG --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
1606 CUPS_LIBS=`$CUPS_CONFIG --libs`
1608 CUPS_API_VERSION=`$CUPS_CONFIG --api-version`
1609 CUPS_API_MAJOR=`echo $ECHO_N $CUPS_API_VERSION | awk -F. '{print $1}'`
1610 CUPS_API_MINOR=`echo $ECHO_N $CUPS_API_VERSION | awk -F. '{print $2}'`
1612 if test $CUPS_API_MAJOR -gt 1 -o \
1613 $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
1614 AC_DEFINE(HAVE_CUPS_API_1_2)
1617 AC_SUBST(CUPS_API_MAJOR)
1618 AC_SUBST(CUPS_API_MINOR)
1619 AC_SUBST(CUPS_CFLAGS)
1622 AC_CHECK_HEADER(cups/cups.h,,AC_MSG_ERROR([[*** Sorry, cups-config present but cups/cups.h missing.]]))
1624 AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
1626 gtk_save_cflags="$CFLAGS"
1627 CFLAGS="$CUPS_CFLAGS"
1628 AC_TRY_COMPILE([#include <cups/http.h>],
1629 [http_t http; char *s = http.authstring;],
1630 [AC_DEFINE(HAVE_HTTP_AUTHSTRING,[],[Define if cups http_t authstring field is accessible])],)
1631 CFLAGS="$gtk_save_cflags"
1633 AC_SUBST(HAVE_HTTP_AUTHSTRING)
1635 gtk_save_libs="$LIBS"
1637 AC_CHECK_FUNCS(httpGetAuthString)
1638 LIBS="$gtk_save_libs"
1640 gtk_save_cppflags="$CPPFLAGS"
1641 CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
1643 AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
1644 *** Can't find cairo-pdf.h. You must build Cairo with the pdf
1645 *** backend enabled.]))
1647 if test "$os_win32" != "yes"; then
1648 AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
1649 *** Can't find cairo-ps.h. You must build Cairo with the
1650 *** postscript backend enabled.]))
1653 CPPFLAGS="$gtk_save_cppflags"
1656 AC_ARG_ENABLE(test-print-backend,
1657 [AC_HELP_STRING([--enable-test-print-backend],
1658 [build test print backend])],,
1659 [enable_test_print_backend=no])
1660 AM_CONDITIONAL(TEST_PRINT_BACKEND, test "x$enable_test_print_backend" != "xno")
1663 ################################################################
1664 # Strip -export-dynamic from the link lines of various libraries
1665 ################################################################
1668 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1669 # but this flag is only meaningful for executables. For libraries
1670 # the effect is undefined; what it causes on Linux is that the
1671 # export list from -export-symbols-regex is ignored and everything
1674 # We are using gmodule-no-export now, but I'm leaving the stripping
1675 # code in place for now, since pango and atk still require gmodule.
1677 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1678 if test -n "$export_dynamic"; then
1679 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1680 GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1681 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1682 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1686 ##################################################
1687 # Checks for gtk-doc and docbook-tools
1688 ##################################################
1690 GTK_DOC_CHECK([1.8])
1692 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1693 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1696 [AC_HELP_STRING([--enable-man],
1697 [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1700 if test "${enable_man}" != no; then
1702 dnl Check for xsltproc
1704 AC_PATH_PROG([XSLTPROC], [xsltproc])
1705 if test -z "$XSLTPROC"; then
1709 dnl check for DocBook DTD and stylesheets in the local catalog.
1710 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1711 [DocBook XML DTD V4.1.2],,enable_man=no)
1712 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1713 [DocBook XSL Stylesheets],,enable_man=no)
1716 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1719 ##################################################
1721 ##################################################
1723 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1724 outfile=gdkconfig.h-tmp
1725 cat > $outfile <<\_______EOF
1728 * This is a generated file. Please modify `configure.in'
1736 #endif /* __cplusplus */
1740 cat >>$outfile <<_______EOF
1745 cat >>$outfile <<_______EOF
1749 #endif /* __cplusplus */
1751 #endif /* GDKCONFIG_H */
1755 if cmp -s $outfile gdk/gdkconfig.h; then
1756 AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1759 mv $outfile gdk/gdkconfig.h
1762 if test "x$gdktarget" = "xx11" ; then
1764 #define GDK_WINDOWING_X11'
1765 elif test "x$gdktarget" = "xwin32" ; then
1767 #define GDK_WINDOWING_WIN32'
1768 elif test "x$gdktarget" = "xquartz" ; then
1770 #define GDK_WINDOWING_QUARTZ'
1771 elif test "x$gdktarget" = "xdirectfb" ; then
1773 #define GDK_WINDOWING_DIRECTFB'
1776 if test x$gdk_wchar_h = xyes; then
1778 #define GDK_HAVE_WCHAR_H 1'
1780 if test x$gdk_wctype_h = xyes; then
1782 #define GDK_HAVE_WCTYPE_H 1"
1784 if test x$gdk_working_wctype = xno; then
1786 #define GDK_HAVE_BROKEN_WCTYPE 1"
1799 gtk+-unix-print-2.0.pc
1801 gdk-pixbuf-2.0-uninstalled.pc
1802 gdk-2.0-uninstalled.pc
1803 gtk+-2.0-uninstalled.pc
1807 po-properties/Makefile.in
1809 demos/gtk-demo/Makefile
1810 demos/gtk-demo/geninclude.pl
1813 docs/reference/Makefile
1814 docs/reference/gdk-pixbuf/Makefile
1815 docs/reference/gdk-pixbuf/version.xml
1816 docs/reference/gdk/Makefile
1817 docs/reference/gdk/version.xml
1818 docs/reference/gtk/Makefile
1819 docs/reference/gtk/version.xml
1820 docs/reference/libgail-util/Makefile
1823 docs/tutorial/Makefile
1825 gdk-pixbuf/gdk_pixbuf.rc
1826 gdk-pixbuf/gdk-pixbuf-features.h
1827 gdk-pixbuf/pixops/Makefile
1831 gdk/win32/rc/Makefile
1834 gdk/directfb/Makefile
1839 gtk/theme-bits/Makefile
1841 gtk/xdgmime/Makefile
1843 modules/other/Makefile
1844 modules/other/gail/Makefile
1845 modules/other/gail/libgail-util/Makefile
1846 modules/engines/Makefile
1847 modules/engines/pixbuf/Makefile
1848 modules/engines/ms-windows/Makefile
1849 modules/engines/ms-windows/Theme/Makefile
1850 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1851 modules/input/Makefile
1852 modules/printbackends/Makefile
1853 modules/printbackends/cups/Makefile
1854 modules/printbackends/lpr/Makefile
1855 modules/printbackends/file/Makefile
1856 modules/printbackends/test/Makefile
1859 contrib/gdk-pixbuf-xlib/Makefile
1860 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
1865 echo "configuration: