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], [5])
15 m4_define([gtk_micro_version], [6])
16 m4_define([gtk_version],
17 [gtk_major_version.gtk_minor_version.gtk_micro_version])
18 m4_define([gtk_interface_age], [0])
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.5.7])
33 m4_define([pango_required_version], [1.5.1])
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 GLIB_AC_DIVERT_BEFORE_HELP([
211 if test "$platform_win32" = yes; then
218 AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/linux-fb/win32]] select GDK target [default=$gdktarget]],
219 gdktarget=$with_gdktarget)
223 x11|linux-fb|win32) ;;
224 *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb or win32.]);;
227 gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
228 gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
230 AC_SUBST(gdktargetlib)
231 AC_SUBST(gtktargetlib)
233 AC_ARG_ENABLE(shadowfb,
234 [AC_HELP_STRING([--disable-shadowfb],
235 [disable shadowfb support for linux-fb])],,
236 [enable_shadowfb=yes])
238 AC_ARG_ENABLE(fbmanager,
239 [AC_HELP_STRING([--enable-fbmanager],
240 [enable framebuffer manager support (GtkFB)])],,
243 if test "x$enable_debug" = "xyes"; then
244 test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
245 GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
247 if test "x$enable_debug" = "xno"; then
248 GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
250 GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
254 if test "x$enable_visibility" = "xno"; then
255 GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
259 AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
262 # Build time sanity check...
265 # Checks for programs.
272 if test "x$GCC" = "xyes"; then
274 *[\ \ ]-Wall[\ \ ]*) ;;
275 *) CFLAGS="$CFLAGS -Wall" ;;
278 if test "x$enable_ansi" = "xyes"; then
280 *[\ \ ]-ansi[\ \ ]*) ;;
281 *) CFLAGS="$CFLAGS -ansi" ;;
285 *[\ \ ]-pedantic[\ \ ]*) ;;
286 *) CFLAGS="$CFLAGS -pedantic" ;;
292 # Ensure MSVC-compatible struct packing convention is used when
293 # compiling for Win32 with gcc.
294 # What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
295 # gcc2 uses "-fnative-struct".
296 if test x"$os_win32" = xyes; then
297 if test x"$GCC" = xyes; then
299 AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
300 if test -z "$ac_cv_prog_CC"; then
303 our_gcc="$ac_cv_prog_CC"
305 case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
307 if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
308 msnative_struct='-fnative-struct'
312 if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
313 msnative_struct='-mms-bitfields'
317 if test x"$msnative_struct" = x ; then
318 AC_MSG_RESULT([no way])
319 AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
321 CFLAGS="$CFLAGS $msnative_struct"
322 AC_MSG_RESULT([${msnative_struct}])
327 # Honor aclocal flags
328 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
330 ## Initial sanity check, done here so that users get told they
331 ## have the wrong dependencies as early in the process as possible.
332 ## Later on we actually use the cflags/libs from separate pkg-config
333 ## calls. Oh, also the later pkg-config calls don't include
334 ## the version requirements since those make the module lists
335 ## annoying to construct
336 PKG_CHECK_MODULES(BASE_DEPENDENCIES,
337 [glib-2.0 >= glib_required_version dnl
338 atk >= atk_required_version dnl
339 pango >= pango_required_version])
341 if test "$os_win32" != yes; then
342 # libtool option to control which symbols are exported
343 # right now, symbols starting with _ are not exported
344 LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
346 # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
347 LIBTOOL_EXPORT_OPTIONS=
349 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
351 dnl ******************************************************
352 dnl * See whether to include shared library dependencies *
353 dnl ******************************************************
355 AC_ARG_ENABLE(explicit-deps,
356 [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
357 [use explicit dependencies in .pc files [default=auto]])],,
358 [enable_explicit_deps=auto])
360 AC_MSG_CHECKING([Whether to write dependencies into .pc files])
361 case $enable_explicit_deps in
363 deplib_check_method=`(./libtool --config; echo eval echo \\$deplib_check_method) | sh`
364 if test "X$deplib_check_method" = Xnone || test "x$enable_static" = xyes ; then
365 enable_explicit_deps=yes
367 enable_explicit_deps=no
372 *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
375 AC_MSG_RESULT($enable_explicit_deps)
377 AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
379 # define a MAINT-like variable REBUILD which is set if Perl
380 # and awk are found, so autogenerated sources can be rebuilt
382 AC_PATH_PROGS(PERL, perl5 perl)
384 # We would like indent, but don't require it.
385 AC_CHECK_PROG(INDENT, indent, indent)
388 if test "x$enable_rebuilds" = "xyes" && \
390 $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
395 AC_CHECK_FUNCS(lstat mkstemp flockfile)
397 # sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
398 AC_MSG_CHECKING(for sigsetjmp)
399 AC_TRY_LINK([#include <setjmp.h>], [
402 ], gtk_ok=yes, gtk_ok=no)
403 AC_MSG_RESULT($gtk_ok)
404 if test "$gtk_ok" = "yes"; then
405 AC_DEFINE(HAVE_SIGSETJMP)
409 # TRANSLATORS: Please note that gtk+ has both po/ and po-properties/
410 # directories. If you add a new language to ALL_LINGUAS, please make
411 # sure that both po/ and po-properties/ have .po files that correspond
412 # to your language. If you only add one to po/, the build will break
414 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 ne nl nn no 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"
416 LIBS="$LIBS $INTLLIBS"
417 AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
418 sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
421 AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
423 dnl The DU4 header files don't provide library prototypes unless
424 dnl -std1 is given to the native cc.
425 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
429 AC_TRY_RUN([#include <math.h>
430 int main (void) { return (log(1) != log(1.)); }],
431 AC_MSG_RESULT(none needed),
432 gtk_save_CFLAGS="$CFLAGS"
433 CFLAGS="$CFLAGS -std1"
434 AC_TRY_RUN([#include <math.h>
435 int main (void) { return (log(1) != log(1.)); }],
436 AC_MSG_RESULT(-std1),
438 CFLAGS="$gtk_save_CFLAGS"
440 [No ANSI prototypes found in library. (-std1 didn't work.)]),
443 AC_MSG_RESULT(none needed)
447 AC_MSG_CHECKING(for the BeOS)
458 dnl NeXTStep cc seems to need this
459 AC_MSG_CHECKING([for extra flags for POSIX compliance])
460 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
461 AC_MSG_RESULT(none needed),
462 gtk_save_CFLAGS="$CFLAGS"
463 CFLAGS="$CFLAGS -posix"
464 AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
465 AC_MSG_RESULT(-posix),
467 CFLAGS="$gtk_save_CFLAGS"
468 AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
471 # Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
474 GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
476 AM_PATH_GLIB_2_0(glib_required_version, :,
478 *** GLIB glib_required_version or better is required. The latest version of
479 *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
480 gobject gmodule-no-export gthread)
483 dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
486 LIBS="$LIBS $GLIB_LIBS"
487 AC_CHECK_FUNCS(bind_textdomain_codeset)
490 AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
491 AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
492 AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
494 if test "${with_ie55+set}" = set && test $with_ie55 != no; then
495 AC_MSG_CHECKING([for dimm.h])
496 saved_CFLAGS="$CFLAGS"
497 CFLAGS="$CFLAGS -idirafter $with_ie55/Include"
498 AC_TRY_COMPILE([/* The w32api imm.h clashes a bit with the IE5.5 dimm.h */
500 #define IMEMENUITEMINFOA hidden_IMEMENUITEMINFOA
501 #define IMEMENUITEMINFOW hidden_IMEMENUITEMINFOW
507 #undef IMEMENUITEMINFOA
508 #undef IMEMENUITEMINFOW
514 AC_MSG_CHECKING([for IE55 uuid.lib])
515 if test -f $with_ie55/Lib/uuid.lib ; then
518 AC_DEFINE(HAVE_DIMM_H)
519 IE55_UUID_LIB="$with_ie55/Lib/uuid.lib"
520 AC_SUBST(IE55_UUID_LIB)
523 CFLAGS="$saved_CFLAGS"
528 CFLAGS="$saved_CFLAGS"
531 AM_CONDITIONAL(HAVE_IE55, test x$have_ie55 = xyes)
533 if test "${with_wintab+set}" = set && test $with_wintab != no; then
534 AC_MSG_CHECKING([for wintab.h])
535 saved_CFLAGS="$CFLAGS"
536 CFLAGS="$CFLAGS -I$with_wintab/include"
537 AC_TRY_COMPILE([#include <windows.h>
538 #include <wintab.h>],
541 AC_MSG_CHECKING([for wntab32x.lib])
542 if test -f $with_wintab/lib/i386/wntab32x.lib ; then
545 AC_DEFINE(HAVE_WINTAB)
546 WINTAB_LIB="$with_wintab/lib/i386/wntab32x.lib"
550 CFLAGS="$saved_cflags"
555 CFLAGS="$saved_cflags"
558 AM_CONDITIONAL(HAVE_WINTAB, test x$have_wintab = xyes)
560 saved_cflags="$CFLAGS"
561 saved_ldflags="$LDFLAGS"
564 # Checks for header files.
567 # Checks for typedefs, structures, and compiler characteristics.
570 # Checks for library functions.
574 AC_CHECK_FUNCS(mallinfo)
575 AC_CHECK_FUNCS(getresuid)
578 # Check if <sys/select.h> needs to be included for fd_set
579 AC_MSG_CHECKING([for fd_set])
580 AC_TRY_COMPILE([#include <sys/types.h>],
581 [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
582 if test $gtk_ok = yes; then
583 AC_MSG_RESULT([yes, found in sys/types.h])
585 AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
586 if test $gtk_ok = yes; then
587 AC_DEFINE(HAVE_SYS_SELECT_H)
588 AC_MSG_RESULT([yes, found in sys/select.h])
595 # `widechar' tests for gdki18n.h
596 AC_MSG_CHECKING(for wchar.h)
597 AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
598 if test $gdk_wchar_h = yes; then
599 AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
601 AC_MSG_RESULT($gdk_wchar_h)
603 # Check for wctype.h (for iswalnum)
604 AC_MSG_CHECKING(for wctype.h)
605 AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
606 if test $gdk_wctype_h = yes; then
607 AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
609 AC_MSG_RESULT($gdk_wctype_h)
611 # in Solaris 2.5, `iswalnum' is in -lw
613 AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
616 LIBS="$LIBS $GDK_WLIBS"
617 # The following is necessary for Linux libc-5.4.38
618 AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
619 AC_TRY_LINK([#include <stdlib.h>],[
620 #if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
621 # ifdef HAVE_WCTYPE_H
629 # define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
631 iswalnum((wchar_t) 0);
632 ], gdk_working_wctype=yes, gdk_working_wctype=no)
635 if test $gdk_working_wctype = no; then
636 AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
639 AC_MSG_RESULT($gdk_working_wctype)
642 # Check for uxtheme.h (for MS-Windows Engine)
643 AC_MSG_CHECKING(for uxtheme.h)
644 AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
645 if test $gtk_uxtheme_h = yes; then
646 AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
648 AC_MSG_RESULT($gtk_uxtheme_h)
651 ##################################################
652 # Checks for gdk-pixbuf
653 ##################################################
655 dnl ********************************************************
656 dnl * See whether we need to load our modules as .la files *
657 dnl ********************************************************
661 *-aix*) use_la_modules=true
664 if $use_la_modules ; then
665 AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
669 AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
671 AC_ARG_ENABLE(modules,
672 [AC_HELP_STRING([--disable-modules],
673 [disable dynamic module loading])])
677 if test x$enable_modules = xno; then
681 AC_MSG_CHECKING(whether dynamic modules work)
682 ## for loop is to strip newline
683 tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
688 dnl Now we check to see if our libtool supports shared lib deps
689 dnl (in a rather ugly way even)
691 pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
692 pixbuf_deplibs_check=`$pixbuf_libtool_config | \
693 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
694 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
695 if test "x$pixbuf_deplibs_check" = "xnone" || \
696 test "x$pixbuf_deplibs_check" = "xunknown" || \
697 test "x$pixbuf_deplibs_check" = "x"; then
703 AC_DEFINE(USE_GMODULE)
710 dnl We allow people to disable image loaders explicitely, but if they don't we error
711 dnl out so that people don't accidentally build without them.
714 [AC_HELP_STRING([--without-libpng],
715 [disable PNG loader for gdk-pixbuf])])
717 [AC_HELP_STRING([--without-libjpeg],
718 [disable JPEG loader for gdk-pixbuf])])
720 [AC_HELP_STRING([--without-libtiff],
721 [disable TIFF loader for gdk-pixbuf])])
724 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
725 AC_CHECK_LIB(tiff, TIFFReadScanline,
726 [AC_CHECK_HEADER(tiffio.h,
727 TIFF='tiff'; LIBTIFF='-ltiff',
728 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
729 [AC_CHECK_LIB(tiff, TIFFWriteScanline,
730 [AC_CHECK_HEADER(tiffio.h,
731 TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
732 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
733 [AC_CHECK_LIB(tiff34, TIFFFlushData,
734 [AC_CHECK_HEADER(tiffio.h,
735 TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
736 AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
737 AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
740 if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
742 *** Checks for TIFF loader failed. You can build without it by passing
743 *** --without-libtiff to configure but some programs using GTK+ may
744 *** not work properly])
748 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
749 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
752 AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
753 if test "$jpeg_ok" = yes; then
754 AC_MSG_CHECKING([for jpeglib.h])
760 #include <jpeglib.h>],
763 AC_MSG_RESULT($jpeg_ok)
764 if test "$jpeg_ok" = yes; then
766 AC_CHECK_LIB(jpeg, jpeg_simple_progression,
767 AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
768 AC_MSG_WARN(JPEG library does not support progressive saving.))
770 AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
775 if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
777 *** Checks for JPEG loader failed. You can build without it by passing
778 *** --without-libjpeg to configure but some programs using GTK+ may
779 *** not work properly])
783 if test x$with_libpng != xno && test -z "$LIBPNG"; then
784 AC_MSG_CHECKING(for libpng12)
785 if $PKG_CONFIG --exists libpng12 ; then
788 PNG_DEP_CFLAGS_PACKAGES=libpng12
789 LIBPNG=`$PKG_CONFIG --libs libpng12`
792 AC_CHECK_LIB(png, png_read_info,
793 [AC_CHECK_HEADER(png.h,
796 AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
797 if test "$png_ok" = yes; then
798 AC_MSG_CHECKING([for png_structp in png.h])
799 AC_TRY_COMPILE([#include <png.h>],
800 [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
803 AC_MSG_RESULT($png_ok)
804 if test "$png_ok" = yes; then
805 PNG='png'; LIBPNG='-lpng -lz'
807 AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
810 AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
815 if test x$with_libpng != xno && test -z "$LIBPNG"; then
817 *** Checks for PNG loader failed. You can build without it by passing
818 *** --without-libpng to configure but many programs using GTK+ will
819 *** not work properly. The PNG loader is also needed if you are compiling
827 AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
830 # Allow building some or all gdk-pixbuf loaders included
832 AC_MSG_CHECKING(pixbuf loaders to build)
834 dnl due to an autoconf bug, commas in the first arg to
835 dnl AC_HELP_STRING cause problems.
836 dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
837 dnl [build the specified loaders into gdk-pixbuf (only used if module loading disabled)])
838 AC_ARG_WITH(included_loaders,
839 [ --with-included-loaders=LOADER1,LOADER2,...
840 build the specified loaders into gdk-pixbuf (only
841 used if module loading disabled)])
846 ## if the option was specified, leave it; otherwise disable included loaders
847 if test x$with_included_loaders = xno; then
848 with_included_loaders=yes
852 all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,tga,pcx"
854 # If no loaders specified, include all
855 if test "x$with_included_loaders" = xyes ; then
856 included_loaders="$all_loaders"
858 included_loaders="$with_included_loaders"
861 AC_MSG_RESULT($included_loaders)
864 INCLUDED_LOADER_DEFINE=
866 IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
867 for loader in $included_loaders; do
868 if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
871 AC_MSG_ERROR([the specified loader $loader does not exist])
874 INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libpixbufloader-static-$loader.la"
875 INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
878 AC_SUBST(INCLUDED_LOADER_OBJ)
879 AC_SUBST(INCLUDED_LOADER_DEFINE)
885 AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
886 AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
887 AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
891 if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
892 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
894 if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
895 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
897 if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
898 STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
901 STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
904 # Checks to see if we should compile in MMX support (there will be
905 # a runtime test when the code is actually run to see if it should
906 # be used - this just checks if we can compile it.)
908 # This code is partially taken from Mesa
910 AC_MSG_CHECKING(for x86 platform)
912 i386|i486|i586|i686|i786|k6|k7)
918 AC_MSG_RESULT($use_x86_asm)
921 if test $use_x86_asm = yes; then
925 AC_MSG_CHECKING(compiler support for MMX)
926 cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
927 if AC_TRY_EVAL(ac_compile); then
934 if test $use_mmx_asm = yes; then
942 AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
945 if test -z "$LIBPNG"; then
949 dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
951 AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
953 if test $cross_compiling = yes; then
954 AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
955 if test x$GDK_PIXBUF_CSOURCE = xno; then
960 if test ! -f $srcdir/gtk/stock-icons/gtkstockpixbufs.h &&
961 test "x$REBUILD_PNGS" = "x#" ; then
963 *** gtkstockpixbufs.h is not in the tree, and cannot be built
964 *** because you don't have libpng, or (when cross-compiling) you
965 *** don't have a prebuilt gdk-pixbuf-csource on the host system.])
968 AC_SUBST(REBUILD_PNGS)
970 GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
971 GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB"
972 GDK_PIXBUF_EXTRA_CFLAGS=
973 GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
974 GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
976 AC_SUBST(GDK_PIXBUF_PACKAGES)
977 AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
978 AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
979 AC_SUBST(GDK_PIXBUF_DEP_LIBS)
980 AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
983 ########################################
984 # Windowing system checks
985 ########################################
987 GDK_EXTRA_LIBS=$GDK_WLIBS
993 if test "x$gdktarget" = "xlinux-fb" || test "x$gdktarget" = "xx11" ; then
995 # Checks for FreeType
998 AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
999 if test "x$FREETYPE_CONFIG" != "xno" ; then
1000 FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
1001 FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
1003 gtk_save_LIBS="$LIBS"
1004 LIBS="$FREETYPE_LIBS $LIBS"
1005 AC_TRY_LINK_FUNC(FT_New_Face, have_freetype=true,:)
1006 LIBS="$gtk_save_LIBS"
1008 if $have_freetype ; then
1009 gtk_save_cppflags="$CPPFLAGS"
1010 CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
1012 AC_MSG_CHECKING([For sufficiently new FreeType (at least 2.0.1)])
1014 #include <ft2build.h>
1015 #include FT_FREETYPE_H
1016 #include FT_ERRORS_H
1018 [(void)1;],:,have_freetype=false)
1019 if $have_freetype ; then
1025 CPPFLAGS="$gtk_save_cppflags"
1028 AC_SUBST(FREETYPE_LIBS)
1029 AC_SUBST(FREETYPE_CFLAGS)
1032 if test "x$gdktarget" = "xx11"; then
1033 # We start off with the libraries from Pango
1035 ## be sure we also have Pango built with Xft2 support
1036 if $PKG_CONFIG --exists 'pangoxft >= 1.2.0' ; then
1037 if $have_freetype ; then
1040 AC_MSG_ERROR([Xft Pango backend found but did not find freetype libraries])
1043 AC_MSG_ERROR([Pango 1.2.0 and Xft backend is required for x11 target])
1046 if $PKG_CONFIG --exists xft ; then : ; else
1047 AC_MSG_ERROR([Xft version 2 is required for x11 target])
1051 # If Pango included the shared library dependencies from X11 in
1052 # the pkg-config output, then we use that (to avoid duplicates).
1053 # but if they were omitted to avoid binary compatibility problems,
1054 # then we need to repeat the checks.
1056 x_libs="`$PKG_CONFIG --libs pangoxft`"
1058 *-lX11*) pango_omitted_x_deps=no ;;
1059 *) pango_omitted_x_deps=yes ;;
1062 x_cflags="`$PKG_CONFIG --cflags pangoxft`"
1066 if test x$no_x = xyes ; then
1067 AC_MSG_ERROR([X development libraries not found])
1070 if test $pango_omitted_x_deps = yes ; then
1071 # Old versions of Xft didn't necessarily include -lX11 in the output
1072 x_libs="`pkg-config --libs xft` -lX11 $X_EXTRA_LIBS"
1075 ## Strip the .la files
1077 x_libs_for_checks=""
1078 for I in $x_libs ; do
1081 *) x_libs_for_checks="$x_libs_for_checks $I" ;;
1085 # Sanity check for the X11 library
1086 AC_CHECK_LIB(X11, XOpenDisplay, :,
1087 AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]),
1090 if test "x$enable_shm" = "xyes"; then
1091 # Check for the Xext library (needed for XShm extention)
1092 AC_CHECK_LIB(Xext, XShmAttach,
1093 [GTK_ADD_LIB(x_extra_libs,Xext)],
1094 # On AIX, it is in XextSam instead, but we still need -lXext
1095 [AC_CHECK_LIB(XextSam, XShmAttach,
1096 [GTK_ADD_LIB(x_extra_libs,Xext)
1097 GTK_ADD_LIB(x_extra_libs,XextSam)
1098 ], , -lXext $x_libs_for_checks)],
1102 GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
1103 # Don't ever pull in the pangoxft libraries for gdk-pixbuf-x11
1104 GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $x_extra_libs $X_EXTRA_LIBS"
1106 # GTK+ uses some X calls, so needs to link against X directly
1107 if test $enable_explicit_deps != yes ; then
1108 GTK_DEP_LIBS_FOR_X="$X_LIBS -lX11 $X_EXTRA_LIBS"
1111 # Check for Xinerama extension (Solaris impl or Xfree impl)
1113 gtk_save_cppflags="$CPPFLAGS"
1114 CPPFLAGS="$CPPFLAGS $x_cflags"
1119 use_solaris_xinerama=yes
1120 AC_CHECK_LIB(Xext, XineramaGetInfo,
1121 use_solaris_xinerama=yes,
1122 use_solaris_xinerama=no,
1123 -lXext $x_libs_for_checks)
1124 if test "x$use_solaris_xinerama" = "xyes"; then
1125 AC_CHECK_HEADER(X11/extensions/xinerama.h,
1126 [GTK_ADD_LIB(x_extra_libs,Xext)
1127 AC_DEFINE(HAVE_SOLARIS_XINERAMA)
1128 AC_DEFINE(HAVE_XINERAMA)],
1129 use_solaris_xinerama=no,[#include <X11/Xlib.h>])
1131 AC_MSG_CHECKING(for Xinerama support on Solaris)
1132 AC_MSG_RESULT($use_solaris_xinerama);
1136 use_xfree_xinerama=yes
1137 AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
1138 [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
1139 [GTK_ADD_LIB(x_extra_libs,Xext)
1140 GTK_ADD_LIB(x_extra_libs,Xinerama)
1141 AC_DEFINE(HAVE_XFREE_XINERAMA)
1142 AC_DEFINE(HAVE_XINERAMA)],
1143 use_xfree_xinerama=no,
1144 [#include <X11/Xlib.h>])],
1145 use_xfree_xinerama=no, -lXext $x_libs_for_checks)
1146 AC_MSG_CHECKING(for Xinerama support on XFree86)
1147 AC_MSG_RESULT($use_xfree_xinerama);
1151 CPPFLAGS="$gtk_save_cppflags"
1155 gtk_save_cppflags="$CPPFLAGS"
1156 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
1158 AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
1159 AC_TRY_COMPILE([#include <X11/Xlibint.h>],
1161 [AC_MSG_RESULT([no])],
1162 [AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
1163 #include <X11/Xlibint.h>],
1165 [AC_MSG_RESULT([yes])
1166 AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
1167 [Define if <X11/extensions/XIproto.h> needed for xReply])],
1168 [AC_MSG_RESULT([unknown])
1169 AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
1171 CPPFLAGS="$gtk_save_cppflags"
1173 # Check for shaped window extension
1175 AC_CHECK_LIB(Xext, XShapeCombineMask,
1176 [GTK_ADD_LIB(x_extra_libs,Xext)
1177 AC_DEFINE(HAVE_SHAPE_EXT)],
1181 # Check for XConvertCase (X11R6 specific)
1183 AC_CHECK_LIB(X11, XConvertCase,
1184 AC_DEFINE(HAVE_XCONVERTCASE),
1188 # Check for XInternAtoms (X11R6 specific)
1190 AC_CHECK_LIB(X11, XInternAtoms,
1191 AC_DEFINE([HAVE_XINTERNATOMS], 1,
1192 [Define to 1 if you have the `XInternAtoms' function.]),
1196 # Generic X11R6 check needed for XIM support; we could
1197 # probably use this to replace the above, but we'll
1198 # leave the separate checks for XConvertCase and XInternAtoms
1201 AC_CHECK_LIB(X11, XAddConnectionWatch,
1206 if $have_x11r6; then
1207 AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
1209 AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
1211 # Check for XKB support.
1213 if test "x$enable_xkb" = "xyes"; then
1214 AC_MSG_WARN(XKB support explicitly enabled)
1216 elif test "x$enable_xkb" = "xmaybe"; then
1217 AC_CHECK_LIB(X11, XkbQueryExtension,
1218 AC_DEFINE(HAVE_XKB),
1222 AC_MSG_WARN(XKB support explicitly disabled)
1225 x_cflags="$X_CFLAGS"
1226 x_ldflags="$X_LDFLAGS"
1228 # set up things for XInput
1230 if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
1231 AC_DEFINE(XINPUT_XFREE)
1232 GTK_ADD_LIB(x_extra_libs, Xi)
1234 AC_DEFINE(XINPUT_NONE)
1237 AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
1239 # Check for the RANDR extension
1241 AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
1242 [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
1243 # RANDR requires RENDER
1244 [GTK_ADD_LIB(x_extra_libs, Xrender)
1245 GTK_ADD_LIB(x_extra_libs, Xrandr)
1246 AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)],
1247 :, [#include <X11/Xlib.h>])], : ,
1248 $X_LIBS -lXrandr -lXrender -lX11 $X_EXTRA_LIBS)
1250 # Checks for Xcursor library
1253 PKG_CHECK_MODULES(XCURSOR, xcursor, have_xcursor=true, :)
1255 if $have_xcursor ; then
1256 AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
1257 GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags xcursor` $GDK_EXTRA_CFLAGS"
1258 GDK_EXTRA_LIBS="`$PKG_CONFIG --libs xcursor` $GDK_EXTRA_LIBS"
1262 AC_CHECK_LIB(Xext, XSyncQueryExtension,
1263 [AC_CHECK_HEADER(X11/extensions/sync.h,
1264 [GTK_ADD_LIB(x_extra_libs, Xext)
1265 AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library)],
1266 :, [#include <X11/Xlib.h>])], : ,
1267 $X_LIBS -lXext -lX11 $X_EXTRA_LIBS)
1269 # Checks for XFixes extension
1272 PKG_CHECK_MODULES(XFIXES, xfixes, have_xfixes=true, :)
1274 if $have_xfixes ; then
1275 AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
1276 GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags xfixes` $GDK_EXTRA_CFLAGS"
1277 GDK_EXTRA_LIBS="`$PKG_CONFIG --libs xfixes` $GDK_EXTRA_LIBS"
1282 if test "x$enable_shm" = "xyes"; then
1283 # Check for shared memory
1284 AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
1285 AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
1287 # Check for the X shared memory extension header file
1289 AC_MSG_CHECKING(X11/extensions/XShm.h)
1290 if test "x$no_xext_lib" = "xyes"; then
1293 gtk_save_CFLAGS="$CFLAGS"
1294 CFLAGS="$CFLAGS $x_cflags"
1297 #include <sys/types.h>
1298 #include <sys/ipc.h>
1299 #include <sys/shm.h>
1300 #include <X11/Xlib.h>
1301 #include <X11/Xutil.h>
1302 #include <X11/extensions/XShm.h>
1303 ], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
1304 CFLAGS="$gtk_save_CFLAGS"
1306 AC_MSG_RESULT($have_xshm)
1307 if test $have_xshm = yes ; then
1308 AC_DEFINE(HAVE_XSHM_H)
1312 if test $pango_omitted_x_deps = yes ; then
1313 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $x_libs $GDK_EXTRA_LIBS"
1315 GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $GDK_EXTRA_LIBS"
1318 AM_CONDITIONAL(USE_X11, true)
1320 AM_CONDITIONAL(XINPUT_XFREE, false)
1321 AM_CONDITIONAL(USE_X11, false)
1322 AM_CONDITIONAL(HAVE_X11R6, false)
1325 if test "x$gdktarget" = "xwin32"; then
1326 # We start off with the libraries from Pango
1328 if test x$have_wintab = xyes; then
1329 GDK_WIN32_EXTRA_CFLAGS="-I $with_wintab/include"
1330 AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
1333 GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -luuid"
1334 AM_CONDITIONAL(USE_WIN32, true)
1336 AM_CONDITIONAL(USE_WIN32, false)
1339 GDK_PIXBUF_XLIB_PACKAGES=
1340 GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
1341 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"
1343 AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
1344 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
1345 AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
1346 AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
1347 AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
1349 if test "x$gdktarget" = "xlinux-fb"; then
1350 if $have_freetype ; then
1353 AC_MSG_ERROR([Using linux-fb backend but freetype was not found])
1356 ft2_libs="`$PKG_CONFIG --libs pangoft2`"
1358 *-lfreetype*) pango_omitted_ft2_deps=no ;;
1359 *) pango_omitted_ft2_deps=yes ;;
1362 CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
1364 if test x$enable_shadowfb = xyes ; then
1365 AC_DEFINE(ENABLE_SHADOW_FB)
1368 if test x$enable_fbmanager = xyes ; then
1369 AC_DEFINE(ENABLE_FB_MANAGER)
1370 AM_CONDITIONAL(ENABLE_FB_MANAGER, true)
1372 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1375 if test $pango_omitted_ft2_deps = yes ; then
1376 GDK_EXTRA_LIBS="$FREETYPE_LIBS $GDK_EXTRA_LIBS"
1379 AM_CONDITIONAL(USE_LINUX_FB, true)
1381 AM_CONDITIONAL(USE_LINUX_FB, false)
1382 AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
1386 # Pick correct Pango packages to use
1389 if test "x$gdktarget" = "xx11"; then
1390 PANGO_PACKAGES=pangoxft
1392 # We no longer use pangox, but if we find it, we link to it
1393 # for binary compatibility.
1394 if $PKG_CONFIG --exists pangox ; then
1395 PANGO_PACKAGES="$PANGO_PACKAGES pangox"
1397 elif test "x$gdktarget" = "xwin32"; then
1398 PANGO_PACKAGES=pangowin32
1399 elif test "x$gdktarget" = "xlinux-fb"; then
1400 PANGO_PACKAGES=pangoft2
1402 PANGO_PACKAGES=pango
1405 # Check for Pango flags
1407 AC_MSG_CHECKING(Pango flags)
1408 if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
1409 PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
1410 PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
1412 AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
1415 *** Pango not found. Pango is required to build GTK+.
1416 *** See http://www.pango.org for Pango information.
1417 *** For the framebuffer target, you will need to build
1418 *** Pango with freetype support.
1422 CFLAGS="$CFLAGS $PANGO_CFLAGS"
1424 if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
1427 gtk_save_LIBS="$LIBS"
1428 LIBS="$PANGO_LIBS $LIBS"
1429 AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
1430 *** Can't link to Pango. Pango is required to build
1431 *** GTK+. For more information see http://www.pango.org]))
1432 LIBS="$gtk_save_LIBS"
1435 CFLAGS="$saved_cflags"
1436 LDFLAGS="$saved_ldflags"
1438 GDK_PACKAGES="$PANGO_PACKAGES"
1439 GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
1440 GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1443 # If we aren't writing explicit dependencies, then don't put the extra libraries we need
1444 # into the pkg-config files
1446 if test $enable_explicit_deps != yes ; then
1450 AC_SUBST(GDK_PACKAGES)
1451 AC_SUBST(GDK_EXTRA_LIBS)
1452 AC_SUBST(GDK_EXTRA_CFLAGS)
1453 AC_SUBST(GDK_DEP_LIBS)
1454 AC_SUBST(GDK_DEP_CFLAGS)
1457 ########################################
1458 # Check for Accessibility Toolkit flags
1459 ########################################
1462 AC_MSG_CHECKING(ATK flags)
1463 if $PKG_CONFIG --exists $ATK_PACKAGES ; then
1464 ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
1465 ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
1467 AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
1470 *** Accessibility Toolkit not found. Accessibility Toolkit is required
1475 if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
1478 gtk_save_LIBS="$LIBS"
1479 LIBS="$ATK_LIBS $LIBS"
1480 AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
1481 *** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
1482 *** to build GTK+]))
1483 LIBS="$gtk_save_LIBS"
1489 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"
1490 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"
1492 AC_SUBST(GTK_PACKAGES)
1493 AC_SUBST(GTK_EXTRA_LIBS)
1494 AC_SUBST(GTK_EXTRA_CFLAGS)
1495 AC_SUBST(GTK_DEP_LIBS)
1496 AC_SUBST(GTK_DEP_CFLAGS)
1499 AC_SUBST(GTK_DEBUG_FLAGS)
1500 AC_SUBST(GTK_XIM_FLAGS)
1502 ################################################################
1503 # Strip -export-dynamic from the link lines of various libraries
1504 ################################################################
1507 # pkg-config --libs gmodule includes the "export_dynamic" flag,
1508 # but this flag is only meaningful for executables. For libraries
1509 # the effect is undefined; what it causes on Linux is that the
1510 # export list from -export-symbols-regex is ignored and everything
1513 # We are using gmodule-no-export now, but I'm leaving the stripping
1514 # code in place for now, since pango and atk still require gmodule.
1515 export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
1516 if test -n "$export_dynamic"; then
1517 GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
1518 GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
1519 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1520 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
1524 ##################################################
1525 # Checks for gtk-doc and docbook-tools
1526 ##################################################
1528 GTK_DOC_CHECK([1.0])
1530 AC_CHECK_PROG(DB2HTML, db2html, true, false)
1531 AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
1534 [AC_HELP_STRING([--enable-man],
1535 [regenerate man pages from Docbook [default=no]])],enable_man=yes,
1538 if test "${enable_man}" != no; then
1540 dnl Check for xsltproc
1542 AC_PATH_PROG([XSLTPROC], [xsltproc])
1543 if test -z "$XSLTPROC"; then
1547 dnl check for DocBook DTD and stylesheets in the local catalog.
1548 JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
1549 [DocBook XML DTD V4.1.2],,enable_man=no)
1550 JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
1551 [DocBook XSL Stylesheets],,enable_man=no)
1554 AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
1556 ##################################################
1558 ##################################################
1560 AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
1561 outfile=gdkconfig.h-tmp
1562 cat > $outfile <<\_______EOF
1565 * This is a generated file. Please modify `configure.in'
1573 #endif /* __cplusplus */
1577 cat >>$outfile <<_______EOF
1582 cat >>$outfile <<_______EOF
1586 #endif /* __cplusplus */
1588 #endif /* GDKCONFIG_H */
1592 if cmp -s $outfile gdk/gdkconfig.h; then
1593 AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
1596 mv $outfile gdk/gdkconfig.h
1599 if test "x$gdktarget" = "xx11" ; then
1601 #define GDK_WINDOWING_X11'
1602 elif test "x$gdktarget" = "xwin32" ; then
1604 #define GDK_WINDOWING_WIN32'
1605 elif test "x$gdktarget" = "xlinux-fb" ; then
1607 #define GDK_WINDOWING_FB
1608 #define GDK_NATIVE_WINDOW_POINTER'
1611 if test x$gdk_wchar_h = xyes; then
1613 #define GDK_HAVE_WCHAR_H 1'
1615 if test x$gdk_wctype_h = xyes; then
1617 #define GDK_HAVE_WCTYPE_H 1"
1619 if test x$gdk_working_wctype = xno; then
1621 #define GDK_HAVE_BROKEN_WCTYPE 1"
1634 gdk-pixbuf-2.0-uninstalled.pc
1635 gdk-2.0-uninstalled.pc
1636 gtk+-2.0-uninstalled.pc
1639 po-properties/Makefile.in
1641 build/win32/Makefile
1642 build/win32/dirent/Makefile
1644 demos/gtk-demo/Makefile
1645 demos/gtk-demo/geninclude.pl
1648 docs/reference/Makefile
1649 docs/reference/gdk-pixbuf/Makefile
1650 docs/reference/gdk-pixbuf/version.xml
1651 docs/reference/gdk/Makefile
1652 docs/reference/gdk/version.xml
1653 docs/reference/gtk/Makefile
1654 docs/reference/gtk/version.xml
1657 docs/tutorial/Makefile
1659 gdk-pixbuf/gdk_pixbuf.rc
1660 gdk-pixbuf/gdk-pixbuf-features.h
1661 gdk-pixbuf/pixops/Makefile
1665 gdk/win32/rc/Makefile
1667 gdk/linux-fb/Makefile
1672 gtk/stock-icons/Makefile
1673 gtk/theme-bits/Makefile
1674 gtk/xdgmime/Makefile
1676 modules/input/Makefile
1677 modules/engines/Makefile
1678 modules/engines/pixbuf/Makefile
1679 modules/engines/ms-windows/Makefile
1680 modules/engines/ms-windows/Theme/Makefile
1681 modules/engines/ms-windows/Theme/gtk-2.0/Makefile
1683 contrib/gdk-pixbuf-xlib/Makefile
1684 contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc