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)
98 # gdk-pixbuf gets versioned separately, and for now, using standard
99 # libtool versioning, not GTK+-style versioning
101 GDK_PIXBUF_MAJOR=gtk_major_version
102 GDK_PIXBUF_MINOR=gtk_minor_version
103 GDK_PIXBUF_MICRO=gtk_micro_version
104 GDK_PIXBUF_VERSION="${GDK_PIXBUF_MAJOR}.${GDK_PIXBUF_MINOR}.${GDK_PIXBUF_MICRO}"
105 AC_SUBST(GDK_PIXBUF_MAJOR)
106 AC_SUBST(GDK_PIXBUF_MINOR)
107 AC_SUBST(GDK_PIXBUF_MICRO)
108 AC_SUBST(GDK_PIXBUF_VERSION)
110 GETTEXT_PACKAGE=gtk20
111 AC_SUBST(GETTEXT_PACKAGE)
112 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE")
117 AC_MSG_CHECKING([for native Win32])
127 AC_MSG_RESULT([$os_win32])
134 dnl Initialize libtool
139 dnl Check for a working C++ compiler, but do not bail out, if none is found.
140 dnl We use this for an automated test for C++ header correctness.
142 AC_CHECK_PROGS(CXX, [$CCC c++ g++ gcc CC cxx cc++ cl], gcc)
146 AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=)
147 AM_CONDITIONAL(HAVE_CXX, test "$CXX" != "")
149 gtk_save_cxxflags="$CXXFLAGS"
150 CXXFLAGS="$CXXFLAGS -x objective-c++"
151 AC_TRY_COMPILE([@interface Foo @end],,OBJC=yes,OBJC=no)
152 AM_CONDITIONAL(HAVE_OBJC, test "$OBJC" == "yes")
153 CXXFLAGS="$gtk_save_cxxflags"
156 if test "$os_win32" = "yes"; then
157 if test x$enable_static = xyes -o x$enable_static = x; then
158 AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.])
161 if test x$enable_shared = xno; then
162 AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.])
170 # Make sure we use 64-bit versions of various file stuff.
174 AC_PATH_PROG(NM, nm, nm)
176 dnl Initialize maintainer mode
179 AC_MSG_CHECKING([for some Win32 platform])
181 *-*-mingw*|*-*-cygwin*)
188 AC_MSG_RESULT([$platform_win32])
189 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
191 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
192 AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
193 AM_CONDITIONAL(OS_LINUX, test "$os_linux" = "yes")
195 if test "$os_win32" = "yes"; then
196 AC_CHECK_TOOL(WINDRES, windres, no)
197 if test "$WINDRES" = no; then
198 AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.])
200 AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
202 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
204 m4_define([debug_default],
205 m4_if(m4_eval(gtk_minor_version % 2), [1], [yes], [minimum]))
207 dnl declare --enable-* args and collect ac_help strings
209 AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
210 [turn on debugging @<:@default=debug_default@:>@]),,
211 enable_debug=debug_default)
213 [AC_HELP_STRING([--enable-shm],
214 [support shared memory if available [default=yes]])],,
217 [AC_HELP_STRING([--enable-xkb],
218 [support XKB [default=maybe]])],,
219 [enable_xkb="maybe"])
220 AC_ARG_ENABLE(xinerama,
221 [AC_HELP_STRING([--enable-xinerama],
222 [support xinerama extension if available [default=yes]])],,
223 [enable_xinerama="no"])
224 AC_ARG_ENABLE(rebuilds,
225 [AC_HELP_STRING([--disable-rebuilds],
226 [disable all source autogeneration rules])],,
227 [enable_rebuilds=yes])
228 AC_ARG_ENABLE(visibility,
229 [AC_HELP_STRING([--disable-visibility],
230 [don't use ELF visibility attributes])],,
231 [enable_visibility=yes])
234 [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
236 if test "$platform_win32" = yes; then
242 AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target],
243 gdktarget=$with_gdktarget)
247 x11|win32|quartz|directfb) ;;
248 *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);;
251 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
252 gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
254 AC_SUBST(gdktargetlib)
255 AC_SUBST(gtktargetlib)
257 if test "x$enable_debug" = "xyes"; then
258 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
259 GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES"
261 if test "x$enable_debug" = "xno"; then
262 GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
264 GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
269 if test "x$enable_visibility" = "xno"; then
270 GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
274 AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
277 # Build time sanity check...
280 # Checks for programs.
287 if test "x$GCC" = "xyes"; then
289 *[\ \ ]-Wall[\ \ ]*) ;;
290 *) CFLAGS="$CFLAGS -Wall" ;;
293 if test "x$enable_ansi" = "xyes"; then
295 *[\ \ ]-ansi[\ \ ]*) ;;
296 *) CFLAGS="$CFLAGS -ansi" ;;
300 *[\ \ ]-pedantic[\ \ ]*) ;;
301 *) CFLAGS="$CFLAGS -pedantic" ;;
307 # Ensure MSVC-compatible struct packing convention is used when
308 # compiling for Win32 with gcc.
309 # What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
310 # gcc2 uses "-fnative-struct".
311 if test x"$os_win32" = xyes; then
312 if test x"$GCC" = xyes; then
314 AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
315 if test -z "$ac_cv_prog_CC"; then
318 our_gcc="$ac_cv_prog_CC"
320 case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
322 if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
323 msnative_struct='-fnative-struct'
327 if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
328 msnative_struct='-mms-bitfields'
332 if test x"$msnative_struct" = x ; then
333 AC_MSG_RESULT([no way])
334 AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
336 CFLAGS="$CFLAGS $msnative_struct"
337 AC_MSG_RESULT([${msnative_struct}])
342 # Honor aclocal flags
343 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
345 ## Initial sanity check, done here so that users get told they
346 ## have the wrong dependencies as early in the process as possible.
347 ## Later on we actually use the cflags/libs from separate pkg-config
348 ## calls. Oh, also the later pkg-config calls don't include
349 ## the version requirements since those make the module lists
350 ## annoying to construct
351 PKG_CHECK_MODULES(BASE_DEPENDENCIES,
352 [glib-2.0 >= glib_required_version dnl
353 atk >= atk_required_version dnl
354 pango >= pango_required_version dnl
355 cairo >= cairo_required_version])
357 if test "$os_win32" != yes; then
358 # libtool option to control which symbols are exported
359 # right now, symbols starting with _ are not exported
360 LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
362 # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
363 LIBTOOL_EXPORT_OPTIONS=
365 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
367 dnl ******************************************************
368 dnl * See whether to include shared library dependencies *
369 dnl ******************************************************
371 AC_ARG_ENABLE(explicit-deps,
372 [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
373 [use explicit dependencies in .pc files [default=auto]])],,
374 [enable_explicit_deps=auto])
376 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
377 case $enable_explicit_deps in
380 deplibs_check_method=`(./libtool --config; echo 'eval echo $deplibs_check_method') | sh`
381 if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
382 enable_explicit_deps=yes
384 enable_explicit_deps=no
389 *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
392 AC_MSG_RESULT($enable_explicit_deps)
394 AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
396 # define a MAINT-like variable REBUILD which is set if Perl
397 # and awk are found, so autogenerated sources can be rebuilt
399 AC_PATH_PROGS(PERL, perl5 perl)
401 # We would like indent, but don't require it.
402 AC_CHECK_PROG(INDENT, indent, indent)
405 if test "x$enable_rebuilds" = "xyes" && \
407 $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
412 AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked)
413 AC_CHECK_FUNCS(localtime_r)
415 # _NL_TIME_FIRST_WEEKDAY is an enum and not a define
416 AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
417 AC_TRY_LINK([#include <langinfo.h>], [
419 c = *((unsigned char *) nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
420 ], gtk_ok=yes, gtk_ok=no)
421 AC_MSG_RESULT($gtk_ok)
422 if test "$gtk_ok" = "yes"; then
423 AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
424 [Define if _NL_TIME_FIRST_WEEKDAY is available])
427 # _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
428 AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
429 AC_TRY_LINK([#include <langinfo.h>], [
431 c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
432 ], gtk_ok=yes, gtk_ok=no)
433 AC_MSG_RESULT($gtk_ok)
434 if test "$gtk_ok" = "yes"; then
435 AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1],
436 [Define if _NL_MEASUREMENT_MEASUREMENT is available])
439 # _NL_PAPER_HEIGHT is an enum and not a define
440 AC_MSG_CHECKING([for _NL_PAPER_HEIGHT])
441 AC_TRY_LINK([#include <langinfo.h>], [
443 c = *((unsigned char *) nl_langinfo(_NL_PAPER_HEIGHT));
444 ], gtk_ok=yes, gtk_ok=no)
445 AC_MSG_RESULT($gtk_ok)
446 if test "$gtk_ok" = "yes"; then
447 AC_DEFINE([HAVE__NL_PAPER_HEIGHT], [1],
448 [Define if _NL_PAPER_HEIGHT is available])
451 # _NL_PAPER_WIDTH is an enum and not a define
452 AC_MSG_CHECKING([for _NL_PAPER_WIDTH])
453 AC_TRY_LINK([#include <langinfo.h>], [
455 c = *((unsigned char *) nl_langinfo(_NL_PAPER_WIDTH));
456 ], gtk_ok=yes, gtk_ok=no)
457 AC_MSG_RESULT($gtk_ok)
458 if test "$gtk_ok" = "yes"; then
459 AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1],
460 [Define if _NL_PAPER_WIDTH is available])
463 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
464 AC_MSG_CHECKING(for sigsetjmp)
465 AC_TRY_LINK([#include <setjmp.h>], [
468 ], gtk_ok=yes, gtk_ok=no)
469 AC_MSG_RESULT($gtk_ok)
470 if test "$gtk_ok" = "yes"; then
471 AC_DEFINE(HAVE_SIGSETJMP)
475 # TRANSLATORS: Please note that gtk+ has both po/ and po-properties/
476 # directories. If you add a new language to ALL_LINGUAS, please make
477 # sure that both po/ and po-properties/ have .po files that correspond
478 # to your language. If you only add one to po/, the build will break
480 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"
482 LIBS="$LIBS $INTLLIBS"
483 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
484 sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
487 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
489 dnl The DU4 header files don't provide library prototypes unless
490 dnl -std1 is given to the native cc.
491 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
495 AC_TRY_RUN([#include <math.h>
496 int main (void) { return (log(1) != log(1.)); }],
497 AC_MSG_RESULT(none needed),
498 gtk_save_CFLAGS="$CFLAGS"
499 CFLAGS="$CFLAGS -std1"
500 AC_TRY_RUN([#include <math.h>
501 int main (void) { return (log(1) != log(1.)); }],
502 AC_MSG_RESULT(-std1),
504 CFLAGS="$gtk_save_CFLAGS"
506 [No ANSI prototypes found in library. (-std1 didn't work.)]),
509 AC_MSG_RESULT(none needed)
513 AC_MSG_CHECKING(for the BeOS)
527 AC_MSG_CHECKING(for HP-UX)
529 hpux9* | hpux10* | hpux11*)
531 CFLAGS="$CFLAGS -DHPPEX -DSHMLINK"
538 dnl NeXTStep cc seems to need this
539 AC_MSG_CHECKING([for extra flags for POSIX compliance])
540 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
541 AC_MSG_RESULT(none needed),
542 gtk_save_CFLAGS="$CFLAGS"
543 CFLAGS="$CFLAGS -posix"
544 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
545 AC_MSG_RESULT(-posix),
547 CFLAGS="$gtk_save_CFLAGS"
548 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
551 # Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
554 GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
556 AM_PATH_GLIB_2_0(glib_required_version, :,
558 *** GLIB glib_required_version or better is required. The latest version of
559 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
560 gobject gmodule-no-export gthread)
562 # See if it's safe to turn G_DISABLE_DEPRECATED on.
563 GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
564 GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
565 if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
566 CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
571 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
574 LIBS="$LIBS $GLIB_LIBS"
575 AC_CHECK_FUNCS(bind_textdomain_codeset)
578 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
579 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
580 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
581 AC_CHECK_HEADERS(ftw.h, AC_DEFINE(HAVE_FTW_H))
583 AC_MSG_CHECKING([for GNU ftw extensions])
584 AC_TRY_COMPILE([#define _XOPEN_SOURCE 500
586 #include <ftw.h>], [int flags = FTW_ACTIONRETVAL;], gtk_ok=yes, gtk_ok=no)
587 if test $gtk_ok = yes; then
589 AC_DEFINE(HAVE_GNU_FTW,1,[Have GNU ftw])
594 saved_cflags="$CFLAGS"
595 saved_ldflags="$LDFLAGS"
598 # Checks for header files.
601 # Checks for typedefs, structures, and compiler characteristics.
604 # Checks for library functions.
608 AC_CHECK_FUNCS(mallinfo)
609 AC_CHECK_FUNCS(getresuid)
612 # Check if <sys/select.h> needs to be included for fd_set
613 AC_MSG_CHECKING([for fd_set])
614 AC_TRY_COMPILE([#include <sys/types.h>],
615 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
616 if test $gtk_ok = yes; then
617 AC_MSG_RESULT([yes, found in sys/types.h])
619 AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
620 if test $gtk_ok = yes; then
621 AC_DEFINE(HAVE_SYS_SELECT_H)
622 AC_MSG_RESULT([yes, found in sys/select.h])
629 # `widechar' tests for gdki18n.h
630 AC_MSG_CHECKING(for wchar.h)
631 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
632 if test $gdk_wchar_h = yes; then
633 AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
635 AC_MSG_RESULT($gdk_wchar_h)
637 # Check for wctype.h (for iswalnum)
638 AC_MSG_CHECKING(for wctype.h)
639 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
640 if test $gdk_wctype_h = yes; then
641 AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
643 AC_MSG_RESULT($gdk_wctype_h)
645 # in Solaris 2.5, `iswalnum' is in -lw
647 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
650 LIBS="$LIBS $GDK_WLIBS"
651 # The following is necessary for Linux libc-5.4.38
652 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
653 AC_TRY_LINK([#include <stdlib.h>],[
654 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
655 # ifdef HAVE_WCTYPE_H
663 # define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
665 iswalnum((wchar_t) 0);
666 ], gdk_working_wctype=yes, gdk_working_wctype=no)
669 if test $gdk_working_wctype = no; then
670 AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
673 AC_MSG_RESULT($gdk_working_wctype)
676 # Check for uxtheme.h (for MS-Windows Engine)
677 AC_MSG_CHECKING(for uxtheme.h)
678 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
679 if test $gtk_uxtheme_h = yes; then
680 AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
682 AC_MSG_RESULT($gtk_uxtheme_h)
684 # Checks for gdkspawn
685 AC_CHECK_HEADERS(crt_externs.h)
686 AC_CHECK_FUNCS(_NSGetEnviron)
689 ##################################################
690 # Checks for gdk-pixbuf
691 ##################################################
693 dnl ********************************************************
694 dnl * See whether we need to load our modules as .la files *
695 dnl ********************************************************
699 *-aix*) use_la_modules=true
702 if $use_la_modules ; then
703 AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
707 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
709 AC_ARG_ENABLE(modules,
710 [AC_HELP_STRING([--disable-modules],
711 [disable dynamic module loading])])
715 if test x$enable_modules = xno; then
719 AC_MSG_CHECKING(whether dynamic modules work)
720 ## for loop is to strip newline
721 tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
726 dnl Now we check to see if our libtool supports shared lib deps
727 dnl (in a rather ugly way even)
729 pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
730 pixbuf_deplibs_check=`$pixbuf_libtool_config | \
731 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
732 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
733 if test "x$pixbuf_deplibs_check" = "xnone" || \
734 test "x$pixbuf_deplibs_check" = "xunknown" || \
735 test "x$pixbuf_deplibs_check" = "x"; then
741 AC_DEFINE(USE_GMODULE)
748 dnl We allow people to disable image loaders explicitely, but if they don't we error
749 dnl out so that people don't accidentally build without them.
752 [AC_HELP_STRING([--without-libpng],
753 [disable PNG loader for gdk-pixbuf])])
755 [AC_HELP_STRING([--without-libjpeg],
756 [disable JPEG loader for gdk-pixbuf])])
758 [AC_HELP_STRING([--without-libtiff],
759 [disable TIFF loader for gdk-pixbuf])])
760 AC_ARG_WITH(libjasper,
761 [AC_HELP_STRING([--without-libjasper],
762 [disable JPEG2000 loader for gdk-pixbuf])])
765 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
766 AC_CHECK_LIB(tiff, TIFFReadRGBAImageOriented,
767 [AC_CHECK_HEADER(tiffio.h,
768 TIFF='tiff'; LIBTIFF='-ltiff',
769 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
770 [AC_CHECK_LIB(tiff, TIFFWriteScanline,
771 [AC_CHECK_HEADER(tiffio.h,
772 TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
773 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
774 [AC_CHECK_LIB(tiff34, TIFFFlushData,
775 [AC_CHECK_HEADER(tiffio.h,
776 TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
777 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
778 AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
781 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
783 *** Checks for TIFF loader failed. You can build without it by passing
784 *** --without-libtiff to configure but some programs using GTK+ may
785 *** not work properly])
789 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
790 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
793 AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
794 if test "$jpeg_ok" = yes; then
795 AC_MSG_CHECKING([for jpeglib.h])
801 #include <jpeglib.h>],
804 AC_MSG_RESULT($jpeg_ok)
805 if test "$jpeg_ok" = yes; then
807 AC_CHECK_LIB(jpeg, jpeg_simple_progression,
808 AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
809 AC_MSG_WARN(JPEG library does not support progressive saving.))
811 AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
816 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
818 *** Checks for JPEG loader failed. You can build without it by passing
819 *** --without-libjpeg to configure but some programs using GTK+ may
820 *** not work properly])
824 if test x$with_libpng != xno && test -z "$LIBPNG"; then
825 AC_MSG_CHECKING(for libpng12)
826 if $PKG_CONFIG --exists libpng12 ; then
829 PNG_DEP_CFLAGS_PACKAGES=libpng12
830 LIBPNG=`$PKG_CONFIG --libs libpng12`
833 AC_CHECK_LIB(png, png_read_info,
834 [AC_CHECK_HEADER(png.h,
837 AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
838 if test "$png_ok" = yes; then
839 AC_MSG_CHECKING([for png_structp in png.h])
840 AC_TRY_COMPILE([#include <png.h>],
841 [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
844 AC_MSG_RESULT($png_ok)
845 if test "$png_ok" = yes; then
846 PNG='png'; LIBPNG='-lpng -lz'
848 AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
851 AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
856 if test x$with_libpng != xno && test -z "$LIBPNG"; then
858 *** Checks for PNG loader failed. You can build without it by passing
859 *** --without-libpng to configure but many programs using GTK+ will
860 *** not work properly. The PNG loader is also needed if you are compiling
864 dnl Test for libjasper
865 if test x$with_libjasper != xno && test -z "$LIBJASPER"; then
866 AC_CHECK_LIB(jasper, jas_init, LIBJASPER=-ljasper, [])
869 if test x$with_libjasper != xno && test -z "$LIBJASPER"; then
871 *** Checks for JPEG2000 loader failed. You can build without it by passing
872 *** --without-libjasper to configure])
880 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
883 # Allow building some or all gdk-pixbuf loaders included
885 AC_MSG_CHECKING(pixbuf loaders to build)
887 dnl due to an autoconf bug, commas in the first arg to
888 dnl AC_HELP_STRING cause problems.
889 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
890 dnl [build the specified loaders into gdk-pixbuf])
891 AC_ARG_WITH(included_loaders,
892 [ --with-included-loaders=LOADER1,LOADER2,...
893 build the specified loaders into gdk-pixbuf])
898 ## if the option was specified, leave it; otherwise disable included loaders
899 if test x$with_included_loaders = xno; then
900 with_included_loaders=yes
904 all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,xbm,tga,pcx,icns"
905 if test x$with_libjasper != xno; then
906 all_loaders="$all_loaders,jasper"
909 # If no loaders specified, include all
910 if test "x$with_included_loaders" = xyes ; then
911 included_loaders="$all_loaders"
913 included_loaders="$with_included_loaders"
916 AC_MSG_RESULT($included_loaders)
919 INCLUDED_LOADER_DEFINE=
921 IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
922 for loader in $included_loaders; do
923 if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
926 AC_MSG_ERROR([the specified loader $loader does not exist])
929 INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libstatic-pixbufloader-$loader.la"
930 INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
931 eval INCLUDE_$loader=yes
934 AC_SUBST(INCLUDED_LOADER_OBJ)
935 AC_SUBST(INCLUDED_LOADER_DEFINE)
937 AM_CONDITIONAL(INCLUDE_PNG, [test x"$INCLUDE_png" = xyes])
938 AM_CONDITIONAL(INCLUDE_BMP, [test x"$INCLUDE_bmp" = xyes])
939 AM_CONDITIONAL(INCLUDE_WBMP, [test x"$INCLUDE_wbmp" = xyes])
940 AM_CONDITIONAL(INCLUDE_GIF, [test x"$INCLUDE_gif" = xyes])
941 AM_CONDITIONAL(INCLUDE_ICO, [test x"$INCLUDE_ico" = xyes])
942 AM_CONDITIONAL(INCLUDE_ANI, [test x"$INCLUDE_ani" = xyes])
943 AM_CONDITIONAL(INCLUDE_JPEG, [test x"$INCLUDE_jpeg" = xyes])
944 AM_CONDITIONAL(INCLUDE_PNM, [test x"$INCLUDE_pnm" = xyes])
945 AM_CONDITIONAL(INCLUDE_RAS, [test x"$INCLUDE_ras" = xyes])
946 AM_CONDITIONAL(INCLUDE_TIFF, [test x"$INCLUDE_tiff" = xyes])
947 AM_CONDITIONAL(INCLUDE_XPM, [test x"$INCLUDE_xpm" = xyes])
948 AM_CONDITIONAL(INCLUDE_XBM, [test x"$INCLUDE_xbm" = xyes])
949 AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
950 AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
951 AM_CONDITIONAL(INCLUDE_ICNS, [test x"$INCLUDE_icns" = xyes])
952 AM_CONDITIONAL(INCLUDE_JASPER, [test x"$INCLUDE_jasper" = xyes])
958 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
959 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
960 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
961 AM_CONDITIONAL(HAVE_JASPER, test "x$LIBJASPER" != x)
965 if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
966 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
968 if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
969 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
971 if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
972 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
975 STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
978 # Checks to see whether we should include mediaLib
981 AC_CHECK_HEADER(sys/systeminfo.h, AC_DEFINE(HAVE_SYS_SYSTEMINFO_H))
982 AC_CHECK_HEADER(sys/sysinfo.h, AC_DEFINE(HAVE_SYS_SYSINFO_H))
984 AC_MSG_CHECKING(for mediaLib 2.3)
986 # Check for a mediaLib 2.3 function since that is what the GTK+ mediaLib
988 AC_CHECK_LIB(mlib, mlib_ImageSetStruct, use_mlib=yes, use_mlib=no)
989 if test $use_mlib = yes; then
990 AC_DEFINE(USE_MEDIALIB)
993 AC_MSG_CHECKING(for mediaLib 2.5)
994 # Check for a mediaLib 2.5 function since that is what is needed for
995 # gdk_rgb_convert integration.
996 AC_CHECK_LIB(mlib, mlib_VideoColorRGBint_to_BGRAint, use_mlib25=yes, use_mlib25=no)
997 if test $use_mlib25 = yes; then
998 AC_DEFINE(USE_MEDIALIB25)
1001 AM_CONDITIONAL(USE_MEDIALIB, test $use_mlib = yes)
1002 AM_CONDITIONAL(USE_MEDIALIB25, test $use_mlib25 = yes)
1004 # Checks to see if we should compile in MMX support (there will be
1005 # a runtime test when the code is actually run to see if it should
1006 # be used - this just checks if we can compile it.)
1008 # This code is partially taken from Mesa
1010 AC_MSG_CHECKING(for x86 platform)
1012 i386|i486|i586|i686|i786|k6|k7)
1018 AC_MSG_RESULT($use_x86_asm)
1021 if test $use_x86_asm = yes; then
1025 AC_MSG_CHECKING(compiler support for MMX)
1026 cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
1027 if AC_TRY_EVAL(ac_compile); then
1034 if test $use_mmx_asm = yes; then
1042 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
1045 if test -z "$LIBPNG"; then
1049 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
1051 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
1053 if test $cross_compiling = yes; then
1054 AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
1055 AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
1056 if test x$GTK_UPDATE_ICON_CACHE = xno; then
1061 if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
1062 test "x$REBUILD_PNGS" = "x#" ; then
1064 *** gtkbuiltincache.h is not in the tree, and cannot be built
1065 *** because you don't have libpng, or (when cross-compiling) you
1066 *** don't have a prebuilt gtk-update-icon-cache on the build system.])
1069 AC_SUBST(REBUILD_PNGS)
1071 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
1072 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB $MEDIA_LIB"
1073 GDK_PIXBUF_EXTRA_CFLAGS=
1074 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1075 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
1077 ########################################
1078 # Windowing system checks
1079 ########################################
1081 GDK_PIXBUF_XLIB_PACKAGES=
1082 GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
1083 GDK_PIXBUF_XLIB_EXTRA_LIBS=
1085 X_PACKAGES=fontconfig
1086 GDK_EXTRA_LIBS="$GDK_WLIBS"
1089 # GTK+ uses some X calls, so needs to link against X directly
1090 GTK_DEP_PACKAGES_FOR_X=
1093 if test "x$gdktarget" = "xx11"; then
1095 # We use fontconfig very peripherally when decoding the default
1098 if $PKG_CONFIG --exists fontconfig; then : ; else
1100 *** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
1104 # Check for basic X packages; we use pkg-config if available
1106 if $PKG_CONFIG --exists x11 xext xrender; then
1108 X_PACKAGES="$X_PACKAGES x11 xext xrender"
1109 x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
1110 X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
1112 # Strip out any .la files that pkg-config might give us (this happens
1113 # with -uninstalled.pc files)
1115 for I in $x_libs ; do
1118 *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1122 GDK_PIXBUF_XLIB_PACKAGES="x11"
1123 GTK_PACKAGES_FOR_X="x11"
1125 have_base_x_pc=false
1127 if test x$no_x = xyes ; then
1128 AC_MSG_ERROR([X development libraries not found])
1131 x_cflags="$X_CFLAGS"
1132 x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
1134 GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1135 GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
1136 GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
1139 # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
1142 gtk_save_cppflags="$CPPFLAGS"
1143 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1146 LIBS="$x_libs_for_checks $LIBS"
1148 # Sanity check for the X11 and Xext libraries. While everything we need from
1149 # Xext is optional, the chances a system has *none* of these things is so
1150 # small that we just unconditionally require it.
1151 AC_CHECK_FUNC(XOpenDisplay, :,
1152 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
1153 AC_CHECK_FUNC(XextFindDisplay, :,
1154 AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
1155 AC_CHECK_FUNC(XRenderQueryExtension, :,
1156 AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
1160 AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1161 AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1163 [AC_MSG_RESULT([no])],
1164 [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1165 #include <X11/Xlibint.h>],
1167 [AC_MSG_RESULT([yes])
1168 AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1169 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1170 [AC_MSG_RESULT([unknown])
1171 AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1173 # Check for XConvertCase, XInternAtoms (X11R6 specific)
1175 AC_CHECK_FUNCS(XConvertCase XInternAtoms)
1177 # Generic X11R6 check needed for XIM support; we could
1178 # probably use this to replace the above, but we'll
1179 # leave the separate checks for XConvertCase and XInternAtoms
1183 AC_CHECK_FUNC(XAddConnectionWatch,
1186 if $have_x11r6; then
1187 AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
1189 AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1191 # Check for XKB support.
1193 if test "x$enable_xkb" = "xyes"; then
1194 AC_MSG_WARN(XKB support explicitly enabled)
1196 elif test "x$enable_xkb" = "xmaybe"; then
1197 AC_CHECK_FUNC(XkbQueryExtension,
1198 AC_DEFINE(HAVE_XKB))
1200 AC_MSG_WARN(XKB support explicitly disabled)
1203 # Check for shaped window extension
1205 AC_CHECK_FUNC(XShapeCombineMask,
1206 AC_DEFINE(HAVE_SHAPE_EXT))
1209 gtk_save_CFLAGS="$CFLAGS"
1210 CFLAGS="$CFLAGS $x_cflags"
1212 AC_CHECK_FUNC(XSyncQueryExtension,
1213 [AC_CHECK_HEADER(X11/extensions/sync.h,
1214 AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
1215 :, [#include <X11/Xlib.h>])])
1217 CFLAGS="$gtk_save_CFLAGS"
1221 if test "x$enable_shm" = "xyes"; then
1222 # Check for the XShm extension, normally in Xext
1223 AC_CHECK_FUNC(XShmAttach,
1225 # On AIX, it is in XextSam instead
1226 [AC_CHECK_LIB(XextSam, XShmAttach,
1227 [GTK_ADD_LIB(x_extra_libs,XextSam)])])
1230 if test "x$enable_shm" = "xyes"; then
1231 # Check for shared memory
1232 AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
1233 AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
1235 # Check for the X shared memory extension header file
1237 AC_MSG_CHECKING(X11/extensions/XShm.h)
1238 if test "x$no_xext_lib" = "xyes"; then
1241 gtk_save_CFLAGS="$CFLAGS"
1242 CFLAGS="$CFLAGS $x_cflags"
1245 #include <sys/types.h>
1246 #include <sys/ipc.h>
1247 #include <sys/shm.h>
1248 #include <X11/Xlib.h>
1249 #include <X11/Xutil.h>
1250 #include <X11/extensions/XShm.h>
1251 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1252 CFLAGS="$gtk_save_CFLAGS"
1254 AC_MSG_RESULT($have_xshm)
1255 if test $have_xshm = yes ; then
1256 AC_DEFINE(HAVE_XSHM_H)
1260 if test "x$enable_xinerama" = "xyes"; then
1261 # Check for Xinerama extension (Solaris impl or Xfree impl)
1262 gtk_save_cppflags="$CPPFLAGS"
1263 CPPFLAGS="$CPPFLAGS $x_cflags"
1268 AC_MSG_CHECKING(for Xinerama support on Solaris)
1270 have_solaris_xinerama=false
1271 AC_CHECK_FUNC(XineramaGetInfo,
1272 [AC_CHECK_HEADER(X11/extensions/xinerama.h,
1273 [have_solaris_xinerama=true], :,
1274 [#include <X11/Xlib.h>])])
1276 if $have_solaris_xinerama ; then
1277 AC_DEFINE(HAVE_SOLARIS_XINERAMA)
1278 AC_DEFINE(HAVE_XINERAMA)
1286 AC_MSG_CHECKING(for Xinerama support on XFree86)
1288 have_xfree_xinerama=false
1289 if $PKG_CONFIG --exists xinerama ; then
1290 have_xfree_xinerama=true
1291 X_PACKAGES="$X_PACKAGES xinerama"
1293 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1294 [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
1295 [GTK_ADD_LIB(x_extra_libs,Xinerama)
1296 have_xfree_xinerama=true], :,
1297 [#include <X11/Xlib.h>])])
1300 if $have_xfree_xinerama ; then
1301 AC_DEFINE(HAVE_XFREE_XINERAMA)
1302 AC_DEFINE(HAVE_XINERAMA)
1311 # set up things for XInput
1313 if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
1314 AC_DEFINE(XINPUT_XFREE)
1316 if $PKG_CONFIG --exists xi ; then
1317 X_PACKAGES="$X_PACKAGES xi"
1319 GTK_ADD_LIB(x_extra_libs, Xi)
1322 AC_DEFINE(XINPUT_NONE)
1325 AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
1327 # Check for the RANDR extension
1328 if $PKG_CONFIG --exists "xrandr >= 1.2" ; then
1329 AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
1331 X_PACKAGES="$X_PACKAGES xrandr"
1334 if $have_randr ; then
1335 AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
1338 # Checks for Xcursor library
1340 if $PKG_CONFIG --exists xcursor ; then
1341 AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1343 X_PACKAGES="$X_PACKAGES xcursor"
1346 # Checks for XFixes extension
1348 if $PKG_CONFIG --exists xfixes ; then
1349 AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1351 X_PACKAGES="$X_PACKAGES xfixes"
1352 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
1355 # Checks for Xcomposite extension
1357 if $PKG_CONFIG --exists xcomposite ; then
1358 AC_DEFINE(HAVE_XCOMPOSITE, 1, Have the XCOMPOSITE X extension)
1360 X_PACKAGES="$X_PACKAGES xcomposite"
1361 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite"
1364 # Checks for Xdamage extension
1366 if $PKG_CONFIG --exists xdamage ; then
1367 AC_DEFINE(HAVE_XDAMAGE, 1, Have the XDAMAGE X extension)
1369 X_PACKAGES="$X_PACKAGES xdamage"
1370 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage"
1373 if $have_base_x_pc ; then
1374 GDK_EXTRA_LIBS="$x_extra_libs"
1376 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
1379 CPPFLAGS="$gtk_save_cppflags"
1380 LIBS="$gtk_save_libs"
1382 AM_CONDITIONAL(USE_X11, true)
1384 AM_CONDITIONAL(XINPUT_XFREE, false)
1385 AM_CONDITIONAL(USE_X11, false)
1386 AM_CONDITIONAL(HAVE_X11R6, false)
1389 if test "x$gdktarget" = "xwin32"; then
1390 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid"
1391 AM_CONDITIONAL(USE_WIN32, true)
1393 AM_CONDITIONAL(USE_WIN32, false)
1396 if test "x$gdktarget" = "xquartz"; then
1397 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
1398 AM_CONDITIONAL(USE_QUARTZ, true)
1400 AM_CONDITIONAL(USE_QUARTZ, false)
1403 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1404 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"
1406 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1407 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1408 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1409 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1410 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1412 if test "x$gdktarget" = "xdirectfb"; then
1413 DIRECTFB_REQUIRED_VERSION=0.9.24
1414 AC_MSG_CHECKING(for DirectFB)
1416 if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
1417 AC_MSG_RESULT(found)
1418 GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
1419 GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
1422 *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend
1423 *** are required. The latest version of DirectFB is always available
1424 *** from http://www.directfb.org/.
1428 AM_CONDITIONAL(USE_DIRECTFB, true)
1430 AM_CONDITIONAL(USE_DIRECTFB, false)
1434 # Check for Pango flags
1436 if test "x$gdktarget" = "xwin32"; then
1437 PANGO_PACKAGES="pangowin32 pangocairo"
1439 PANGO_PACKAGES="pango pangocairo"
1442 AC_MSG_CHECKING(Pango flags)
1443 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1444 PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1445 PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1447 AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1450 *** Pango not found. Pango built with Cairo support is required
1451 *** to build GTK+. See http://www.pango.org for Pango information.
1455 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1457 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1460 gtk_save_LIBS="$LIBS"
1461 LIBS="$PANGO_LIBS $LIBS"
1462 AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1463 *** Can't link to Pango. Pango is required to build
1464 *** GTK+. For more information see http://www.pango.org]))
1465 LIBS="$gtk_save_LIBS"
1468 CFLAGS="$saved_cflags"
1469 LDFLAGS="$saved_ldflags"
1471 GDK_PACKAGES="$PANGO_PACKAGES gio-2.0"
1472 if test "x$gdktarget" = "xx11"; then
1473 GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
1475 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1476 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1479 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1480 # into the pkg-config files
1482 if test $enable_explicit_deps != yes ; then
1483 GDK_PACKAGES="$PANGO_PACKAGES"
1487 AC_SUBST(GDK_PACKAGES)
1488 AC_SUBST(GDK_EXTRA_LIBS)
1489 AC_SUBST(GDK_EXTRA_CFLAGS)
1490 AC_SUBST(GDK_DEP_LIBS)
1491 AC_SUBST(GDK_DEP_CFLAGS)
1494 ########################################
1495 # Check for Accessibility Toolkit flags
1496 ########################################
1499 AC_MSG_CHECKING(ATK flags)
1500 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1501 ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1502 ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1504 AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1507 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1512 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1515 gtk_save_LIBS="$LIBS"
1516 LIBS="$ATK_LIBS $LIBS"
1517 AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1518 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1519 *** to build GTK+]))
1520 LIBS="$gtk_save_LIBS"
1523 GTK_PACKAGES="atk cairo"
1526 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"
1527 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"
1529 if test x"$os_win32" = xyes; then
1530 GTK_EXTRA_CFLAGS="$msnative_struct"
1533 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
1534 ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
1535 PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
1536 CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
1538 if test $enable_explicit_deps != yes ; then
1539 GDK_PIXBUF_EXTRA_LIBS=
1542 AC_SUBST(GDK_PIXBUF_PACKAGES)
1543 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
1544 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
1545 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
1546 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
1548 AC_SUBST(GTK_PACKAGES)
1549 AC_SUBST(GTK_EXTRA_LIBS)
1550 AC_SUBST(GTK_EXTRA_CFLAGS)
1551 AC_SUBST(GTK_DEP_LIBS)
1552 AC_SUBST(GTK_DEP_CFLAGS)
1554 AC_SUBST(GLIB_PREFIX)
1555 AC_SUBST(ATK_PREFIX)
1556 AC_SUBST(PANGO_PREFIX)
1557 AC_SUBST(CAIRO_PREFIX)
1559 AC_SUBST(GTK_DEBUG_FLAGS)
1560 AC_SUBST(GTK_XIM_FLAGS)
1562 ########################
1563 # Checks needed for gail
1564 ########################
1567 dnl Checks for inet libraries:
1568 AC_SEARCH_LIBS(gethostent, nsl)
1569 AC_SEARCH_LIBS(setsockopt, socket)
1570 AC_SEARCH_LIBS(connect, inet)
1572 dnl check for the sockaddr_un.sun_len member
1573 AC_CHECK_MEMBER([struct sockaddr_un.sun_len],
1574 [struct_sockaddr_un_sun_len=true],
1575 [struct_sockaddr_un_suin_len=false],
1576 [#include <sys/types.h>
1577 #include <sys/un.h>]
1579 case $struct_sockaddr_un_sun_len in
1581 AC_DEFINE_UNQUOTED(HAVE_SOCKADDR_UN_SUN_LEN, 1, Have the sockaddr_un.sun_len member.)
1587 GAIL_INET_LIBS="$LIBS"
1588 AC_SUBST([GAIL_INET_LIBS])
1592 ################################################################
1593 # Printing system checks
1594 ################################################################
1596 AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
1597 if test "x$CUPS_CONFIG" != "xno"; then
1598 CUPS_CFLAGS=`$CUPS_CONFIG --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
1599 CUPS_LIBS=`$CUPS_CONFIG --libs`
1601 CUPS_API_VERSION=`$CUPS_CONFIG --api-version`
1602 CUPS_API_MAJOR=`echo $ECHO_N $CUPS_API_VERSION | awk -F. '{print $1}'`
1603 CUPS_API_MINOR=`echo $ECHO_N $CUPS_API_VERSION | awk -F. '{print $2}'`
1605 if test $CUPS_API_MAJOR -gt 1 -o \
1606 $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
1607 AC_DEFINE(HAVE_CUPS_API_1_2)
1610 AC_SUBST(CUPS_API_MAJOR)
1611 AC_SUBST(CUPS_API_MINOR)
1612 AC_SUBST(CUPS_CFLAGS)
1615 AC_CHECK_HEADER(cups/cups.h,,AC_MSG_ERROR([[*** Sorry, cups-config present but cups/cups.h missing.]]))
1617 AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
1619 gtk_save_cflags="$CFLAGS"
1620 CFLAGS="$CUPS_CFLAGS"
1621 AC_TRY_COMPILE([#include <cups/http.h>],
1622 [http_t http; char *s = http.authstring;],
1623 [AC_DEFINE(HAVE_HTTP_AUTHSTRING,[],[Define if cups http_t authstring field is accessible])],)
1624 CFLAGS="$gtk_save_cflags"
1626 AC_SUBST(HAVE_HTTP_AUTHSTRING)
1628 gtk_save_libs="$LIBS"
1630 AC_CHECK_FUNCS(httpGetAuthString)
1631 LIBS="$gtk_save_libs"
1633 gtk_save_cppflags="$CPPFLAGS"
1634 CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
1636 AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
1637 *** Can't find cairo-pdf.h. You must build Cairo with the pdf
1638 *** backend enabled.]))
1640 if test "$os_win32" != "yes"; then
1641 AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
1642 *** Can't find cairo-ps.h. You must build Cairo with the
1643 *** postscript backend enabled.]))
1646 CPPFLAGS="$gtk_save_cppflags"
1649 AC_ARG_ENABLE(test-print-backend,
1650 [AC_HELP_STRING([--enable-test-print-backend],
1651 [build test print backend])],,
1652 [enable_test_print_backend=no])
1653 AM_CONDITIONAL(TEST_PRINT_BACKEND, test "x$enable_test_print_backend" != "xno")
1656 ################################################################
1657 # Strip -export-dynamic from the link lines of various libraries
1658 ################################################################
1661 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1662 # but this flag is only meaningful for executables. For libraries
1663 # the effect is undefined; what it causes on Linux is that the
1664 # export list from -export-symbols-regex is ignored and everything
1667 # We are using gmodule-no-export now, but I'm leaving the stripping
1668 # code in place for now, since pango and atk still require gmodule.
1670 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1671 if test -n "$export_dynamic"; then
1672 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1673 GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1674 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1675 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1679 ##################################################
1680 # Checks for gtk-doc and docbook-tools
1681 ##################################################
1683 GTK_DOC_CHECK([1.8])
1685 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1686 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1689 [AC_HELP_STRING([--enable-man],
1690 [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1693 if test "${enable_man}" != no; then
1695 dnl Check for xsltproc
1697 AC_PATH_PROG([XSLTPROC], [xsltproc])
1698 if test -z "$XSLTPROC"; then
1702 dnl check for DocBook DTD and stylesheets in the local catalog.
1703 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1704 [DocBook XML DTD V4.1.2],,enable_man=no)
1705 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1706 [DocBook XSL Stylesheets],,enable_man=no)
1709 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1712 ##################################################
1714 ##################################################
1716 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1717 outfile=gdkconfig.h-tmp
1718 cat > $outfile <<\_______EOF
1721 * This is a generated file. Please modify `configure.in'
1729 #endif /* __cplusplus */
1733 cat >>$outfile <<_______EOF
1738 cat >>$outfile <<_______EOF
1742 #endif /* __cplusplus */
1744 #endif /* GDKCONFIG_H */
1748 if cmp -s $outfile gdk/gdkconfig.h; then
1749 AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1752 mv $outfile gdk/gdkconfig.h
1755 if test "x$gdktarget" = "xx11" ; then
1757 #define GDK_WINDOWING_X11'
1758 elif test "x$gdktarget" = "xwin32" ; then
1760 #define GDK_WINDOWING_WIN32'
1761 elif test "x$gdktarget" = "xquartz" ; then
1763 #define GDK_WINDOWING_QUARTZ'
1764 elif test "x$gdktarget" = "xdirectfb" ; then
1766 #define GDK_WINDOWING_DIRECTFB'
1769 if test x$gdk_wchar_h = xyes; then
1771 #define GDK_HAVE_WCHAR_H 1'
1773 if test x$gdk_wctype_h = xyes; then
1775 #define GDK_HAVE_WCTYPE_H 1"
1777 if test x$gdk_working_wctype = xno; then
1779 #define GDK_HAVE_BROKEN_WCTYPE 1"
1792 gtk+-unix-print-2.0.pc
1794 gdk-pixbuf-2.0-uninstalled.pc
1795 gdk-2.0-uninstalled.pc
1796 gtk+-2.0-uninstalled.pc
1800 po-properties/Makefile.in
1802 demos/gtk-demo/Makefile
1803 demos/gtk-demo/geninclude.pl
1806 docs/reference/Makefile
1807 docs/reference/gdk-pixbuf/Makefile
1808 docs/reference/gdk-pixbuf/version.xml
1809 docs/reference/gdk/Makefile
1810 docs/reference/gdk/version.xml
1811 docs/reference/gtk/Makefile
1812 docs/reference/gtk/version.xml
1813 docs/reference/libgail-util/Makefile
1816 docs/tutorial/Makefile
1818 gdk-pixbuf/gdk_pixbuf.rc
1819 gdk-pixbuf/gdk-pixbuf-features.h
1820 gdk-pixbuf/pixops/Makefile
1824 gdk/win32/rc/Makefile
1827 gdk/directfb/Makefile
1832 gtk/theme-bits/Makefile
1834 gtk/xdgmime/Makefile
1836 modules/other/Makefile
1837 modules/other/gail/Makefile
1838 modules/other/gail/libgail-util/Makefile
1839 modules/engines/Makefile
1840 modules/engines/pixbuf/Makefile
1841 modules/engines/ms-windows/Makefile
1842 modules/engines/ms-windows/Theme/Makefile
1843 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1844 modules/input/Makefile
1845 modules/printbackends/Makefile
1846 modules/printbackends/cups/Makefile
1847 modules/printbackends/lpr/Makefile
1848 modules/printbackends/file/Makefile
1849 modules/printbackends/test/Makefile
1852 contrib/gdk-pixbuf-xlib/Makefile
1853 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
1858 echo "configuration: