summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac948
1 files changed, 948 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 00000000..a0e00578
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,948 @@
+dnl Process this file with autoconf to create configure.
+AC_PREREQ(2.56)
+
+dnl ==========================================================================
+dnl Versioning
+dnl ==========================================================================
+
+dnl Making releases:
+dnl PANGO_VERSION_MICRO += 1;
+dnl PANGO_INTERFACE_AGE += 1;
+dnl PANGO_BINARY_AGE += 1;
+dnl if any functions have been added, set PANGO_INTERFACE_AGE to 0.
+dnl if backwards compatibility has been broken,
+dnl set PANGO_BINARY_AGE _and_ PANGO_INTERFACE_AGE to 0.
+
+dnl
+dnl We do the version number components as m4 macros
+dnl so that we can base configure --help output off
+dnl of them.
+dnl
+
+dnl The triplet
+m4_define([pango_version_major], [1])
+m4_define([pango_version_minor], [32])
+m4_define([pango_version_micro], [1])
+
+m4_define([pango_version],
+ [pango_version_major.pango_version_minor.pango_version_micro])
+dnl The X.Y in -lpango-X.Y line. This is expected to stay 1.0 until Pango 2.
+m4_define([pango_api_version], [1.0])
+m4_if(m4_eval(pango_version_minor % 2), [1],
+ [
+ dnl for unstable releases
+ m4_define([pango_interface_age], [0])
+ ],
+ [
+ dnl for stable releases
+ m4_define([pango_interface_age], pango_version_micro)
+ ])
+dnl Number of releases since we've broken binary compatibility.
+m4_define([pango_binary_age],
+ [m4_eval(100 * pango_version_minor + pango_version_micro)])
+dnl Module API version. This should be stepped up when a change causes
+dnl older modules to not work with new pango.
+m4_define([pango_module_version], [1.8.0])
+
+
+AC_INIT(pango, pango_version(),
+ [http://bugzilla.gnome.org/enter_bug.cgi?product=pango])
+
+AC_CONFIG_SRCDIR([pango.pc.in])
+
+dnl -Wno-portability tells automake to stop complaining about the
+dnl usage of GNU Make specific features.
+AM_INIT_AUTOMAKE(1.9 gnits dist-xz no-dist-gzip -Wno-portability)
+m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
+AM_CONFIG_HEADER([config.h])
+
+
+PANGO_VERSION_MAJOR=pango_version_major()
+PANGO_VERSION_MINOR=pango_version_minor()
+PANGO_VERSION_MICRO=pango_version_micro()
+PANGO_VERSION=pango_version()
+PANGO_API_VERSION=pango_api_version()
+PANGO_INTERFACE_AGE=pango_interface_age()
+PANGO_BINARY_AGE=pango_binary_age()
+PANGO_MODULE_VERSION=pango_module_version()
+
+AC_SUBST(PANGO_VERSION_MAJOR)
+AC_SUBST(PANGO_VERSION_MINOR)
+AC_SUBST(PANGO_VERSION_MICRO)
+AC_SUBST(PANGO_VERSION)
+AC_SUBST(PANGO_API_VERSION)
+AC_SUBST(PANGO_INTERFACE_AGE)
+AC_SUBST(PANGO_BINARY_AGE)
+AC_SUBST(PANGO_MODULE_VERSION)
+
+AC_DEFINE(MODULE_VERSION, "pango_module_version()", [Module interface version])
+AC_DEFINE(PANGO_BINARY_AGE, pango_binary_age(), [PANGO binary age])
+AC_DEFINE(PANGO_INTERFACE_AGE, pango_interface_age(), [PANGO interface age])
+AC_DEFINE(PANGO_VERSION_MAJOR, pango_version_major(), [PANGO major version])
+AC_DEFINE(PANGO_VERSION_MINOR, pango_version_minor(), [PANGO minor version])
+AC_DEFINE(PANGO_VERSION_MICRO, pango_version_micro(), [PANGO micro version])
+
+dnl libtool versioning
+m4_define([lt_current], [m4_eval(100 * pango_version_minor + pango_version_micro - pango_interface_age)])
+m4_define([lt_revision], [pango_interface_age])
+m4_define([lt_age], [m4_eval(pango_binary_age - pango_interface_age)])
+VERSION_INFO="lt_current():lt_revision():lt_age()"
+PANGO_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
+
+AC_SUBST(PANGO_CURRENT_MINUS_AGE)
+
+dnl ==========================================================================
+
+AC_CANONICAL_HOST
+
+AC_MSG_CHECKING([for native Win32])
+case "$host" in
+ *-*-mingw*)
+ pango_os_win32=yes
+ case "$host" in
+ x86_64-*-*)
+ LIB_EXE_MACHINE_FLAG=X64
+ ;;
+ *)
+ LIB_EXE_MACHINE_FLAG=X86
+ ;;
+ esac
+ ;;
+ *)
+ pango_os_win32=no
+ ;;
+esac
+AC_MSG_RESULT([$pango_os_win32])
+
+AC_SUBST(LIB_EXE_MACHINE_FLAG)
+
+AM_CONDITIONAL(OS_WIN32, test "$pango_os_win32" = "yes")
+
+AC_PROG_CC
+
+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_TOOLS(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" != "")
+AC_LANG_RESTORE
+
+
+
+
+AC_CHECK_FUNCS(sysconf getpagesize)
+AC_CHECK_HEADERS(unistd.h sys/mman.h)
+
+
+#
+# Win32 stuff
+#
+
+AC_LIBTOOL_WIN32_DLL
+AM_DISABLE_STATIC
+
+if test "$pango_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
+
+AM_PROG_LIBTOOL
+dnl when using libtool 2.x create libtool early, because it's used in configure
+m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
+
+AC_MSG_CHECKING([for some Win32 platform])
+case "$host" in
+ *-*-mingw*|*-*-cygwin*)
+ pango_platform_win32=yes
+ ;;
+ *)
+ pango_platform_win32=no
+ ;;
+esac
+AC_MSG_RESULT([$pango_platform_win32])
+AM_CONDITIONAL(PLATFORM_WIN32, test "$pango_platform_win32" = "yes")
+
+if test "$pango_platform_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)
+
+changequote(,)dnl
+if test "x$GCC" = "xyes"; then
+ case " $CFLAGS " in
+ *[\ \ ]-Wall[\ \ ]*) ;;
+ *) CFLAGS="$CFLAGS -Wall" ;;
+ esac
+fi
+changequote([,])dnl
+
+dnl declare --enable-* args and collect ac_help strings
+
+m4_define([debug_default],
+ m4_if(m4_eval(pango_version_minor() % 2), [1], [yes], [minimum]))
+
+AC_ARG_ENABLE(debug,
+ AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
+ [turn on debugging @<:@default=debug_default()@:>@]),
+ ,
+ enable_debug=debug_default())
+
+if test "x$enable_debug" = "xyes"; then
+ PANGO_DEBUG_FLAGS="-DPANGO_ENABLE_DEBUG"
+else
+ PANGO_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
+
+ if test "x$enable_debug" = "xno"; then
+ PANGO_DEBUG_FLAGS="$GLIB_DEBUG_FLAGS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS $PANGO_DEBUG_FLAGS"
+ fi
+fi
+
+AC_SUBST(PANGO_DEBUG_FLAGS)
+
+AC_ARG_ENABLE(rebuilds,
+ [AC_HELP_STRING([--disable-rebuilds],
+ [disable all source autogeneration rules])],,
+ [enable_rebuilds=yes])
+
+AM_CONDITIONAL(CROSS_COMPILING, [test $cross_compiling = yes])
+
+
+#
+# Checks for HarfBuzz
+#
+have_harfbuzz=false
+PKG_CHECK_MODULES(HARFBUZZ, harfbuzz >= 0.9.3, have_harfbuzz=true, AC_MSG_RESULT([no]))
+AM_CONDITIONAL(HAVE_HARFBUZZ, $have_harfbuzz)
+
+#
+# Check for fontconfig
+#
+have_fontconfig=false
+if $have_harfbuzz ; then
+ PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 2.5.0, have_fontconfig=true, AC_MSG_RESULT([no]))
+fi
+
+#
+# Checks for FreeType
+#
+have_freetype=false
+if $have_fontconfig ; then
+ # The first version of freetype with a .pc file is 2.1.5. That's recent
+ # enough for all the functions we use I guess. No version check needed.
+ PKG_CHECK_MODULES(FREETYPE, freetype2, have_freetype=true, AC_MSG_RESULT([no]))
+fi
+if $have_freetype ; then
+ AC_DEFINE(HAVE_FREETYPE, 1, [Have FreeType 2 library])
+ # By freetype, we really always mean freetype+fontconfig
+ FREETYPE_CFLAGS="$FREETYPE_CFLAGS $FONTCONFIG_CFLAGS"
+ FREETYPE_LIBS="$FREETYPE_LIBS $FONTCONFIG_LIBS"
+fi
+AM_CONDITIONAL(HAVE_FREETYPE, $have_freetype)
+
+#
+# Checks for Xft/XRender
+#
+have_xft=false
+AC_ARG_WITH(xft,
+ AS_HELP_STRING([--with-xft], [build xft backend]),
+ [], [with_xft=yes])
+if $have_freetype ; then
+ PKG_CHECK_MODULES(XFT, xft >= 2.0.0 xrender, have_xft=true, have_xft=false)
+fi
+if test "x$with_xft" = xyes && $have_xft ; then
+ AC_DEFINE(HAVE_XFT, 1, [Have Xft library])
+fi
+AM_CONDITIONAL(HAVE_XFT, test "x$with_xft" = xyes && $have_xft )
+
+#
+# Checks for Win32 GDI
+#
+have_win32=false
+WIN32_LIBS=""
+WIN32_CFLAGS=""
+# The following doesn't work with autoconf-2.13, so we check $host instead
+# AC_CHECK_LIB(gdi32, GetTextMetricsA@8, have_win32=true, : )
+case "$host" in
+ *-*-mingw*|*-*-cygwin*) have_win32=true ;;
+esac
+
+
+if test $have_win32 = true; then
+ WIN32_LIBS="-lgdi32"
+fi
+
+AC_SUBST(WIN32_LIBS)
+AM_CONDITIONAL(HAVE_WIN32, $have_win32)
+
+# 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 "$pango_os_win32" = "yes"; 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
+
+#
+# Checks for CoreText
+#
+
+AC_MSG_CHECKING([for CoreText availability])
+pango_save_libs=$LIBS
+LIBS="$LIBS -framework ApplicationServices"
+AC_TRY_LINK([#include <Carbon/Carbon.h>], [CTGetCoreTextVersion ();],
+[have_core_text=yes], [have_core_text=no])
+LIBS=$pango_save_libs
+
+if test "$have_core_text" = "yes"; then
+ AC_DEFINE(HAVE_CORE_TEXT, 1, [Whether CoreText is available on the system])
+fi
+
+AC_MSG_RESULT([$have_core_text])
+
+AM_CONDITIONAL(HAVE_CORE_TEXT, test "$have_core_text" = "yes")
+
+#
+# Checks for Cairo
+#
+have_cairo=false
+have_cairo_png=false
+have_cairo_ps=false
+have_cairo_pdf=false
+have_cairo_xlib=false
+have_cairo_freetype=false
+have_cairo_win32=false
+have_cairo_quartz=false
+cairo_required=1.7.6
+
+PKG_CHECK_MODULES(CAIRO, cairo >= $cairo_required, have_cairo=true, AC_MSG_RESULT([no]))
+
+if $have_cairo ; then
+ pango_save_libs=$LIBS
+ LIBS="$LIBS $CAIRO_LIBS"
+ pango_save_ldflags=$LDFLAGS
+ LDFLAGS="$LDFLAGS $CAIRO_LIBS"
+
+ have_cairo=false
+ cairo_font_backends=""
+
+ if $have_freetype; then
+ PKG_CHECK_EXISTS(cairo-ft >= $cairo_required, have_cairo_freetype=true, :)
+ fi
+ if $have_cairo_freetype; then
+ AC_DEFINE(HAVE_CAIRO_FREETYPE, 1, [Whether Cairo can use FreeType for fonts])
+ cairo_font_backends="freetype $cairo_font_backends"
+ have_cairo=true
+ fi
+
+ if $have_win32; then
+ PKG_CHECK_EXISTS(cairo-win32 >= $cairo_required, have_cairo_win32=true, :)
+ fi
+ if $have_cairo_win32; then
+ AC_DEFINE(HAVE_CAIRO_WIN32, 1, [Whether Cairo can use the Win32 GDI for fonts])
+ cairo_font_backends="win32 $cairo_font_backends"
+ have_cairo=true
+ fi
+
+ if test $have_core_text; then
+ PKG_CHECK_EXISTS(cairo-quartz-font >= $cairo_required, have_cairo_quartz=true, :)
+ fi
+ if $have_cairo_quartz; then
+ AC_DEFINE(HAVE_CAIRO_QUARTZ, 1, [Whether Cairo can use Quartz for fonts])
+ cairo_font_backends="quartz $cairo_font_backends"
+ have_cairo=true
+ fi
+
+ AC_MSG_CHECKING([which cairo font backends could be used])
+ if $have_cairo ; then
+ AC_MSG_RESULT([$cairo_font_backends])
+ else
+ AC_MSG_RESULT([none])
+ AC_MSG_NOTICE([Disabling cairo support])
+ fi
+
+ if $have_cairo ; then
+ AC_DEFINE(HAVE_CAIRO, 1, [Have usable Cairo library and font backend])
+
+ PKG_CHECK_EXISTS(cairo-png >= $cairo_required, have_cairo_png=true, :)
+ if $have_cairo_png; then
+ AC_DEFINE(HAVE_CAIRO_PNG, 1, [Whether Cairo has PNG support])
+ fi
+
+ PKG_CHECK_EXISTS(cairo-ps >= $cairo_required, have_cairo_ps=true, :)
+ if $have_cairo_ps; then
+ AC_DEFINE(HAVE_CAIRO_PS, 1, [Whether Cairo has PS support])
+ fi
+
+ PKG_CHECK_EXISTS(cairo-pdf >= $cairo_required, have_cairo_pdf=true, :)
+ if $have_cairo_pdf; then
+ AC_DEFINE(HAVE_CAIRO_PDF, 1, [Whether Cairo has PDF support])
+ fi
+
+ PKG_CHECK_EXISTS(cairo-xlib >= $cairo_required, have_cairo_xlib=true, :)
+ if $have_cairo_xlib; then
+ AC_DEFINE(HAVE_CAIRO_XLIB, 1, [Whether Cairo has Xlib support])
+ fi
+ fi
+
+ LIBS=$pango_save_libs
+ LDFLAGS=$pango_save_ldflags
+fi
+
+AM_CONDITIONAL(HAVE_CAIRO, $have_cairo)
+AM_CONDITIONAL(HAVE_CAIRO_PNG, $have_cairo_png)
+AM_CONDITIONAL(HAVE_CAIRO_PS, $have_cairo_ps)
+AM_CONDITIONAL(HAVE_CAIRO_PDF, $have_cairo_pdf)
+AM_CONDITIONAL(HAVE_CAIRO_XLIB, $have_cairo_xlib)
+AM_CONDITIONAL(HAVE_CAIRO_WIN32, $have_cairo_win32)
+AM_CONDITIONAL(HAVE_CAIRO_FREETYPE, $have_cairo_freetype)
+AM_CONDITIONAL(HAVE_CAIRO_QUARTZ, $have_cairo_quartz)
+
+
+#
+# We must have some backend defined, in order for the pango-querymodules
+# rule in pango/Makefile.am to work correctly. If you are up to writing
+# a new Pango backend outside of Pango, you are up to sending the necessary
+# patch to fix that rule. :-)
+#
+if $have_freetype || `test "x$with_xft" = xyes && $have_xft` || $have_cairo || $have_win32 ; then : ; else
+ AC_MSG_ERROR([*** Could not enable any backends.
+*** Must have at least one backend to build Pango.])
+fi
+
+#
+# Checks for GLib
+#
+GLIB_REQUIRED_VERSION=2.33.12
+GLIB_MODULES="glib-2.0 >= $GLIB_REQUIRED_VERSION gobject-2.0 gmodule-no-export-2.0"
+
+PKG_CHECK_MODULES(GLIB, $GLIB_MODULES, :,
+ AC_MSG_ERROR([
+*** Glib $GLIB_REQUIRED_VERSION or better is required. The latest version of
+*** Glib is always available from ftp://ftp.gtk.org/.]))
+
+# Setup GLIB_MKENUMS to use glib-mkenums even if GLib is uninstalled.
+GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
+AC_SUBST(GLIB_MKENUMS)
+
+
+# Add in gthread-2.0 to CFLAGS but not to LIBS so we get any
+# necesary defines for thread-safety.
+GLIB_CFLAGS=`$PKG_CONFIG --cflags $GLIB_MODULES gthread-2.0`
+
+#
+# Checks for LibThai
+#
+LIBTHAI_REQUIRED_VERSION=0.1.9
+PKG_CHECK_MODULES(LIBTHAI, libthai >= $LIBTHAI_REQUIRED_VERSION, have_libthai=true, have_libthai=false)
+
+#
+# Checks for GObject Introspection
+#
+
+GOBJECT_INTROSPECTION_CHECK([0.9.5])
+
+#
+# Modules to build
+#
+arabic_modules="arabic-lang"
+basic_modules="basic-fc,basic-win32,basic-coretext"
+indic_modules="indic-lang"
+thai_modules=""
+
+if $have_libthai ; then
+ thai_modules="$thai_modules,thai-lang"
+fi
+
+all_modules="$arabic_modules,$basic_modules,$indic_modules,$thai_modules"
+
+#
+# Allow building some or all modules included
+#
+AC_MSG_CHECKING(modules to link statically)
+
+AC_ARG_WITH(included_modules,
+ AC_HELP_STRING([--with-included-modules=no/yes/MODULE1 MODULE2 ...],
+ [build the given modules included @<:@default=no@:>@]))
+
+included_modules=""
+case x$with_included_modules in
+ xyes) included_modules=$all_modules ;;
+ xno|x) included_modules="" ;;
+ *) included_modules=$with_included_modules ;;
+esac
+AC_MSG_RESULT($included_modules)
+AM_CONDITIONAL(HAVE_INCLUDED_MODULES, test "x$included_modules" != x)
+
+#
+# Allow building only some or none of modules dynamic
+#
+AC_MSG_CHECKING(dynamic modules to build)
+
+AC_ARG_WITH(dynamic_modules,
+ AC_HELP_STRING([--with-dynamic-modules=no/yes/MODULE1 MODULE2 ...],
+ [build the given dynamic modules @<:@default=yes@:>@]))
+
+dynamic_modules=""
+case x$with_dynamic_modules in
+ xyes|x) dynamic_modules=$all_modules ;;
+ xno) dynamic_modules="" ;;
+ *) dynamic_modules=$with_dynamic_modules ;;
+esac
+AC_MSG_RESULT([$dynamic_modules (those built into Pango will be excluded)])
+AM_CONDITIONAL(HAVE_DYNAMIC_MODULES, test "x$dynamic_modules" != x)
+
+
+INCLUDED_FC_MODULES=
+INCLUDED_WIN32_MODULES=
+INCLUDED_CORE_TEXT_MODULES=
+INCLUDED_LANG_MODULES=
+
+AC_SUBST(INCLUDED_FC_MODULES)
+AC_SUBST(INCLUDED_WIN32_MODULES)
+AC_SUBST(INCLUDED_CORE_TEXT_MODULES)
+AC_SUBST(INCLUDED_LANG_MODULES)
+
+IFS="${IFS= }"; pango_save_ifs="$IFS"; IFS=", "
+for module in $included_modules; do
+ dir=`echo $module | sed "s/-.*//"`
+ included_path="\$(top_builddir)/modules/$dir/libpango-$module.la"
+
+ case $module in
+ *-fc) INCLUDED_FC_MODULES="$INCLUDED_FC_MODULES $included_path" ;;
+ *-win32) INCLUDED_WIN32_MODULES="$INCLUDED_WIN32_MODULES $included_path" ;;
+ *-coretext) INCLUDED_CORE_TEXT_MODULES="$INCLUDED_CORE_TEXT_MODULES $included_path" ;;
+ *-lang) INCLUDED_LANG_MODULES="$INCLUDED_LANG_MODULES $included_path" ;;
+ *) IFS="$pango_save_ifs"; AC_MSG_ERROR([specified module $module not recognized]) ;;
+ esac
+done
+IFS="$pango_save_ifs"
+
+AM_CONDITIONAL(INCLUDE_ARABIC_LANG, echo $included_modules | egrep '(^|,)arabic-lang($|,)' > /dev/null)
+AM_CONDITIONAL(INCLUDE_BASIC_FC, echo $included_modules | egrep '(^|,)basic-fc($|,)' > /dev/null)
+AM_CONDITIONAL(INCLUDE_BASIC_WIN32, echo $included_modules | egrep '(^|,)basic-win32($|,)' > /dev/null)
+AM_CONDITIONAL(INCLUDE_BASIC_CORE_TEXT, echo $included_modules | egrep '(^|,)basic-coretext($|,)' > /dev/null)
+AM_CONDITIONAL(INCLUDE_INDIC_LANG, echo $included_modules | egrep '(^|,)indic-lang($|,)' > /dev/null)
+AM_CONDITIONAL(INCLUDE_THAI_LANG, echo $included_modules | egrep '(^|,)thai-lang($|,)' > /dev/null)
+
+AM_CONDITIONAL(DYNAMIC_ARABIC_LANG, echo $dynamic_modules | egrep '(^|,)arabic-lang($|,)' > /dev/null)
+AM_CONDITIONAL(DYNAMIC_BASIC_FC, echo $dynamic_modules | egrep '(^|,)basic-fc($|,)' > /dev/null)
+AM_CONDITIONAL(DYNAMIC_BASIC_WIN32, echo $dynamic_modules | egrep '(^|,)basic-win32($|,)' > /dev/null)
+AM_CONDITIONAL(DYNAMIC_BASIC_CORE_TEXT, echo $dynamic_modules | egrep '(^|,)basic-coretext($|,)' > /dev/null)
+AM_CONDITIONAL(DYNAMIC_INDIC_LANG, echo $dynamic_modules | egrep '(^|,)indic-lang($|,)' > /dev/null)
+AM_CONDITIONAL(DYNAMIC_THAI_LANG, echo $dynamic_modules | egrep '(^|,)thai-lang($|,)' > /dev/null)
+
+#
+# We use flockfile to implement pango_getline() - should be moved to GLib
+# strtok_r isn't present on some systems
+#
+AC_CHECK_FUNCS(flockfile strtok_r)
+
+dnl **************************
+dnl *** Checks for gtk-doc ***
+dnl **************************
+
+if $have_cairo ; then : ; else
+ if test x$enable_gtk_doc = xyes ; then
+ AC_MSG_WARN([Cairo not present, disabling doc building])
+ enable_gtk_doc=no
+ fi
+fi
+
+GTK_DOC_CHECK([1.0])
+
+AC_ARG_ENABLE(man,
+ AC_HELP_STRING([--enable-man],
+ [regenerate man pages from Docbook @<:@default=no@:>@]),
+ enable_man=yes,
+ enable_man=no)
+
+if test "x$enable_man" != xno ; then
+ dnl
+ dnl Check for xsltproc
+ dnl
+ AC_PATH_PROG([XSLTPROC], [xsltproc])
+ if test -z "$XSLTPROC"; then
+ enable_man=no
+ fi
+fi
+
+if test "x$enable_man" != xno ; then
+ 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)
+
+AC_ARG_ENABLE(doc-cross-references,
+ AC_HELP_STRING([--disable-doc-cross-references],
+ [cross reference glib and cairo symbols @<:@default=yes@:>@]),
+ enable_doc_cross_references=$enableval,
+ enable_doc_cross_references=yes)
+
+if test "x$enable_doc_cross_references" != xno ; then
+ GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
+ CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
+ AC_SUBST(GLIB_PREFIX)
+ AC_SUBST(CAIRO_PREFIX)
+fi
+AM_CONDITIONAL(ENABLE_DOC_CROSS_REFERENCES, test x$enable_doc_cross_references != xno)
+
+dnl ********************************************************
+dnl * Options to pass to libtool
+dnl ********************************************************
+
+# Note that -module isn't included here since automake needs to see it to know
+# that something like pango-basic-fc.la is a valid libtool archive
+#
+LIBRARY_LIBTOOL_OPTIONS="-version-info $VERSION_INFO"
+MODULE_LIBTOOL_OPTIONS="-export-dynamic -avoid-version"
+if test "$pango_platform_win32" = yes; then
+ # We currently use .def files on Windows
+ LIBRARY_LIBTOOL_OPTIONS="$LIBRARY_LIBTOOL_OPTIONS -no-undefined"
+ MODULE_LIBTOOL_OPTIONS="$MODULE_LIBTOOL_OPTIONS -no-undefined"
+else
+ # libtool option to control which symbols are exported
+ # right now, symbols starting with '_' are not exported
+ LIBRARY_LIBTOOL_OPTIONS="$LIBRARY_LIBTOOL_OPTIONS "'-export-symbols-regex "^pango_.*"'
+ MODULE_LIBTOOL_OPTIONS="$MODULE_LIBTOOL_OPTIONS "'-export-symbols-regex "^script_engine_.*"'
+fi
+AC_SUBST(LIBRARY_LIBTOOL_OPTIONS)
+AC_SUBST(MODULE_LIBTOOL_OPTIONS)
+
+dnl ********************************************************
+dnl * See whether we need to load our modules as .la files *
+dnl ********************************************************
+
+use_la_modules=false
+
+# is there any platform that we have to use .la files?
+
+if $use_la_modules ; then
+ AC_DEFINE(USE_LA_MODULES, 1, [Whether to load modules via .la files rather than directly])
+fi
+
+dnl ******************************************************
+dnl * See whether to include shared library dependencies *
+dnl ******************************************************
+
+AC_ARG_ENABLE(explicit-deps,
+ AC_HELP_STRING([--enable-explicit-deps=@<:@no/auto/yes@:>@],
+ [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)
+ 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)
+
+PKGCONFIG_MATH_LIBS=
+PKGCONFIG_CAIRO_REQUIRES=
+
+if test $enable_explicit_deps = yes ; then
+ PKGCONFIG_MATH_LIBS=-lm
+
+ X_LIBS="$X_LIBS $X_EXTRA_LIBS"
+
+ if $have_cairo_freetype; then
+ PKGCONFIG_CAIRO_REQUIRES="$PKGCONFIG_CAIRO_REQUIRES pangoft2"
+ fi
+ if $have_cairo_win32; then
+ PKGCONFIG_CAIRO_REQUIRES="$PKGCONFIG_CAIRO_REQUIRES pangowin32"
+ fi
+fi
+
+AC_SUBST(PKGCONFIG_MATH_LIBS)
+AC_SUBST(PKGCONFIG_CAIRO_REQUIRES)
+AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
+
+AC_CONFIG_COMMANDS([pango/module-defs.h],
+[
+cat > pango/module-defs.h <<EOTEXT
+/* Autogenerated by configure. Do not edit */
+
+#include "modules.h"
+
+EOTEXT
+
+IFS="${IFS= }"; pango_save_ifs="$IFS"; IFS=","
+for module in $included_modules; do
+ module_c=`echo $module | sed s/-/_/`
+ cat >> pango/module-defs.h <<EOTEXT
+extern void _pango_${module_c}_script_engine_list (PangoEngineInfo **engines, int *n_engines);
+extern void _pango_${module_c}_script_engine_init (GTypeModule *module);
+extern void _pango_${module_c}_script_engine_exit (void);
+extern PangoEngine *_pango_${module_c}_script_engine_create (const char *id);
+
+EOTEXT
+done
+
+IFS="$pango_save_ifs"
+],[
+included_modules=$included_modules
+])
+
+AC_CONFIG_COMMANDS([pango/module-defs-fc.c],
+[
+### FC modules
+cat > pango/module-defs-fc.c <<EOTEXT
+/* Autogenerated by configure. Do not edit */
+
+#include "module-defs.h"
+
+PangoIncludedModule _pango_included_fc_modules@<:@@:>@ = {
+EOTEXT
+
+IFS="${IFS= }"; pango_save_ifs="$IFS"; IFS=","
+for module in $included_modules; do
+ if echo $module | egrep -- "-fc($|,)" > /dev/null; then
+ module_c=`echo $module | sed s/-/_/`
+ cat >> pango/module-defs-fc.c <<EOTEXT
+ { _pango_${module_c}_script_engine_list, _pango_${module_c}_script_engine_init, _pango_${module_c}_script_engine_exit, _pango_${module_c}_script_engine_create },
+EOTEXT
+ fi
+done
+
+IFS="$pango_save_ifs"
+
+cat >> pango/module-defs-fc.c <<EOTEXT
+ { NULL, NULL, NULL, NULL },
+};
+EOTEXT
+])
+
+AC_CONFIG_COMMANDS([pango/module-defs-win32.c],
+[
+### Win32 modules
+cat > pango/module-defs-win32.c <<EOTEXT
+/* Autogenerated by configure. Do not edit */
+
+#include "module-defs.h"
+
+PangoIncludedModule _pango_included_win32_modules@<:@@:>@ = {
+EOTEXT
+
+IFS="${IFS= }"; pango_save_ifs="$IFS"; IFS=","
+for module in $included_modules; do
+ if echo $module | egrep -- "-win32($|,)" > /dev/null; then
+ module_c=`echo $module | sed s/-/_/`
+ cat >> pango/module-defs-win32.c <<EOTEXT
+ { _pango_${module_c}_script_engine_list, _pango_${module_c}_script_engine_init, _pango_${module_c}_script_engine_exit, _pango_${module_c}_script_engine_create },
+EOTEXT
+ fi
+done
+
+IFS="$pango_save_ifs"
+
+cat >> pango/module-defs-win32.c <<EOTEXT
+ { NULL, NULL, NULL, NULL },
+};
+EOTEXT
+])
+
+AC_CONFIG_COMMANDS([pango/module-defs-coretext.c],
+[
+### CoreText modules
+cat > pango/module-defs-coretext.c <<EOTEXT
+/* Autogenerated by configure. Do not edit */
+
+#include "module-defs.h"
+
+PangoIncludedModule _pango_included_core_text_modules@<:@@:>@ = {
+EOTEXT
+
+IFS="${IFS= }"; pango_save_ifs="$IFS"; IFS=","
+for module in $included_modules; do
+ if echo $module | egrep -- "-coretext($|,)" > /dev/null; then
+ module_c=`echo $module | sed s/-/_/`
+ cat >> pango/module-defs-coretext.c <<EOTEXT
+ { _pango_${module_c}_script_engine_list, _pango_${module_c}_script_engine_init, _pango_${module_c}_script_engine_exit, _pango_${module_c}_script_engine_create },
+EOTEXT
+ fi
+done
+
+IFS="$pango_save_ifs"
+
+cat >> pango/module-defs-coretext.c <<EOTEXT
+ { NULL, NULL, NULL, NULL },
+};
+EOTEXT
+])
+
+AC_CONFIG_COMMANDS([pango/module-defs-lang.c],
+[
+### lang modules
+cat > pango/module-defs-lang.c <<EOTEXT
+/* Autogenerated by configure. Do not edit */
+
+#include "module-defs.h"
+
+PangoIncludedModule _pango_included_lang_modules@<:@@:>@ = {
+EOTEXT
+
+IFS="${IFS= }"; pango_save_ifs="$IFS"; IFS=","
+for module in $included_modules; do
+ if echo $module | egrep -- "-lang($|,)" > /dev/null; then
+ module_c=`echo $module | sed s/-/_/`
+ cat >> pango/module-defs-lang.c <<EOTEXT
+ { _pango_${module_c}_script_engine_list, _pango_${module_c}_script_engine_init, _pango_${module_c}_script_engine_exit, _pango_${module_c}_script_engine_create },
+EOTEXT
+ fi
+done
+
+IFS="$pango_save_ifs"
+
+cat >> pango/module-defs-lang.c <<EOTEXT
+ { NULL, NULL, NULL, NULL },
+};
+EOTEXT
+])
+
+
+AC_HEADER_DIRENT
+AC_CHECK_HEADERS(unistd.h)
+
+# Honor aclocal flags
+ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
+dnl ===========================================================================
+AC_CONFIG_COMMANDS([pango/pango-features.h],
+ [featuresfile=pango/pango-features.h
+ outfile=$featuresfile.tmp
+ AC_MSG_NOTICE([creating $featuresfile])
+ cat >$outfile <<_EOF
+/* Generated by configure. Do not edit */
+#ifndef PANGO_FEATURES_H
+#define PANGO_FEATURES_H
+
+#define PANGO_VERSION_MAJOR $PANGO_VERSION_MAJOR
+#define PANGO_VERSION_MINOR $PANGO_VERSION_MINOR
+#define PANGO_VERSION_MICRO $PANGO_VERSION_MICRO
+
+#define PANGO_VERSION_STRING "$PANGO_VERSION_MAJOR.$PANGO_VERSION_MINOR.$PANGO_VERSION_MICRO"
+
+_EOF
+ # TODO: define macros for enabled features/backends here
+
+ echo '' >>$outfile
+ echo '#endif' >>$outfile
+
+ if cmp -s $outfile $featuresfile; then
+ AC_MSG_NOTICE([$featuresfile is unchanged])
+ rm -f $outfile
+ else
+ mv $outfile $featuresfile
+ fi
+],[
+ PANGO_VERSION_MAJOR=$PANGO_VERSION_MAJOR
+ PANGO_VERSION_MINOR=$PANGO_VERSION_MINOR
+ PANGO_VERSION_MICRO=$PANGO_VERSION_MICRO
+])
+
+AC_CONFIG_FILES([
+Makefile
+pango/Makefile
+pango/mini-fribidi/Makefile
+pango/pango.rc
+pango/pangoft2.rc
+pango/pangowin32.rc
+pango/pangocairo.rc
+pango/pangoxft.rc
+pango-view/Makefile
+modules/Makefile
+modules/arabic/Makefile
+modules/basic/Makefile
+modules/indic/Makefile
+modules/thai/Makefile
+examples/Makefile
+docs/Makefile
+docs/version.xml
+tools/Makefile
+tests/Makefile
+build/Makefile
+build/win32/Makefile
+build/win32/vs9/Makefile
+build/win32/vs10/Makefile
+pango.pc
+pangowin32.pc
+pangoft2.pc
+pangoxft.pc
+pangocairo.pc
+pango-uninstalled.pc
+pangowin32-uninstalled.pc
+pangoft2-uninstalled.pc
+pangoxft-uninstalled.pc
+pangocairo-uninstalled.pc
+pango-zip.sh
+config.h.win32
+])
+
+AC_CONFIG_FILES([tests/runtests.sh],
+ [chmod +x tests/runtests.sh])
+
+AC_OUTPUT
+
+backends=""
+if $have_cairo ; then backends="$backends Cairo"; fi
+if $have_win32 ; then backends="$backends Win32"; fi
+if test "x$with_xft" = xyes && $have_xft ; then backends="$backends Xft"; fi
+if $have_freetype && $have_fontconfig ; then backends="$backends FreeType"; fi
+
+echo "configuration:
+ backends:$backends"