mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-11 03:10:09 +00:00
15f8a55fba
Fri Mar 1 00:46:49 2002 Owen Taylor <otaylor@redhat.com> * configure.in: Add a --enable-explicit-deps option to control whether dependency libraries are written into .la files and .pc files. Default is auto: if static libraries are off and shlib dependencies are found, don't write deps. * gdk/Makefile.am gtk/Makefile.am sanitize-la.sh: Shell script used to strip dependencies out of .la files. * Makefile.am: Add a slightly modified distcheck rule that passes --enable-gtk-doc to the configure inside. (So that 'make dist' succeeds inside.) * configure.in: If pango was compiled with --disable-explicit-deps, then repeat the checks for X and freetype ourselves so we don't depend on linking to libraries that pango doesn't reveal in the link line. Add some more paranoia for whether what we detect ourselves matches what Pango backends we found.
1488 lines
41 KiB
Plaintext
1488 lines
41 KiB
Plaintext
# Process this file with autoconf to produce a configure script.
|
|
AC_INIT(gdk/gdktypes.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
|
|
|
|
|
|
## 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.
|
|
|
|
|
|
# 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([
|
|
#
|
|
# 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.
|
|
#
|
|
GTK_MAJOR_VERSION=1
|
|
GTK_MINOR_VERSION=3
|
|
GTK_MICRO_VERSION=15
|
|
GTK_INTERFACE_AGE=0
|
|
GTK_BINARY_AGE=0
|
|
GTK_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$GTK_MICRO_VERSION
|
|
dnl
|
|
])dnl
|
|
|
|
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_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)
|
|
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_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.15
|
|
PANGO_REQUIRED_VERSION=0.26
|
|
ATK_REQUIRED_VERSION=0.13
|
|
|
|
# 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)
|
|
|
|
dnl Initialize maintainer mode
|
|
AM_MAINTAINER_MODE
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
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")
|
|
|
|
AC_MSG_CHECKING([for native Win32])
|
|
case "$host" in
|
|
*-*-mingw*)
|
|
os_win32=yes
|
|
;;
|
|
*)
|
|
os_win32=no
|
|
;;
|
|
esac
|
|
AC_MSG_RESULT([$os_win32])
|
|
AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
|
|
|
|
if test "$os_win32" = "yes"; then
|
|
AC_CHECK_PROG(ms_librarian, lib.exe, yes, 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
|
|
|
|
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)])
|
|
|
|
GLIB_AC_DIVERT_BEFORE_HELP([
|
|
if test "$platform_win32" = yes; then
|
|
gdktarget=win32
|
|
else
|
|
gdktarget=x11
|
|
fi
|
|
])
|
|
|
|
AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/linux-fb/win32]] select GDK target [default=$gdktarget]],
|
|
gdktarget=$with_gdktarget)
|
|
|
|
AC_SUBST(gdktarget)
|
|
case $gdktarget in
|
|
x11|linux-fb|win32) ;;
|
|
*) 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
|
|
|
|
AC_SUBST(gdktargetlib)
|
|
AC_SUBST(gtktargetlib)
|
|
|
|
AC_ARG_ENABLE(shadowfb, [ --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)
|
|
|
|
if test "x$enable_debug" = "xyes"; then
|
|
test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
|
|
GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
|
|
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
|
|
|
|
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
|
|
|
|
if test "$os_win32" = "yes"; then
|
|
case "$CC $CFLAGS " in
|
|
*[[\ \ ]]-fnative-struct[[\ \ ]]*) ;;
|
|
*) CFLAGS="$CFLAGS -fnative-struct" ;;
|
|
esac
|
|
fi
|
|
fi
|
|
changequote([,])dnl
|
|
|
|
# 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 atk >= $ATK_REQUIRED_VERSION pango >= $PANGO_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,
|
|
[ --enable-explicit-deps=[yes/no/auto] use explicit dependencies in .pc files [default=auto]],
|
|
enable_explicit_deps="$enableval",
|
|
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_CHECK_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 bind_textdomain_codeset)
|
|
|
|
# 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
|
|
|
|
AC_MSG_CHECKING(whether make is GNU Make)
|
|
STRIP_BEGIN=
|
|
STRIP_END=
|
|
if $ac_make --version 2>/dev/null | grep '^GNU Make ' >/dev/null ; then
|
|
STRIP_BEGIN='$(strip $(STRIP_DUMMY)'
|
|
STRIP_END=')'
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
STRIP_DUMMY=
|
|
AC_SUBST(STRIP_DUMMY)
|
|
AC_SUBST(STRIP_BEGIN)
|
|
AC_SUBST(STRIP_END)
|
|
|
|
# i18n stuff
|
|
ALL_LINGUAS="az ca cs cy 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"
|
|
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)
|
|
|
|
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
|
|
|
|
MATH_LIB=-lm
|
|
AC_MSG_CHECKING(for the BeOS)
|
|
case $host in
|
|
*-*-beos*)
|
|
AC_MSG_RESULT(yes)
|
|
MATH_LIB=
|
|
;;
|
|
*)
|
|
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-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/.]),
|
|
gobject gmodule gthread)
|
|
|
|
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>
|
|
#ifdef __GNUC__
|
|
/* The w32api imm.h clashes a bit with the IE5.5 dimm.h */
|
|
#define IMEMENUITEMINFOA hidden_IMEMENUITEMINFOA
|
|
#define IMEMENUITEMINFOW hidden_IMEMENUITEMINFOW
|
|
#include <imm.h>
|
|
#undef IMEMENUITEMINFOA
|
|
#undef IMEMENUITEMINFOW
|
|
#endif
|
|
#include <dimm.h>
|
|
],
|
|
[],
|
|
[AC_MSG_RESULT(yes)
|
|
AC_MSG_CHECKING([for IE55 uuid.lib])
|
|
if test -f $with_ie55/Lib/uuid.lib ; then
|
|
AC_MSG_RESULT(yes)
|
|
have_ie55=yes
|
|
AC_DEFINE(HAVE_DIMM_H)
|
|
IE55_UUID_LIB="$with_ie55/Lib/uuid.lib"
|
|
AC_SUBST(IE55_UUID_LIB)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
CFLAGS="$saved_CFLAGS"
|
|
have_ie55=no
|
|
fi
|
|
],
|
|
[AC_MSG_RESULT(no)
|
|
CFLAGS="$saved_CFLAGS"
|
|
have_ie55=no])
|
|
fi
|
|
AM_CONDITIONAL(HAVE_IE55, test x$have_ie55 = xyes)
|
|
|
|
if test "${with_wintab+set}" = set && test $with_wintab != no; then
|
|
AC_MSG_CHECKING([for wintab.h])
|
|
saved_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS -I$with_wintab/include"
|
|
AC_TRY_COMPILE([#include <windows.h>
|
|
#include <wintab.h>],
|
|
[],
|
|
[AC_MSG_RESULT(yes)
|
|
AC_MSG_CHECKING([for wntab32x.lib])
|
|
if test -f $with_wintab/lib/i386/wntab32x.lib ; then
|
|
AC_MSG_RESULT(yes)
|
|
have_wintab=yes
|
|
AC_DEFINE(HAVE_WINTAB)
|
|
WINTAB_LIB="$with_wintab/lib/i386/wntab32x.lib"
|
|
AC_SUBST(WINTAB_LIB)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
CFLAGS="$saved_cflags"
|
|
have_wintab=no
|
|
fi
|
|
],
|
|
[AC_MSG_RESULT(no)
|
|
CFLAGS="$saved_cflags"
|
|
have_wintab=no])
|
|
fi
|
|
AM_CONDITIONAL(HAVE_WINTAB, test x$have_wintab = xyes)
|
|
|
|
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(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)
|
|
|
|
|
|
|
|
##################################################
|
|
# Checks for gdk-pixbuf
|
|
##################################################
|
|
|
|
AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
|
|
|
|
AC_ARG_ENABLE(modules, [ --disable-modules disable dynamic module loading],[
|
|
if test x$withval = xyes; then
|
|
with_modules=yes
|
|
else
|
|
with_modules=no
|
|
fi
|
|
])
|
|
|
|
dynworks=false
|
|
deps=
|
|
if test x$with_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`
|
|
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
|
|
|
|
if $dynworks; then
|
|
AC_DEFINE(USE_GMODULE)
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
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])
|
|
|
|
dnl Test for libtiff
|
|
if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
|
|
AC_CHECK_LIB(tiff, TIFFReadScanline,
|
|
[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 plug-in 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_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
|
|
|
|
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)
|
|
|
|
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
|
|
:
|
|
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,jpeg,pnm,ras,tiff,xpm,tga"
|
|
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" | grep "\(^\|\,\)$loader\(\$\|\,\)" > /dev/null; then
|
|
:
|
|
else
|
|
AC_MSG_ERROR([the specified loader $loader does not exist])
|
|
fi
|
|
|
|
INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libpixbufloader-static-$loader.la"
|
|
INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
|
|
done
|
|
IFS="$gtk_save_ifs"
|
|
AC_SUBST(INCLUDED_LOADER_OBJ)
|
|
AC_SUBST(INCLUDED_LOADER_DEFINE)
|
|
|
|
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" | grep "\(^\|\,\)tiff\(\$\|\,\)" > /dev/null; then
|
|
STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBTIFF"
|
|
fi
|
|
if echo "$included_loaders" | grep "\(^\|\,\)jpeg\(\$\|\,\)" > /dev/null; then
|
|
STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBJPEG"
|
|
fi
|
|
if echo "$included_loaders" | grep "\(^\|\,\)png\(\$\|\,\)" > /dev/null; then
|
|
STATIC_LIB_DEPS="$STATIC_LIB_DEPS $LIBPNG"
|
|
fi
|
|
else
|
|
STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
|
|
fi
|
|
|
|
# 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)
|
|
|
|
|
|
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"
|
|
|
|
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_EXTRA_LIBS=$GDK_WLIBS
|
|
GDK_EXTRA_CFLAGS=
|
|
|
|
FREETYPE_LIBS=
|
|
FREETYPE_CFLAGS=
|
|
if test "x$gdktarget" = "xlinux-fb" || test "x$gdktarget" = "x11" ; 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`
|
|
|
|
AC_CHECK_LIB(freetype, FT_New_Face, have_freetype=true
|
|
,:,$FREETYPE_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=yes)
|
|
if test x$have_freetype = xyes ; 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 pangoxft ; 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"
|
|
have_xft=true
|
|
AC_DEFINE(HAVE_XFT)
|
|
if x$have_freetype != xyes ; then
|
|
AC_MSG_ERROR([pangoxft Pango backend found but did not find freetype libraries])
|
|
fi
|
|
else
|
|
PANGO_PACKAGES="pangox"
|
|
have_xft=false
|
|
fi
|
|
|
|
AM_CONDITIONAL(HAVE_XFT, $have_xft)
|
|
|
|
#
|
|
# 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
|
|
#
|
|
XFT_LIBS=""
|
|
XFT_CFLAGS=""
|
|
if test $have_xft = true ; then
|
|
gtk_save_cppflags="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $x_cflags"
|
|
have_xft=false
|
|
|
|
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)
|
|
|
|
CPPFLAGS="$gtk_save_cppflags"
|
|
|
|
if $have_xft ; then
|
|
x_libs="-lXft -lXrender -lXext $X_LIBS $FREETYPE_LIBS $X_EXTRA_LIBS"
|
|
else
|
|
AC_MSG_ERROR([pangoxft Pango backend found, but Xft not found])
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
## Strip the .la 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
|
|
|
|
# Sanity check for the X11 library
|
|
AC_CHECK_LIB(X11, XOpenDisplay, :,
|
|
AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]),
|
|
$x_libs_for_checks)
|
|
|
|
if test "x$enable_shm" = "xyes"; then
|
|
# Check for the Xext library (needed for XShm extention)
|
|
AC_CHECK_LIB(Xext, XShmAttach,
|
|
if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then
|
|
x_extra_libs="-lXext"
|
|
fi,
|
|
# On AIX, it is in XextSam instead, but we still need -lXext
|
|
AC_CHECK_LIB(XextSam, XShmAttach,
|
|
if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then
|
|
x_extra_libs="-lXextSam -lXext"
|
|
else
|
|
x_extra_libs="-lXextSam"
|
|
fi, , $x_libs_for_checks),
|
|
$x_libs_for_checks)
|
|
fi
|
|
|
|
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`"
|
|
|
|
# Check for shaped window extension
|
|
|
|
AC_CHECK_LIB(Xext, XShapeCombineMask,
|
|
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_SHAPE_EXT),
|
|
,
|
|
$x_libs_for_checks)
|
|
|
|
# Check for XConvertCase (X11R6 specific)
|
|
|
|
AC_CHECK_LIB(X11, XConvertCase,
|
|
AC_DEFINE(HAVE_XCONVERTCASE),
|
|
,
|
|
$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
|
|
|
|
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
|
|
fi
|
|
|
|
# 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_LIB(X11, XkbQueryExtension,
|
|
AC_DEFINE(HAVE_XKB),
|
|
,
|
|
$x_libs_for_checks)
|
|
else
|
|
AC_MSG_WARN(XKB support explicitly disabled)
|
|
fi
|
|
|
|
x_cflags="$X_CFLAGS"
|
|
x_ldflags="$X_LDFLAGS"
|
|
|
|
# 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
|
|
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)
|
|
|
|
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
|
|
|
|
GDK_EXTRA_CFLAGS=
|
|
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(USE_X11, false)
|
|
fi
|
|
|
|
if test "x$gdktarget" = "xwin32"; then
|
|
# We start off with the libraries from Pango
|
|
|
|
## be sure we also have Pango built with win32 support
|
|
PANGO_PACKAGES="pangowin32"
|
|
|
|
if test x$have_wintab = xyes; then
|
|
GDK_WIN32_EXTRA_CFLAGS="-I $with_wintab/include"
|
|
AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
|
|
fi
|
|
|
|
GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -luuid"
|
|
AM_CONDITIONAL(USE_WIN32, true)
|
|
else
|
|
AM_CONDITIONAL(USE_WIN32, false)
|
|
fi
|
|
|
|
AC_SUBST(xinput_progs)
|
|
|
|
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"
|
|
|
|
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" = "xlinux-fb"; then
|
|
if test x$have_freetype != xyes ; then
|
|
AC_MSG_ERROR([Using linux-fb backend but freetype was not found])
|
|
fi
|
|
|
|
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
|
|
AC_DEFINE(ENABLE_SHADOW_FB)
|
|
fi
|
|
|
|
if test x$enable_fbmanager = xyes ; then
|
|
AC_DEFINE(ENABLE_FB_MANAGER)
|
|
AM_CONDITIONAL(ENABLE_FB_MANAGER, true)
|
|
else
|
|
AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
|
|
fi
|
|
|
|
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
|
|
AM_CONDITIONAL(USE_LINUX_FB, false)
|
|
AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
|
|
fi
|
|
|
|
#
|
|
# Pick correct Pango packages to use
|
|
#
|
|
|
|
if test "x$gdktarget" = "xx11"; then
|
|
if $have_xft = true ; then
|
|
PANGO_PACKAGES="pangox pangoxft"
|
|
else
|
|
PANGO_PACKAGES=pangox
|
|
fi
|
|
elif test "x$gdktarget" = "xwin32"; then
|
|
PANGO_PACKAGES=pangowin32
|
|
elif test "x$gdktarget" = "xlinux-fb"; then
|
|
PANGO_PACKAGES=pangoft2
|
|
else
|
|
PANGO_PACKAGES=pango
|
|
fi
|
|
|
|
# Check for Pango flags
|
|
|
|
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 is required to build GTK+.
|
|
*** See http://www.pango.org for Pango information.
|
|
*** For the framebuffer target, you will need to build
|
|
*** Pango with freetype support.
|
|
])
|
|
fi
|
|
|
|
CFLAGS="$CFLAGS $PANGO_CFLAGS"
|
|
|
|
if $PKG_CONFIG --uninstalled $PANGO_PACKAGES; then
|
|
:
|
|
else
|
|
AC_CHECK_LIB(pango, 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)
|
|
fi
|
|
|
|
CFLAGS="$saved_cflags"
|
|
LDFLAGS="$saved_ldflags"
|
|
|
|
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"
|
|
|
|
#
|
|
# 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)
|
|
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
|
|
AC_CHECK_LIB(atk, atk_object_get_type, : , AC_MSG_ERROR([
|
|
*** Cannot link to Accessibility Toolkit. Accessibility Toolkit is required
|
|
*** to build GTK+]), $ATK_LIBS $GLIB_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"
|
|
|
|
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(GTK_DEBUG_FLAGS)
|
|
AC_SUBST(GTK_XIM_FLAGS)
|
|
|
|
##################################################
|
|
# 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
|
|
|
|
AC_CHECK_PROG(DB2HTML, db2html, true, false)
|
|
AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
|
|
|
|
dnl Make people enable the gtk-doc stuff explicitely.
|
|
AC_ARG_ENABLE(gtk-doc, [ --enable-gtk-doc use gtk-doc to build documentation [default=no]], enable_gtk_doc="$enableval", enable_gtk_doc=auto)
|
|
|
|
if test x$enable_gtk_doc = xyes ; then
|
|
if test x$GTKDOC != xtrue ; then
|
|
enable_gtk_doc=no
|
|
fi
|
|
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)
|
|
|
|
|
|
##################################################
|
|
# 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
|
|
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
|
|
echo gdk/gdkconfig.h is unchanged
|
|
rm -f $outfile
|
|
else
|
|
mv $outfile gdk/gdkconfig.h
|
|
fi ;;
|
|
esac
|
|
],[
|
|
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" = "xlinux-fb" ; then
|
|
gdk_windowing='
|
|
#define GDK_WINDOWING_FB
|
|
#define GDK_NATIVE_WINDOW_POINTER'
|
|
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_PATH_PROG(SGML2HTML, sgml2html, no)
|
|
AM_CONDITIONAL(HAVE_SGML2HTML, test x$SGML2HTML != xno)
|
|
|
|
AC_OUTPUT([
|
|
config.h.win32
|
|
gtk-zip.sh
|
|
gtk+.spec
|
|
Makefile
|
|
gdk-pixbuf-2.0.pc
|
|
gdk-2.0.pc
|
|
gtk+-2.0.pc
|
|
gdk-pixbuf-2.0-uninstalled.pc
|
|
gdk-2.0-uninstalled.pc
|
|
gtk+-2.0-uninstalled.pc
|
|
m4macros/Makefile
|
|
po/Makefile.in
|
|
build/Makefile
|
|
build/win32/Makefile
|
|
build/win32/dirent/Makefile
|
|
demos/Makefile
|
|
demos/gtk-demo/Makefile
|
|
tests/Makefile
|
|
docs/Makefile
|
|
docs/reference/Makefile
|
|
docs/reference/gdk-pixbuf/Makefile
|
|
docs/reference/gdk/Makefile
|
|
docs/reference/gtk/Makefile
|
|
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
|
|
])
|