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], [6])
15 m4_define([gtk_micro_version], [2])
16 m4_define([gtk_version],
17 [gtk_major_version.gtk_minor_version.gtk_micro_version])
18 m4_define([gtk_interface_age], [2])
19 m4_define([gtk_binary_age],
20 [m4_eval(100 * gtk_minor_version + gtk_micro_version)])
21 # This is the X.Y used in -lgtk-FOO-X.Y
22 m4_define([gtk_api_version], [2.0])
24 # Define a string for the earliest version that this release has
25 # forward/backwards binary compatibility with. This is used for module
26 # locations. (Should this be backwards-compat instead?)
28 #GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
29 m4_define([gtk_binary_version], [2.4.0])
31 # required versions of other packages
32 m4_define([glib_required_version], [2.6.0])
33 m4_define([pango_required_version], [1.7.0])
34 m4_define([atk_required_version], [1.0.1])
37 AC_INIT([gtk+], [gtk_version],
38 [http://bugzilla.gnome.org/enter_bug.cgi?product=gtk+],
41 AC_CONFIG_SRCDIR([gdk/gdktypes.h])
43 # Save this value here, since automake will set cflags later
44 cflags_set=${CFLAGS+set}
46 AM_INIT_AUTOMAKE(no-define)
47 AM_CONFIG_HEADER(config.h)
50 # For each of the libraries we build, we define the following
52 # substituted variables:
54 # foo_PACKAGES: pkg-config packages this library requires
55 # foo_EXTRA_LIBS: Libraries this module requires not pulled in by pkg-config
56 # foo_EXTRA_CFLAGS: cflags this module requires not pulled in by pkg-config
57 # foo_DEP_LIBS: All libraries this module requires
58 # foo_DEP_CFLAGS: All cflags this module requires
61 GTK_MAJOR_VERSION=gtk_major_version
62 GTK_MINOR_VERSION=gtk_minor_version
63 GTK_MICRO_VERSION=gtk_micro_version
64 GTK_INTERFACE_AGE=gtk_interface_age
65 GTK_BINARY_AGE=gtk_binary_age
66 GTK_VERSION=gtk_version
67 GTK_API_VERSION=gtk_api_version
68 GTK_BINARY_VERSION=gtk_binary_version
69 AC_SUBST(GTK_MAJOR_VERSION)
70 AC_SUBST(GTK_MINOR_VERSION)
71 AC_SUBST(GTK_MICRO_VERSION)
72 AC_SUBST(GTK_INTERFACE_AGE)
73 AC_SUBST(GTK_BINARY_AGE)
74 AC_SUBST(GTK_API_VERSION)
76 AC_SUBST(GTK_BINARY_VERSION)
79 #LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
80 #LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
81 #LT_REVISION=$GTK_INTERFACE_AGE
82 #LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
83 #LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
85 m4_define([lt_current], [m4_eval(100 * gtk_minor_version + gtk_micro_version - gtk_interface_age)])
86 m4_define([lt_revision], [gtk_interface_age])
87 m4_define([lt_age], [m4_eval(gtk_binary_age - gtk_interface_age)])
88 LT_VERSION_INFO="lt_current:lt_revision:lt_age"
89 LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
90 AC_SUBST(LT_VERSION_INFO)
91 AC_SUBST(LT_CURRENT_MINUS_AGE)
95 # gdk-pixbuf gets versioned separately, and for now, using standard
96 # libtool versioning, not GTK+-style versioning
98 GDK_PIXBUF_MAJOR=gtk_major_version
99 GDK_PIXBUF_MINOR=gtk_minor_version
100 GDK_PIXBUF_MICRO=gtk_micro_version
101 GDK_PIXBUF_VERSION="${GDK_PIXBUF_MAJOR}.${GDK_PIXBUF_MINOR}.${GDK_PIXBUF_MICRO}"
102 AC_SUBST(GDK_PIXBUF_MAJOR)
103 AC_SUBST(GDK_PIXBUF_MINOR)
104 AC_SUBST(GDK_PIXBUF_MICRO)
105 AC_SUBST(GDK_PIXBUF_VERSION)
107 GETTEXT_PACKAGE=gtk20
108 AC_SUBST(GETTEXT_PACKAGE)
109 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE")
114 AC_MSG_CHECKING([for native Win32])
124 AC_MSG_RESULT([$os_win32])
126 dnl Initialize libtool
130 if test "$os_win32" = "yes"; then
131 if test x$enable_static = xyes -o x$enable_static = x; then
132 AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.])
135 if test x$enable_shared = xno; then
136 AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.])
143 # Make sure we use 64-bit versions of various file stuff.
148 dnl Initialize maintainer mode
151 AC_MSG_CHECKING([for some Win32 platform])
153 *-*-mingw*|*-*-cygwin*)
160 AC_MSG_RESULT([$platform_win32])
161 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
163 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
164 AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
166 if test "$os_win32" = "yes"; then
167 AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
169 AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
171 m4_define([debug_default],
172 m4_if(m4_eval(gtk_minor_version % 2), [1], [yes], [minimum]))
174 dnl declare --enable-* args and collect ac_help strings
176 AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
177 [turn on debugging @<:@default=debug_default@:>@]),,
178 enable_debug=debug_default)
180 [AC_HELP_STRING([--enable-shm],
181 [support shared memory if available [default=yes]])],,
184 [AC_HELP_STRING([--enable-ansi],
185 [turn on strict ansi [default=no]])],,
188 [AC_HELP_STRING([--enable-xkb],
189 [support XKB [default=maybe]])],,
190 [enable_xkb="maybe"])
191 AC_ARG_ENABLE(rebuilds,
192 [AC_HELP_STRING([--disable-rebuilds],
193 [disable all source autogeneration rules])],,
194 [enable_rebuilds=yes])
195 AC_ARG_ENABLE(visibility,
196 [AC_HELP_STRING([--disable-visibility],
197 [don't use ELF visibility attributes])],,
198 [enable_visibility=yes])
201 [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
204 [AC_HELP_STRING([--with-wintab=DIRECTORY],
205 [use Wintab API with win32 backend])])
207 [AC_HELP_STRING([--with-ie55=DIRECTORY],
208 [IE5.5 libs and headers (for Active IMM)])])
210 if test "$platform_win32" = yes; then
216 AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/linux-fb/win32]] select non-default GDK target],
217 gdktarget=$with_gdktarget)
221 x11|linux-fb|win32) ;;
222 *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb or win32.]);;
225 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
226 gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
228 AC_SUBST(gdktargetlib)
229 AC_SUBST(gtktargetlib)
231 AC_ARG_ENABLE(shadowfb,
232 [AC_HELP_STRING([--disable-shadowfb],
233 [disable shadowfb support for linux-fb])],,
234 [enable_shadowfb=yes])
236 AC_ARG_ENABLE(fbmanager,
237 [AC_HELP_STRING([--enable-fbmanager],
238 [enable framebuffer manager support (GtkFB)])],,
241 if test "x$enable_debug" = "xyes"; then
242 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
243 GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
245 if test "x$enable_debug" = "xno"; then
246 GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
248 GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
252 if test "x$enable_visibility" = "xno"; then
253 GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
257 AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
260 # Build time sanity check...
263 # Checks for programs.
270 if test "x$GCC" = "xyes"; then
272 *[\ \ ]-Wall[\ \ ]*) ;;
273 *) CFLAGS="$CFLAGS -Wall" ;;
276 if test "x$enable_ansi" = "xyes"; then
278 *[\ \ ]-ansi[\ \ ]*) ;;
279 *) CFLAGS="$CFLAGS -ansi" ;;
283 *[\ \ ]-pedantic[\ \ ]*) ;;
284 *) CFLAGS="$CFLAGS -pedantic" ;;
290 # Ensure MSVC-compatible struct packing convention is used when
291 # compiling for Win32 with gcc.
292 # What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
293 # gcc2 uses "-fnative-struct".
294 if test x"$os_win32" = xyes; then
295 if test x"$GCC" = xyes; then
297 AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
298 if test -z "$ac_cv_prog_CC"; then
301 our_gcc="$ac_cv_prog_CC"
303 case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
305 if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
306 msnative_struct='-fnative-struct'
310 if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
311 msnative_struct='-mms-bitfields'
315 if test x"$msnative_struct" = x ; then
316 AC_MSG_RESULT([no way])
317 AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
319 CFLAGS="$CFLAGS $msnative_struct"
320 AC_MSG_RESULT([${msnative_struct}])
325 # Honor aclocal flags
326 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
328 ## Initial sanity check, done here so that users get told they
329 ## have the wrong dependencies as early in the process as possible.
330 ## Later on we actually use the cflags/libs from separate pkg-config
331 ## calls. Oh, also the later pkg-config calls don't include
332 ## the version requirements since those make the module lists
333 ## annoying to construct
334 PKG_CHECK_MODULES(BASE_DEPENDENCIES,
335 [glib-2.0 >= glib_required_version dnl
336 atk >= atk_required_version dnl
337 pango >= pango_required_version])
339 if test "$os_win32" != yes; then
340 # libtool option to control which symbols are exported
341 # right now, symbols starting with _ are not exported
342 LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
344 # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
345 LIBTOOL_EXPORT_OPTIONS=
347 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
349 dnl ******************************************************
350 dnl * See whether to include shared library dependencies *
351 dnl ******************************************************
353 AC_ARG_ENABLE(explicit-deps,
354 [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
355 [use explicit dependencies in .pc files [default=auto]])],,
356 [enable_explicit_deps=auto])
358 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
359 case $enable_explicit_deps in
361 deplib_check_method=`(./libtool --config; echo eval echo \\$deplib_check_method) | sh`
362 if test "X$deplib_check_method" = Xnone || test "x$enable_static" = xyes ; then
363 enable_explicit_deps=yes
365 enable_explicit_deps=no
370 *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
373 AC_MSG_RESULT($enable_explicit_deps)
375 AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
377 # define a MAINT-like variable REBUILD which is set if Perl
378 # and awk are found, so autogenerated sources can be rebuilt
380 AC_PATH_PROGS(PERL, perl5 perl)
382 # We would like indent, but don't require it.
383 AC_CHECK_PROG(INDENT, indent, indent)
386 if test "x$enable_rebuilds" = "xyes" && \
388 $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
393 AC_CHECK_FUNCS(lstat mkstemp flockfile)
395 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
396 AC_MSG_CHECKING(for sigsetjmp)
397 AC_TRY_LINK([#include <setjmp.h>], [
400 ], gtk_ok=yes, gtk_ok=no)
401 AC_MSG_RESULT($gtk_ok)
402 if test "$gtk_ok" = "yes"; then
403 AC_DEFINE(HAVE_SIGSETJMP)
407 # TRANSLATORS: Please note that gtk+ has both po/ and po-properties/
408 # directories. If you add a new language to ALL_LINGUAS, please make
409 # sure that both po/ and po-properties/ have .po files that correspond
410 # to your language. If you only add one to po/, the build will break
412 ALL_LINGUAS="af am ar az az_IR be bg bn br bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu ia id is it ja ko li lt lv mi mk ml mn mr ms nb ne nl nn no nso pa pl pt pt_BR ro ru rw sk sl sq sr sr@ije sr@Latn sv ta th tk tr uk uz uz@Latn vi wa yi zh_CN zh_TW"
414 LIBS="$LIBS $INTLLIBS"
415 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
416 sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
419 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
421 dnl The DU4 header files don't provide library prototypes unless
422 dnl -std1 is given to the native cc.
423 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
427 AC_TRY_RUN([#include <math.h>
428 int main (void) { return (log(1) != log(1.)); }],
429 AC_MSG_RESULT(none needed),
430 gtk_save_CFLAGS="$CFLAGS"
431 CFLAGS="$CFLAGS -std1"
432 AC_TRY_RUN([#include <math.h>
433 int main (void) { return (log(1) != log(1.)); }],
434 AC_MSG_RESULT(-std1),
436 CFLAGS="$gtk_save_CFLAGS"
438 [No ANSI prototypes found in library. (-std1 didn't work.)]),
441 AC_MSG_RESULT(none needed)
445 AC_MSG_CHECKING(for the BeOS)
456 dnl NeXTStep cc seems to need this
457 AC_MSG_CHECKING([for extra flags for POSIX compliance])
458 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
459 AC_MSG_RESULT(none needed),
460 gtk_save_CFLAGS="$CFLAGS"
461 CFLAGS="$CFLAGS -posix"
462 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
463 AC_MSG_RESULT(-posix),
465 CFLAGS="$gtk_save_CFLAGS"
466 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
469 # Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
472 GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
474 AM_PATH_GLIB_2_0(glib_required_version, :,
476 *** GLIB glib_required_version or better is required. The latest version of
477 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
478 gobject gmodule-no-export gthread)
481 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
484 LIBS="$LIBS $GLIB_LIBS"
485 AC_CHECK_FUNCS(bind_textdomain_codeset)
488 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
489 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
490 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
492 if test "${with_ie55+set}" = set && test $with_ie55 != no; then
493 AC_MSG_CHECKING([for dimm.h])
494 saved_CFLAGS="$CFLAGS"
495 CFLAGS="$CFLAGS -idirafter $with_ie55/Include"
496 AC_TRY_COMPILE([/* The w32api imm.h clashes a bit with the IE5.5 dimm.h */
498 #define IMEMENUITEMINFOA hidden_IMEMENUITEMINFOA
499 #define IMEMENUITEMINFOW hidden_IMEMENUITEMINFOW
505 #undef IMEMENUITEMINFOA
506 #undef IMEMENUITEMINFOW
512 AC_MSG_CHECKING([for IE55 uuid.lib])
513 if test -f $with_ie55/Lib/uuid.lib ; then
516 AC_DEFINE(HAVE_DIMM_H)
517 IE55_UUID_LIB="$with_ie55/Lib/uuid.lib"
518 AC_SUBST(IE55_UUID_LIB)
521 CFLAGS="$saved_CFLAGS"
526 CFLAGS="$saved_CFLAGS"
529 AM_CONDITIONAL(HAVE_IE55, test x$have_ie55 = xyes)
531 if test "${with_wintab+set}" = set && test $with_wintab != no; then
532 AC_MSG_CHECKING([for wintab.h])
533 saved_CFLAGS="$CFLAGS"
534 CFLAGS="$CFLAGS -I$with_wintab/include"
535 AC_TRY_COMPILE([#include <windows.h>
536 #include <wintab.h>],
539 AC_MSG_CHECKING([for wntab32x.lib])
540 if test -f $with_wintab/lib/i386/wntab32x.lib ; then
543 AC_DEFINE(HAVE_WINTAB)
544 WINTAB_LIB="$with_wintab/lib/i386/wntab32x.lib"
548 CFLAGS="$saved_cflags"
553 CFLAGS="$saved_cflags"
556 AM_CONDITIONAL(HAVE_WINTAB, test x$have_wintab = xyes)
558 saved_cflags="$CFLAGS"
559 saved_ldflags="$LDFLAGS"
562 # Checks for header files.
565 # Checks for typedefs, structures, and compiler characteristics.
568 # Checks for library functions.
572 AC_CHECK_FUNCS(mallinfo)
573 AC_CHECK_FUNCS(getresuid)
576 # Check if <sys/select.h> needs to be included for fd_set
577 AC_MSG_CHECKING([for fd_set])
578 AC_TRY_COMPILE([#include <sys/types.h>],
579 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
580 if test $gtk_ok = yes; then
581 AC_MSG_RESULT([yes, found in sys/types.h])
583 AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
584 if test $gtk_ok = yes; then
585 AC_DEFINE(HAVE_SYS_SELECT_H)
586 AC_MSG_RESULT([yes, found in sys/select.h])
593 # `widechar' tests for gdki18n.h
594 AC_MSG_CHECKING(for wchar.h)
595 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
596 if test $gdk_wchar_h = yes; then
597 AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
599 AC_MSG_RESULT($gdk_wchar_h)
601 # Check for wctype.h (for iswalnum)
602 AC_MSG_CHECKING(for wctype.h)
603 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
604 if test $gdk_wctype_h = yes; then
605 AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
607 AC_MSG_RESULT($gdk_wctype_h)
609 # in Solaris 2.5, `iswalnum' is in -lw
611 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
614 LIBS="$LIBS $GDK_WLIBS"
615 # The following is necessary for Linux libc-5.4.38
616 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
617 AC_TRY_LINK([#include <stdlib.h>],[
618 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
619 # ifdef HAVE_WCTYPE_H
627 # define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
629 iswalnum((wchar_t) 0);
630 ], gdk_working_wctype=yes, gdk_working_wctype=no)
633 if test $gdk_working_wctype = no; then
634 AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
637 AC_MSG_RESULT($gdk_working_wctype)
640 # Check for uxtheme.h (for MS-Windows Engine)
641 AC_MSG_CHECKING(for uxtheme.h)
642 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
643 if test $gtk_uxtheme_h = yes; then
644 AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
646 AC_MSG_RESULT($gtk_uxtheme_h)
649 ##################################################
650 # Checks for gdk-pixbuf
651 ##################################################
653 dnl ********************************************************
654 dnl * See whether we need to load our modules as .la files *
655 dnl ********************************************************
659 *-aix*) use_la_modules=true
662 if $use_la_modules ; then
663 AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
667 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
669 AC_ARG_ENABLE(modules,
670 [AC_HELP_STRING([--disable-modules],
671 [disable dynamic module loading])])
675 if test x$enable_modules = xno; then
679 AC_MSG_CHECKING(whether dynamic modules work)
680 ## for loop is to strip newline
681 tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
686 dnl Now we check to see if our libtool supports shared lib deps
687 dnl (in a rather ugly way even)
689 pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
690 pixbuf_deplibs_check=`$pixbuf_libtool_config | \
691 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
692 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
693 if test "x$pixbuf_deplibs_check" = "xnone" || \
694 test "x$pixbuf_deplibs_check" = "xunknown" || \
695 test "x$pixbuf_deplibs_check" = "x"; then
701 AC_DEFINE(USE_GMODULE)
708 dnl We allow people to disable image loaders explicitely, but if they don't we error
709 dnl out so that people don't accidentally build without them.
712 [AC_HELP_STRING([--without-libpng],
713 [disable PNG loader for gdk-pixbuf])])
715 [AC_HELP_STRING([--without-libjpeg],
716 [disable JPEG loader for gdk-pixbuf])])
718 [AC_HELP_STRING([--without-libtiff],
719 [disable TIFF loader for gdk-pixbuf])])
722 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
723 AC_CHECK_LIB(tiff, TIFFReadScanline,
724 [AC_CHECK_HEADER(tiffio.h,
725 TIFF='tiff'; LIBTIFF='-ltiff',
726 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
727 [AC_CHECK_LIB(tiff, TIFFWriteScanline,
728 [AC_CHECK_HEADER(tiffio.h,
729 TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
730 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
731 [AC_CHECK_LIB(tiff34, TIFFFlushData,
732 [AC_CHECK_HEADER(tiffio.h,
733 TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
734 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
735 AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
738 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
740 *** Checks for TIFF loader failed. You can build without it by passing
741 *** --without-libtiff to configure but some programs using GTK+ may
742 *** not work properly])
746 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
747 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
750 AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
751 if test "$jpeg_ok" = yes; then
752 AC_MSG_CHECKING([for jpeglib.h])
758 #include <jpeglib.h>],
761 AC_MSG_RESULT($jpeg_ok)
762 if test "$jpeg_ok" = yes; then
764 AC_CHECK_LIB(jpeg, jpeg_simple_progression,
765 AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
766 AC_MSG_WARN(JPEG library does not support progressive saving.))
768 AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
773 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
775 *** Checks for JPEG loader failed. You can build without it by passing
776 *** --without-libjpeg to configure but some programs using GTK+ may
777 *** not work properly])
781 if test x$with_libpng != xno && test -z "$LIBPNG"; then
782 AC_MSG_CHECKING(for libpng12)
783 if $PKG_CONFIG --exists libpng12 ; then
786 PNG_DEP_CFLAGS_PACKAGES=libpng12
787 LIBPNG=`$PKG_CONFIG --libs libpng12`
790 AC_CHECK_LIB(png, png_read_info,
791 [AC_CHECK_HEADER(png.h,
794 AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
795 if test "$png_ok" = yes; then
796 AC_MSG_CHECKING([for png_structp in png.h])
797 AC_TRY_COMPILE([#include <png.h>],
798 [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
801 AC_MSG_RESULT($png_ok)
802 if test "$png_ok" = yes; then
803 PNG='png'; LIBPNG='-lpng -lz'
805 AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
808 AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
813 if test x$with_libpng != xno && test -z "$LIBPNG"; then
815 *** Checks for PNG loader failed. You can build without it by passing
816 *** --without-libpng to configure but many programs using GTK+ will
817 *** not work properly. The PNG loader is also needed if you are compiling
825 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
828 # Allow building some or all gdk-pixbuf loaders included
830 AC_MSG_CHECKING(pixbuf loaders to build)
832 dnl due to an autoconf bug, commas in the first arg to
833 dnl AC_HELP_STRING cause problems.
834 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
835 dnl [build the specified loaders into gdk-pixbuf (only used if module loading disabled)])
836 AC_ARG_WITH(included_loaders,
837 [ --with-included-loaders=LOADER1,LOADER2,...
838 build the specified loaders into gdk-pixbuf (only
839 used if module loading disabled)])
844 ## if the option was specified, leave it; otherwise disable included loaders
845 if test x$with_included_loaders = xno; then
846 with_included_loaders=yes
850 all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,tga,pcx"
852 # If no loaders specified, include all
853 if test "x$with_included_loaders" = xyes ; then
854 included_loaders="$all_loaders"
856 included_loaders="$with_included_loaders"
859 AC_MSG_RESULT($included_loaders)
862 INCLUDED_LOADER_DEFINE=
864 IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
865 for loader in $included_loaders; do
866 if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
869 AC_MSG_ERROR([the specified loader $loader does not exist])
872 INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libpixbufloader-static-$loader.la"
873 INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
876 AC_SUBST(INCLUDED_LOADER_OBJ)
877 AC_SUBST(INCLUDED_LOADER_DEFINE)
883 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
884 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
885 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
889 if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
890 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
892 if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
893 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
895 if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
896 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
899 STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
902 # Checks to see if we should compile in MMX support (there will be
903 # a runtime test when the code is actually run to see if it should
904 # be used - this just checks if we can compile it.)
906 # This code is partially taken from Mesa
908 AC_MSG_CHECKING(for x86 platform)
910 i386|i486|i586|i686|i786|k6|k7)
916 AC_MSG_RESULT($use_x86_asm)
919 if test $use_x86_asm = yes; then
923 AC_MSG_CHECKING(compiler support for MMX)
924 cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
925 if AC_TRY_EVAL(ac_compile); then
932 if test $use_mmx_asm = yes; then
940 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
943 if test -z "$LIBPNG"; then
947 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
949 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
951 if test $cross_compiling = yes; then
952 AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
953 if test x$GDK_PIXBUF_CSOURCE = xno; then
958 if test ! -f $srcdir/gtk/stock-icons/gtkstockpixbufs.h &&
959 test "x$REBUILD_PNGS" = "x#" ; then
961 *** gtkstockpixbufs.h is not in the tree, and cannot be built
962 *** because you don't have libpng, or (when cross-compiling) you
963 *** don't have a prebuilt gdk-pixbuf-csource on the host system.])
966 AC_SUBST(REBUILD_PNGS)
968 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
969 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB"
970 GDK_PIXBUF_EXTRA_CFLAGS=
971 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
972 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
974 AC_SUBST(GDK_PIXBUF_PACKAGES)
975 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
976 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
977 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
978 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
981 ########################################
982 # Windowing system checks
983 ########################################
985 GDK_EXTRA_LIBS=$GDK_WLIBS
991 if test "x$gdktarget" = "xlinux-fb" || test "x$gdktarget" = "xx11" ; then
993 # Checks for FreeType
996 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
997 if test "x$FREETYPE_CONFIG" != "xno" ; then
998 FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
999 FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
1001 gtk_save_LIBS="$LIBS"
1002 LIBS="$FREETYPE_LIBS $LIBS"
1003 AC_TRY_LINK_FUNC(FT_New_Face, have_freetype=true,:)
1004 LIBS="$gtk_save_LIBS"
1006 if $have_freetype ; then
1007 gtk_save_cppflags="$CPPFLAGS"
1008 CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
1010 AC_MSG_CHECKING([For sufficiently new FreeType (at least 2.0.1)])
1012 #include <ft2build.h>
1013 #include FT_FREETYPE_H
1014 #include FT_ERRORS_H
1016 [(void)1;],:,have_freetype=false)
1017 if $have_freetype ; then
1023 CPPFLAGS="$gtk_save_cppflags"
1026 AC_SUBST(FREETYPE_LIBS)
1027 AC_SUBST(FREETYPE_CFLAGS)
1030 if test "x$gdktarget" = "xx11"; then
1031 # We start off with the libraries from Pango
1033 ## be sure we also have Pango built with Xft2 support
1034 if $PKG_CONFIG --exists 'pangoxft >= 1.2.0' ; then
1035 if $have_freetype ; then
1038 AC_MSG_ERROR([Xft Pango backend found but did not find freetype libraries])
1041 AC_MSG_ERROR([Xft Pango backend is required for x11 target])
1044 if $PKG_CONFIG --exists xft ; then : ; else
1045 AC_MSG_ERROR([Xft version 2 is required for x11 target])
1049 # If Pango included the shared library dependencies from X11 in
1050 # the pkg-config output, then we use that (to avoid duplicates).
1051 # but if they were omitted to avoid binary compatibility problems,
1052 # then we need to repeat the checks.
1054 x_libs="`$PKG_CONFIG --libs pangoxft`"
1056 *-lX11*) pango_omitted_x_deps=no ;;
1057 *) pango_omitted_x_deps=yes ;;
1060 x_cflags="`$PKG_CONFIG --cflags pangoxft`"
1064 if test x$no_x = xyes ; then
1065 AC_MSG_ERROR([X development libraries not found])
1068 if test $pango_omitted_x_deps = yes ; then
1069 # Old versions of Xft didn't necessarily include -lX11 in the output
1070 x_libs="`pkg-config --libs xft` -lX11 $X_EXTRA_LIBS"
1073 ## Strip the .la files
1075 x_libs_for_checks=""
1076 for I in $x_libs ; do
1079 *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1083 # Sanity check for the X11 library
1084 AC_CHECK_LIB(X11, XOpenDisplay, :,
1085 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]),
1088 if test "x$enable_shm" = "xyes"; then
1089 # Check for the Xext library (needed for XShm extention)
1090 AC_CHECK_LIB(Xext, XShmAttach,
1091 [GTK_ADD_LIB(x_extra_libs,Xext)],
1092 # On AIX, it is in XextSam instead, but we still need -lXext
1093 [AC_CHECK_LIB(XextSam, XShmAttach,
1094 [GTK_ADD_LIB(x_extra_libs,Xext)
1095 GTK_ADD_LIB(x_extra_libs,XextSam)
1096 ], , -lXext $x_libs_for_checks)],
1100 GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1101 # Don't ever pull in the pangoxft libraries for gdk-pixbuf-x11
1102 GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $x_extra_libs $X_EXTRA_LIBS"
1104 # GTK+ uses some X calls, so needs to link against X directly
1105 if test $enable_explicit_deps != yes ; then
1106 GTK_DEP_LIBS_FOR_X="$X_LIBS -lX11 $X_EXTRA_LIBS"
1109 # Check for Xinerama extension (Solaris impl or Xfree impl)
1111 gtk_save_cppflags="$CPPFLAGS"
1112 CPPFLAGS="$CPPFLAGS $x_cflags"
1117 use_solaris_xinerama=yes
1118 AC_CHECK_LIB(Xext, XineramaGetInfo,
1119 use_solaris_xinerama=yes,
1120 use_solaris_xinerama=no,
1121 -lXext $x_libs_for_checks)
1122 if test "x$use_solaris_xinerama" = "xyes"; then
1123 AC_CHECK_HEADER(X11/extensions/xinerama.h,
1124 [GTK_ADD_LIB(x_extra_libs,Xext)
1125 AC_DEFINE(HAVE_SOLARIS_XINERAMA)
1126 AC_DEFINE(HAVE_XINERAMA)],
1127 use_solaris_xinerama=no,[#include <X11/Xlib.h>])
1129 AC_MSG_CHECKING(for Xinerama support on Solaris)
1130 AC_MSG_RESULT($use_solaris_xinerama);
1134 use_xfree_xinerama=yes
1135 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1136 [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
1137 [GTK_ADD_LIB(x_extra_libs,Xext)
1138 GTK_ADD_LIB(x_extra_libs,Xinerama)
1139 AC_DEFINE(HAVE_XFREE_XINERAMA)
1140 AC_DEFINE(HAVE_XINERAMA)],
1141 use_xfree_xinerama=no,
1142 [#include <X11/Xlib.h>])],
1143 use_xfree_xinerama=no, -lXext $x_libs_for_checks)
1144 AC_MSG_CHECKING(for Xinerama support on XFree86)
1145 AC_MSG_RESULT($use_xfree_xinerama);
1149 CPPFLAGS="$gtk_save_cppflags"
1153 gtk_save_cppflags="$CPPFLAGS"
1154 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1156 AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1157 AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1159 [AC_MSG_RESULT([no])],
1160 [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1161 #include <X11/Xlibint.h>],
1163 [AC_MSG_RESULT([yes])
1164 AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1165 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1166 [AC_MSG_RESULT([unknown])
1167 AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1169 CPPFLAGS="$gtk_save_cppflags"
1171 # Check for shaped window extension
1173 AC_CHECK_LIB(Xext, XShapeCombineMask,
1174 [GTK_ADD_LIB(x_extra_libs,Xext)
1175 AC_DEFINE(HAVE_SHAPE_EXT)],
1179 # Check for XConvertCase (X11R6 specific)
1181 AC_CHECK_LIB(X11, XConvertCase,
1182 AC_DEFINE(HAVE_XCONVERTCASE),
1186 # Check for XInternAtoms (X11R6 specific)
1188 AC_CHECK_LIB(X11, XInternAtoms,
1189 AC_DEFINE([HAVE_XINTERNATOMS], 1,
1190 [Define to 1 if you have the `XInternAtoms' function.]),
1194 # Generic X11R6 check needed for XIM support; we could
1195 # probably use this to replace the above, but we'll
1196 # leave the separate checks for XConvertCase and XInternAtoms
1199 AC_CHECK_LIB(X11, XAddConnectionWatch,
1204 if $have_x11r6; then
1205 AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
1207 AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1209 # Check for XKB support.
1211 if test "x$enable_xkb" = "xyes"; then
1212 AC_MSG_WARN(XKB support explicitly enabled)
1214 elif test "x$enable_xkb" = "xmaybe"; then
1215 AC_CHECK_LIB(X11, XkbQueryExtension,
1216 AC_DEFINE(HAVE_XKB),
1220 AC_MSG_WARN(XKB support explicitly disabled)
1223 x_cflags="$X_CFLAGS"
1224 x_ldflags="$X_LDFLAGS"
1226 # set up things for XInput
1228 if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
1229 AC_DEFINE(XINPUT_XFREE)
1230 GTK_ADD_LIB(x_extra_libs, Xi)
1232 AC_DEFINE(XINPUT_NONE)
1235 AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
1237 # Check for the RANDR extension
1239 AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
1240 [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
1241 # RANDR requires RENDER
1242 [GTK_ADD_LIB(x_extra_libs, Xrender)
1243 GTK_ADD_LIB(x_extra_libs, Xrandr)
1244 AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)],
1245 :, [#include <X11/Xlib.h>])], : ,
1246 $X_LIBS -lXrandr -lXrender -lX11 $X_EXTRA_LIBS)
1248 # Checks for Xcursor library
1251 PKG_CHECK_MODULES(XCURSOR, xcursor, have_xcursor=true, :)
1253 if $have_xcursor ; then
1254 AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1255 GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags xcursor` $GDK_EXTRA_CFLAGS"
1256 GDK_EXTRA_LIBS="`$PKG_CONFIG --libs xcursor` $GDK_EXTRA_LIBS"
1260 AC_CHECK_LIB(Xext, XSyncQueryExtension,
1261 [AC_CHECK_HEADER(X11/extensions/sync.h,
1262 [GTK_ADD_LIB(x_extra_libs, Xext)
1263 AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library)],
1264 :, [#include <X11/Xlib.h>])], : ,
1265 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
1267 # Checks for XFixes extension
1270 PKG_CHECK_MODULES(XFIXES, xfixes, have_xfixes=true, :)
1272 if $have_xfixes ; then
1273 AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1274 GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags xfixes` $GDK_EXTRA_CFLAGS"
1275 GDK_EXTRA_LIBS="`$PKG_CONFIG --libs xfixes` $GDK_EXTRA_LIBS"
1280 if test "x$enable_shm" = "xyes"; then
1281 # Check for shared memory
1282 AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
1283 AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
1285 # Check for the X shared memory extension header file
1287 AC_MSG_CHECKING(X11/extensions/XShm.h)
1288 if test "x$no_xext_lib" = "xyes"; then
1291 gtk_save_CFLAGS="$CFLAGS"
1292 CFLAGS="$CFLAGS $x_cflags"
1295 #include <sys/types.h>
1296 #include <sys/ipc.h>
1297 #include <sys/shm.h>
1298 #include <X11/Xlib.h>
1299 #include <X11/Xutil.h>
1300 #include <X11/extensions/XShm.h>
1301 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1302 CFLAGS="$gtk_save_CFLAGS"
1304 AC_MSG_RESULT($have_xshm)
1305 if test $have_xshm = yes ; then
1306 AC_DEFINE(HAVE_XSHM_H)
1310 if test $pango_omitted_x_deps = yes ; then
1311 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $x_libs $GDK_EXTRA_LIBS"
1313 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $GDK_EXTRA_LIBS"
1316 AM_CONDITIONAL(USE_X11, true)
1318 AM_CONDITIONAL(XINPUT_XFREE, false)
1319 AM_CONDITIONAL(USE_X11, false)
1320 AM_CONDITIONAL(HAVE_X11R6, false)
1323 if test "x$gdktarget" = "xwin32"; then
1324 # We start off with the libraries from Pango
1326 if test x$have_wintab = xyes; then
1327 GDK_WIN32_EXTRA_CFLAGS="-I $with_wintab/include"
1328 AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
1331 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -luuid"
1332 AM_CONDITIONAL(USE_WIN32, true)
1334 AM_CONDITIONAL(USE_WIN32, false)
1337 GDK_PIXBUF_XLIB_PACKAGES=
1338 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1339 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"
1341 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1342 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1343 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1344 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1345 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1347 if test "x$gdktarget" = "xlinux-fb"; then
1348 if $have_freetype ; then
1351 AC_MSG_ERROR([Using linux-fb backend but freetype was not found])
1354 ft2_libs="`$PKG_CONFIG --libs pangoft2`"
1356 *-lfreetype*) pango_omitted_ft2_deps=no ;;
1357 *) pango_omitted_ft2_deps=yes ;;
1360 CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
1362 if test x$enable_shadowfb = xyes ; then
1363 AC_DEFINE(ENABLE_SHADOW_FB)
1366 if test x$enable_fbmanager = xyes ; then
1367 AC_DEFINE(ENABLE_FB_MANAGER)
1368 AM_CONDITIONAL(ENABLE_FB_MANAGER, true)
1370 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1373 if test $pango_omitted_ft2_deps = yes ; then
1374 GDK_EXTRA_LIBS="$FREETYPE_LIBS $GDK_EXTRA_LIBS"
1377 AM_CONDITIONAL(USE_LINUX_FB, true)
1379 AM_CONDITIONAL(USE_LINUX_FB, false)
1380 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1384 # Pick correct Pango packages to use
1387 if test "x$gdktarget" = "xx11"; then
1388 PANGO_PACKAGES=pangoxft
1390 # We no longer use pangox, but if we find it, we link to it
1391 # for binary compatibility.
1392 if $PKG_CONFIG --exists pangox ; then
1393 PANGO_PACKAGES="$PANGO_PACKAGES pangox"
1395 elif test "x$gdktarget" = "xwin32"; then
1396 PANGO_PACKAGES=pangowin32
1397 elif test "x$gdktarget" = "xlinux-fb"; then
1398 PANGO_PACKAGES=pangoft2
1400 PANGO_PACKAGES=pango
1403 # Check for Pango flags
1405 AC_MSG_CHECKING(Pango flags)
1406 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1407 PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1408 PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1410 AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1413 *** Pango not found. Pango is required to build GTK+.
1414 *** See http://www.pango.org for Pango information.
1415 *** For the framebuffer target, you will need to build
1416 *** Pango with freetype support.
1420 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1422 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1425 gtk_save_LIBS="$LIBS"
1426 LIBS="$PANGO_LIBS $LIBS"
1427 AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1428 *** Can't link to Pango. Pango is required to build
1429 *** GTK+. For more information see http://www.pango.org]))
1430 LIBS="$gtk_save_LIBS"
1433 CFLAGS="$saved_cflags"
1434 LDFLAGS="$saved_ldflags"
1436 GDK_PACKAGES="$PANGO_PACKAGES"
1437 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1438 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1441 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1442 # into the pkg-config files
1444 if test $enable_explicit_deps != yes ; then
1448 AC_SUBST(GDK_PACKAGES)
1449 AC_SUBST(GDK_EXTRA_LIBS)
1450 AC_SUBST(GDK_EXTRA_CFLAGS)
1451 AC_SUBST(GDK_DEP_LIBS)
1452 AC_SUBST(GDK_DEP_CFLAGS)
1455 ########################################
1456 # Check for Accessibility Toolkit flags
1457 ########################################
1460 AC_MSG_CHECKING(ATK flags)
1461 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1462 ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1463 ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1465 AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1468 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1473 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1476 gtk_save_LIBS="$LIBS"
1477 LIBS="$ATK_LIBS $LIBS"
1478 AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1479 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1480 *** to build GTK+]))
1481 LIBS="$gtk_save_LIBS"
1487 GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1488 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"
1490 AC_SUBST(GTK_PACKAGES)
1491 AC_SUBST(GTK_EXTRA_LIBS)
1492 AC_SUBST(GTK_EXTRA_CFLAGS)
1493 AC_SUBST(GTK_DEP_LIBS)
1494 AC_SUBST(GTK_DEP_CFLAGS)
1497 AC_SUBST(GTK_DEBUG_FLAGS)
1498 AC_SUBST(GTK_XIM_FLAGS)
1500 ################################################################
1501 # Strip -export-dynamic from the link lines of various libraries
1502 ################################################################
1505 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1506 # but this flag is only meaningful for executables. For libraries
1507 # the effect is undefined; what it causes on Linux is that the
1508 # export list from -export-symbols-regex is ignored and everything
1511 # We are using gmodule-no-export now, but I'm leaving the stripping
1512 # code in place for now, since pango and atk still require gmodule.
1513 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1514 if test -n "$export_dynamic"; then
1515 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1516 GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1517 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1518 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1522 ##################################################
1523 # Checks for gtk-doc and docbook-tools
1524 ##################################################
1526 GTK_DOC_CHECK([1.0])
1528 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1529 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1532 [AC_HELP_STRING([--enable-man],
1533 [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1536 if test "${enable_man}" != no; then
1538 dnl Check for xsltproc
1540 AC_PATH_PROG([XSLTPROC], [xsltproc])
1541 if test -z "$XSLTPROC"; then
1545 dnl check for DocBook DTD and stylesheets in the local catalog.
1546 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1547 [DocBook XML DTD V4.1.2],,enable_man=no)
1548 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1549 [DocBook XSL Stylesheets],,enable_man=no)
1552 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1555 ##################################################
1557 ##################################################
1559 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1560 outfile=gdkconfig.h-tmp
1561 cat > $outfile <<\_______EOF
1564 * This is a generated file. Please modify `configure.in'
1572 #endif /* __cplusplus */
1576 cat >>$outfile <<_______EOF
1581 cat >>$outfile <<_______EOF
1585 #endif /* __cplusplus */
1587 #endif /* GDKCONFIG_H */
1591 if cmp -s $outfile gdk/gdkconfig.h; then
1592 AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1595 mv $outfile gdk/gdkconfig.h
1598 if test "x$gdktarget" = "xx11" ; then
1600 #define GDK_WINDOWING_X11'
1601 elif test "x$gdktarget" = "xwin32" ; then
1603 #define GDK_WINDOWING_WIN32'
1604 elif test "x$gdktarget" = "xlinux-fb" ; then
1606 #define GDK_WINDOWING_FB
1607 #define GDK_NATIVE_WINDOW_POINTER'
1610 if test x$gdk_wchar_h = xyes; then
1612 #define GDK_HAVE_WCHAR_H 1'
1614 if test x$gdk_wctype_h = xyes; then
1616 #define GDK_HAVE_WCTYPE_H 1"
1618 if test x$gdk_working_wctype = xno; then
1620 #define GDK_HAVE_BROKEN_WCTYPE 1"
1633 gdk-pixbuf-2.0-uninstalled.pc
1634 gdk-2.0-uninstalled.pc
1635 gtk+-2.0-uninstalled.pc
1638 po-properties/Makefile.in
1640 build/win32/Makefile
1641 build/win32/dirent/Makefile
1643 demos/gtk-demo/Makefile
1644 demos/gtk-demo/geninclude.pl
1647 docs/reference/Makefile
1648 docs/reference/gdk-pixbuf/Makefile
1649 docs/reference/gdk-pixbuf/version.xml
1650 docs/reference/gdk/Makefile
1651 docs/reference/gdk/version.xml
1652 docs/reference/gtk/Makefile
1653 docs/reference/gtk/version.xml
1656 docs/tutorial/Makefile
1658 gdk-pixbuf/gdk_pixbuf.rc
1659 gdk-pixbuf/gdk-pixbuf-features.h
1660 gdk-pixbuf/pixops/Makefile
1664 gdk/win32/rc/Makefile
1666 gdk/linux-fb/Makefile
1671 gtk/stock-icons/Makefile
1672 gtk/theme-bits/Makefile
1673 gtk/xdgmime/Makefile
1675 modules/input/Makefile
1676 modules/engines/Makefile
1677 modules/engines/pixbuf/Makefile
1678 modules/engines/ms-windows/Makefile
1679 modules/engines/ms-windows/Theme/Makefile
1680 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1682 contrib/gdk-pixbuf-xlib/Makefile
1683 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
1688 echo "configuration:
1691 if test "x$gdktarget" = "xlinux-fb"; then
1692 echo "Warning: The linux-fb GDK target is unmaintained"
1693 echo " and may not work or even compile"