forked from AuroraMiddleware/gtk
b73efa2c26
svn path=/trunk/; revision=18347
1792 lines
52 KiB
Plaintext
1792 lines
52 KiB
Plaintext
# Process this file with autoconf to produce a configure script.
|
|
# 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], [11])
|
|
m4_define([gtk_micro_version], [6])
|
|
m4_define([gtk_version],
|
|
[gtk_major_version.gtk_minor_version.gtk_micro_version])
|
|
m4_define([gtk_interface_age], [0])
|
|
m4_define([gtk_binary_age],
|
|
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
|
|
# 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
|
|
# backwards binary compatibility with for all interfaces a module
|
|
# might. Unless we add module-only API with lower stability
|
|
# guarantees, this should be unchanged until we break binary compat
|
|
# for GTK+.
|
|
#
|
|
#GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
|
|
m4_define([gtk_binary_version], [2.10.0])
|
|
|
|
# required versions of other packages
|
|
m4_define([glib_required_version], [2.13.5])
|
|
m4_define([pango_required_version], [1.17.3])
|
|
m4_define([atk_required_version], [1.9.0])
|
|
m4_define([cairo_required_version], [1.2.0])
|
|
|
|
|
|
AC_INIT([gtk+], [gtk_version],
|
|
[http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B],
|
|
[gtk+])
|
|
|
|
AC_CONFIG_SRCDIR([gdk/gdktypes.h])
|
|
|
|
# Save this value here, since automake will set cflags later
|
|
cflags_set=${CFLAGS+set}
|
|
|
|
AM_INIT_AUTOMAKE(no-define)
|
|
AM_CONFIG_HEADER(config.h)
|
|
|
|
#
|
|
# 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_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`
|
|
|
|
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)
|
|
|
|
|
|
#
|
|
# 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_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)
|
|
|
|
GETTEXT_PACKAGE=gtk20
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE")
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
MATH_LIB=-lm
|
|
AC_MSG_CHECKING([for native Win32])
|
|
case "$host" in
|
|
*-*-mingw*)
|
|
os_win32=yes
|
|
MATH_LIB=
|
|
;;
|
|
*)
|
|
os_win32=no
|
|
;;
|
|
esac
|
|
AC_MSG_RESULT([$os_win32])
|
|
|
|
case $host in
|
|
*-*-linux*)
|
|
os_linux=yes
|
|
;;
|
|
esac
|
|
dnl Initialize libtool
|
|
AC_PROG_CC
|
|
AM_DISABLE_STATIC
|
|
|
|
dnl
|
|
dnl Check for a working C++ compiler, but do not bail out, if none is found.
|
|
dnl We use this for an automated test for C++ header correctness.
|
|
dnl
|
|
AC_CHECK_PROGS(CXX, [$CCC c++ g++ gcc CC cxx cc++ cl], gcc)
|
|
AC_LANG_SAVE
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=)
|
|
AM_CONDITIONAL(HAVE_CXX, test "$CXX" != "")
|
|
|
|
gtk_save_cxxflags="$CXXFLAGS"
|
|
CXXFLAGS="$CXXFLAGS -x objective-c++"
|
|
AC_TRY_COMPILE([@interface Foo @end],,OBJC=yes,OBJC=no)
|
|
AM_CONDITIONAL(HAVE_OBJC, test "$OBJC" == "yes")
|
|
CXXFLAGS="$gtk_save_cxxflags"
|
|
AC_LANG_RESTORE
|
|
|
|
if test "$os_win32" = "yes"; then
|
|
if test x$enable_static = xyes -o x$enable_static = x; then
|
|
AC_MSG_WARN([Disabling static library build, must build as DLL on Windows.])
|
|
enable_static=no
|
|
fi
|
|
if test x$enable_shared = xno; then
|
|
AC_MSG_WARN([Enabling shared library build, must build as DLL on Windows.])
|
|
fi
|
|
enable_shared=yes
|
|
fi
|
|
|
|
AC_LIBTOOL_WIN32_DLL
|
|
AM_PROG_LIBTOOL
|
|
|
|
# Make sure we use 64-bit versions of various file stuff.
|
|
AC_SYS_LARGEFILE
|
|
|
|
AM_PROG_AS
|
|
AC_PATH_PROG(NM, nm, nm)
|
|
|
|
dnl Initialize maintainer mode
|
|
AM_MAINTAINER_MODE
|
|
|
|
AC_MSG_CHECKING([for some Win32 platform])
|
|
case "$host" in
|
|
*-*-mingw*|*-*-cygwin*)
|
|
platform_win32=yes
|
|
;;
|
|
*)
|
|
platform_win32=no
|
|
;;
|
|
esac
|
|
AC_MSG_RESULT([$platform_win32])
|
|
AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
|
|
|
|
AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
|
|
AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
|
|
AM_CONDITIONAL(OS_LINUX, test "$os_linux" = "yes")
|
|
|
|
if test "$os_win32" = "yes"; then
|
|
AC_CHECK_TOOL(WINDRES, windres, no)
|
|
if test "$WINDRES" = no; then
|
|
AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.])
|
|
fi
|
|
AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
|
|
fi
|
|
AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
|
|
|
|
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,
|
|
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]])],,
|
|
[enable_shm="yes"])
|
|
AC_ARG_ENABLE(xkb,
|
|
[AC_HELP_STRING([--enable-xkb],
|
|
[support XKB [default=maybe]])],,
|
|
[enable_xkb="maybe"])
|
|
AC_ARG_ENABLE(xinerama,
|
|
[AC_HELP_STRING([--enable-xinerama],
|
|
[support xinerama extension if available [default=yes]])],,
|
|
[enable_xinerama="yes"])
|
|
AC_ARG_ENABLE(rebuilds,
|
|
[AC_HELP_STRING([--disable-rebuilds],
|
|
[disable all source autogeneration rules])],,
|
|
[enable_rebuilds=yes])
|
|
AC_ARG_ENABLE(visibility,
|
|
[AC_HELP_STRING([--disable-visibility],
|
|
[don't use ELF visibility attributes])],,
|
|
[enable_visibility=yes])
|
|
|
|
AC_ARG_WITH(xinput,
|
|
[AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
|
|
|
|
if test "$platform_win32" = yes; then
|
|
gdktarget=win32
|
|
else
|
|
gdktarget=x11
|
|
fi
|
|
|
|
AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target],
|
|
gdktarget=$with_gdktarget)
|
|
|
|
AC_SUBST(gdktarget)
|
|
case $gdktarget in
|
|
x11|win32|quartz|directfb) ;;
|
|
*) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);;
|
|
esac
|
|
|
|
gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
|
|
gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
|
|
|
|
AC_SUBST(gdktargetlib)
|
|
AC_SUBST(gtktargetlib)
|
|
|
|
if test "x$enable_debug" = "xyes"; then
|
|
test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
|
|
GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES"
|
|
else
|
|
if test "x$enable_debug" = "xno"; then
|
|
GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
|
|
else
|
|
GTK_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
|
|
fi
|
|
fi
|
|
|
|
|
|
if test "x$enable_visibility" = "xno"; then
|
|
GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
|
|
fi
|
|
|
|
|
|
AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}")
|
|
|
|
|
|
# Build time sanity check...
|
|
AM_SANITY_CHECK
|
|
|
|
# Checks for programs.
|
|
AC_ISC_POSIX
|
|
AM_PROG_CC_STDC
|
|
AC_PROG_INSTALL
|
|
AC_PROG_MAKE_SET
|
|
|
|
changequote(,)dnl
|
|
if test "x$GCC" = "xyes"; then
|
|
case " $CFLAGS " in
|
|
*[\ \ ]-Wall[\ \ ]*) ;;
|
|
*) CFLAGS="$CFLAGS -Wall" ;;
|
|
esac
|
|
|
|
if test "x$enable_ansi" = "xyes"; then
|
|
case " $CFLAGS " in
|
|
*[\ \ ]-ansi[\ \ ]*) ;;
|
|
*) CFLAGS="$CFLAGS -ansi" ;;
|
|
esac
|
|
|
|
case " $CFLAGS " in
|
|
*[\ \ ]-pedantic[\ \ ]*) ;;
|
|
*) CFLAGS="$CFLAGS -pedantic" ;;
|
|
esac
|
|
fi
|
|
fi
|
|
changequote([,])dnl
|
|
|
|
# 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
|
|
|
|
# Honor aclocal flags
|
|
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
|
|
|
|
## Initial sanity check, done here so that users get told they
|
|
## have the wrong dependencies as early in the process as possible.
|
|
## Later on we actually use the cflags/libs from separate pkg-config
|
|
## 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 dnl
|
|
atk >= atk_required_version dnl
|
|
pango >= pango_required_version dnl
|
|
cairo >= cairo_required_version])
|
|
|
|
if test "$os_win32" != yes; then
|
|
# libtool option to control which symbols are exported
|
|
# right now, symbols starting with _ are not exported
|
|
LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
|
|
else
|
|
# We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
|
|
LIBTOOL_EXPORT_OPTIONS=
|
|
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)
|
|
export SED
|
|
deplibs_check_method=`(./libtool --config; echo 'eval echo $deplibs_check_method') | sh`
|
|
if test "x$deplibs_check_method" '!=' xpass_all || 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_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 ; then
|
|
REBUILD=
|
|
fi
|
|
AC_SUBST(REBUILD)
|
|
|
|
AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked)
|
|
AC_CHECK_FUNCS(localtime_r)
|
|
|
|
# _NL_TIME_FIRST_WEEKDAY is an enum and not a define
|
|
AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
|
|
AC_TRY_LINK([#include <langinfo.h>], [
|
|
char c;
|
|
c = *((unsigned char *) nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
|
|
], gtk_ok=yes, gtk_ok=no)
|
|
AC_MSG_RESULT($gtk_ok)
|
|
if test "$gtk_ok" = "yes"; then
|
|
AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
|
|
[Define if _NL_TIME_FIRST_WEEKDAY is available])
|
|
fi
|
|
|
|
# _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
|
|
AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
|
|
AC_TRY_LINK([#include <langinfo.h>], [
|
|
char c;
|
|
c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
|
|
], gtk_ok=yes, gtk_ok=no)
|
|
AC_MSG_RESULT($gtk_ok)
|
|
if test "$gtk_ok" = "yes"; then
|
|
AC_DEFINE([HAVE__NL_MEASUREMENT_MEASUREMENT], [1],
|
|
[Define if _NL_MEASUREMENT_MEASUREMENT is available])
|
|
fi
|
|
|
|
# _NL_PAPER_HEIGHT is an enum and not a define
|
|
AC_MSG_CHECKING([for _NL_PAPER_HEIGHT])
|
|
AC_TRY_LINK([#include <langinfo.h>], [
|
|
char c;
|
|
c = *((unsigned char *) nl_langinfo(_NL_PAPER_HEIGHT));
|
|
], gtk_ok=yes, gtk_ok=no)
|
|
AC_MSG_RESULT($gtk_ok)
|
|
if test "$gtk_ok" = "yes"; then
|
|
AC_DEFINE([HAVE__NL_PAPER_HEIGHT], [1],
|
|
[Define if _NL_PAPER_HEIGHT is available])
|
|
fi
|
|
|
|
# _NL_PAPER_WIDTH is an enum and not a define
|
|
AC_MSG_CHECKING([for _NL_PAPER_WIDTH])
|
|
AC_TRY_LINK([#include <langinfo.h>], [
|
|
char c;
|
|
c = *((unsigned char *) nl_langinfo(_NL_PAPER_WIDTH));
|
|
], gtk_ok=yes, gtk_ok=no)
|
|
AC_MSG_RESULT($gtk_ok)
|
|
if test "$gtk_ok" = "yes"; then
|
|
AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1],
|
|
[Define if _NL_PAPER_WIDTH is available])
|
|
fi
|
|
|
|
# sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
|
|
AC_MSG_CHECKING(for sigsetjmp)
|
|
AC_TRY_LINK([#include <setjmp.h>], [
|
|
sigjmp_buf env;
|
|
sigsetjmp(env, 0);
|
|
], gtk_ok=yes, gtk_ok=no)
|
|
AC_MSG_RESULT($gtk_ok)
|
|
if test "$gtk_ok" = "yes"; then
|
|
AC_DEFINE(HAVE_SIGSETJMP)
|
|
fi
|
|
|
|
# i18n stuff
|
|
# TRANSLATORS: Please note that gtk+ has both po/ and po-properties/
|
|
# directories. If you add a new language to ALL_LINGUAS, please make
|
|
# sure that both po/ and po-properties/ have .po files that correspond
|
|
# to your language. If you only add one to po/, the build will break
|
|
# in po-properties/.
|
|
ALL_LINGUAS="af am ang ar az az_IR be be@latin bg bn bn_IN br bs ca cs cy da de dz el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ka ko ku li lt lv mi mk ml mn mr ms nb ne nl nn nso or pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk ur uz uz@Latn vi wa xh yi zh_CN zh_HK zh_TW"
|
|
AM_GLIB_GNU_GETTEXT
|
|
LIBS="$LIBS $INTLLIBS"
|
|
AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
|
|
sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
|
|
esac])
|
|
|
|
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.
|
|
AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
|
|
|
|
gtk_save_LIBS=$LIBS
|
|
LIBS="$LIBS -lm"
|
|
AC_TRY_RUN([#include <math.h>
|
|
int main (void) { return (log(1) != log(1.)); }],
|
|
AC_MSG_RESULT(none needed),
|
|
gtk_save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS -std1"
|
|
AC_TRY_RUN([#include <math.h>
|
|
int main (void) { return (log(1) != log(1.)); }],
|
|
AC_MSG_RESULT(-std1),
|
|
AC_MSG_RESULT()
|
|
CFLAGS="$gtk_save_CFLAGS"
|
|
AC_MSG_WARN(
|
|
[No ANSI prototypes found in library. (-std1 didn't work.)]),
|
|
true
|
|
),
|
|
AC_MSG_RESULT(none needed)
|
|
)
|
|
LIBS=$gtk_save_LIBS
|
|
|
|
AC_MSG_CHECKING(for the BeOS)
|
|
case $host in
|
|
*-*-beos*)
|
|
AC_MSG_RESULT(yes)
|
|
MATH_LIB=
|
|
;;
|
|
*)
|
|
AC_MSG_RESULT(no)
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# see bug 162979
|
|
#
|
|
AC_MSG_CHECKING(for HP-UX)
|
|
case $host_os in
|
|
hpux9* | hpux10* | hpux11*)
|
|
AC_MSG_RESULT(yes)
|
|
CFLAGS="$CFLAGS -DHPPEX -DSHMLINK"
|
|
;;
|
|
*)
|
|
AC_MSG_RESULT(no)
|
|
;;
|
|
esac
|
|
|
|
dnl NeXTStep cc seems to need this
|
|
AC_MSG_CHECKING([for extra flags for POSIX compliance])
|
|
AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
|
|
AC_MSG_RESULT(none needed),
|
|
gtk_save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS -posix"
|
|
AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
|
|
AC_MSG_RESULT(-posix),
|
|
AC_MSG_RESULT()
|
|
CFLAGS="$gtk_save_CFLAGS"
|
|
AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
|
|
|
|
#
|
|
# Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
|
|
#
|
|
|
|
GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
|
|
|
|
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/pub/gtk/.]),
|
|
gobject gmodule-no-export gthread)
|
|
|
|
# See if it's safe to turn G_DISABLE_DEPRECATED on.
|
|
GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"`
|
|
GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo glib_required_version | sed "s/\.@<:@^.@:>@*\$//"`
|
|
if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then
|
|
CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS"
|
|
fi
|
|
|
|
|
|
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(ftw.h, AC_DEFINE(HAVE_FTW_H))
|
|
|
|
AC_MSG_CHECKING([for GNU ftw extensions])
|
|
AC_TRY_COMPILE([#define _XOPEN_SOURCE 500
|
|
#define _GNU_SOURCE
|
|
#include <ftw.h>], [int flags = FTW_ACTIONRETVAL;], gtk_ok=yes, gtk_ok=no)
|
|
if test $gtk_ok = yes; then
|
|
AC_MSG_RESULT([yes])
|
|
AC_DEFINE(HAVE_GNU_FTW,1,[Have GNU ftw])
|
|
else
|
|
AC_MSG_RESULT([no])
|
|
fi
|
|
|
|
saved_cflags="$CFLAGS"
|
|
saved_ldflags="$LDFLAGS"
|
|
|
|
|
|
# Checks for header files.
|
|
AC_HEADER_STDC
|
|
|
|
# Checks for typedefs, structures, and compiler characteristics.
|
|
AC_C_CONST
|
|
|
|
# Checks for library functions.
|
|
AC_TYPE_SIGNAL
|
|
AC_FUNC_MMAP
|
|
|
|
AC_CHECK_FUNCS(mallinfo)
|
|
AC_CHECK_FUNCS(getresuid)
|
|
AC_TYPE_UID_T
|
|
|
|
# Check if <sys/select.h> needs to be included for fd_set
|
|
AC_MSG_CHECKING([for fd_set])
|
|
AC_TRY_COMPILE([#include <sys/types.h>],
|
|
[fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
|
|
if test $gtk_ok = yes; then
|
|
AC_MSG_RESULT([yes, found in sys/types.h])
|
|
else
|
|
AC_HEADER_EGREP(fd_mask, sys/select.h, gtk_ok=yes)
|
|
if test $gtk_ok = yes; then
|
|
AC_DEFINE(HAVE_SYS_SELECT_H)
|
|
AC_MSG_RESULT([yes, found in sys/select.h])
|
|
else
|
|
AC_DEFINE(NO_FD_SET)
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
fi
|
|
|
|
# `widechar' tests for gdki18n.h
|
|
AC_MSG_CHECKING(for wchar.h)
|
|
AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
|
|
if test $gdk_wchar_h = yes; then
|
|
AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
|
|
fi
|
|
AC_MSG_RESULT($gdk_wchar_h)
|
|
|
|
# Check for wctype.h (for iswalnum)
|
|
AC_MSG_CHECKING(for wctype.h)
|
|
AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
|
|
if test $gdk_wctype_h = yes; then
|
|
AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
|
|
fi
|
|
AC_MSG_RESULT($gdk_wctype_h)
|
|
|
|
# in Solaris 2.5, `iswalnum' is in -lw
|
|
GDK_WLIBS=
|
|
AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
|
|
|
|
oLIBS="$LIBS"
|
|
LIBS="$LIBS $GDK_WLIBS"
|
|
# The following is necessary for Linux libc-5.4.38
|
|
AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
|
|
AC_TRY_LINK([#include <stdlib.h>],[
|
|
#if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
|
|
# ifdef HAVE_WCTYPE_H
|
|
# include <wctype.h>
|
|
# else
|
|
# ifdef HAVE_WCHAR_H
|
|
# include <wchar.h>
|
|
# endif
|
|
# endif
|
|
#else
|
|
# define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
|
|
#endif
|
|
iswalnum((wchar_t) 0);
|
|
], gdk_working_wctype=yes, gdk_working_wctype=no)
|
|
LIBS="$oLIBS"
|
|
|
|
if test $gdk_working_wctype = no; then
|
|
AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
|
|
GDK_WLIBS=
|
|
fi
|
|
AC_MSG_RESULT($gdk_working_wctype)
|
|
AC_SUBST(GDK_WLIBS)
|
|
|
|
# Check for uxtheme.h (for MS-Windows Engine)
|
|
AC_MSG_CHECKING(for uxtheme.h)
|
|
AC_TRY_CPP([#include <uxtheme.h>], gtk_uxtheme_h=yes, gtk_uxtheme_h=no)
|
|
if test $gtk_uxtheme_h = yes; then
|
|
AC_DEFINE(HAVE_UXTHEME_H,1,[Have uxtheme.h include file])
|
|
fi
|
|
AC_MSG_RESULT($gtk_uxtheme_h)
|
|
|
|
# Checks for gdkspawn
|
|
AC_CHECK_HEADERS(crt_externs.h)
|
|
AC_CHECK_FUNCS(_NSGetEnviron)
|
|
|
|
|
|
##################################################
|
|
# 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,
|
|
[AC_HELP_STRING([--disable-modules],
|
|
[disable dynamic module loading])])
|
|
|
|
dynworks=false
|
|
deps=
|
|
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-no-export-2.0`
|
|
for I in $tmp; do
|
|
dynworks=$I
|
|
done
|
|
|
|
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)
|
|
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,
|
|
[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
|
|
AC_CHECK_LIB(tiff, TIFFReadRGBAImageOriented,
|
|
[AC_CHECK_HEADER(tiffio.h,
|
|
TIFF='tiff'; LIBTIFF='-ltiff',
|
|
AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
|
|
[AC_CHECK_LIB(tiff, TIFFWriteScanline,
|
|
[AC_CHECK_HEADER(tiffio.h,
|
|
TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
|
|
AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
|
|
[AC_CHECK_LIB(tiff34, TIFFFlushData,
|
|
[AC_CHECK_HEADER(tiffio.h,
|
|
TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
|
|
AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
|
|
AC_MSG_WARN(*** TIFF loader will not be built (TIFF library not found) ***), -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
|
|
fi
|
|
|
|
if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
|
|
AC_MSG_ERROR([
|
|
*** Checks for TIFF loader failed. You can build without it by passing
|
|
*** --without-libtiff to configure but some programs using GTK+ may
|
|
*** not work properly])
|
|
fi
|
|
|
|
dnl Test for libjpeg
|
|
if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
|
|
AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
|
|
jpeg_ok=yes,
|
|
jpeg_ok=no
|
|
AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
|
|
if test "$jpeg_ok" = yes; then
|
|
AC_MSG_CHECKING([for jpeglib.h])
|
|
AC_TRY_CPP(
|
|
[#include <stdio.h>
|
|
#undef PACKAGE
|
|
#undef VERSION
|
|
#undef HAVE_STDLIB_H
|
|
#include <jpeglib.h>],
|
|
jpeg_ok=yes,
|
|
jpeg_ok=no)
|
|
AC_MSG_RESULT($jpeg_ok)
|
|
if test "$jpeg_ok" = yes; then
|
|
LIBJPEG='-ljpeg'
|
|
AC_CHECK_LIB(jpeg, jpeg_simple_progression,
|
|
AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
|
|
AC_MSG_WARN(JPEG library does not support progressive saving.))
|
|
else
|
|
AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
|
|
AC_MSG_ERROR([
|
|
*** Checks for JPEG loader failed. You can build without it by passing
|
|
*** --without-libjpeg to configure but some programs using GTK+ may
|
|
*** not work properly])
|
|
fi
|
|
|
|
dnl Test for libpng
|
|
if test x$with_libpng != xno && test -z "$LIBPNG"; then
|
|
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
|
|
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 header file not found) ***)
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if test x$with_libpng != xno && test -z "$LIBPNG"; then
|
|
AC_MSG_ERROR([
|
|
*** Checks for PNG loader failed. You can build without it by passing
|
|
*** --without-libpng to configure but many programs using GTK+ will
|
|
*** not work properly. The PNG loader is also needed if you are compiling
|
|
*** from CVS.])
|
|
fi
|
|
|
|
AC_SUBST(LIBTIFF)
|
|
AC_SUBST(LIBJPEG)
|
|
AC_SUBST(LIBPNG)
|
|
|
|
AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
|
|
|
|
#
|
|
# Allow building some or all gdk-pixbuf loaders included
|
|
#
|
|
AC_MSG_CHECKING(pixbuf loaders to build)
|
|
|
|
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])
|
|
AC_ARG_WITH(included_loaders,
|
|
[ --with-included-loaders=LOADER1,LOADER2,...
|
|
build the specified loaders into gdk-pixbuf])
|
|
|
|
if $dynworks; then
|
|
:
|
|
else
|
|
## if the option was specified, leave it; otherwise disable included loaders
|
|
if test x$with_included_loaders = xno; then
|
|
with_included_loaders=yes
|
|
fi
|
|
fi
|
|
|
|
all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,xbm,tga,pcx"
|
|
included_loaders=""
|
|
# If no loaders specified, include all
|
|
if test "x$with_included_loaders" = xyes ; then
|
|
included_loaders="$all_loaders"
|
|
else
|
|
included_loaders="$with_included_loaders"
|
|
fi
|
|
|
|
AC_MSG_RESULT($included_loaders)
|
|
|
|
INCLUDED_LOADER_OBJ=
|
|
INCLUDED_LOADER_DEFINE=
|
|
|
|
IFS="${IFS= }"; gtk_save_ifs="$IFS"; IFS=","
|
|
for loader in $included_loaders; do
|
|
if echo "$all_loaders" | egrep "(^|,)$loader(\$|,)" > /dev/null; then
|
|
:
|
|
else
|
|
AC_MSG_ERROR([the specified loader $loader does not exist])
|
|
fi
|
|
|
|
INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libstatic-pixbufloader-$loader.la"
|
|
INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
|
|
eval INCLUDE_$loader=yes
|
|
done
|
|
IFS="$gtk_save_ifs"
|
|
AC_SUBST(INCLUDED_LOADER_OBJ)
|
|
AC_SUBST(INCLUDED_LOADER_DEFINE)
|
|
|
|
AM_CONDITIONAL(INCLUDE_PNG, [test x"$INCLUDE_png" = xyes])
|
|
AM_CONDITIONAL(INCLUDE_BMP, [test x"$INCLUDE_bmp" = xyes])
|
|
AM_CONDITIONAL(INCLUDE_WBMP, [test x"$INCLUDE_wbmp" = xyes])
|
|
AM_CONDITIONAL(INCLUDE_GIF, [test x"$INCLUDE_gif" = xyes])
|
|
AM_CONDITIONAL(INCLUDE_ICO, [test x"$INCLUDE_ico" = xyes])
|
|
AM_CONDITIONAL(INCLUDE_ANI, [test x"$INCLUDE_ani" = xyes])
|
|
AM_CONDITIONAL(INCLUDE_JPEG, [test x"$INCLUDE_jpeg" = xyes])
|
|
AM_CONDITIONAL(INCLUDE_PNM, [test x"$INCLUDE_pnm" = xyes])
|
|
AM_CONDITIONAL(INCLUDE_RAS, [test x"$INCLUDE_ras" = xyes])
|
|
AM_CONDITIONAL(INCLUDE_TIFF, [test x"$INCLUDE_tiff" = xyes])
|
|
AM_CONDITIONAL(INCLUDE_XPM, [test x"$INCLUDE_xpm" = xyes])
|
|
AM_CONDITIONAL(INCLUDE_XBM, [test x"$INCLUDE_xbm" = xyes])
|
|
AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
|
|
AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
|
|
|
|
AC_HEADER_SYS_WAIT
|
|
|
|
AC_TYPE_SIGNAL
|
|
|
|
AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
|
|
AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
|
|
AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
|
|
|
|
if $dynworks ; then
|
|
STATIC_LIB_DEPS=
|
|
if echo "$included_loaders" | egrep '(^|,)tiff($|,)' > /dev/null; then
|
|
STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
|
|
fi
|
|
if echo "$included_loaders" | egrep '(^|,)jpeg($|,)' > /dev/null; then
|
|
STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
|
|
fi
|
|
if echo "$included_loaders" | egrep '(^|,)png($|,)' > /dev/null; then
|
|
STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
|
|
fi
|
|
else
|
|
STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
|
|
fi
|
|
|
|
# Checks to see whether we should include mediaLib
|
|
# support.
|
|
#
|
|
AC_CHECK_HEADER(sys/systeminfo.h, AC_DEFINE(HAVE_SYS_SYSTEMINFO_H))
|
|
AC_CHECK_HEADER(sys/sysinfo.h, AC_DEFINE(HAVE_SYS_SYSINFO_H))
|
|
|
|
AC_MSG_CHECKING(for mediaLib 2.3)
|
|
use_mlib25=no
|
|
# Check for a mediaLib 2.3 function since that is what the GTK+ mediaLib
|
|
# patch requires.
|
|
AC_CHECK_LIB(mlib, mlib_ImageSetStruct, use_mlib=yes, use_mlib=no)
|
|
if test $use_mlib = yes; then
|
|
AC_DEFINE(USE_MEDIALIB)
|
|
MEDIA_LIB=-lmlib
|
|
|
|
AC_MSG_CHECKING(for mediaLib 2.5)
|
|
# Check for a mediaLib 2.5 function since that is what is needed for
|
|
# gdk_rgb_convert integration.
|
|
AC_CHECK_LIB(mlib, mlib_VideoColorRGBint_to_BGRAint, use_mlib25=yes, use_mlib25=no)
|
|
if test $use_mlib25 = yes; then
|
|
AC_DEFINE(USE_MEDIALIB25)
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(USE_MEDIALIB, test $use_mlib = yes)
|
|
AM_CONDITIONAL(USE_MEDIALIB25, test $use_mlib25 = yes)
|
|
|
|
# Checks to see if we should compile in MMX support (there will be
|
|
# a runtime test when the code is actually run to see if it should
|
|
# be used - this just checks if we can compile it.)
|
|
#
|
|
# This code is partially taken from Mesa
|
|
#
|
|
AC_MSG_CHECKING(for x86 platform)
|
|
case $host_cpu in
|
|
i386|i486|i586|i686|i786|k6|k7)
|
|
use_x86_asm=yes
|
|
;;
|
|
*)
|
|
use_x86_asm=no
|
|
esac
|
|
AC_MSG_RESULT($use_x86_asm)
|
|
|
|
use_mmx_asm=no
|
|
if test $use_x86_asm = yes; then
|
|
save_ac_ext=$ac_ext
|
|
ac_ext=S
|
|
|
|
AC_MSG_CHECKING(compiler support for MMX)
|
|
cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
|
|
if AC_TRY_EVAL(ac_compile); then
|
|
use_mmx_asm=yes
|
|
fi
|
|
|
|
rm -rf conftest*
|
|
|
|
ac_ext=$save_ac_ext
|
|
if test $use_mmx_asm = yes; then
|
|
AC_DEFINE(USE_MMX)
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
fi
|
|
|
|
AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
|
|
|
|
REBUILD_PNGS=
|
|
if test -z "$LIBPNG"; then
|
|
REBUILD_PNGS=#
|
|
fi
|
|
|
|
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)
|
|
AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
|
|
if test x$GTK_UPDATE_ICON_CACHE = xno; then
|
|
REBUILD_PNGS=#
|
|
fi
|
|
fi
|
|
|
|
if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
|
|
test "x$REBUILD_PNGS" = "x#" ; then
|
|
AC_MSG_ERROR([
|
|
*** gtkbuiltincache.h is not in the tree, and cannot be built
|
|
*** because you don't have libpng, or (when cross-compiling) you
|
|
*** don't have a prebuilt gtk-update-icon-cache on the build system.])
|
|
fi
|
|
|
|
AC_SUBST(REBUILD_PNGS)
|
|
|
|
GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
|
|
GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB $MEDIA_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 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)
|
|
AC_SUBST(GDK_PIXBUF_EXTRA_CFLAGS)
|
|
AC_SUBST(GDK_PIXBUF_DEP_LIBS)
|
|
AC_SUBST(GDK_PIXBUF_DEP_CFLAGS)
|
|
|
|
|
|
########################################
|
|
# Windowing system checks
|
|
########################################
|
|
|
|
GDK_PIXBUF_XLIB_PACKAGES=
|
|
GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
|
|
GDK_PIXBUF_XLIB_EXTRA_LIBS=
|
|
|
|
X_PACKAGES=fontconfig
|
|
GDK_EXTRA_LIBS="$GDK_WLIBS"
|
|
GDK_EXTRA_CFLAGS=
|
|
|
|
# GTK+ uses some X calls, so needs to link against X directly
|
|
GTK_DEP_PACKAGES_FOR_X=
|
|
GTK_DEP_LIBS_FOR_X=
|
|
|
|
if test "x$gdktarget" = "xx11"; then
|
|
#
|
|
# We use fontconfig very peripherally when decoding the default
|
|
# settings.
|
|
#
|
|
if $PKG_CONFIG --exists fontconfig; then : ; else
|
|
AC_MSG_ERROR([
|
|
*** fontconfig (http://www.fontconfig.org) is required by the X11 backend.])
|
|
fi
|
|
|
|
#
|
|
# Check for basic X packages; we use pkg-config if available
|
|
#
|
|
if $PKG_CONFIG --exists x11 xext xrender; then
|
|
have_base_x_pc=true
|
|
X_PACKAGES="$X_PACKAGES x11 xext xrender"
|
|
x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
|
|
X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
|
|
|
|
# Strip out any .la files that pkg-config might give us (this happens
|
|
# with -uninstalled.pc files)
|
|
x_libs_for_checks=
|
|
for I in $x_libs ; do
|
|
case $I in
|
|
*.la) ;;
|
|
*) x_libs_for_checks="$x_libs_for_checks $I" ;;
|
|
esac
|
|
done
|
|
|
|
GDK_PIXBUF_XLIB_PACKAGES="x11"
|
|
GTK_PACKAGES_FOR_X="x11"
|
|
else
|
|
have_base_x_pc=false
|
|
AC_PATH_XTRA
|
|
if test x$no_x = xyes ; then
|
|
AC_MSG_ERROR([X development libraries not found])
|
|
fi
|
|
|
|
x_cflags="$X_CFLAGS"
|
|
x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
|
|
|
|
GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
|
|
GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $X_EXTRA_LIBS"
|
|
GTK_DEP_LIBS_FOR_X="$X_LIBS -lXrender -lX11 $X_EXTRA_LIBS"
|
|
fi
|
|
|
|
# Extra libraries found during checks (-lXinerama, etc), not from pkg-config.
|
|
x_extra_libs=
|
|
|
|
gtk_save_cppflags="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
|
|
|
gtk_save_LIBS=$LIBS
|
|
LIBS="$x_libs_for_checks $LIBS"
|
|
|
|
# Sanity check for the X11 and Xext libraries. While everything we need from
|
|
# Xext is optional, the chances a system has *none* of these things is so
|
|
# small that we just unconditionally require it.
|
|
AC_CHECK_FUNC(XOpenDisplay, :,
|
|
AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]))
|
|
AC_CHECK_FUNC(XextFindDisplay, :,
|
|
AC_MSG_ERROR([*** libXext not found. Check 'config.log' for more details.]))
|
|
AC_CHECK_FUNC(XRenderQueryExtension, :,
|
|
AC_MSG_ERROR([*** libXrender not found. Check 'config.log' for more details.]))
|
|
|
|
# Check for xReply
|
|
|
|
AC_MSG_CHECKING([if <X11/extensions/XIproto.h> is needed for xReply])
|
|
AC_TRY_COMPILE([#include <X11/Xlibint.h>],
|
|
[xReply *rep;],
|
|
[AC_MSG_RESULT([no])],
|
|
[AC_TRY_COMPILE([#include <X11/extensions/XIproto.h>
|
|
#include <X11/Xlibint.h>],
|
|
[xReply *rep;],
|
|
[AC_MSG_RESULT([yes])
|
|
AC_DEFINE([NEED_XIPROTO_H_FOR_XREPLY], 1,
|
|
[Define if <X11/extensions/XIproto.h> needed for xReply])],
|
|
[AC_MSG_RESULT([unknown])
|
|
AC_MSG_ERROR([xReply type unavailable. X11 is too old])])])
|
|
|
|
# Check for XConvertCase, XInternAtoms (X11R6 specific)
|
|
|
|
AC_CHECK_FUNCS(XConvertCase XInternAtoms)
|
|
|
|
# Generic X11R6 check needed for XIM support; we could
|
|
# probably use this to replace the above, but we'll
|
|
# leave the separate checks for XConvertCase and XInternAtoms
|
|
# for clarity
|
|
|
|
have_x11r6=false
|
|
AC_CHECK_FUNC(XAddConnectionWatch,
|
|
have_x11r6=true)
|
|
|
|
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.
|
|
|
|
if test "x$enable_xkb" = "xyes"; then
|
|
AC_MSG_WARN(XKB support explicitly enabled)
|
|
AC_DEFINE(HAVE_XKB)
|
|
elif test "x$enable_xkb" = "xmaybe"; then
|
|
AC_CHECK_FUNC(XkbQueryExtension,
|
|
AC_DEFINE(HAVE_XKB))
|
|
else
|
|
AC_MSG_WARN(XKB support explicitly disabled)
|
|
fi
|
|
|
|
# Check for shaped window extension
|
|
|
|
AC_CHECK_FUNC(XShapeCombineMask,
|
|
AC_DEFINE(HAVE_SHAPE_EXT))
|
|
|
|
# X SYNC check
|
|
gtk_save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS $x_cflags"
|
|
|
|
AC_CHECK_FUNC(XSyncQueryExtension,
|
|
[AC_CHECK_HEADER(X11/extensions/sync.h,
|
|
AC_DEFINE(HAVE_XSYNC, 1, Have the SYNC extension library),
|
|
:, [#include <X11/Xlib.h>])])
|
|
|
|
CFLAGS="$gtk_save_CFLAGS"
|
|
|
|
# Xshm checks
|
|
|
|
if test "x$enable_shm" = "xyes"; then
|
|
# Check for the XShm extension, normally in Xext
|
|
AC_CHECK_FUNC(XShmAttach,
|
|
:,
|
|
# On AIX, it is in XextSam instead
|
|
[AC_CHECK_LIB(XextSam, XShmAttach,
|
|
[GTK_ADD_LIB(x_extra_libs,XextSam)])])
|
|
fi
|
|
|
|
if test "x$enable_shm" = "xyes"; then
|
|
# Check for shared memory
|
|
AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
|
|
AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
|
|
|
|
# Check for the X shared memory extension header file
|
|
have_xshm=no
|
|
AC_MSG_CHECKING(X11/extensions/XShm.h)
|
|
if test "x$no_xext_lib" = "xyes"; then
|
|
:
|
|
else
|
|
gtk_save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS $x_cflags"
|
|
AC_TRY_COMPILE([
|
|
#include <stdlib.h>
|
|
#include <sys/types.h>
|
|
#include <sys/ipc.h>
|
|
#include <sys/shm.h>
|
|
#include <X11/Xlib.h>
|
|
#include <X11/Xutil.h>
|
|
#include <X11/extensions/XShm.h>
|
|
], [XShmSegmentInfo *x_shm_info;], have_xshm=yes)
|
|
CFLAGS="$gtk_save_CFLAGS"
|
|
fi
|
|
AC_MSG_RESULT($have_xshm)
|
|
if test $have_xshm = yes ; then
|
|
AC_DEFINE(HAVE_XSHM_H)
|
|
fi
|
|
fi
|
|
|
|
if test "x$enable_xinerama" = "xyes"; then
|
|
# Check for Xinerama extension (Solaris impl or Xfree impl)
|
|
gtk_save_cppflags="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $x_cflags"
|
|
|
|
case "$host" in
|
|
*-*-solaris*)
|
|
# Check for solaris
|
|
AC_MSG_CHECKING(for Xinerama support on Solaris)
|
|
|
|
have_solaris_xinerama=false
|
|
AC_CHECK_FUNC(XineramaGetInfo,
|
|
[AC_CHECK_HEADER(X11/extensions/xinerama.h,
|
|
[have_solaris_xinerama=true], :,
|
|
[#include <X11/Xlib.h>])])
|
|
|
|
if $have_solaris_xinerama ; then
|
|
AC_DEFINE(HAVE_SOLARIS_XINERAMA)
|
|
AC_DEFINE(HAVE_XINERAMA)
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
;;
|
|
*)
|
|
# Check for XFree
|
|
AC_MSG_CHECKING(for Xinerama support on XFree86)
|
|
|
|
have_xfree_xinerama=false
|
|
if $PKG_CONFIG --exists xinerama ; then
|
|
have_xfree_xinerama=true
|
|
X_PACKAGES="$X_PACKAGES xinerama"
|
|
else
|
|
AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
|
|
[AC_CHECK_HEADER(X11/extensions/Xinerama.h,
|
|
[GTK_ADD_LIB(x_extra_libs,Xinerama)
|
|
have_xfree_xinerama=true], :,
|
|
[#include <X11/Xlib.h>])])
|
|
fi
|
|
|
|
if $have_xfree_xinerama ; then
|
|
AC_DEFINE(HAVE_XFREE_XINERAMA)
|
|
AC_DEFINE(HAVE_XINERAMA)
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
# set up things for XInput
|
|
|
|
if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
|
|
AC_DEFINE(XINPUT_XFREE)
|
|
|
|
if $PKG_CONFIG --exists xi ; then
|
|
X_PACKAGES="$X_PACKAGES xi"
|
|
else
|
|
GTK_ADD_LIB(x_extra_libs, Xi)
|
|
fi
|
|
else
|
|
AC_DEFINE(XINPUT_NONE)
|
|
fi
|
|
|
|
AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
|
|
|
|
# Check for the RANDR extension
|
|
|
|
have_randr=false
|
|
if $PKG_CONFIG --exists xrandr ; then
|
|
have_randr=true
|
|
X_PACKAGES="$X_PACKAGES xrandr"
|
|
else
|
|
AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
|
|
[AC_CHECK_HEADER(X11/extensions/Xrandr.h,
|
|
# RANDR requires RENDER
|
|
[have_randr=true
|
|
GTK_ADD_LIB(x_extra_libs, Xrender)
|
|
GTK_ADD_LIB(x_extra_libs, Xrandr)],
|
|
:, [#include <X11/Xlib.h>])])
|
|
fi
|
|
|
|
if $have_randr ; then
|
|
AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)
|
|
fi
|
|
|
|
# Checks for Xcursor library
|
|
|
|
if $PKG_CONFIG --exists xcursor ; then
|
|
AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
|
|
|
|
X_PACKAGES="$X_PACKAGES xcursor"
|
|
fi
|
|
|
|
# Checks for XFixes extension
|
|
|
|
if $PKG_CONFIG --exists xfixes ; then
|
|
AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
|
|
|
|
X_PACKAGES="$X_PACKAGES xfixes"
|
|
GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
|
|
fi
|
|
|
|
# Checks for Xcomposite extension
|
|
|
|
if $PKG_CONFIG --exists xcomposite ; then
|
|
AC_DEFINE(HAVE_XCOMPOSITE, 1, Have the XCOMPOSITE X extension)
|
|
|
|
X_PACKAGES="$X_PACKAGES xcomposite"
|
|
GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite"
|
|
fi
|
|
|
|
# Checks for Xdamage extension
|
|
|
|
if $PKG_CONFIG --exists xdamage ; then
|
|
AC_DEFINE(HAVE_XDAMAGE, 1, Have the XDAMAGE X extension)
|
|
|
|
X_PACKAGES="$X_PACKAGES xdamage"
|
|
GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage"
|
|
fi
|
|
|
|
if $have_base_x_pc ; then
|
|
GDK_EXTRA_LIBS="$x_extra_libs"
|
|
else
|
|
GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs -lXext -lX11 $GDK_EXTRA_LIBS"
|
|
fi
|
|
|
|
CPPFLAGS="$gtk_save_cppflags"
|
|
LIBS="$gtk_save_libs"
|
|
|
|
AM_CONDITIONAL(USE_X11, true)
|
|
else
|
|
AM_CONDITIONAL(XINPUT_XFREE, false)
|
|
AM_CONDITIONAL(USE_X11, false)
|
|
AM_CONDITIONAL(HAVE_X11R6, false)
|
|
fi
|
|
|
|
if test "x$gdktarget" = "xwin32"; then
|
|
GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid"
|
|
AM_CONDITIONAL(USE_WIN32, true)
|
|
else
|
|
AM_CONDITIONAL(USE_WIN32, false)
|
|
fi
|
|
|
|
if test "x$gdktarget" = "xquartz"; then
|
|
GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa"
|
|
AM_CONDITIONAL(USE_QUARTZ, true)
|
|
else
|
|
AM_CONDITIONAL(USE_QUARTZ, false)
|
|
fi
|
|
|
|
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 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_EXTRA_CFLAGS)
|
|
AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
|
|
AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
|
|
|
|
if test "x$gdktarget" = "xdirectfb"; then
|
|
DIRECTFB_REQUIRED_VERSION=0.9.24
|
|
AC_MSG_CHECKING(for DirectFB)
|
|
|
|
if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
|
|
AC_MSG_RESULT(found)
|
|
GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
|
|
GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
|
|
else
|
|
AC_MSG_ERROR([
|
|
*** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend
|
|
*** are required. The latest version of DirectFB is always available
|
|
*** from http://www.directfb.org/.
|
|
])
|
|
fi
|
|
|
|
AM_CONDITIONAL(USE_DIRECTFB, true)
|
|
else
|
|
AM_CONDITIONAL(USE_DIRECTFB, false)
|
|
fi
|
|
|
|
|
|
# Check for Pango flags
|
|
|
|
if test "x$gdktarget" = "xwin32"; then
|
|
PANGO_PACKAGES="pangowin32 pangocairo"
|
|
else
|
|
PANGO_PACKAGES="pango pangocairo"
|
|
fi
|
|
|
|
AC_MSG_CHECKING(Pango flags)
|
|
if $PKG_CONFIG --exists $PANGO_PACKAGES ; then
|
|
PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES`
|
|
PANGO_LIBS=`$PKG_CONFIG --libs $PANGO_PACKAGES`
|
|
|
|
AC_MSG_RESULT($PANGO_CFLAGS $PANGO_LIBS)
|
|
else
|
|
AC_MSG_ERROR([
|
|
*** Pango not found. Pango built with Cairo support is required
|
|
*** to build GTK+. See http://www.pango.org for Pango information.
|
|
])
|
|
fi
|
|
|
|
CFLAGS="$CFLAGS $PANGO_CFLAGS"
|
|
|
|
if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
|
|
:
|
|
else
|
|
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]))
|
|
LIBS="$gtk_save_LIBS"
|
|
fi
|
|
|
|
CFLAGS="$saved_cflags"
|
|
LDFLAGS="$saved_ldflags"
|
|
|
|
GDK_PACKAGES="$PANGO_PACKAGES"
|
|
if test "x$gdktarget" = "xx11"; then
|
|
GDK_PACKAGES="$GDK_PACKAGES $X_PACKAGES"
|
|
fi
|
|
GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
|
|
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_PACKAGES="$PANGO_PACKAGES"
|
|
GDK_EXTRA_LIBS=
|
|
fi
|
|
|
|
AC_SUBST(GDK_PACKAGES)
|
|
AC_SUBST(GDK_EXTRA_LIBS)
|
|
AC_SUBST(GDK_EXTRA_CFLAGS)
|
|
AC_SUBST(GDK_DEP_LIBS)
|
|
AC_SUBST(GDK_DEP_CFLAGS)
|
|
|
|
|
|
########################################
|
|
# Check for Accessibility Toolkit flags
|
|
########################################
|
|
|
|
ATK_PACKAGES=atk
|
|
AC_MSG_CHECKING(ATK flags)
|
|
if $PKG_CONFIG --exists $ATK_PACKAGES ; then
|
|
ATK_CFLAGS=`$PKG_CONFIG --cflags $ATK_PACKAGES`
|
|
ATK_LIBS=`$PKG_CONFIG --libs $ATK_PACKAGES`
|
|
|
|
AC_MSG_RESULT($ATK_CFLAGS $ATK_LIBS)
|
|
else
|
|
AC_MSG_ERROR([
|
|
*** Accessibility Toolkit not found. Accessibility Toolkit is required
|
|
*** to build GTK+.
|
|
])
|
|
fi
|
|
|
|
if $PKG_CONFIG --uninstalled $ATK_PACKAGES; then
|
|
:
|
|
else
|
|
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+]))
|
|
LIBS="$gtk_save_LIBS"
|
|
fi
|
|
|
|
GTK_PACKAGES="atk cairo"
|
|
GTK_EXTRA_LIBS=
|
|
GTK_EXTRA_CFLAGS=
|
|
GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $PANGO_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
|
|
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"
|
|
|
|
if test x"$os_win32" = xyes; then
|
|
GTK_EXTRA_CFLAGS="$msnative_struct"
|
|
fi
|
|
|
|
GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
|
|
ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
|
|
PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
|
|
CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
|
|
|
|
AC_SUBST(GTK_PACKAGES)
|
|
AC_SUBST(GTK_EXTRA_LIBS)
|
|
AC_SUBST(GTK_EXTRA_CFLAGS)
|
|
AC_SUBST(GTK_DEP_LIBS)
|
|
AC_SUBST(GTK_DEP_CFLAGS)
|
|
|
|
AC_SUBST(GLIB_PREFIX)
|
|
AC_SUBST(ATK_PREFIX)
|
|
AC_SUBST(PANGO_PREFIX)
|
|
AC_SUBST(CAIRO_PREFIX)
|
|
|
|
AC_SUBST(GTK_DEBUG_FLAGS)
|
|
AC_SUBST(GTK_XIM_FLAGS)
|
|
|
|
################################################################
|
|
# Printing system checks
|
|
################################################################
|
|
|
|
AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
|
|
if test "x$CUPS_CONFIG" != "xno"; then
|
|
CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
|
|
CUPS_LIBS=`cups-config --libs`
|
|
|
|
CUPS_API_VERSION=`cups-config --api-version`
|
|
CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
|
|
CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
|
|
|
|
if test $CUPS_API_MAJOR -gt 1 -o \
|
|
$CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
|
|
AC_DEFINE(HAVE_CUPS_API_1_2)
|
|
fi
|
|
|
|
AC_SUBST(CUPS_API_MAJOR)
|
|
AC_SUBST(CUPS_API_MINOR)
|
|
AC_SUBST(CUPS_CFLAGS)
|
|
AC_SUBST(CUPS_LIBS)
|
|
fi
|
|
AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
|
|
|
|
gtk_save_cppflags="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $GTK_DEP_CFLAGS"
|
|
|
|
AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
|
|
*** Can't find cairo-pdf.h. You must build Cairo with the pdf
|
|
*** backend enabled.]))
|
|
|
|
if test "$os_win32" != "yes"; then
|
|
AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
|
|
*** Can't find cairo-ps.h. You must build Cairo with the
|
|
*** postscript backend enabled.]))
|
|
fi
|
|
|
|
CPPFLAGS="$gtk_save_cppflags"
|
|
|
|
|
|
AC_ARG_ENABLE(test-print-backend,
|
|
[AC_HELP_STRING([--enable-test-print-backend],
|
|
[build test print backend])],,
|
|
[enable_test_print_backend=no])
|
|
AM_CONDITIONAL(TEST_PRINT_BACKEND, test "x$enable_test_print_backend" != "xno")
|
|
|
|
|
|
################################################################
|
|
# Strip -export-dynamic from the link lines of various libraries
|
|
################################################################
|
|
|
|
#
|
|
# pkg-config --libs gmodule includes the "export_dynamic" flag,
|
|
# but this flag is only meaningful for executables. For libraries
|
|
# the effect is undefined; what it causes on Linux is that the
|
|
# export list from -export-symbols-regex is ignored and everything
|
|
# is exported
|
|
#
|
|
# We are using gmodule-no-export now, but I'm leaving the stripping
|
|
# code in place for now, since pango and atk still require gmodule.
|
|
export SED
|
|
export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
|
|
if test -n "$export_dynamic"; then
|
|
GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
|
|
GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
|
|
GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
|
|
GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
|
|
fi
|
|
|
|
|
|
##################################################
|
|
# Checks for gtk-doc and docbook-tools
|
|
##################################################
|
|
|
|
GTK_DOC_CHECK([1.6])
|
|
|
|
AC_CHECK_PROG(DB2HTML, db2html, true, false)
|
|
AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
|
|
|
|
AC_ARG_ENABLE(man,
|
|
[AC_HELP_STRING([--enable-man],
|
|
[regenerate man pages from Docbook [default=no]])],enable_man=yes,
|
|
enable_man=no)
|
|
|
|
if test "${enable_man}" != no; then
|
|
dnl
|
|
dnl Check for xsltproc
|
|
dnl
|
|
AC_PATH_PROG([XSLTPROC], [xsltproc])
|
|
if test -z "$XSLTPROC"; then
|
|
enable_man=no
|
|
fi
|
|
|
|
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)
|
|
fi
|
|
|
|
AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
|
|
|
|
|
|
##################################################
|
|
# Output commands
|
|
##################################################
|
|
|
|
AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
|
|
outfile=gdkconfig.h-tmp
|
|
cat > $outfile <<\_______EOF
|
|
/* gdkconfig.h
|
|
*
|
|
* This is a generated file. Please modify `configure.in'
|
|
*/
|
|
|
|
#ifndef GDKCONFIG_H
|
|
#define GDKCONFIG_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
_______EOF
|
|
|
|
cat >>$outfile <<_______EOF
|
|
$gdk_windowing
|
|
$gdk_wc
|
|
_______EOF
|
|
|
|
cat >>$outfile <<_______EOF
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* GDKCONFIG_H */
|
|
_______EOF
|
|
|
|
|
|
if cmp -s $outfile gdk/gdkconfig.h; then
|
|
AC_MSG_NOTICE([gdk/gdkconfig.h is unchanged])
|
|
rm -f $outfile
|
|
else
|
|
mv $outfile gdk/gdkconfig.h
|
|
fi
|
|
],[
|
|
if test "x$gdktarget" = "xx11" ; then
|
|
gdk_windowing='
|
|
#define GDK_WINDOWING_X11'
|
|
elif test "x$gdktarget" = "xwin32" ; then
|
|
gdk_windowing='
|
|
#define GDK_WINDOWING_WIN32'
|
|
elif test "x$gdktarget" = "xquartz" ; then
|
|
gdk_windowing='
|
|
#define GDK_WINDOWING_QUARTZ'
|
|
elif test "x$gdktarget" = "xdirectfb" ; then
|
|
gdk_windowing='
|
|
#define GDK_WINDOWING_DIRECTFB'
|
|
fi
|
|
|
|
if test x$gdk_wchar_h = xyes; then
|
|
gdk_wc='
|
|
#define GDK_HAVE_WCHAR_H 1'
|
|
fi
|
|
if test x$gdk_wctype_h = xyes; then
|
|
gdk_wc="\$gdk_wc
|
|
#define GDK_HAVE_WCTYPE_H 1"
|
|
fi
|
|
if test x$gdk_working_wctype = xno; then
|
|
gdk_wc="\$gdk_wc
|
|
#define GDK_HAVE_BROKEN_WCTYPE 1"
|
|
fi
|
|
|
|
|
|
])
|
|
|
|
AC_CONFIG_FILES([
|
|
config.h.win32
|
|
gtk-zip.sh
|
|
Makefile
|
|
gdk-pixbuf-2.0.pc
|
|
gdk-2.0.pc
|
|
gtk+-2.0.pc
|
|
gtk+-unix-print-2.0.pc
|
|
gdk-pixbuf-2.0-uninstalled.pc
|
|
gdk-2.0-uninstalled.pc
|
|
gtk+-2.0-uninstalled.pc
|
|
m4macros/Makefile
|
|
po/Makefile.in
|
|
po-properties/Makefile.in
|
|
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/tools/Makefile
|
|
docs/tutorial/Makefile
|
|
gdk-pixbuf/Makefile
|
|
gdk-pixbuf/gdk_pixbuf.rc
|
|
gdk-pixbuf/gdk-pixbuf-features.h
|
|
gdk-pixbuf/pixops/Makefile
|
|
gdk/Makefile
|
|
gdk/x11/Makefile
|
|
gdk/win32/Makefile
|
|
gdk/win32/rc/Makefile
|
|
gdk/win32/rc/gdk.rc
|
|
gdk/quartz/Makefile
|
|
gdk/directfb/Makefile
|
|
gtk/Makefile
|
|
gtk/makefile.msc
|
|
gtk/gtkversion.h
|
|
gtk/gtk-win32.rc
|
|
gtk/theme-bits/Makefile
|
|
gtk/xdgmime/Makefile
|
|
modules/Makefile
|
|
modules/input/Makefile
|
|
modules/engines/Makefile
|
|
modules/engines/pixbuf/Makefile
|
|
modules/engines/ms-windows/Makefile
|
|
modules/engines/ms-windows/Theme/Makefile
|
|
modules/engines/ms-windows/Theme/gtk-2.0/Makefile
|
|
modules/printbackends/Makefile
|
|
modules/printbackends/cups/Makefile
|
|
modules/printbackends/lpr/Makefile
|
|
modules/printbackends/file/Makefile
|
|
modules/printbackends/test/Makefile
|
|
perf/Makefile
|
|
contrib/Makefile
|
|
contrib/gdk-pixbuf-xlib/Makefile
|
|
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
|
|
])
|
|
|
|
AC_OUTPUT
|
|
|
|
echo "configuration:
|
|
target: $gdktarget"
|