mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-27 22:20:24 +00:00
15d2050794
2001-11-08 Tor Lillqvist <tml@iki.fi> * README.win32: Add headers. Add section about ActiveIMM. * configure.in: Add --with-ie55 flag to specify the location of the "IE55 libs and headers" package downloadable from Microsoft, which contains, among other things, the Active IMM header dimm.h and UUID library uuid.lib. Use test -f instead of AC_CHECK_FILE. Require GLib 1.3.10. * config.h.win32.in: New version, produced by merging two configure-generated ones (for gcc and MSVC). Hopefully #defines the same flags that the previous, hand-written one, did. * gdk/Makefile.am * gdk/win32/Makefile.am: Handle the uuid library from the IE55 lib. * gdk/win32/gdkevents-win32.c: Conditionalize ActiveIMM stuff. Remove unused GdkIOClosure. * gdk/win32/surrogate-dimm.h: Remove, use real dimm.h instead (if available). * gdk/win32/libie55uuid.la: New file, handwritten libtool wrapper for uuid.lib. (Does it really have to be this hard to use an existing library with libtool? Probably I am missing something.)
1324 lines
36 KiB
Plaintext
1324 lines
36 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=10
|
|
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.10
|
|
PANGO_REQUIRED_VERSION=0.20
|
|
ATK_REQUIRED_VERSION=0.5
|
|
|
|
# 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
|
|
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)
|
|
|
|
# define a MAINT-like variable REBUILD which is set if Perl
|
|
# and awk are found, so autogenerated sources can be rebuilt
|
|
|
|
AC_PROG_AWK
|
|
AC_CHECK_PROGS(PERL, perl5 perl)
|
|
|
|
# We would like indent, but don't require it.
|
|
AC_CHECK_PROG(INDENT, indent, indent)
|
|
|
|
REBUILD=\#
|
|
if test "x$enable_rebuilds" = "xyes" && \
|
|
test -n "$PERL" && \
|
|
$PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 && \
|
|
test -n "$AWK" ; then
|
|
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 da de el en_GB en@IPA es et eu fa fi fr ga gl he hr hu ia it ja ko lt 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(dirent.h, AC_DEFINE(HAVE_DIRENT_H))
|
|
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 Disables 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 Test for libtiff
|
|
if 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
|
|
|
|
dnl Test for libjpeg
|
|
if 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
|
|
#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
|
|
|
|
dnl Test for libpng
|
|
if 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
|
|
|
|
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_DIRENT
|
|
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=
|
|
|
|
if test "x$gdktarget" = "xx11"; then
|
|
# We start off with the libraries from Pango
|
|
|
|
## 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)
|
|
else
|
|
PANGO_PACKAGES="pangox"
|
|
have_xft=false
|
|
fi
|
|
|
|
AM_CONDITIONAL(HAVE_XFT, $have_xft)
|
|
|
|
x_libs="`$PKG_CONFIG --libs $PANGO_PACKAGES`"
|
|
x_cflags="`$PKG_CONFIG --cflags $PANGO_PACKAGES`"
|
|
x_extra_libs=
|
|
|
|
## 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=
|
|
GDK_EXTRA_LIBS="$x_extra_libs"
|
|
|
|
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
|
|
AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
|
|
if test x$FREETYPE_CONFIG = xno ; then
|
|
AC_MSG_ERROR([*** freetype-config not found])
|
|
fi
|
|
|
|
FREETYPE_CFLAGS="`$FREETYPE_CONFIG --cflags`"
|
|
FREETYPE_LIBS="`$FREETYPE_CONFIG --libs`"
|
|
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="$FREETYPE_CFLAGS"
|
|
GDK_EXTRA_LIBS="$FREETYPE_LIBS $GDK_EXTRA_LIBS"
|
|
|
|
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"
|
|
|
|
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.6
|
|
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 Let people disable the gtk-doc stuff.
|
|
AC_ARG_ENABLE(gtk-doc, [ --enable-gtk-doc Use gtk-doc to build documentation [default=auto]], enable_gtk_doc="$enableval", enable_gtk_doc=auto)
|
|
|
|
if test x$enable_gtk_doc = xauto ; then
|
|
if test x$GTKDOC = xtrue ; then
|
|
enable_gtk_doc=yes
|
|
else
|
|
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-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
|
|
modules/Makefile
|
|
modules/input/Makefile
|
|
contrib/Makefile
|
|
contrib/gdk-pixbuf-xlib/Makefile
|
|
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
|
|
])
|