# Process this file with autoconf to produce a configure script.
-AC_INIT(gdk/gdktypes.h)
+# require autoconf 2.54
+AC_PREREQ(2.54)
+# Making releases:
+# GTK_MICRO_VERSION += 1;
+# GTK_INTERFACE_AGE += 1;
+# GTK_BINARY_AGE += 1;
+# if any functions have been added, set GTK_INTERFACE_AGE to 0.
+# if backwards compatibility has been broken,
+# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
+
+m4_define([gtk_major_version], [2])
+m4_define([gtk_minor_version], [3])
+m4_define([gtk_micro_version], [0])
+m4_define([gtk_version],
+ [gtk_major_version.gtk_minor_version.gtk_micro_version])
+m4_define([gtk_interface_age], [0])
+m4_define([gtk_binary_age], [300])
+# This is the X.Y used in -lgtk-FOO-X.Y
+m4_define([gtk_api_version], [2.0])
+
+# Define a string for the earliest version that this release has
+# forward/backwards binary compatibility with. This is used for module
+# locations. (Should this be backwards-compat instead?)
#
-# For each of the libraries we build, we define the following
-# substituted variables:
-#
-# foo_PACKAGES: pkg-config packages this library requires
-# foo_EXTRA_LIBS: Libraries this module requires not pulled in by pkg-config
-# foo_EXTRA_CFLAGS: cflags this module requires not pulled in by pkg-config
-# foo_DEP_LIBS: All libraries this module requires
-# foo_DEP_CFLAGS: All cflags this module requires
+#GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
+m4_define([gtk_binary_version], [2.2.0])
+
+# required versions of other packages
+m4_define([glib_required_version], [2.1.4])
+m4_define([pango_required_version], [1.0.1])
+m4_define([atk_required_version], [1.0.1])
-## We could have pkg-config uniquify the ldflags and cflags by calling
-## it once with both the GLib and Pango package names, but we don't,
-## someone should fix that.
+AC_INIT([gtk+], [gtk_version],
+ [http://bugzilla.gnome.org/enter_bug.cgi?product=gtk+],
+ [gtk+])
+AC_CONFIG_SRCDIR([gdk/gdktypes.h])
# Save this value here, since automake will set cflags later
cflags_set=${CFLAGS+set}
-dnl we to AC_DIVERT_PUSH/AC_DIVERT_POP these variable definitions so they
-dnl are available for $ac_help expansion (don't we all *love* autoconf?)
-GLIB_AC_DIVERT_BEFORE_HELP([
+AM_INIT_AUTOMAKE(no-define)
+AM_CONFIG_HEADER(config.h)
+
#
-# Making releases:
-# GTK_MICRO_VERSION += 1;
-# GTK_INTERFACE_AGE += 1;
-# GTK_BINARY_AGE += 1;
-# if any functions have been added, set GTK_INTERFACE_AGE to 0.
-# if backwards compatibility has been broken,
-# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
+# For each of the libraries we build, we define the following
+# substituted variables:
#
-GTK_MAJOR_VERSION=1
-GTK_MINOR_VERSION=3
-GTK_MICRO_VERSION=13
-GTK_INTERFACE_AGE=0
-GTK_BINARY_AGE=0
-GTK_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$GTK_MICRO_VERSION
-dnl
-])dnl
+# foo_PACKAGES: pkg-config packages this library requires
+# foo_EXTRA_LIBS: Libraries this module requires not pulled in by pkg-config
+# foo_EXTRA_CFLAGS: cflags this module requires not pulled in by pkg-config
+# foo_DEP_LIBS: All libraries this module requires
+# foo_DEP_CFLAGS: All cflags this module requires
+
+GTK_MAJOR_VERSION=gtk_major_version
+GTK_MINOR_VERSION=gtk_minor_version
+GTK_MICRO_VERSION=gtk_micro_version
+GTK_INTERFACE_AGE=gtk_interface_age
+GTK_BINARY_AGE=gtk_binary_age
+GTK_VERSION=gtk_version
+GTK_API_VERSION=gtk_api_version
+GTK_BINARY_VERSION=gtk_binary_version
AC_SUBST(GTK_MAJOR_VERSION)
AC_SUBST(GTK_MINOR_VERSION)
AC_SUBST(GTK_MICRO_VERSION)
AC_SUBST(GTK_INTERFACE_AGE)
AC_SUBST(GTK_BINARY_AGE)
+AC_SUBST(GTK_API_VERSION)
AC_SUBST(GTK_VERSION)
+AC_SUBST(GTK_BINARY_VERSION)
# libtool versioning
-LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
-LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
-LT_REVISION=$GTK_INTERFACE_AGE
-LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
-LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
-AC_SUBST(LT_RELEASE)
-AC_SUBST(LT_CURRENT)
-AC_SUBST(LT_REVISION)
-AC_SUBST(LT_AGE)
+#LT_RELEASE=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION
+#LT_CURRENT=`expr $GTK_MICRO_VERSION - $GTK_INTERFACE_AGE`
+#LT_REVISION=$GTK_INTERFACE_AGE
+#LT_AGE=`expr $GTK_BINARY_AGE - $GTK_INTERFACE_AGE`
+#LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
+
+m4_define([lt_current], [m4_eval(100 * gtk_minor_version + gtk_micro_version - gtk_interface_age)])
+m4_define([lt_revision], [gtk_interface_age])
+m4_define([lt_age], [m4_eval(gtk_binary_age - gtk_interface_age)])
+LT_VERSION_INFO="lt_current:lt_revision:lt_age"
+LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
+AC_SUBST(LT_VERSION_INFO)
AC_SUBST(LT_CURRENT_MINUS_AGE)
-# Define a string for the earliest version that this release has
-# binary compatibility with. This is used for module locations.
-#
-GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
-AC_SUBST(GTK_BINARY_VERSION)
#
# gdk-pixbuf gets versioned separately, and for now, using standard
# libtool versioning, not GTK+-style versioning
#
-GDK_PIXBUF_MAJOR=$GTK_MAJOR_VERSION
-GDK_PIXBUF_MINOR=$GTK_MINOR_VERSION
-GDK_PIXBUF_MICRO=$GTK_MICRO_VERSION
+GDK_PIXBUF_MAJOR=gtk_major_version
+GDK_PIXBUF_MINOR=gtk_minor_version
+GDK_PIXBUF_MICRO=gtk_micro_version
GDK_PIXBUF_VERSION="${GDK_PIXBUF_MAJOR}.${GDK_PIXBUF_MINOR}.${GDK_PIXBUF_MICRO}"
AC_SUBST(GDK_PIXBUF_MAJOR)
AC_SUBST(GDK_PIXBUF_MINOR)
AC_SUBST(GDK_PIXBUF_MICRO)
AC_SUBST(GDK_PIXBUF_VERSION)
-## Versions of dependencies
-GLIB_REQUIRED_VERSION=1.3.13
-PANGO_REQUIRED_VERSION=0.24
-ATK_REQUIRED_VERSION=0.8
-
-# For automake.
-VERSION=$GTK_VERSION
-PACKAGE=gtk+
-
GETTEXT_PACKAGE=gtk20
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE")
-# Save this value here, since automake will set cflags later
-cflags_set=${CFLAGS+set}
-
-dnl Initialize automake stuff
-AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
-
-# Specify a configuration file
-AM_CONFIG_HEADER(config.h)
dnl Initialize libtool
AC_PROG_CC
+AM_DISABLE_STATIC
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
-dnl Set AS and ASFLAGS so that automake 1.5 will be happy
-AS="\${CC}"
-ASFLAGS="\${CFLAGS}"
-AC_SUBST(AS)
-AC_SUBST(ASFLAGS)
+AM_PROG_AS
dnl Initialize maintainer mode
AM_MAINTAINER_MODE
AC_MSG_RESULT([$platform_win32])
AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
+MATH_LIB=-lm
AC_MSG_CHECKING([for native Win32])
case "$host" in
*-*-mingw*)
os_win32=yes
+ MATH_LIB=
;;
*)
os_win32=no
fi
AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
-dnl figure debugging default, prior to $ac_help setup
-dnl
-GLIB_AC_DIVERT_BEFORE_HELP([
-if test `expr $GTK_MINOR_VERSION \% 2` = 1 ; then
- debug_default=yes
-else
- debug_default=minimum
-fi
-])dnl
+m4_define([debug_default],
+ m4_if(m4_eval(gtk_minor_version % 2), [1], [yes], [minimum]))
dnl declare --enable-* args and collect ac_help strings
-AC_ARG_ENABLE(debug, [ --enable-debug=[no/minimum/yes] turn on debugging [default=$debug_default]],,enable_debug=$debug_default)
-AC_ARG_ENABLE(shm, [ --enable-shm support shared memory if available [default=yes]],
- echo $enable_shm, enable_shm="yes")
-AC_ARG_ENABLE(ansi, [ --enable-ansi turn on strict ansi [default=no]],
- , enable_ansi=no)
-AC_ARG_ENABLE(xim, [ --enable-xim support XIM [default=yes]],
- , enable_xim="yes")
-AC_ARG_ENABLE(xim_inst, [ --disable-xim-inst does not use xim instantiate callback],
- , enable_xim_inst="maybe")
-AC_ARG_ENABLE(xkb, [ --enable-xkb support XKB [default=maybe]],
- , enable_xkb="maybe")
-AC_ARG_ENABLE(rebuilds, [ --disable-rebuilds disable all source autogeneration rules],,enable_rebuilds=yes)
-
-AC_ARG_WITH(xinput, [ --with-xinput=[no/gxi/xfree] support XInput ])
-
-AC_ARG_WITH(wintab, [ --with-wintab=DIRECTORY use Wintab API with win32 backend])
-AC_ARG_WITH(ie55, [ --with-ie55=DIRECTORY IE5.5 libs and headers (for Active IMM)])
+AC_ARG_ENABLE(debug,
+ AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
+ [turn on debugging @<:@default=debug_default@:>@]),,
+ enable_debug=debug_default)
+AC_ARG_ENABLE(shm,
+ [AC_HELP_STRING([--enable-shm],
+ [support shared memory if available [default=yes]])],
+ [echo $enable_shm, enable_shm="yes"])
+AC_ARG_ENABLE(ansi,
+ [AC_HELP_STRING([--enable-ansi],
+ [turn on strict ansi [default=no]])],,
+ [enable_ansi=no])
+AC_ARG_ENABLE(xkb,
+ [AC_HELP_STRING([--enable-xkb],
+ [support XKB [default=maybe]])],,
+ [enable_xkb="maybe"])
+AC_ARG_ENABLE(rebuilds,
+ [AC_HELP_STRING([--disable-rebuilds],
+ [disable all source autogeneration rules])],,
+ [enable_rebuilds=yes])
+
+AC_ARG_WITH(xinput,
+ [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
+
+AC_ARG_WITH(wintab,
+ [AC_HELP_STRING([--with-wintab=DIRECTORY],
+ [use Wintab API with win32 backend])])
+AC_ARG_WITH(ie55,
+ [AC_HELP_STRING([--with-ie55=DIRECTORY],
+ [IE5.5 libs and headers (for Active IMM)])])
GLIB_AC_DIVERT_BEFORE_HELP([
if test "$platform_win32" = yes; then
*) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb or win32.]);;
esac
-gdktargetlib=libgdk-$gdktarget-1.3.la
-gtktargetlib=libgtk-$gdktarget-1.3.la
+gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
+gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
AC_SUBST(gdktargetlib)
AC_SUBST(gtktargetlib)
-AC_ARG_ENABLE(shadowfb, [ --disable-shadowfb disable shadowfb support for linux-fb],,enable_shadowfb=yes)
+AC_ARG_ENABLE(shadowfb,
+ [AC_HELP_STRING([--disable-shadowfb],
+ [disable shadowfb support for linux-fb])],,
+ [enable_shadowfb=yes])
-AC_ARG_ENABLE(fbmanager, [ --enable-fbmanager enable framebuffer manager support (GtkFB)],enable_fbmanager=yes,enable_fbmanager=no)
+AC_ARG_ENABLE(fbmanager,
+ [AC_HELP_STRING([--enable-fbmanager],
+ [enable framebuffer manager support (GtkFB)])],,
+ enable_fbmanager=no)
if test "x$enable_debug" = "xyes"; then
test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
*) CFLAGS="$CFLAGS -pedantic" ;;
esac
fi
+fi
+changequote([,])dnl
- if test "$os_win32" = "yes"; then
- case "$CC $CFLAGS " in
- *[[\ \ ]]-fnative-struct[[\ \ ]]*) ;;
- *) CFLAGS="$CFLAGS -fnative-struct" ;;
+# Ensure MSVC-compatible struct packing convention is used when
+# compiling for Win32 with gcc.
+# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
+# gcc2 uses "-fnative-struct".
+if test x"$os_win32" = xyes; then
+ if test x"$GCC" = xyes; then
+ msnative_struct=''
+ AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
+ if test -z "$ac_cv_prog_CC"; then
+ our_gcc="$CC"
+ else
+ our_gcc="$ac_cv_prog_CC"
+ fi
+ case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
+ 2.)
+ if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
+ msnative_struct='-fnative-struct'
+ fi
+ ;;
+ *)
+ if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
+ msnative_struct='-mms-bitfields'
+ fi
+ ;;
esac
+ if test x"$msnative_struct" = x ; then
+ AC_MSG_RESULT([no way])
+ AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
+ else
+ CFLAGS="$CFLAGS $msnative_struct"
+ AC_MSG_RESULT([${msnative_struct}])
+ fi
fi
fi
-changequote([,])dnl
# Honor aclocal flags
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
## calls. Oh, also the later pkg-config calls don't include
## the version requirements since those make the module lists
## annoying to construct
-PKG_CHECK_MODULES(BASE_DEPENDENCIES, glib-2.0 >= $GLIB_REQUIRED_VERSION atk >= $ATK_REQUIRED_VERSION pango >= $PANGO_REQUIRED_VERSION)
+PKG_CHECK_MODULES(BASE_DEPENDENCIES,
+ [glib-2.0 >= glib_required_version dnl
+ atk >= atk_required_version dnl
+ pango >= pango_required_version])
if test "$os_win32" != yes; then
# libtool option to control which symbols are exported
fi
AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
+dnl ******************************************************
+dnl * See whether to include shared library dependencies *
+dnl ******************************************************
+
+AC_ARG_ENABLE(explicit-deps,
+ [AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
+ [use explicit dependencies in .pc files [default=auto]])],,
+ [enable_explicit_deps=auto])
+
+AC_MSG_CHECKING([Whether to write dependencies into .pc files])
+case $enable_explicit_deps in
+ auto)
+ deplib_check_method=`(./libtool --config; echo eval echo \\$deplib_check_method) | sh`
+ if test "X$deplib_check_method" = Xnone || test "x$enable_static" = xyes ; then
+ enable_explicit_deps=yes
+ else
+ enable_explicit_deps=no
+ fi
+ ;;
+ yes|no)
+ ;;
+ *) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
+ ;;
+esac
+AC_MSG_RESULT($enable_explicit_deps)
+
+AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
+
# define a MAINT-like variable REBUILD which is set if Perl
# and awk are found, so autogenerated sources can be rebuilt
-AC_PROG_AWK
-AC_CHECK_PROGS(PERL, perl5 perl)
+AC_PATH_PROGS(PERL, perl5 perl)
# We would like indent, but don't require it.
AC_CHECK_PROG(INDENT, indent, indent)
REBUILD=\#
if test "x$enable_rebuilds" = "xyes" && \
test -n "$PERL" && \
- $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 && \
- test -n "$AWK" ; then
+ $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 ; then
REBUILD=
fi
AC_SUBST(REBUILD)
-AC_CHECK_FUNCS(lstat mkstemp bind_textdomain_codeset)
+AC_CHECK_FUNCS(lstat mkstemp flockfile)
# sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
AC_MSG_CHECKING(for sigsetjmp)
AC_SUBST(STRIP_END)
# i18n stuff
-ALL_LINGUAS="az ca cs da de el en_GB en@IPA es et eu fa fi fr ga gl he hr hu ia it ja ko lt ms nl nn no pl pt pt_BR ro ru sk sl sp sr sv tr uk vi wa zh_TW zh_CN"
+ALL_LINGUAS="am ar az be bg ca cs cy da de el en_GB es et eu fa fi fr ga gl he hi hr hu ia id it ja ko li lt lv mk ml mn ms nl nn no pl pt pt_BR ro ru sk sl sr sr@Latn sv ta tr uk vi wa yi zh_CN zh_TW"
AM_GLIB_GNU_GETTEXT
LIBS="$LIBS $INTLLIBS"
-# AM_GLIB_GNU_GETTEXT above substs $DATADIRNAME
-# this is the directory where the *.{mo,gmo} files are installed
-gtklocaledir='${prefix}/${DATADIRNAME}/locale'
-AC_SUBST(gtklocaledir)
+AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
dnl The DU4 header files don't provide library prototypes unless
dnl -std1 is given to the native cc.
)
LIBS=$gtk_save_LIBS
-MATH_LIB=-lm
AC_MSG_CHECKING(for the BeOS)
case $host in
*-*-beos*)
GLIB_PACKAGES="gobject-2.0 gmodule-2.0"
-AM_PATH_GLIB_2_0($GLIB_REQUIRED_VERSION, :,
+AM_PATH_GLIB_2_0(glib_required_version, :,
AC_MSG_ERROR([
-*** GLIB $GLIB_REQUIRED_VERSION or better is required. The latest version of
-*** GLIB is always available from ftp://ftp.gtk.org/.]),
+*** GLIB glib_required_version or better is required. The latest version of
+*** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
gobject gmodule gthread)
+dnl
+dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
+dnl
+gtk_save_LIBS=$LIBS
+LIBS="$LIBS $GLIB_LIBS"
+AC_CHECK_FUNCS(bind_textdomain_codeset)
+LIBS=$gtk_save_LIBS
+
AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
-AC_CHECK_HEADERS(winsock.h, AC_DEFINE(HAVE_WINSOCK_H))
if test "${with_ie55+set}" = set && test $with_ie55 != no; then
AC_MSG_CHECKING([for dimm.h])
saved_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -idirafter $with_ie55/Include"
- AC_TRY_COMPILE([#include <windows.h>
-#include <objbase.h>
+ AC_TRY_COMPILE([/* The w32api imm.h clashes a bit with the IE5.5 dimm.h */
#ifdef __GNUC__
-/* The w32api imm.h clashes a bit with the IE5.5 dimm.h */
#define IMEMENUITEMINFOA hidden_IMEMENUITEMINFOA
#define IMEMENUITEMINFOW hidden_IMEMENUITEMINFOW
+#endif
+#include <windows.h>
+#include <objbase.h>
#include <imm.h>
+#ifdef __GNUC__
#undef IMEMENUITEMINFOA
#undef IMEMENUITEMINFOW
#endif
AC_SUBST(GDK_WLIBS)
-
##################################################
# Checks for gdk-pixbuf
##################################################
+dnl ********************************************************
+dnl * See whether we need to load our modules as .la files *
+dnl ********************************************************
+
+use_la_modules=false
+case $host in
+ *-aix*) use_la_modules=true
+esac
+
+if $use_la_modules ; then
+ AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
+fi
+
+
AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
-AC_ARG_ENABLE(modules, [ --disable-modules Disables dynamic module loading],[
- if test x$withval = xyes; then
- with_modules=yes
- else
- with_modules=no
- fi
-])
+AC_ARG_ENABLE(modules,
+ [AC_HELP_STRING([--disable-modules],
+ [disable dynamic module loading])])
dynworks=false
deps=
-if test x$with_modules = xno; then
+if test x$enable_modules = xno; then
AC_MSG_RESULT(no)
else
AC_MSG_RESULT(yes)
AC_MSG_CHECKING(whether dynamic modules work)
## for loop is to strip newline
- tmp=`pkg-config --variable=gmodule_supported gmodule-2.0`
+ tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-2.0`
for I in $tmp; do
dynworks=$I
done
-fi
-dnl Now we check to see if our libtool supports shared lib deps
-dnl (in a rather ugly way even)
-if $dynworks; then
- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
- pixbuf_deplibs_check=`$pixbuf_libtool_config | \
- grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
- sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
- if test "x$pixbuf_deplibs_check" = "xnone" || \
- test "x$pixbuf_deplibs_check" = "xunknown" || \
- test "x$pixbuf_deplibs_check" = "x"; then
- dynworks=false
- fi
-fi
+ dnl Now we check to see if our libtool supports shared lib deps
+ dnl (in a rather ugly way even)
+ if $dynworks; then
+ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
+ pixbuf_deplibs_check=`$pixbuf_libtool_config | \
+ grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
+ sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
+ if test "x$pixbuf_deplibs_check" = "xnone" || \
+ test "x$pixbuf_deplibs_check" = "xunknown" || \
+ test "x$pixbuf_deplibs_check" = "x"; then
+ dynworks=false
+ fi
+ fi
-if $dynworks; then
- AC_DEFINE(USE_GMODULE)
- AC_MSG_RESULT(yes)
-else
- AC_MSG_RESULT(no)
+ if $dynworks; then
+ AC_DEFINE(USE_GMODULE)
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
fi
dnl We allow people to disable image loaders explicitely, but if they don't we error
dnl out so that people don't accidentally build without them.
-AC_ARG_WITH(libpng, [ --without-libpng Disable PNG loader for gdk-pixbuf])
-AC_ARG_WITH(libjpeg, [ --without-libjpeg Disable JPEG loader for gdk-pixbuf])
-AC_ARG_WITH(libtiff, [ --without-libtiff Disable TIFF loader for gdk-pixbuf])
+AC_ARG_WITH(libpng,
+ [AC_HELP_STRING([--without-libpng],
+ [disable PNG loader for gdk-pixbuf])])
+AC_ARG_WITH(libjpeg,
+ [AC_HELP_STRING([--without-libjpeg],
+ [disable JPEG loader for gdk-pixbuf])])
+AC_ARG_WITH(libtiff,
+ [AC_HELP_STRING([--without-libtiff],
+ [disable TIFF loader for gdk-pixbuf])])
dnl Test for libtiff
if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
dnl Test for libpng
if test x$with_libpng != xno && test -z "$LIBPNG"; then
- AC_CHECK_LIB(png, png_read_info,
- [AC_CHECK_HEADER(png.h,
- png_ok=yes,
- png_ok=no)],
- AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
- if test "$png_ok" = yes; then
- AC_MSG_CHECKING([for png_structp in png.h])
- AC_TRY_COMPILE([#include <png.h>],
- [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
- png_ok=yes,
- png_ok=no)
- AC_MSG_RESULT($png_ok)
+ AC_MSG_CHECKING(for libpng12)
+ if $PKG_CONFIG --exists libpng12 ; then
+ AC_MSG_RESULT(yes)
+ PNG='png'
+ PNG_DEP_CFLAGS_PACKAGES=libpng12
+ LIBPNG=`$PKG_CONFIG --libs libpng12`
+ else
+ AC_MSG_RESULT(no)
+ AC_CHECK_LIB(png, png_read_info,
+ [AC_CHECK_HEADER(png.h,
+ png_ok=yes,
+ png_ok=no)],
+ AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
if test "$png_ok" = yes; then
- PNG='png'; LIBPNG='-lpng -lz'
+ AC_MSG_CHECKING([for png_structp in png.h])
+ AC_TRY_COMPILE([#include <png.h>],
+ [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
+ png_ok=yes,
+ png_ok=no)
+ AC_MSG_RESULT($png_ok)
+ if test "$png_ok" = yes; then
+ PNG='png'; LIBPNG='-lpng -lz'
+ else
+ AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
+ fi
else
- AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
+ AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
fi
- else
- AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
fi
fi
*** from CVS.])
fi
+ REBUILD_PNGS=\#
+ if test -z "$LIBPNG"; then
+ REBUILD_PNGS=
+ fi
+ AC_SUBST(REBUILD_PNGS)
+
AC_SUBST(LIBTIFF)
AC_SUBST(LIBJPEG)
AC_SUBST(LIBPNG)
#
AC_MSG_CHECKING(pixbuf loaders to build)
-AC_ARG_WITH(included_loaders, [ --with-included-loaders=LOADER1,LOADER2,... Build the specified loaders into gdk-pixbuf (only used if module loading disabled)])
+dnl due to an autoconf bug, commas in the first arg to
+dnl AC_HELP_STRING cause problems.
+dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
+dnl [build the specified loaders into gdk-pixbuf (only used if module loading disabled)])
+AC_ARG_WITH(included_loaders,
+[ --with-included-loaders=LOADER1,LOADER2,...
+ build the specified loaders into gdk-pixbuf (only
+ used if module loading disabled)])
if $dynworks; then
:
fi
fi
-all_loaders="png,bmp,wbmp,gif,ico,jpeg,pnm,ras,tiff,xpm,tga"
+all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,tga,pcx"
included_loaders=""
# If no loaders specified, include all
if test "x$with_included_loaders" = xyes ; then
IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
for loader in $included_loaders; do
- if echo "$all_loaders" | grep "\(^\|\,\)$loader\(\$\|\,\)" > /dev/null; then
+ if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
:
else
AC_MSG_ERROR([the specified loader $loader does not exist])
if $dynworks ; then
STATIC_LIB_DEPS=
- if echo "$included_loaders" | grep "\(^\|\,\)tiff\(\$\|\,\)" > /dev/null; then
+ if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
fi
- if echo "$included_loaders" | grep "\(^\|\,\)jpeg\(\$\|\,\)" > /dev/null; then
+ if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
fi
- if echo "$included_loaders" | grep "\(^\|\,\)png\(\$\|\,\)" > /dev/null; then
+ if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
fi
else
AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
+dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling
+
+AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
+
+if test $cross_compiling = yes; then
+ AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
+ if test x$GDK_PIXBUF_CSOURCE = xno; then
+ AC_MSG_ERROR(Could not find a gdk-pixbuf-csource in your PATH)
+ fi
+fi
GDK_PIXBUF_PACKAGES="gmodule-2.0 gobject-2.0"
GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB"
GDK_PIXBUF_EXTRA_CFLAGS=
GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
-GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
+GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
AC_SUBST(GDK_PIXBUF_PACKAGES)
AC_SUBST(GDK_PIXBUF_EXTRA_LIBS)
GDK_EXTRA_LIBS=$GDK_WLIBS
GDK_EXTRA_CFLAGS=
+FREETYPE_LIBS=
+FREETYPE_CFLAGS=
+if test "x$gdktarget" = "xlinux-fb" || test "x$gdktarget" = "xx11" ; then
+ #
+ # Checks for FreeType
+ #
+ have_freetype=false
+ AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
+ if test "x$FREETYPE_CONFIG" != "xno" ; then
+ FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags`
+ FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
+
+ gtk_save_LIBS="$LIBS"
+ LIBS="$FREETYPE_LIBS $LIBS"
+ AC_TRY_LINK_FUNC(FT_New_Face, have_freetype=true,:)
+ LIBS="$gtk_save_LIBS"
+
+ if $have_freetype ; then
+ gtk_save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
+
+ AC_MSG_CHECKING([For sufficiently new FreeType (at least 2.0.1)])
+ AC_TRY_COMPILE([
+#include <freetype/freetype.h>
+#include FT_ERRORS_H
+ ],
+ [(void)1;],:,have_freetype=false)
+ if $have_freetype ; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
+
+ CPPFLAGS="$gtk_save_cppflags"
+ fi
+ fi
+ AC_SUBST(FREETYPE_LIBS)
+ AC_SUBST(FREETYPE_CFLAGS)
+fi
+
if test "x$gdktarget" = "xx11"; then
# We start off with the libraries from Pango
+ if $PKG_CONFIG --exists pangox ; then : ; else
+ AC_MSG_ERROR([pangox Pango backend is required for x11 target])
+ fi
+
## be sure we also have Pango built with xft support
if $PKG_CONFIG --exists pangoxft ; then
- PANGO_PACKAGES="pangox pangoxft"
+ PANGO_PACKAGES="pangoxft pangox"
have_xft=true
AC_DEFINE(HAVE_XFT)
+ if $have_freetype ; then
+ :
+ else
+ AC_MSG_ERROR([pangoxft Pango backend found but did not find freetype libraries])
+ fi
else
PANGO_PACKAGES="pangox"
have_xft=false
AM_CONDITIONAL(HAVE_XFT, $have_xft)
+ if $have_xft; then
+ if $PKG_CONFIG --exists xft ; then
+ AC_DEFINE(HAVE_XFT2, 1, [Define if we have Xft, version 2])
+ fi
+ fi
+
+ #
+ # If Pango included the shared library dependencies from X11 in
+ # the pkg-config output, then we use that (to avoid duplicates).
+ # but if they were omitted to avoid binary compatibility problems
+ # then we need to repeat the checks.
+ #
x_libs="`$PKG_CONFIG --libs $PANGO_PACKAGES`"
+ case "$x_libs" in
+ *-lX11*) pango_omitted_x_deps=no ;;
+ *) pango_omitted_x_deps=yes ;;
+ esac
+
x_cflags="`$PKG_CONFIG --cflags $PANGO_PACKAGES`"
x_extra_libs=
+ if test $pango_omitted_x_deps = yes ; then
+ AC_PATH_XTRA
+
+ if test x$no_x = xyes ; then
+ AC_MSG_ERROR([X development libraries not found])
+ fi
+
+ x_libs="$X_LIBS -lX11 $X_EXTRA_LIBS"
+
+ #
+ # Checks for Xft/XRender
+ #
+ if test $have_xft = true ; then
+ have_xft=false
+
+ if pkg-config --exists pangoxft '>=' 1.1.0 ; then
+ x_libs="`pkg-config --libs xft` -lX11 $FREETYPE_LIBS $X_EXTRA_LIBS"
+ have_xft=true
+ else
+ gtk_save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $x_cflags"
+
+ AC_CHECK_LIB(Xrender, XRenderFindFormat,
+ [AC_CHECK_LIB(Xft, XftFontOpen,
+ [AC_CHECK_HEADER(X11/Xft/XftFreetype.h,
+ have_xft=true,:)],
+ :,-lXrender -lXext $x_libs $FREETYPE_LIBS)]
+ ,:,-lXext $x_libs)
+
+ if $have_xft ; then
+ x_libs="$X_LIBS -lXft -lXrender -lXext -lX11 $FREETYPE_LIBS $X_EXTRA_LIBS"
+ fi
+
+ CPPFLAGS="$gtk_save_cppflags"
+ fi
+
+ if $have_xft ; then
+ :
+ else
+ AC_MSG_ERROR([pangoxft Pango backend found, but Xft not found])
+ fi
+ fi
+ fi
+
## Strip the .la files
x_libs_for_checks=""
GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
# Don't ever pull in the pangoxft libraries for gdk-pixbuf-x11
- GDK_PIXBUF_XLIB_EXTRA_LIBS="$x_extra_libs `$PKG_CONFIG --libs pangox`"
+ GDK_PIXBUF_XLIB_EXTRA_LIBS="$x_extra_libs $x_libs"
+
+ # Check for Xinerama extension (Solaris impl or Xfree impl)
+
+ gtk_save_cppflags="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $x_cflags"
+
+ case "$host" in
+ *-*-solaris*)
+ # Check for solaris
+ use_solaris_xinerama=yes
+ AC_CHECK_LIB(Xext, XineramaGetInfo,
+ use_solaris_xinerama=yes, use_solaris_xinerama=no)
+ if test "x$use_solaris_xinerama" = "xyes"; then
+ AC_CHECK_HEADER(X11/extensions/xinerama.h,
+ if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
+ x_extra_libs="-lXext $x_extra_libs"
+ fi
+ AC_DEFINE(HAVE_SOLARIS_XINERAMA)
+ AC_DEFINE(HAVE_XINERAMA), use_solaris_xinerama=no, -lXext $x_libs_for_checks)
+ fi
+ AC_MSG_CHECKING(for Xinerama support on Solaris)
+ AC_MSG_RESULT($use_solaris_xinerama);
+ ;;
+ *)
+ # Check for XFree
+ use_xfree_xinerama=yes
+ AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
+ [AC_CHECK_HEADER(X11/extensions/Xinerama.h,
+ x_extra_libs="-lXinerama $x_extra_libs"
+ if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
+ x_extra_libs="-lXext $x_extra_libs"
+ fi
+ AC_DEFINE(HAVE_XFREE_XINERAMA)
+ AC_DEFINE(HAVE_XINERAMA),
+ use_xfree_xinerama=no,
+ [#include <X11/Xlib.h>])],
+ use_xfree_xinerama=no, -lXext $x_libs_for_checks)
+ AC_MSG_CHECKING(for Xinerama support on XFree86)
+ AC_MSG_RESULT($use_xfree_xinerama);
+ ;;
+ esac
+
+ CPPFLAGS="$gtk_save_cppflags"
# Check for shaped window extension
,
$x_libs_for_checks)
- # Check for XIM support.
-
- AC_CHECK_LIB(X11, XUnregisterIMInstantiateCallback,
- : ,
- enable_xim_inst="no",
- $x_libs_for_checks)
-
- # On Solaris, calling XRegisterIMInstantiateCallback seems to
- # cause an immediate segfault, so we disable it, unless
- # the user specifically forces it to be on.
-
- if test x$enable_xim_inst = xmaybe ; then
- case host in
- *-*-solaris*)
- enable_xim_inst="no"
- ;;
- *)
- enable_xim_inst="yes"
- ;;
- esac
- fi
+ # Generic X11R6 check needed for XIM support; we could
+ # probably use this to replace the above, but we'll
+ # leave the separate XConvertCase check for clarity
- if test "x$enable_xim" = "xyes"; then
- GTK_XIM_FLAGS="-DUSE_XIM"
- if test "x$enable_xim_inst" = "xyes"; then
- AC_DEFINE(USE_X11R6_XIM)
- fi
+ have_x11r6=false
+ AC_CHECK_LIB(X11, XAddConnectionWatch,
+ have_x11r6=true,
+ ,
+ $x_libs_for_checks)
+
+ if $have_x11r6; then
+ AC_DEFINE(HAVE_X11R6,1,[Define if we have X11R6])
fi
+ AM_CONDITIONAL(HAVE_X11R6, $have_x11r6)
# Check for XKB support.
# set up things for XInput
- if test "x$with_xinput" = "xgxi" || test "x$with_xinput" = "xyes"; then
- AC_DEFINE(XINPUT_GXI)
- xinput_progs=gxid
- x_extra_libs="-lXi $x_extra_libs"
- elif test "x$with_xinput" = "xxfree"; then
+ if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
AC_DEFINE(XINPUT_XFREE)
x_extra_libs="-lXi $x_extra_libs"
else
AC_DEFINE(XINPUT_NONE)
fi
- AM_CONDITIONAL(XINPUT_GXI, test x$with_xinput = xgxi)
- AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree)
+ AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
+
+ # Check for the RANDR extension
+
+ AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
+ [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
+ # RANDR requires RENDER
+ if test -z "`echo $x_extra_libs $x_libs | grep "\-lXrender" 2> /dev/null`"; then
+ x_extra_libs="-lXrender $x_extra_libs"
+ fi
+ x_extra_libs="-lXrandr $x_extra_libs"
+ AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library),
+ :, [#include <X11/Xlib.h>])], : ,
+ $X_LIBS -lXrandr -lXrender -lX11 $X_EXTRA_LIBS)
+
+ # Xshm checks
if test "x$enable_shm" = "xyes"; then
# Check for shared memory
fi
GDK_EXTRA_CFLAGS=
- GDK_EXTRA_LIBS="$x_extra_libs"
+ if test $pango_omitted_x_deps = yes ; then
+ GDK_EXTRA_LIBS="$x_extra_libs $x_libs $GDK_EXTRA_LIBS"
+ else
+ GDK_EXTRA_LIBS="$x_extra_libs $GDK_EXTRA_LIBS"
+ fi
AM_CONDITIONAL(USE_X11, true)
else
+ AM_CONDITIONAL(HAVE_XFT, false)
+ AM_CONDITIONAL(XINPUT_XFREE, false)
AM_CONDITIONAL(USE_X11, false)
+ AM_CONDITIONAL(HAVE_X11R6, false)
fi
if test "x$gdktarget" = "xwin32"; then
GDK_PIXBUF_XLIB_PACKAGES=
GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
-GDK_PIXBUF_XLIB_DEP_CFLAGS="`$PKG_CONFIG --cflags $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_PIXBUF_XLIB_EXTRA_CFLAGS"
+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"
AC_SUBST(GDK_PIXBUF_XLIB_PACKAGES)
AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_LIBS)
AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
if test "x$gdktarget" = "xlinux-fb"; then
- AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
- if test x$FREETYPE_CONFIG = xno ; then
- AC_MSG_ERROR([*** freetype-config not found])
+ if $have_freetype ; then
+ :
+ else
+ AC_MSG_ERROR([Using linux-fb backend but freetype was not found])
fi
- FREETYPE_CFLAGS="`$FREETYPE_CONFIG --cflags`"
- FREETYPE_LIBS="`$FREETYPE_CONFIG --libs`"
+ ft2_libs="`$PKG_CONFIG --libs pangoft2`"
+ case "$ft2_libs" in
+ *-lfreetype*) pango_omitted_ft2_deps=no ;;
+ *) pango_omitted_ft2_deps=yes ;;
+ esac
+
CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
if test x$enable_shadowfb = xyes ; then
AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
fi
- GDK_EXTRA_CFLAGS="$FREETYPE_CFLAGS"
- GDK_EXTRA_LIBS="$FREETYPE_LIBS $GDK_EXTRA_LIBS"
+ GDK_EXTRA_CFLAGS=""
+ if test $pango_omitted_ft2_deps = yes ; then
+ GDK_EXTRA_LIBS="$FREETYPE_LIBS $GDK_EXTRA_LIBS"
+ fi
AM_CONDITIONAL(USE_LINUX_FB, true)
else
if test "x$gdktarget" = "xx11"; then
if $have_xft = true ; then
- PANGO_PACKAGES="pangox pangoxft"
+ PANGO_PACKAGES="pangoxft pangox"
else
PANGO_PACKAGES=pangox
fi
if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
:
else
- AC_CHECK_LIB(pango, pango_context_new, :, AC_MSG_ERROR([
+ gtk_save_LIBS="$LIBS"
+ LIBS="$PANGO_LIBS $LIBS"
+ AC_TRY_LINK_FUNC(pango_context_new, :, AC_MSG_ERROR([
*** Can't link to Pango. Pango is required to build
-*** GTK+. For more information see http://www.pango.org]), $PANGO_LIBS)
+*** GTK+. For more information see http://www.pango.org]))
+ LIBS="$gtk_save_LIBS"
fi
CFLAGS="$saved_cflags"
GDK_PACKAGES=$PANGO_PACKAGES
GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
-GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
+GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
+
+#
+# If we aren't writing explicit dependencies, then don't put the extra libraries we need
+# into the pkg-config files
+#
+if test $enable_explicit_deps != yes ; then
+ GDK_EXTRA_LIBS=
+fi
AC_SUBST(GDK_PACKAGES)
AC_SUBST(GDK_EXTRA_LIBS)
if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
:
else
- AC_CHECK_LIB(atk, atk_object_get_type, : , AC_MSG_ERROR([
+ gtk_save_LIBS="$LIBS"
+ LIBS="$ATK_LIBS $LIBS"
+ AC_TRY_LINK_FUNC(atk_object_get_type, : , AC_MSG_ERROR([
*** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
- *** to build GTK+]), $ATK_LIBS $GLIB_LIBS)
+ *** to build GTK+]))
+ LIBS="$gtk_save_LIBS"
fi
GTK_PACKAGES=atk
GTK_EXTRA_LIBS=
GTK_EXTRA_CFLAGS=
-GTK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GTK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
-GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags $GTK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
+GTK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
+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"
AC_SUBST(GTK_PACKAGES)
AC_SUBST(GTK_EXTRA_LIBS)
# Checks for gtk-doc and docbook-tools
##################################################
-AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs ])
-
-if test "x$with_html_dir" = "x" ; then
- HTML_DIR='${datadir}/gtk-doc/html'
-else
- HTML_DIR=$with_html_dir
-fi
-
-AC_SUBST(HTML_DIR)
-
-AC_CHECK_PROG(GTKDOC, gtkdoc-mkdb, true, false)
-
-gtk_doc_min_version=0.9
-if $GTKDOC ; then
- gtk_doc_version=`gtkdoc-mkdb --version`
- AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
- if perl <<EOF ; then
- exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
- ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
-EOF
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- GTKDOC=false
- fi
-fi
+GTK_DOC_CHECK([1.0])
AC_CHECK_PROG(DB2HTML, db2html, true, false)
AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
-dnl Let people disable the gtk-doc stuff.
-AC_ARG_ENABLE(gtk-doc, [ --enable-gtk-doc Use gtk-doc to build documentation [default=auto]], enable_gtk_doc="$enableval", enable_gtk_doc=auto)
+AC_ARG_ENABLE(man,
+ [AC_HELP_STRING([--enable-man],
+ [regenerate man pages from Docbook [default=no]])],enable_man=yes,
+ enable_man=no)
-if test x$enable_gtk_doc = xauto ; then
- if test x$GTKDOC = xtrue ; then
- enable_gtk_doc=yes
- else
- enable_gtk_doc=no
- fi
+dnl
+dnl Check for xsltproc
+dnl
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+if test -z "$XSLTPROC"; then
+ enable_man=no
fi
-dnl NOTE: We need to use a separate automake conditional for this
-dnl to make this work with the tarballs.
-AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
-
+dnl check for DocBook DTD and stylesheets in the local catalog.
+JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
+ [DocBook XML DTD V4.1.2],,enable_man=no)
+JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
+ [DocBook XSL Stylesheets],,enable_man=no)
+AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
##################################################
# Output commands
##################################################
-AC_OUTPUT_COMMANDS([
-
-## Generate `gdk/gdkconfig.h' in two cases
-## 1. `config.status' is run either explicitly, or via configure.
-## Esp. not when it is run in `Makefile' to generate makefiles and
-## config.h
-## 2. CONFIG_OTHER is set explicitly
-##
-## Case 1 is difficult. We know that `automake' sets one of
-## CONFIG_FILES or CONFIG_HEADERS to empty. This heuristic works
-## only when AM_CONFIG_HEADER is set, however.
-
-if test -n "${CONFIG_FILES}" && test -n "${CONFIG_HEADERS}"; then
- # Both CONFIG_FILES and CONFIG_HEADERS are non-empty ==> Case 1
- CONFIG_OTHER=${CONFIG_OTHER:-gdk/gdkconfig.h}
-fi
-case "$CONFIG_OTHER" in
-*gdk/gdkconfig.h*)
- echo creating gdk/gdkconfig.h
+AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
outfile=gdkconfig.h-tmp
cat > $outfile <<\_______EOF
/* gdkconfig.h
if cmp -s $outfile gdk/gdkconfig.h; then
- echo gdk/gdkconfig.h is unchanged
+ AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
rm -f $outfile
else
mv $outfile gdk/gdkconfig.h
- fi ;;
-esac
+ fi
],[
if test "x$gdktarget" = "xx11" ; then
gdk_windowing='
AC_PATH_PROG(SGML2HTML, sgml2html, no)
AM_CONDITIONAL(HAVE_SGML2HTML, test x$SGML2HTML != xno)
-AC_OUTPUT([
+AC_CONFIG_FILES([
config.h.win32
gtk-zip.sh
-gtk+.spec
Makefile
gdk-pixbuf-2.0.pc
gdk-2.0.pc
build/win32/dirent/Makefile
demos/Makefile
demos/gtk-demo/Makefile
+demos/gtk-demo/geninclude.pl
tests/Makefile
docs/Makefile
docs/reference/Makefile
docs/reference/gdk-pixbuf/Makefile
+docs/reference/gdk-pixbuf/version.xml
docs/reference/gdk/Makefile
+docs/reference/gdk/version.xml
docs/reference/gtk/Makefile
+docs/reference/gtk/version.xml
docs/faq/Makefile
docs/tutorial/Makefile
gdk-pixbuf/Makefile
-gdk-pixbuf/makefile.mingw
+gdk-pixbuf/gdk_pixbuf.rc
gdk-pixbuf/gdk-pixbuf-features.h
gdk-pixbuf/pixops/Makefile
-gdk-pixbuf/pixops/makefile.mingw
gdk/Makefile
-gdk/makefile.mingw
gdk/x11/Makefile
gdk/win32/Makefile
-gdk/win32/makefile.mingw
gdk/win32/rc/Makefile
gdk/win32/rc/gdk.rc
gdk/linux-fb/Makefile
gtk/Makefile
-gtk/makefile.mingw
gtk/makefile.msc
gtk/gtkversion.h
gtk/gtk-win32.rc
gtk/stock-icons/Makefile
+gtk/theme-bits/Makefile
modules/Makefile
modules/input/Makefile
contrib/Makefile
contrib/gdk-pixbuf-xlib/Makefile
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
])
+
+AC_OUTPUT