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], [90])
15 m4_define([gtk_micro_version], [4])
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], [3.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], [3.0.0])
33 # required versions of other packages
34 m4_define([glib_required_version], [2.25.9])
35 m4_define([pango_required_version], [1.20])
36 m4_define([atk_required_version], [1.29.2])
37 m4_define([cairo_required_version], [1.6])
40 AC_INIT([gtk+], [gtk_version],
41 [http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B],
44 AC_CONFIG_HEADER([config.h])
45 AC_CONFIG_SRCDIR([gdk/gdktypes.h])
46 AC_CONFIG_MACRO_DIR([m4])
48 # Save this value here, since automake will set cflags later
49 cflags_set=${CFLAGS+set}
51 AM_INIT_AUTOMAKE([1.10 no-define -Wno-portability dist-bzip2])
52 AM_MAINTAINER_MODE([enable])
54 # Support silent build rules, requires at least automake-1.11. Enable
55 # by either passing --enable-silent-rules to configure or passing V=0
57 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])])
60 # For each of the libraries we build, we define the following
61 # substituted variables:
63 # foo_PACKAGES: pkg-config packages this library requires
64 # foo_EXTRA_LIBS: Libraries this module requires not pulled in by pkg-config
65 # foo_EXTRA_CFLAGS: cflags this module requires not pulled in by pkg-config
66 # foo_DEP_LIBS: All libraries this module requires
67 # foo_DEP_CFLAGS: All cflags this module requires
70 GTK_MAJOR_VERSION=gtk_major_version
71 GTK_MINOR_VERSION=gtk_minor_version
72 GTK_MICRO_VERSION=gtk_micro_version
73 GTK_INTERFACE_AGE=gtk_interface_age
74 GTK_BINARY_AGE=gtk_binary_age
75 GTK_VERSION=gtk_version
76 GTK_API_VERSION=gtk_api_version
77 GTK_BINARY_VERSION=gtk_binary_version
78 AC_SUBST(GTK_MAJOR_VERSION)
79 AC_SUBST(GTK_MINOR_VERSION)
80 AC_SUBST(GTK_MICRO_VERSION)
81 AC_SUBST(GTK_INTERFACE_AGE)
82 AC_SUBST(GTK_BINARY_AGE)
83 AC_SUBST(GTK_API_VERSION)
85 AC_SUBST(GTK_BINARY_VERSION)
88 #LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
89 #LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
90 #LT_REVISION=$GTK_INTERFACE_AGE
91 #LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
92 #LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
94 m4_define([lt_current], [m4_eval(100 * gtk_minor_version + gtk_micro_version - gtk_interface_age)])
95 m4_define([lt_revision], [gtk_interface_age])
96 m4_define([lt_age], [m4_eval(gtk_binary_age - gtk_interface_age)])
97 LT_VERSION_INFO="lt_current:lt_revision:lt_age"
98 LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
99 AC_SUBST(LT_VERSION_INFO)
100 AC_SUBST(LT_CURRENT_MINUS_AGE)
102 m4_define([gail_lt_current],[0])
103 m4_define([gail_lt_revision],[0])
104 m4_define([gail_lt_age],[0])
105 m4_define([gail_lt_version_info],[gail_lt_current:gail_lt_revision:gail_lt_age])
106 m4_define([gail_lt_current_minus_age],[m4_eval(gail_lt_current - gail_lt_age)])
107 AC_SUBST([GAIL_LT_VERSION_INFO],[gail_lt_version_info])
108 AC_SUBST([GAIL_LT_CURRENT_MINUS_AGE],[gail_lt_current_minus_age])
111 # gdk-pixbuf gets versioned separately, and for now, using standard
112 # libtool versioning, not GTK+-style versioning
114 GDK_PIXBUF_MAJOR=gtk_major_version
115 GDK_PIXBUF_MINOR=gtk_minor_version
116 GDK_PIXBUF_MICRO=gtk_micro_version
117 GDK_PIXBUF_VERSION="${GDK_PIXBUF_MAJOR}.${GDK_PIXBUF_MINOR}.${GDK_PIXBUF_MICRO}"
118 AC_SUBST(GDK_PIXBUF_MAJOR)
119 AC_SUBST(GDK_PIXBUF_MINOR)
120 AC_SUBST(GDK_PIXBUF_MICRO)
121 AC_SUBST(GDK_PIXBUF_VERSION)
123 # Checks for programs.
131 GETTEXT_PACKAGE=gtk30
132 AC_SUBST(GETTEXT_PACKAGE)
133 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
134 [The prefix for our gettext translation domains.])
139 AC_MSG_CHECKING([for native Win32])
140 LIB_EXE_MACHINE_FLAG=X86
141 EXE_MANIFEST_ARCHITECTURE=X86
149 LIB_EXE_MACHINE_FLAG=X64
150 EXE_MANIFEST_ARCHITECTURE=AMD64
158 AC_MSG_RESULT([$os_win32])
160 AC_SUBST(LIB_EXE_MACHINE_FLAG)
161 AC_SUBST(EXE_MANIFEST_ARCHITECTURE)
170 dnl Check for a working C++ compiler, but do not bail out, if none is found.
171 dnl We use this for an automated test for C++ header correctness.
173 AC_CHECK_TOOLS(CXX, [$CCC c++ g++ gcc CC cxx cc++ cl], gcc)
176 AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=)
177 AM_CONDITIONAL(HAVE_CXX, test "$CXX" != "")
179 gtk_save_cxxflags="$CXXFLAGS"
180 CXXFLAGS="$CXXFLAGS -x objective-c++"
181 AC_TRY_COMPILE([@interface Foo @end],,OBJC=yes,OBJC=no)
182 AM_CONDITIONAL(HAVE_OBJC, test "$OBJC" = "yes")
183 CXXFLAGS="$gtk_save_cxxflags"
186 if test "$os_win32" = "yes"; then
187 if test x$enable_static = xyes -o x$enable_static = x; then
188 AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.])
191 if test x$enable_shared = xno; then
192 AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.])
197 dnl Initialize libtool
199 LT_INIT([disable-static win32-dll])
200 # Create libtool early, because it's used in configure
203 # Make sure we use 64-bit versions of various file stuff.
207 AC_PATH_PROG(NM, nm, nm)
209 AC_MSG_CHECKING([for some Win32 platform])
211 *-*-mingw*|*-*-cygwin*)
218 AC_MSG_RESULT([$platform_win32])
219 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
221 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
222 AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
223 AM_CONDITIONAL(OS_LINUX, test "$os_linux" = "yes")
225 if test "$os_win32" = "yes"; then
226 AC_CHECK_TOOL(WINDRES, windres, no)
227 if test "$WINDRES" = no; then
228 AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.])
230 AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
232 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
234 m4_define([debug_default],
235 m4_if(m4_eval(gtk_minor_version % 2), [1], [yes], [minimum]))
237 dnl declare --enable-* args and collect ac_help strings
239 AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
240 [turn on debugging @<:@default=debug_default@:>@]),,
241 enable_debug=debug_default)
243 [AC_HELP_STRING([--enable-shm],
244 [support shared memory if available [default=yes]])],,
247 [AC_HELP_STRING([--enable-xkb],
248 [support XKB [default=maybe]])],,
249 [enable_xkb="maybe"])
250 AC_ARG_ENABLE(xinerama,
251 [AC_HELP_STRING([--enable-xinerama],
252 [support xinerama extension if available [default=yes]])],,
253 [enable_xinerama="yes"])
254 AC_ARG_ENABLE(rebuilds,
255 [AC_HELP_STRING([--disable-rebuilds],
256 [disable all source autogeneration rules])],,
257 [enable_rebuilds=yes])
258 AC_ARG_ENABLE(visibility,
259 [AC_HELP_STRING([--disable-visibility],
260 [do not use ELF visibility attributes])],,
261 [enable_visibility=yes])
264 [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
266 if test "$platform_win32" = yes; then
272 AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target],
273 gdktarget=$with_gdktarget)
277 x11|win32|quartz|directfb) ;;
278 *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);;
281 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
282 gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
284 AC_SUBST(gdktargetlib)
285 AC_SUBST(gtktargetlib)
287 if test "x$enable_debug" = "xyes"; then
288 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
289 GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES"
291 if test "x$enable_debug" = "xno"; then
292 GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
294 GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
299 if test "x$enable_visibility" = "xno"; then
300 GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
304 AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}",
305 [Define if debugging is enabled])
308 # Build time sanity check...
312 if test "x$GCC" = "xyes"; then
314 *[\ \ ]-Wall[\ \ ]*) ;;
315 *) CFLAGS="$CFLAGS -Wall" ;;
318 if test "x$enable_ansi" = "xyes"; then
320 *[\ \ ]-ansi[\ \ ]*) ;;
321 *) CFLAGS="$CFLAGS -ansi" ;;
325 *[\ \ ]-pedantic[\ \ ]*) ;;
326 *) CFLAGS="$CFLAGS -pedantic" ;;
332 CPPFLAGS="$CPPFLAGS -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES"
334 # Ensure MSVC-compatible struct packing convention is used when
335 # compiling for Win32 with gcc.
336 # What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
337 # gcc2 uses "-fnative-struct".
338 if test x"$os_win32" = xyes; then
339 if test x"$GCC" = xyes; then
341 AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
342 if test -z "$ac_cv_prog_CC"; then
345 our_gcc="$ac_cv_prog_CC"
347 case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
349 if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
350 msnative_struct='-fnative-struct'
354 if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
355 msnative_struct='-mms-bitfields'
359 if test x"$msnative_struct" = x ; then
360 AC_MSG_RESULT([no way])
361 AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
363 CFLAGS="$CFLAGS $msnative_struct"
364 AC_MSG_RESULT([${msnative_struct}])
369 ## Initial sanity check, done here so that users get told they
370 ## have the wrong dependencies as early in the process as possible.
371 ## Later on we actually use the cflags/libs from separate pkg-config
372 ## calls. Oh, also the later pkg-config calls don't include
373 ## the version requirements since those make the module lists
374 ## annoying to construct
375 PKG_CHECK_MODULES(BASE_DEPENDENCIES,
376 [glib-2.0 >= glib_required_version dnl
377 atk >= atk_required_version dnl
378 pango >= pango_required_version dnl
379 cairo >= cairo_required_version])
381 ## In addition to checking that cairo is present, we also need to
382 ## check that the correct cairo backend is there. E.g. if the GDK
383 ## target is win32 we need the cairo-win32 backend and so on.
384 cairo_backend=$gdktarget
386 # GDK calls the xlib backend "x11," cairo calls it "xlib." Other
387 # backend names are identical.
388 if test "x$cairo_backend" = "xx11"; then
391 PKG_CHECK_MODULES(CAIRO_BACKEND,
392 [cairo-$cairo_backend >= cairo_required_version])
394 if test "$os_win32" != yes; then
395 # libtool option to control which symbols are exported
396 # right now, symbols starting with _ are not exported
397 LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
399 # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
400 LIBTOOL_EXPORT_OPTIONS=
402 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
404 dnl ******************************************************
405 dnl * See whether to include shared library dependencies *
406 dnl ******************************************************
408 AC_ARG_ENABLE(explicit-deps,
409 [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
410 [use explicit dependencies in .pc files [default=auto]])],,
411 [enable_explicit_deps=auto])
413 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
414 case $enable_explicit_deps in
417 deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
418 if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
419 enable_explicit_deps=yes
421 enable_explicit_deps=no
426 *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
429 AC_MSG_RESULT($enable_explicit_deps)
431 AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
433 # define a MAINT-like variable REBUILD which is set if Perl
434 # and awk are found, so autogenerated sources can be rebuilt
436 AC_PATH_PROGS(PERL, perl5 perl)
438 # We would like indent, but don't require it.
439 AC_CHECK_PROG(INDENT, indent, indent)
442 if test "x$enable_rebuilds" = "xyes" && \
444 $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
449 AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked)
450 AC_CHECK_FUNCS(localtime_r)
452 # _NL_TIME_FIRST_WEEKDAY is an enum and not a define
453 AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
454 AC_TRY_LINK([#include <langinfo.h>], [
456 c = *((unsigned char *) nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
457 ], gtk_ok=yes, gtk_ok=no)
458 AC_MSG_RESULT($gtk_ok)
459 if test "$gtk_ok" = "yes"; then
460 AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
461 [Define if _NL_TIME_FIRST_WEEKDAY is available])
464 # _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
465 AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
466 AC_TRY_LINK([#include <langinfo.h>], [
468 c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
469 ], gtk_ok=yes, gtk_ok=no)
470 AC_MSG_RESULT($gtk_ok)
471 if test "$gtk_ok" = "yes"; then
472 AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1],
473 [Define if _NL_MEASUREMENT_MEASUREMENT is available])
476 # _NL_PAPER_HEIGHT is an enum and not a define
477 AC_MSG_CHECKING([for _NL_PAPER_HEIGHT])
478 AC_TRY_LINK([#include <langinfo.h>], [
480 c = *((unsigned char *) nl_langinfo(_NL_PAPER_HEIGHT));
481 ], gtk_ok=yes, gtk_ok=no)
482 AC_MSG_RESULT($gtk_ok)
483 if test "$gtk_ok" = "yes"; then
484 AC_DEFINE([HAVE__NL_PAPER_HEIGHT], [1],
485 [Define if _NL_PAPER_HEIGHT is available])
488 # _NL_PAPER_WIDTH is an enum and not a define
489 AC_MSG_CHECKING([for _NL_PAPER_WIDTH])
490 AC_TRY_LINK([#include <langinfo.h>], [
492 c = *((unsigned char *) nl_langinfo(_NL_PAPER_WIDTH));
493 ], gtk_ok=yes, gtk_ok=no)
494 AC_MSG_RESULT($gtk_ok)
495 if test "$gtk_ok" = "yes"; then
496 AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1],
497 [Define if _NL_PAPER_WIDTH is available])
500 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
501 AC_MSG_CHECKING(for sigsetjmp)
502 AC_TRY_LINK([#include <setjmp.h>], [
505 ], gtk_ok=yes, gtk_ok=no)
506 AC_MSG_RESULT($gtk_ok)
507 if test "$gtk_ok" = "yes"; then
508 AC_DEFINE(HAVE_SIGSETJMP, 1,
509 [Define to 1 if sigsetjmp is available])
513 ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
515 LIBS="$LIBS $INTLLIBS"
516 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
517 sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
520 dnl Snippet below is copied from AM_GLIB_GNU_GETTEXT to generate a first
521 dnl po-properties/POTFILES during configure; see GNOME #573515.
523 dnl Generate list of files to be processed by xgettext which will
524 dnl be included in po-properties/Makefile.
525 test -d po-properties || mkdir po-properties
526 if test "x$srcdir" != "x."; then
527 if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
528 popropsrcprefix="$srcdir/"
530 popropsrcprefix="../$srcdir/"
533 popropsrcprefix="../"
535 rm -f po-properties/POTFILES
536 sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $popropsrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
537 < $srcdir/po-properties/POTFILES.in > po-properties/POTFILES
538 dnl (End of adapted AM_GLIB_GNU_GETTEXT snippet.)
540 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
542 dnl The DU4 header files don't provide library prototypes unless
543 dnl -std1 is given to the native cc.
544 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
548 AC_TRY_RUN([#include <math.h>
549 int main (void) { return (log(1) != log(1.)); }],
550 AC_MSG_RESULT(none needed),
551 gtk_save_CFLAGS="$CFLAGS"
552 CFLAGS="$CFLAGS -std1"
553 AC_TRY_RUN([#include <math.h>
554 int main (void) { return (log(1) != log(1.)); }],
555 AC_MSG_RESULT(-std1),
557 CFLAGS="$gtk_save_CFLAGS"
559 [No ANSI prototypes found in library. (-std1 didn't work.)]),
562 AC_MSG_RESULT(none needed)
566 AC_MSG_CHECKING(for the BeOS)
581 AC_MSG_CHECKING(for HP-UX)
583 hpux9* | hpux10* | hpux11*)
585 CFLAGS="$CFLAGS -DHPPEX -DSHMLINK"
592 dnl NeXTStep cc seems to need this
593 AC_MSG_CHECKING([for extra flags for POSIX compliance])
594 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
595 AC_MSG_RESULT(none needed),
596 gtk_save_CFLAGS="$CFLAGS"
597 CFLAGS="$CFLAGS -posix"
598 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
599 AC_MSG_RESULT(-posix),
601 CFLAGS="$gtk_save_CFLAGS"
602 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
605 # Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
608 GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
610 AM_PATH_GLIB_2_0(glib_required_version, :,
612 *** GLIB glib_required_version or better is required. The latest version of
613 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
614 gobject gmodule-no-export gthread)
616 # See if it's safe to turn G_DISABLE_DEPRECATED on.
617 GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
618 GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
619 if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
620 CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
623 CFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CFLAGS"
627 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
630 LIBS="$LIBS $GLIB_LIBS"
631 AC_CHECK_FUNCS(bind_textdomain_codeset)
634 AC_CHECK_HEADERS(pwd.h,
635 AC_DEFINE(HAVE_PWD_H, 1,
636 [Define to 1 if pwd.h is available]))
637 AC_CHECK_HEADERS(sys/time.h,
638 AC_DEFINE(HAVE_SYS_TIME_H, 1,
639 [Define to 1 if time.h is available]))
640 AC_CHECK_HEADERS(unistd.h,
641 AC_DEFINE(HAVE_UNISTD_H, 1,
642 [Define to 1 if unistd.h is available]))
643 AC_CHECK_HEADERS(ftw.h,
644 AC_DEFINE(HAVE_FTW_H, 1,
645 [Define to 1 if ftw.h is available]))
647 AC_MSG_CHECKING([for GNU ftw extensions])
648 AC_TRY_COMPILE([#define _XOPEN_SOURCE 500
650 #include <ftw.h>], [int flags = FTW_ACTIONRETVAL;], gtk_ok=yes, gtk_ok=no)
651 if test $gtk_ok = yes; then
653 AC_DEFINE(HAVE_GNU_FTW, 1, [Have GNU ftw])
658 saved_cflags="$CFLAGS"
659 saved_ldflags="$LDFLAGS"
662 # Checks for header files.
665 # Checks for typedefs, structures, and compiler characteristics.
668 # Checks for library functions.
672 AC_CHECK_FUNCS(mallinfo)
673 AC_CHECK_FUNCS(getresuid)
676 # Check if <sys/select.h> needs to be included for fd_set
677 AC_MSG_CHECKING([for fd_set])
678 AC_TRY_COMPILE([#include <sys/types.h>],
679 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
680 if test $gtk_ok = yes; then
681 AC_MSG_RESULT([yes, found in sys/types.h])
683 AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
684 if test $gtk_ok = yes; then
685 AC_DEFINE(HAVE_SYS_SELECT_H, 1,
686 [Define to 1 if sys/select.h is available])
687 AC_MSG_RESULT([yes, found in sys/select.h])
689 AC_DEFINE(NO_FD_SET, 1,
690 [Define to 1 if fd_set is not available])
695 # `widechar' tests for gdki18n.h
696 AC_MSG_CHECKING(for wchar.h)
697 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
698 if test $gdk_wchar_h = yes; then
699 AC_DEFINE(HAVE_WCHAR_H, 1, [Have wchar.h include file])
701 AC_MSG_RESULT($gdk_wchar_h)
703 # Check for wctype.h (for iswalnum)
704 AC_MSG_CHECKING(for wctype.h)
705 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
706 if test $gdk_wctype_h = yes; then
707 AC_DEFINE(HAVE_WCTYPE_H, 1, [Have wctype.h include file])
709 AC_MSG_RESULT($gdk_wctype_h)
711 # in Solaris 2.5, `iswalnum' is in -lw
713 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
716 LIBS="$LIBS $GDK_WLIBS"
717 # The following is necessary for Linux libc-5.4.38
718 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
719 AC_TRY_LINK([#include <stdlib.h>],[
720 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
721 # ifdef HAVE_WCTYPE_H
729 # define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
731 iswalnum((wchar_t) 0);
732 ], gdk_working_wctype=yes, gdk_working_wctype=no)
735 if test $gdk_working_wctype = no; then
736 AC_DEFINE(HAVE_BROKEN_WCTYPE, 1, [Is the wctype implementation broken])
739 AC_MSG_RESULT($gdk_working_wctype)
742 # Check for uxtheme.h (for MS-Windows Engine)
743 AC_MSG_CHECKING(for uxtheme.h)
744 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
745 if test $gtk_uxtheme_h = yes; then
746 AC_DEFINE(HAVE_UXTHEME_H, 1, [Have uxtheme.h include file])
748 AC_MSG_RESULT($gtk_uxtheme_h)
750 # Checks for gdkspawn
751 AC_CHECK_HEADERS(crt_externs.h)
752 AC_CHECK_FUNCS(_NSGetEnviron)
755 ##################################################
756 # Checks for gdk-pixbuf
757 ##################################################
759 dnl ********************************************************
760 dnl * See whether we need to load our modules as .la files *
761 dnl ********************************************************
765 *-aix*) use_la_modules=true
768 if $use_la_modules ; then
769 AC_DEFINE(USE_LA_MODULES, 1,
770 [Whether to load modules via .la files rather than directly])
774 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
776 AC_ARG_ENABLE(modules,
777 [AC_HELP_STRING([--disable-modules],
778 [disable dynamic module loading])])
782 if test x$enable_modules = xno; then
786 AC_MSG_CHECKING(whether dynamic modules work)
787 ## for loop is to strip newline
788 tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
793 dnl Now we check to see if our libtool supports shared lib deps
794 dnl (in a rather ugly way even)
796 pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
797 pixbuf_deplibs_check=`$pixbuf_libtool_config | \
798 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
799 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
800 if test "x$pixbuf_deplibs_check" = "xnone" || \
801 test "x$pixbuf_deplibs_check" = "xunknown" || \
802 test "x$pixbuf_deplibs_check" = "x"; then
808 AC_DEFINE(USE_GMODULE, 1,
809 [Define to 1 if gmodule works and should be used])
816 dnl We allow people to disable image loaders explicitely, but if they don't we error
817 dnl out so that people don't accidentally build without them.
820 [AC_HELP_STRING([--without-libpng],
821 [disable PNG loader for gdk-pixbuf])])
823 [AC_HELP_STRING([--without-libjpeg],
824 [disable JPEG loader for gdk-pixbuf])])
826 [AC_HELP_STRING([--without-libtiff],
827 [disable TIFF loader for gdk-pixbuf])])
828 AC_ARG_WITH(libjasper,
829 [AC_HELP_STRING([--with-libjasper],
830 [enable JPEG2000 loader for gdk-pixbuf])])
832 AC_ARG_ENABLE(gdiplus,
833 [AC_HELP_STRING([--enable-gdiplus],
834 [enble GDI+ loaders for gdk-pixbuf (currently known to be broken)])],,
837 AM_CONDITIONAL(BUILD_GDIPLUS_LOADERS, [ test x$os_win32 = xyes && test x$enable_gdiplus != xno ])
840 if test x$os_win32 = xno || test x$enable_gdiplus = xno; then
841 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
842 AC_CHECK_LIB(tiff, TIFFReadRGBAImageOriented,
843 [AC_CHECK_HEADER(tiffio.h,
844 TIFF='tiff'; LIBTIFF='-ltiff',
845 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
846 [AC_CHECK_LIB(tiff, TIFFWriteScanline,
847 [AC_CHECK_HEADER(tiffio.h,
848 TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
849 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
850 [AC_CHECK_LIB(tiff34, TIFFFlushData,
851 [AC_CHECK_HEADER(tiffio.h,
852 TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
853 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
854 AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
857 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
859 *** Checks for TIFF loader failed. You can build without it by passing
860 *** --without-libtiff to configure but some programs using GTK+ may
861 *** not work properly])
866 if test x$os_win32 = xno || test x$enable_gdiplus = xno; then
867 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
868 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
871 AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
872 if test "$jpeg_ok" = yes; then
873 AC_MSG_CHECKING([for jpeglib.h])
879 #include <jpeglib.h>],
882 AC_MSG_RESULT($jpeg_ok)
883 if test "$jpeg_ok" = yes; then
885 AC_CHECK_LIB(jpeg, jpeg_simple_progression,
886 AC_DEFINE(HAVE_PROGRESSIVE_JPEG, 1,
887 [Define to 1 is libjpeg supports progressive JPEG]),
888 AC_MSG_WARN(JPEG library does not support progressive saving.))
890 AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
895 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
897 *** Checks for JPEG loader failed. You can build without it by passing
898 *** --without-libjpeg to configure but some programs using GTK+ may
899 *** not work properly])
904 if test x$with_libpng != xno && test -z "$LIBPNG"; then
905 AC_MSG_CHECKING(for libpng12)
906 if $PKG_CONFIG --exists libpng12 ; then
909 PNG_DEP_CFLAGS_PACKAGES=libpng12
910 LIBPNG=`$PKG_CONFIG --libs libpng12`
913 AC_CHECK_LIB(png, png_read_info,
914 [AC_CHECK_HEADER(png.h,
917 AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
918 if test "$png_ok" = yes; then
919 AC_MSG_CHECKING([for png_structp in png.h])
920 AC_TRY_COMPILE([#include <png.h>],
921 [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
924 AC_MSG_RESULT($png_ok)
925 if test "$png_ok" = yes; then
926 PNG='png'; LIBPNG='-lpng -lz'
928 AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
931 AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
936 if test x$with_libpng != xno && test -z "$LIBPNG"; then
938 *** Checks for PNG loader failed. You can build without it by passing
939 *** --without-libpng to configure but many programs using GTK+ will
940 *** not work properly. The PNG loader is also needed if you are compiling
944 dnl Test for libjasper
945 if test x$with_libjasper = xyes && test -z "$LIBJASPER"; then
946 AC_CHECK_LIB(jasper, jas_init, LIBJASPER=-ljasper, [], -ljpeg -lm)
949 if test x$with_libjasper = xyes && test -z "$LIBJASPER"; then
951 *** Checks for JPEG2000 loader failed. You can build without it by passing
952 *** --without-libjasper to configure])
960 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
963 # Allow building some or all gdk-pixbuf loaders included
965 AC_MSG_CHECKING(pixbuf loaders to build)
967 dnl due to an autoconf bug, commas in the first arg to
968 dnl AC_HELP_STRING cause problems.
969 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
970 dnl [build the specified loaders into gdk-pixbuf])
971 AC_ARG_WITH(included_loaders,
972 [ --with-included-loaders=LOADER1,LOADER2,...
973 build the specified loaders into gdk-pixbuf])
978 ## if the option was specified, leave it; otherwise disable included loaders
979 if test x$with_included_loaders = xno; then
980 with_included_loaders=yes
984 # Use the traditional png loader instead of the GDI+ one on Windows,
985 # because some important apps like GIMP need to read and write
986 # arbitrary tEXt chunks which doesn't seem to be possible through GDI+
988 all_loaders="ani,icns,pcx,ras,tga,png,pnm,wbmp,xbm,xpm,qtif"
989 if test x$with_libjasper != xno; then
990 all_loaders="$all_loaders,jasper"
992 if test x$os_win32 = xyes && test x$enable_gdiplus != xno; then
993 # Skip PNG, see comment above
994 gdip_formats="bmp emf gif ico jpeg tiff wmf"
995 for f in $gdip_formats; do
996 all_loaders="$all_loaders,gdip-$f"
999 all_loaders="$all_loaders,bmp,gif,ico,jpeg,tiff"
1002 # If no loaders specified, include all
1003 if test "x$with_included_loaders" = xyes ; then
1004 included_loaders="$all_loaders"
1006 included_loaders="$with_included_loaders"
1009 AC_MSG_RESULT($included_loaders)
1011 INCLUDED_LOADER_OBJ=
1012 INCLUDED_LOADER_DEFINE=
1014 IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
1015 for loader in $included_loaders; do
1016 if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
1019 AC_MSG_ERROR([the specified loader $loader does not exist])
1022 loader_underscores=`echo $loader | sed -e 's/-/_/g'`
1023 INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libstatic-pixbufloader-$loader.la"
1025 # Don't bother defining separate -DINCLUDE_gdip_foo for each gdip-foo loader
1028 *) INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader_underscores";;
1030 eval INCLUDE_$loader_underscores=yes
1033 # Just define one -DINCLUDE_gdiplus for all the gdip-foo loaders
1034 # (except gdip-png, which isn't built at all)
1035 if test x"$INCLUDE_gdip_ico" = xyes; then
1036 INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_gdiplus"
1040 AC_SUBST(INCLUDED_LOADER_OBJ)
1041 AC_SUBST(INCLUDED_LOADER_DEFINE)
1043 AM_CONDITIONAL(INCLUDE_PNG, [test x"$INCLUDE_png" = xyes])
1044 AM_CONDITIONAL(INCLUDE_BMP, [test x"$INCLUDE_bmp" = xyes])
1045 AM_CONDITIONAL(INCLUDE_WBMP, [test x"$INCLUDE_wbmp" = xyes])
1046 AM_CONDITIONAL(INCLUDE_GIF, [test x"$INCLUDE_gif" = xyes])
1047 AM_CONDITIONAL(INCLUDE_ICO, [test x"$INCLUDE_ico" = xyes])
1048 AM_CONDITIONAL(INCLUDE_ANI, [test x"$INCLUDE_ani" = xyes])
1049 AM_CONDITIONAL(INCLUDE_JPEG, [test x"$INCLUDE_jpeg" = xyes])
1050 AM_CONDITIONAL(INCLUDE_PNM, [test x"$INCLUDE_pnm" = xyes])
1051 AM_CONDITIONAL(INCLUDE_RAS, [test x"$INCLUDE_ras" = xyes])
1052 AM_CONDITIONAL(INCLUDE_TIFF, [test x"$INCLUDE_tiff" = xyes])
1053 AM_CONDITIONAL(INCLUDE_XPM, [test x"$INCLUDE_xpm" = xyes])
1054 AM_CONDITIONAL(INCLUDE_XBM, [test x"$INCLUDE_xbm" = xyes])
1055 AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
1056 AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
1057 AM_CONDITIONAL(INCLUDE_ICNS, [test x"$INCLUDE_icns" = xyes])
1058 AM_CONDITIONAL(INCLUDE_JASPER, [test x"$INCLUDE_jasper" = xyes])
1059 AM_CONDITIONAL(INCLUDE_QTIF, [test x"$INCLUDE_qtif" = xyes])
1060 # As all GDI+ loaders are either built-in or not, arbitrarily just
1061 # check one of the variables here
1062 AM_CONDITIONAL(INCLUDE_GDIPLUS, [test x"$INCLUDE_gdip_ico" = xyes])
1064 if test x$gio_can_sniff = x; then
1065 AC_MSG_CHECKING([if gio can sniff png])
1066 gtk_save_LIBS="$LIBS"
1067 gtk_save_CFLAGS="$CFLAGS"
1068 LIBS="`$PKG_CONFIG --libs gio-2.0`"
1069 CFLAGS="`$PKG_CONFIG --cflags gio-2.0`"
1070 AC_RUN_IFELSE([AC_LANG_SOURCE([[
1071 #include <gio/gio.h>
1072 static const gsize data_size = 159;
1073 static const guint8 data[] =
1075 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
1076 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
1077 0x08, 0x02, 0x00, 0x00, 0x00, 0x90, 0x77, 0x53, 0xde, 0x00, 0x00, 0x00,
1078 0x01, 0x73, 0x52, 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00,
1079 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00,
1080 0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74,
1081 0x49, 0x4d, 0x45, 0x07, 0xd8, 0x07, 0x0f, 0x10, 0x08, 0x15, 0x61, 0xd8,
1082 0x35, 0x37, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f,
1083 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
1084 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x47, 0x49, 0x4d, 0x50, 0x57,
1085 0x81, 0x0e, 0x17, 0x00, 0x00, 0x00, 0x0c, 0x49, 0x44, 0x41, 0x54, 0x08,
1086 0xd7, 0x63, 0xf8, 0xff, 0xff, 0x3f, 0x00, 0x05, 0xfe, 0x02, 0xfe, 0xdc,
1087 0xcc, 0x59, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae,
1091 main (int argc, char **argv)
1096 content_type = g_content_type_guess (NULL, data, data_size, NULL);
1097 image_png = g_content_type_from_mime_type ("image/png");
1098 return !!g_strcmp0 (content_type, image_png);
1101 AC_DEFINE(GDK_PIXBUF_USE_GIO_MIME, 1, [Define if gio can sniff image data])],
1103 AC_MSG_RESULT($gio_can_sniff)
1104 LIBS="$gtk_save_LIBS"
1105 CFLAGS="$gtk_save_CFLAGS"
1109 # Allow building some or all immodules included
1111 AC_MSG_CHECKING(immodules to build)
1113 dnl due to an autoconf bug, commas in the first arg to
1114 dnl AC_HELP_STRING cause problems.
1115 dnl AC_HELP_STRING([--with-included-immodules=MODULE1 MODULE2 ...],
1116 dnl [build the specified input method modules into gtk])
1117 AC_ARG_WITH(included_immodules,
1118 [ --with-included-immodules=MODULE1,MODULE2,...
1119 build the specified input methods into gtk])
1124 ## if the option was specified, leave it; otherwise disable included immodules
1125 if test x$with_included_immodules = xno; then
1126 with_included_immodules=yes
1130 all_immodules="am-et,cedilla,cyrillic-translit"
1131 if test "$gdktarget" = "win32"; then
1132 all_immodules="${all_immodules},ime"
1134 all_immodules="${all_immodules},inuktitut,ipa,multipress,thai,ti-er,ti-et,viqr"
1135 if test "$gdktarget" = "x11"; then
1136 all_immodules="${all_immodules},xim"
1139 included_immodules=""
1140 # If the switch specified without listing any specific ones, include all
1141 if test "x$with_included_immodules" = xyes ; then
1142 included_immodules="$all_immodules"
1144 included_immodules="$with_included_immodules"
1147 AC_MSG_RESULT($included_immodules)
1148 AM_CONDITIONAL(HAVE_INCLUDED_IMMMODULES, test "x$included_immodules" != x)
1150 INCLUDED_IMMODULE_OBJ=
1151 INCLUDED_IMMODULE_DEFINE=
1153 IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
1154 for immodule in $included_immodules; do
1155 immodule_underscores=`echo $immodule | sed -e 's/-/_/g'`
1156 if echo "$all_immodules" | egrep "(^|,)$immodule(\$|,)" > /dev/null; then
1159 AC_MSG_ERROR([the specified input method $immodule does not exist])
1162 INCLUDED_IMMODULE_OBJ="$INCLUDED_IMMODULE_OBJ ../modules/input/libstatic-im-$immodule.la"
1163 INCLUDED_IMMODULE_DEFINE="$INCLUDED_IMMODULE_DEFINE -DINCLUDE_IM_$immodule_underscores"
1164 eval INCLUDE_$immodule_underscores=yes
1167 AC_SUBST(INCLUDED_IMMODULE_OBJ)
1168 AC_SUBST(INCLUDED_IMMODULE_DEFINE)
1170 AM_CONDITIONAL(INCLUDE_IM_AM_ET, [test x"$INCLUDE_am_et" = xyes])
1171 AM_CONDITIONAL(INCLUDE_IM_CEDILLA, [test x"$INCLUDE_cedilla" = xyes])
1172 AM_CONDITIONAL(INCLUDE_IM_CYRILLIC_TRANSLIT, [test x"$INCLUDE_cyrillic_translit" = xyes])
1173 AM_CONDITIONAL(INCLUDE_IM_IME, [test x"$INCLUDE_ime" = xyes])
1174 AM_CONDITIONAL(INCLUDE_IM_INUKTITUT, [test x"$INCLUDE_inuktitut" = xyes])
1175 AM_CONDITIONAL(INCLUDE_IM_IPA, [test x"$INCLUDE_ipa" = xyes])
1176 AM_CONDITIONAL(INCLUDE_IM_MULTIPRESS, [test x"$INCLUDE_multipress" = xyes])
1177 AM_CONDITIONAL(INCLUDE_IM_THAI, [test x"$INCLUDE_thai" = xyes])
1178 AM_CONDITIONAL(INCLUDE_IM_TI_ER, [test x"$INCLUDE_ti_er" = xyes])
1179 AM_CONDITIONAL(INCLUDE_IM_TI_ET, [test x"$INCLUDE_ti_et" = xyes])
1180 AM_CONDITIONAL(INCLUDE_IM_VIQR, [test x"$INCLUDE_viqr" = xyes])
1181 AM_CONDITIONAL(INCLUDE_IM_XIM, [test x"$INCLUDE_xim" = xyes])
1187 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
1188 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
1189 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
1190 AM_CONDITIONAL(HAVE_JASPER, test "x$LIBJASPER" != x)
1194 if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
1195 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
1197 if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
1198 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
1200 if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
1201 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
1203 if echo "$included_loaders" | egrep '(^|,)jasper($|,)' > /dev/null; then
1204 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJASPER"
1207 STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG $LIBJASPER"
1210 # Checks to see whether we should include mediaLib
1213 AC_CHECK_HEADER(sys/systeminfo.h,
1214 AC_DEFINE(HAVE_SYS_SYSTEMINFO_H, 1,
1215 [Define to 1 if sys/systeminfo.h is available]))
1216 AC_CHECK_HEADER(sys/sysinfo.h,
1217 AC_DEFINE(HAVE_SYS_SYSINFO_H, 1,
1218 [Define to 1 if sys/sysinfo.h is available]))
1220 AC_MSG_CHECKING(for mediaLib 2.3)
1222 # Check for a mediaLib 2.3 function since that is what the GTK+ mediaLib
1224 AC_CHECK_LIB(mlib, mlib_ImageSetStruct, use_mlib=yes, use_mlib=no)
1225 if test $use_mlib = yes; then
1226 AC_DEFINE(USE_MEDIALIB, 1,
1227 [Define to 1 if medialib is available and should be used])
1230 AC_MSG_CHECKING(for mediaLib 2.5)
1231 # Check for a mediaLib 2.5 function since that is what is needed for
1232 # gdk_rgb_convert integration.
1233 AC_CHECK_LIB(mlib, mlib_VideoColorRGBint_to_BGRAint, use_mlib25=yes, use_mlib25=no)
1234 if test $use_mlib25 = yes; then
1235 AC_DEFINE(USE_MEDIALIB25, 1,
1236 [Define to 1 if medialib 2.5 is available])
1239 AM_CONDITIONAL(USE_MEDIALIB, test $use_mlib = yes)
1240 AM_CONDITIONAL(USE_MEDIALIB25, test $use_mlib25 = yes)
1242 # Checks to see if we should compile in MMX support (there will be
1243 # a runtime test when the code is actually run to see if it should
1244 # be used - this just checks if we can compile it.)
1246 # This code is partially taken from Mesa
1248 AC_MSG_CHECKING(for x86 platform)
1250 i386|i486|i586|i686|i786|k6|k7)
1256 AC_MSG_RESULT($use_x86_asm)
1259 if test $use_x86_asm = yes; then
1263 AC_MSG_CHECKING(compiler support for MMX)
1264 cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
1265 if AC_TRY_EVAL(ac_compile); then
1272 if test $use_mmx_asm = yes; then
1273 AC_DEFINE(USE_MMX, 1,
1274 [Define to 1 if XXM is available and should be used])
1281 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
1284 if test -z "$LIBPNG" && test x"$os_win32" = xno -o x$enable_gdiplus = xno; then
1288 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
1290 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
1292 if test $cross_compiling = yes; then
1293 AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
1294 AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
1295 if test x$GTK_UPDATE_ICON_CACHE = xno; then
1300 if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
1301 test "x$REBUILD_PNGS" = "x#" ; then
1303 *** gtkbuiltincache.h is not in the tree, and cannot be built
1304 *** because you don't have libpng, or (when cross-compiling) you
1305 *** don't have a prebuilt gtk-update-icon-cache on the build system.])
1308 AC_SUBST(REBUILD_PNGS)
1310 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0 gio-2.0"
1311 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB $MEDIA_LIB"
1312 GDK_PIXBUF_EXTRA_CFLAGS=
1313 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1314 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
1316 ########################################
1317 # Windowing system checks
1318 ########################################
1320 GDK_PIXBUF_XLIB_PACKAGES=
1321 GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
1322 GDK_PIXBUF_XLIB_EXTRA_LIBS=
1324 GDK_EXTRA_LIBS="$GDK_WLIBS"
1327 # GTK+ uses some X calls, so needs to link against X directly
1328 GTK_DEP_PACKAGES_FOR_X=
1331 if test "x$gdktarget" = "xx11"; then
1332 X_PACKAGES=fontconfig
1335 # We use fontconfig very peripherally when decoding the default
1338 if $PKG_CONFIG --exists fontconfig; then : ; else
1340 *** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
1344 # Check for basic X packages; we use pkg-config if available
1346 if $PKG_CONFIG --exists x11 xext xrender; then
1348 X_PACKAGES="$X_PACKAGES x11 xext xrender"
1349 x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
1350 X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
1352 # Strip out any .la files that pkg-config might give us (this happens
1353 # with -uninstalled.pc files)
1355 for I in $x_libs ; do
1358 *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1362 GDK_PIXBUF_XLIB_PACKAGES="x11"
1363 GTK_PACKAGES_FOR_X="x11"
1365 have_base_x_pc=false
1367 if test x$no_x = xyes ; then
1368 AC_MSG_ERROR([X development libraries not found])
1371 x_cflags="$X_CFLAGS"
1372 x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
1374 GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1375 GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
1376 GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
1379 # Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
1382 gtk_save_cppflags="$CPPFLAGS"
1383 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1386 LIBS="$x_libs_for_checks $LIBS"
1388 # Sanity check for the X11 and Xext libraries. While everything we need from
1389 # Xext is optional, the chances a system has *none* of these things is so
1390 # small that we just unconditionally require it.
1391 AC_CHECK_FUNC(XOpenDisplay, :,
1392 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
1393 AC_CHECK_FUNC(XextFindDisplay, :,
1394 AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
1395 AC_CHECK_FUNC(XRenderQueryExtension, :,
1396 AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
1400 AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1401 AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1403 [AC_MSG_RESULT([no])],
1404 [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1405 #include <X11/Xlibint.h>],
1407 [AC_MSG_RESULT([yes])
1408 AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1409 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1410 [AC_MSG_RESULT([unknown])
1411 AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1413 # Check for XConvertCase, XInternAtoms (X11R6 specific)
1415 AC_CHECK_FUNCS(XConvertCase XInternAtoms)
1417 # Generic X11R6 check needed for XIM support; we could
1418 # probably use this to replace the above, but we'll
1419 # leave the separate checks for XConvertCase and XInternAtoms
1423 AC_CHECK_FUNC(XAddConnectionWatch,
1426 if $have_x11r6; then
1427 AC_DEFINE(HAVE_X11R6, 1, [Define if we have X11R6])
1429 AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1431 # Check for XKB support.
1433 if test "x$enable_xkb" = "xyes"; then
1434 AC_MSG_WARN(XKB support explicitly enabled)
1435 AC_DEFINE(HAVE_XKB, 1, [Define to use XKB extension])
1436 elif test "x$enable_xkb" = "xmaybe"; then
1437 AC_CHECK_FUNC(XkbQueryExtension,
1438 AC_DEFINE(HAVE_XKB, 1, [Define to use XKB extension]))
1440 AC_MSG_WARN(XKB support explicitly disabled)
1443 # Check for shaped window extension
1445 AC_CHECK_FUNC(XShapeCombineMask, :,
1446 [AC_MSG_ERROR([Shape extension not found, check your development headers])])
1449 gtk_save_CFLAGS="$CFLAGS"
1450 CFLAGS="$CFLAGS $x_cflags"
1452 AC_CHECK_FUNC(XSyncQueryExtension,
1453 [AC_CHECK_HEADER(X11/extensions/sync.h,
1454 AC_DEFINE(HAVE_XSYNC, 1, [Have the SYNC extension library]),
1455 :, [#include <X11/Xlib.h>])])
1457 CFLAGS="$gtk_save_CFLAGS"
1461 if test "x$enable_shm" = "xyes"; then
1462 # Check for the XShm extension, normally in Xext
1463 AC_CHECK_FUNC(XShmAttach,
1465 # On AIX, it is in XextSam instead
1466 [AC_CHECK_LIB(XextSam, XShmAttach,
1467 [GTK_ADD_LIB(x_extra_libs,XextSam)])])
1470 if test "x$enable_shm" = "xyes"; then
1471 # Check for shared memory
1472 AC_CHECK_HEADER(sys/ipc.h,
1473 AC_DEFINE(HAVE_IPC_H, 1,
1474 [Define to 1 if ipc.h is available]),
1476 AC_CHECK_HEADER(sys/shm.h,
1477 AC_DEFINE(HAVE_SHM_H, 1,
1478 [Define to 1 if shm.h is available]),
1481 # Check for the X shared memory extension header file
1483 AC_MSG_CHECKING(X11/extensions/XShm.h)
1484 if test "x$no_xext_lib" = "xyes"; then
1487 gtk_save_CFLAGS="$CFLAGS"
1488 CFLAGS="$CFLAGS $x_cflags"
1491 #include <sys/types.h>
1492 #include <sys/ipc.h>
1493 #include <sys/shm.h>
1494 #include <X11/Xlib.h>
1495 #include <X11/Xutil.h>
1496 #include <X11/extensions/XShm.h>
1497 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1498 CFLAGS="$gtk_save_CFLAGS"
1500 AC_MSG_RESULT($have_xshm)
1501 if test $have_xshm = yes ; then
1502 AC_DEFINE(HAVE_XSHM_H, 1,
1503 [Define to 1 if xshm.h is available])
1507 if test "x$enable_xinerama" = "xyes"; then
1508 # Check for Xinerama extension (Solaris impl or Xfree impl)
1509 gtk_save_cppflags="$CPPFLAGS"
1510 CPPFLAGS="$CPPFLAGS $x_cflags"
1513 AC_MSG_CHECKING(for Xinerama support on XFree86)
1515 have_xfree_xinerama=false
1516 if $PKG_CONFIG --exists xinerama ; then
1517 have_xfree_xinerama=true
1518 X_PACKAGES="$X_PACKAGES xinerama"
1520 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1521 [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
1522 [GTK_ADD_LIB(x_extra_libs,Xinerama)
1523 have_xfree_xinerama=true], :,
1524 [#include <X11/Xlib.h>])])
1527 if $have_xfree_xinerama ; then
1528 AC_DEFINE(HAVE_XFREE_XINERAMA, 1,
1529 [Define to 1 if XFree Xinerama is available])
1530 AC_DEFINE(HAVE_XINERAMA, 1,
1531 [Define to 1 is Xinerama is available])
1539 AC_MSG_CHECKING(for Xinerama support on Solaris)
1541 have_solaris_xinerama=false
1542 AC_CHECK_FUNC(XineramaGetInfo,
1543 [AC_CHECK_HEADER(X11/extensions/xinerama.h,
1544 [have_solaris_xinerama=true], :,
1545 [#include <X11/Xlib.h>])])
1547 if $have_solaris_xinerama ; then
1548 AC_DEFINE(HAVE_SOLARIS_XINERAMA, 1,
1549 [Define to 1 if solaris xinerama is available])
1550 AC_DEFINE(HAVE_XINERAMA, 1,
1551 [Define to 1 if xinerama is available])
1563 # set up things for XInput
1564 if test "x$with_xinput" != "xno" && $PKG_CONFIG --exists "xi" ; then
1567 AC_DEFINE(XINPUT_XFREE, 1,
1568 [Define to 1 if XFree XInput should be used])
1570 X_PACKAGES="$X_PACKAGES xi"
1572 AC_CHECK_HEADER(X11/extensions/XInput2.h,
1573 have_xinput2=yes; AC_DEFINE(XINPUT_2, 1, [Define to 1 if XInput 2.0 is available]))
1575 AC_DEFINE(XINPUT_NONE, 1,
1576 [Define to 1 if no XInput should be used])
1579 AM_CONDITIONAL(XINPUT_XFREE, test "x$have_xinput" = "xyes")
1580 AM_CONDITIONAL(XINPUT_2, test "x$have_xinput2" = "xyes")
1582 # Check for the RANDR extension
1583 if $PKG_CONFIG --exists "xrandr >= 1.2.99" ; then
1584 AC_DEFINE(HAVE_RANDR, 1, [Have the Xrandr extension library])
1586 X_PACKAGES="$X_PACKAGES xrandr"
1589 # Checks for Xcursor library
1591 if $PKG_CONFIG --exists xcursor ; then
1592 AC_DEFINE(HAVE_XCURSOR, 1, [Have the Xcursor library])
1594 X_PACKAGES="$X_PACKAGES xcursor"
1597 # Checks for XFixes extension
1599 if $PKG_CONFIG --exists xfixes ; then
1600 AC_DEFINE(HAVE_XFIXES, 1, [Have the XFIXES X extension])
1602 X_PACKAGES="$X_PACKAGES xfixes"
1603 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
1606 # Checks for Xcomposite extension
1608 if $PKG_CONFIG --exists xcomposite ; then
1609 AC_DEFINE(HAVE_XCOMPOSITE, 1, [Have the XCOMPOSITE X extension])
1611 X_PACKAGES="$X_PACKAGES xcomposite"
1612 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite"
1615 # Checks for Xdamage extension
1617 if $PKG_CONFIG --exists xdamage ; then
1618 AC_DEFINE(HAVE_XDAMAGE, 1, [Have the XDAMAGE X extension])
1620 X_PACKAGES="$X_PACKAGES xdamage"
1621 GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage"
1624 if $have_base_x_pc ; then
1625 GDK_EXTRA_LIBS="$x_extra_libs"
1627 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
1630 CPPFLAGS="$gtk_save_cppflags"
1631 LIBS="$gtk_save_libs"
1633 AM_CONDITIONAL(USE_X11, true)
1637 AM_CONDITIONAL(XINPUT_XFREE, false)
1638 AM_CONDITIONAL(XINPUT_2, false)
1639 AM_CONDITIONAL(USE_X11, false)
1640 AM_CONDITIONAL(HAVE_X11R6, false)
1643 if test "x$gdktarget" = "xwin32"; then
1644 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid"
1645 AM_CONDITIONAL(USE_WIN32, true)
1647 AM_CONDITIONAL(USE_WIN32, false)
1650 if test "x$gdktarget" = "xquartz"; then
1651 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
1652 AM_CONDITIONAL(USE_QUARTZ, true)
1654 AM_CONDITIONAL(USE_QUARTZ, false)
1657 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1658 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"
1660 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1661 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1662 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1663 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1664 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1666 if test "x$gdktarget" = "xdirectfb"; then
1667 DIRECTFB_REQUIRED_VERSION=1.0.0
1668 AC_MSG_CHECKING(for DirectFB)
1670 PKG_CHECK_MODULES(DIRECTFB, [directfb >= $DIRECTFB_REQUIRED_VERSION])
1671 AM_CONDITIONAL(USE_DIRECTFB, true)
1673 AM_CONDITIONAL(USE_DIRECTFB, false)
1677 # Check for Pango flags
1679 if test "x$gdktarget" = "xwin32"; then
1680 PANGO_PACKAGES="pangowin32 pangocairo"
1682 PANGO_PACKAGES="pango pangocairo"
1685 AC_MSG_CHECKING(Pango flags)
1686 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1687 PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1688 PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1690 AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1693 *** Pango not found. Pango built with Cairo support is required
1694 *** to build GTK+. See http://www.pango.org for Pango information.
1698 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1700 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1703 gtk_save_LIBS="$LIBS"
1704 LIBS="$PANGO_LIBS $LIBS"
1705 AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1706 *** Can't link to Pango. Pango is required to build
1707 *** GTK+. For more information see http://www.pango.org]))
1708 LIBS="$gtk_save_LIBS"
1711 CFLAGS="$saved_cflags"
1712 LDFLAGS="$saved_ldflags"
1714 # Pull in gio-unix for GDesktopAppInfo usage, see at least gdkapplaunchcontext-x11.c
1715 if test "x$gdktarget" = "xx11"; then
1716 GDK_PACKAGES="$PANGO_PACKAGES gio-unix-2.0 $X_PACKAGES cairo-$cairo_backend"
1718 GDK_PACKAGES="$PANGO_PACKAGES $X_PACKAGES cairo-$cairo_backend"
1721 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1722 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1724 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1725 # into the pkg-config files
1727 if test $enable_explicit_deps != yes ; then
1728 GDK_PACKAGES="$PANGO_PACKAGES"
1732 AC_SUBST(GDK_PACKAGES)
1733 AC_SUBST(GDK_EXTRA_LIBS)
1734 AC_SUBST(GDK_EXTRA_CFLAGS)
1735 AC_SUBST(GDK_DEP_LIBS)
1736 AC_SUBST(GDK_DEP_CFLAGS)
1739 ########################################
1740 # Check for Accessibility Toolkit flags
1741 ########################################
1744 AC_MSG_CHECKING(ATK flags)
1745 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1746 ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1747 ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1749 AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1752 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1757 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1760 gtk_save_LIBS="$LIBS"
1761 LIBS="$ATK_LIBS $LIBS"
1762 AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1763 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1764 *** to build GTK+]))
1765 LIBS="$gtk_save_LIBS"
1768 GTK_PACKAGES="atk cairo gio-2.0"
1769 if test "x$gdktarget" = "xx11"; then
1770 GTK_PACKAGES="$GTK_PACKAGES pangoft2"
1774 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"
1775 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"
1777 if test x"$os_win32" = xyes; then
1778 GTK_EXTRA_CFLAGS="$msnative_struct"
1781 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
1782 ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
1783 PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
1784 CAIRO_PREFIX="`$PKG_CONFIG --variable=prefix cairo`"
1786 if test $enable_explicit_deps != yes ; then
1787 GDK_PIXBUF_EXTRA_LIBS=
1790 AC_SUBST(GDK_PIXBUF_PACKAGES)
1791 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
1792 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
1793 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
1794 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
1796 AC_SUBST(GTK_PACKAGES)
1797 AC_SUBST(GTK_EXTRA_LIBS)
1798 AC_SUBST(GTK_EXTRA_CFLAGS)
1799 AC_SUBST(GTK_DEP_LIBS)
1800 AC_SUBST(GTK_DEP_CFLAGS)
1802 AC_SUBST(GLIB_PREFIX)
1803 AC_SUBST(ATK_PREFIX)
1804 AC_SUBST(PANGO_PREFIX)
1805 AC_SUBST(CAIRO_PREFIX)
1807 AC_SUBST(GTK_DEBUG_FLAGS)
1808 AC_SUBST(GTK_XIM_FLAGS)
1810 ########################
1811 # Checks needed for gail
1812 ########################
1815 dnl Checks for inet libraries:
1816 AC_SEARCH_LIBS(gethostent, nsl)
1817 AC_SEARCH_LIBS(setsockopt, socket)
1818 AC_SEARCH_LIBS(connect, inet)
1820 dnl check for the sockaddr_un.sun_len member
1821 AC_CHECK_MEMBER([struct sockaddr_un.sun_len],
1822 [struct_sockaddr_un_sun_len=true],
1823 [struct_sockaddr_un_suin_len=false],
1824 [#include <sys/types.h>
1825 #include <sys/un.h>]
1827 case $struct_sockaddr_un_sun_len in
1829 AC_DEFINE_UNQUOTED(HAVE_SOCKADDR_UN_SUN_LEN, 1,
1830 [Have the sockaddr_un.sun_len member])
1836 GAIL_INET_LIBS="$LIBS"
1837 AC_SUBST([GAIL_INET_LIBS])
1841 ################################################################
1842 # Printing system checks
1843 ################################################################
1846 [AC_HELP_STRING([--disable-cups]
1847 [disable cups print backend])],,
1850 if test "x$enable_cups" = "xno"; then
1851 AM_CONDITIONAL(HAVE_CUPS, false)
1853 AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
1854 if test "x$CUPS_CONFIG" = "xno"; then
1855 if test "x$enable_cups" = "xauto"; then
1856 AM_CONDITIONAL(HAVE_CUPS, false)
1863 CUPS_CFLAGS=`$CUPS_CONFIG --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
1864 CUPS_LIBS=`$CUPS_CONFIG --libs`
1866 CUPS_API_VERSION=`$CUPS_CONFIG --api-version`
1867 CUPS_API_MAJOR=`echo $ECHO_N $CUPS_API_VERSION | awk -F. '{print $1}'`
1868 CUPS_API_MINOR=`echo $ECHO_N $CUPS_API_VERSION | awk -F. '{print $2}'`
1870 if test $CUPS_API_MAJOR -gt 1 -o \
1871 $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
1872 AC_DEFINE(HAVE_CUPS_API_1_2, 1,
1873 [Define to 1 if CUPS 1.2 API is available])
1876 AC_SUBST(CUPS_API_MAJOR)
1877 AC_SUBST(CUPS_API_MINOR)
1878 AC_SUBST(CUPS_CFLAGS)
1881 AC_CHECK_HEADER(cups/cups.h,,AC_MSG_ERROR([[*** Sorry, cups-config present but cups/cups.h missing.]]))
1883 AM_CONDITIONAL(HAVE_CUPS, true)
1885 gtk_save_cflags="$CFLAGS"
1886 CFLAGS="$CUPS_CFLAGS"
1887 AC_TRY_COMPILE([#include <cups/http.h>],
1888 [http_t http; char *s = http.authstring;],
1889 [AC_DEFINE(HAVE_HTTP_AUTHSTRING, [],
1890 [Define if cups http_t authstring field is accessible])],)
1891 CFLAGS="$gtk_save_cflags"
1893 AC_SUBST(HAVE_HTTP_AUTHSTRING)
1895 gtk_save_libs="$LIBS"
1897 AC_CHECK_FUNCS(httpGetAuthString)
1898 LIBS="$gtk_save_libs"
1902 # Checks to see if we should compile with PAPI backend for GTK+
1906 [AC_HELP_STRING([--disable-papi]
1907 [disable papi print backend])],,
1910 if test "x$enable_papi" = "xno"; then
1911 AM_CONDITIONAL(HAVE_PAPI, false)
1913 AC_MSG_CHECKING(libpapi)
1914 AC_CHECK_LIB(papi, papiServiceCreate, have_papi=yes, have_papi=no)
1915 if test $have_papi = yes; then
1916 AC_DEFINE([HAVE_PAPI], [], [Define to 1 if libpapi available])
1918 AM_CONDITIONAL(HAVE_PAPI, test $have_papi = yes)
1919 if test "x$enable_papi" = "xyes" -a "x$have_papi" = "xno"; then
1926 AM_CONDITIONAL(HAVE_PAPI_CUPS, test "x$have_papi" = "xyes" -a "x$CUPS_CONFIG" != "xno")
1928 gtk_save_cppflags="$CPPFLAGS"
1929 CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS $GDK_DEP_CFLAGS"
1931 AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
1932 *** Can't find cairo-pdf.h. You must build Cairo with the pdf
1933 *** backend enabled.]))
1935 if test "$os_win32" != "yes"; then
1936 AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
1937 *** Can't find cairo-ps.h. You must build Cairo with the
1938 *** postscript backend enabled.]))
1940 AC_CHECK_HEADER(cairo-svg.h,,AC_MSG_ERROR([
1941 *** Can't find cairo-svg.h. You must build Cairo with the
1942 *** svg backend enabled.]))
1945 CPPFLAGS="$gtk_save_cppflags"
1948 AC_ARG_ENABLE(test-print-backend,
1949 [AC_HELP_STRING([--enable-test-print-backend],
1950 [build test print backend])],,
1951 [enable_test_print_backend=no])
1952 AM_CONDITIONAL(TEST_PRINT_BACKEND, test "x$enable_test_print_backend" != "xno")
1955 ################################################################
1956 # Strip -export-dynamic from the link lines of various libraries
1957 ################################################################
1960 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1961 # but this flag is only meaningful for executables. For libraries
1962 # the effect is undefined; what it causes on Linux is that the
1963 # export list from -export-symbols-regex is ignored and everything
1966 # We are using gmodule-no-export now, but I'm leaving the stripping
1967 # code in place for now, since pango and atk still require gmodule.
1969 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1970 if test -n "$export_dynamic"; then
1971 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1972 GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1973 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1974 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1977 ##################################################
1978 # GObject introspection
1979 ##################################################
1981 GOBJECT_INTROSPECTION_CHECK([0.6.14])
1983 ##################################################
1984 # Checks for gtk-doc and docbook-tools
1985 ##################################################
1987 GTK_DOC_CHECK([1.11])
1989 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1990 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1993 [AC_HELP_STRING([--enable-man],
1994 [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1997 if test "${enable_man}" != no; then
1999 dnl Check for xsltproc
2001 AC_PATH_PROG([XSLTPROC], [xsltproc])
2002 if test -z "$XSLTPROC"; then
2006 dnl check for DocBook DTD and stylesheets in the local catalog.
2007 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
2008 [DocBook XML DTD V4.1.2],,enable_man=no)
2009 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
2010 [DocBook XSL Stylesheets],,enable_man=no)
2013 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
2016 ##################################################
2018 ##################################################
2020 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
2021 outfile=gdkconfig.h-tmp
2022 cat > $outfile <<\_______EOF
2025 * This is a generated file. Please modify `configure.ac'
2033 #endif /* __cplusplus */
2036 /* introduce GSEAL() here for all of Gdk and Gtk+ without the need to modify GLib */
2037 # ifdef GSEAL_ENABLE
2038 # define GSEAL(ident) _g_sealed__ ## ident
2040 # define GSEAL(ident) ident
2046 cat >>$outfile <<_______EOF
2051 cat >>$outfile <<_______EOF
2055 #endif /* __cplusplus */
2057 #endif /* GDKCONFIG_H */
2061 if cmp -s $outfile gdk/gdkconfig.h; then
2062 AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
2065 mv $outfile gdk/gdkconfig.h
2068 if test "x$gdktarget" = "xx11" ; then
2070 #define GDK_WINDOWING_X11'
2071 elif test "x$gdktarget" = "xwin32" ; then
2073 #define GDK_NATIVE_WINDOW_POINTER
2075 #define GDK_WINDOWING_WIN32'
2076 elif test "x$gdktarget" = "xquartz" ; then
2078 #define GDK_WINDOWING_QUARTZ'
2079 elif test "x$gdktarget" = "xdirectfb" ; then
2081 #define GDK_WINDOWING_DIRECTFB'
2084 if test x$gdk_wchar_h = xyes; then
2086 #define GDK_HAVE_WCHAR_H 1'
2088 if test x$gdk_wctype_h = xyes; then
2090 #define GDK_HAVE_WCTYPE_H 1"
2092 if test x$gdk_working_wctype = xno; then
2094 #define GDK_HAVE_BROKEN_WCTYPE 1"
2107 gtk+-unix-print-3.0.pc
2109 gdk-pixbuf-3.0-uninstalled.pc
2110 gdk-3.0-uninstalled.pc
2111 gtk+-3.0-uninstalled.pc
2112 gail-3.0-uninstalled.pc
2115 po-properties/Makefile.in
2117 demos/gtk-demo/Makefile
2118 demos/gtk-demo/geninclude.pl
2121 docs/reference/Makefile
2122 docs/reference/gdk-pixbuf/Makefile
2123 docs/reference/gdk-pixbuf/version.xml
2124 docs/reference/gdk/Makefile
2125 docs/reference/gdk/version.xml
2126 docs/reference/gtk/Makefile
2127 docs/reference/gtk/version.xml
2128 docs/reference/libgail-util/Makefile
2131 docs/tutorial/Makefile
2133 build/win32/Makefile
2134 build/win32/vs9/Makefile
2136 gdk-pixbuf/gdk_pixbuf.rc
2137 gdk-pixbuf/gdk-pixbuf-features.h
2138 gdk-pixbuf/pixops/Makefile
2142 gdk/win32/rc/Makefile
2145 gdk/directfb/Makefile
2151 gtk/theme-bits/Makefile
2154 modules/other/Makefile
2155 modules/other/gail/Makefile
2156 modules/other/gail/libgail-util/Makefile
2157 modules/other/gail/tests/Makefile
2158 modules/engines/Makefile
2159 modules/engines/pixbuf/Makefile
2160 modules/engines/ms-windows/Makefile
2161 modules/engines/ms-windows/Theme/Makefile
2162 modules/engines/ms-windows/Theme/gtk-3.0/Makefile
2163 modules/input/Makefile
2164 modules/printbackends/Makefile
2165 modules/printbackends/cups/Makefile
2166 modules/printbackends/lpr/Makefile
2167 modules/printbackends/file/Makefile
2168 modules/printbackends/papi/Makefile
2169 modules/printbackends/test/Makefile
2172 contrib/gdk-pixbuf-xlib/Makefile
2173 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-3.0.pc
2178 echo "configuration: