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], [13])
15 m4_define([gtk_micro_version], [1])
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.19.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 kn 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 gio-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 # Checks for Xcursor library
1343 if $PKG_CONFIG --exists xcursor ; then
1344 AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1346 X_PACKAGES="$X_PACKAGES xcursor"
1349 # Checks for XFixes extension
1351 if $PKG_CONFIG --exists xfixes ; then
1352 AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1354 X_PACKAGES="$X_PACKAGES xfixes"
1355 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
1358 # Checks for Xcomposite extension
1360 if $PKG_CONFIG --exists xcomposite ; then
1361 AC_DEFINE(HAVE_XCOMPOSITE, 1, Have the XCOMPOSITE X extension)
1363 X_PACKAGES="$X_PACKAGES xcomposite"
1364 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite"
1367 # Checks for Xdamage extension
1369 if $PKG_CONFIG --exists xdamage ; then
1370 AC_DEFINE(HAVE_XDAMAGE, 1, Have the XDAMAGE X extension)
1372 X_PACKAGES="$X_PACKAGES xdamage"
1373 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage"
1376 if $have_base_x_pc ; then
1377 GDK_EXTRA_LIBS="$x_extra_libs"
1379 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
1382 CPPFLAGS="$gtk_save_cppflags"
1383 LIBS="$gtk_save_libs"
1385 AM_CONDITIONAL(USE_X11, true)
1387 AM_CONDITIONAL(XINPUT_XFREE, false)
1388 AM_CONDITIONAL(USE_X11, false)
1389 AM_CONDITIONAL(HAVE_X11R6, false)
1392 if test "x$gdktarget" = "xwin32"; then
1393 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid"
1394 AM_CONDITIONAL(USE_WIN32, true)
1396 AM_CONDITIONAL(USE_WIN32, false)
1399 if test "x$gdktarget" = "xquartz"; then
1400 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
1401 AM_CONDITIONAL(USE_QUARTZ, true)
1403 AM_CONDITIONAL(USE_QUARTZ, false)
1406 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1407 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"
1409 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1410 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1411 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1412 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1413 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1415 if test "x$gdktarget" = "xdirectfb"; then
1416 DIRECTFB_REQUIRED_VERSION=0.9.24
1417 AC_MSG_CHECKING(for DirectFB)
1419 if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
1420 AC_MSG_RESULT(found)
1421 GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
1422 GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
1425 *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend
1426 *** are required. The latest version of DirectFB is always available
1427 *** from http://www.directfb.org/.
1431 AM_CONDITIONAL(USE_DIRECTFB, true)
1433 AM_CONDITIONAL(USE_DIRECTFB, false)
1437 # Check for Pango flags
1439 if test "x$gdktarget" = "xwin32"; then
1440 PANGO_PACKAGES="pangowin32 pangocairo"
1442 PANGO_PACKAGES="pango pangocairo"
1445 AC_MSG_CHECKING(Pango flags)
1446 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1447 PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1448 PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1450 AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1453 *** Pango not found. Pango built with Cairo support is required
1454 *** to build GTK+. See http://www.pango.org for Pango information.
1458 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1460 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1463 gtk_save_LIBS="$LIBS"
1464 LIBS="$PANGO_LIBS $LIBS"
1465 AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1466 *** Can't link to Pango. Pango is required to build
1467 *** GTK+. For more information see http://www.pango.org]))
1468 LIBS="$gtk_save_LIBS"
1471 CFLAGS="$saved_cflags"
1472 LDFLAGS="$saved_ldflags"
1474 GDK_PACKAGES="$PANGO_PACKAGES gio-2.0"
1475 if test "x$gdktarget" = "xx11"; then
1476 GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
1478 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1479 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1482 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1483 # into the pkg-config files
1485 if test $enable_explicit_deps != yes ; then
1486 GDK_PACKAGES="$PANGO_PACKAGES"
1490 AC_SUBST(GDK_PACKAGES)
1491 AC_SUBST(GDK_EXTRA_LIBS)
1492 AC_SUBST(GDK_EXTRA_CFLAGS)
1493 AC_SUBST(GDK_DEP_LIBS)
1494 AC_SUBST(GDK_DEP_CFLAGS)
1497 ########################################
1498 # Check for Accessibility Toolkit flags
1499 ########################################
1502 AC_MSG_CHECKING(ATK flags)
1503 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1504 ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1505 ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1507 AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1510 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1515 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1518 gtk_save_LIBS="$LIBS"
1519 LIBS="$ATK_LIBS $LIBS"
1520 AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1521 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1522 *** to build GTK+]))
1523 LIBS="$gtk_save_LIBS"
1526 GTK_PACKAGES="atk cairo"
1529 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"
1530 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"
1532 if test x"$os_win32" = xyes; then
1533 GTK_EXTRA_CFLAGS="$msnative_struct"
1536 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
1537 ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
1538 PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
1539 CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
1541 if test $enable_explicit_deps != yes ; then
1542 GDK_PIXBUF_EXTRA_LIBS=
1545 AC_SUBST(GDK_PIXBUF_PACKAGES)
1546 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
1547 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
1548 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
1549 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
1551 AC_SUBST(GTK_PACKAGES)
1552 AC_SUBST(GTK_EXTRA_LIBS)
1553 AC_SUBST(GTK_EXTRA_CFLAGS)
1554 AC_SUBST(GTK_DEP_LIBS)
1555 AC_SUBST(GTK_DEP_CFLAGS)
1557 AC_SUBST(GLIB_PREFIX)
1558 AC_SUBST(ATK_PREFIX)
1559 AC_SUBST(PANGO_PREFIX)
1560 AC_SUBST(CAIRO_PREFIX)
1562 AC_SUBST(GTK_DEBUG_FLAGS)
1563 AC_SUBST(GTK_XIM_FLAGS)
1565 ########################
1566 # Checks needed for gail
1567 ########################
1570 dnl Checks for inet libraries:
1571 AC_SEARCH_LIBS(gethostent, nsl)
1572 AC_SEARCH_LIBS(setsockopt, socket)
1573 AC_SEARCH_LIBS(connect, inet)
1575 dnl check for the sockaddr_un.sun_len member
1576 AC_CHECK_MEMBER([struct sockaddr_un.sun_len],
1577 [struct_sockaddr_un_sun_len=true],
1578 [struct_sockaddr_un_suin_len=false],
1579 [#include <sys/types.h>
1580 #include <sys/un.h>]
1582 case $struct_sockaddr_un_sun_len in
1584 AC_DEFINE_UNQUOTED(HAVE_SOCKADDR_UN_SUN_LEN, 1, Have the sockaddr_un.sun_len member.)
1590 GAIL_INET_LIBS="$LIBS"
1591 AC_SUBST([GAIL_INET_LIBS])
1595 ################################################################
1596 # Printing system checks
1597 ################################################################
1600 [AC_HELP_STRING([--disable-cups]
1601 [disable cups print backend])],,
1604 if test "x$enable_cups" = "xauto"
1606 AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
1607 if test "x$CUPS_CONFIG" != "xno"; then
1608 CUPS_CFLAGS=`$CUPS_CONFIG --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
1609 CUPS_LIBS=`$CUPS_CONFIG --libs`
1611 CUPS_API_VERSION=`$CUPS_CONFIG --api-version`
1612 CUPS_API_MAJOR=`echo $ECHO_N $CUPS_API_VERSION | awk -F. '{print $1}'`
1613 CUPS_API_MINOR=`echo $ECHO_N $CUPS_API_VERSION | awk -F. '{print $2}'`
1615 if test $CUPS_API_MAJOR -gt 1 -o \
1616 $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
1617 AC_DEFINE(HAVE_CUPS_API_1_2)
1620 AC_SUBST(CUPS_API_MAJOR)
1621 AC_SUBST(CUPS_API_MINOR)
1622 AC_SUBST(CUPS_CFLAGS)
1625 AC_CHECK_HEADER(cups/cups.h,,AC_MSG_ERROR([[*** Sorry, cups-config present but cups/cups.h missing.]]))
1627 AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
1629 gtk_save_cflags="$CFLAGS"
1630 CFLAGS="$CUPS_CFLAGS"
1631 AC_TRY_COMPILE([#include <cups/http.h>],
1632 [http_t http; char *s = http.authstring;],
1633 [AC_DEFINE(HAVE_HTTP_AUTHSTRING,[],[Define if cups http_t authstring field is accessible])],)
1634 CFLAGS="$gtk_save_cflags"
1636 AC_SUBST(HAVE_HTTP_AUTHSTRING)
1638 gtk_save_libs="$LIBS"
1640 AC_CHECK_FUNCS(httpGetAuthString)
1641 LIBS="$gtk_save_libs"
1644 AM_CONDITIONAL(HAVE_CUPS, false)
1647 gtk_save_cppflags="$CPPFLAGS"
1648 CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
1650 AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
1651 *** Can't find cairo-pdf.h. You must build Cairo with the pdf
1652 *** backend enabled.]))
1654 if test "$os_win32" != "yes"; then
1655 AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
1656 *** Can't find cairo-ps.h. You must build Cairo with the
1657 *** postscript backend enabled.]))
1660 CPPFLAGS="$gtk_save_cppflags"
1663 AC_ARG_ENABLE(test-print-backend,
1664 [AC_HELP_STRING([--enable-test-print-backend],
1665 [build test print backend])],,
1666 [enable_test_print_backend=no])
1667 AM_CONDITIONAL(TEST_PRINT_BACKEND, test "x$enable_test_print_backend" != "xno")
1670 ################################################################
1671 # Strip -export-dynamic from the link lines of various libraries
1672 ################################################################
1675 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1676 # but this flag is only meaningful for executables. For libraries
1677 # the effect is undefined; what it causes on Linux is that the
1678 # export list from -export-symbols-regex is ignored and everything
1681 # We are using gmodule-no-export now, but I'm leaving the stripping
1682 # code in place for now, since pango and atk still require gmodule.
1684 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1685 if test -n "$export_dynamic"; then
1686 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1687 GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1688 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1689 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1693 ##################################################
1694 # Checks for gtk-doc and docbook-tools
1695 ##################################################
1697 GTK_DOC_CHECK([1.8])
1699 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1700 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1703 [AC_HELP_STRING([--enable-man],
1704 [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1707 if test "${enable_man}" != no; then
1709 dnl Check for xsltproc
1711 AC_PATH_PROG([XSLTPROC], [xsltproc])
1712 if test -z "$XSLTPROC"; then
1716 dnl check for DocBook DTD and stylesheets in the local catalog.
1717 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1718 [DocBook XML DTD V4.1.2],,enable_man=no)
1719 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1720 [DocBook XSL Stylesheets],,enable_man=no)
1723 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1726 ##################################################
1728 ##################################################
1730 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1731 outfile=gdkconfig.h-tmp
1732 cat > $outfile <<\_______EOF
1735 * This is a generated file. Please modify `configure.in'
1743 #endif /* __cplusplus */
1747 cat >>$outfile <<_______EOF
1752 cat >>$outfile <<_______EOF
1756 #endif /* __cplusplus */
1758 #endif /* GDKCONFIG_H */
1762 if cmp -s $outfile gdk/gdkconfig.h; then
1763 AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1766 mv $outfile gdk/gdkconfig.h
1769 if test "x$gdktarget" = "xx11" ; then
1771 #define GDK_WINDOWING_X11'
1772 elif test "x$gdktarget" = "xwin32" ; then
1774 #define GDK_WINDOWING_WIN32'
1775 elif test "x$gdktarget" = "xquartz" ; then
1777 #define GDK_WINDOWING_QUARTZ'
1778 elif test "x$gdktarget" = "xdirectfb" ; then
1780 #define GDK_WINDOWING_DIRECTFB'
1783 if test x$gdk_wchar_h = xyes; then
1785 #define GDK_HAVE_WCHAR_H 1'
1787 if test x$gdk_wctype_h = xyes; then
1789 #define GDK_HAVE_WCTYPE_H 1"
1791 if test x$gdk_working_wctype = xno; then
1793 #define GDK_HAVE_BROKEN_WCTYPE 1"
1806 gtk+-unix-print-2.0.pc
1808 gdk-pixbuf-2.0-uninstalled.pc
1809 gdk-2.0-uninstalled.pc
1810 gtk+-2.0-uninstalled.pc
1814 po-properties/Makefile.in
1816 demos/gtk-demo/Makefile
1817 demos/gtk-demo/geninclude.pl
1820 docs/reference/Makefile
1821 docs/reference/gdk-pixbuf/Makefile
1822 docs/reference/gdk-pixbuf/version.xml
1823 docs/reference/gdk/Makefile
1824 docs/reference/gdk/version.xml
1825 docs/reference/gtk/Makefile
1826 docs/reference/gtk/version.xml
1827 docs/reference/libgail-util/Makefile
1830 docs/tutorial/Makefile
1832 gdk-pixbuf/gdk_pixbuf.rc
1833 gdk-pixbuf/gdk-pixbuf-features.h
1834 gdk-pixbuf/pixops/Makefile
1838 gdk/win32/rc/Makefile
1841 gdk/directfb/Makefile
1846 gtk/theme-bits/Makefile
1848 gtk/xdgmime/Makefile
1850 modules/other/Makefile
1851 modules/other/gail/Makefile
1852 modules/other/gail/libgail-util/Makefile
1853 modules/other/gail/tests/Makefile
1854 modules/engines/Makefile
1855 modules/engines/pixbuf/Makefile
1856 modules/engines/ms-windows/Makefile
1857 modules/engines/ms-windows/Theme/Makefile
1858 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1859 modules/input/Makefile
1860 modules/printbackends/Makefile
1861 modules/printbackends/cups/Makefile
1862 modules/printbackends/lpr/Makefile
1863 modules/printbackends/file/Makefile
1864 modules/printbackends/test/Makefile
1867 contrib/gdk-pixbuf-xlib/Makefile
1868 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
1873 echo "configuration: