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], [26]) 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]) dnl Number of releases since we've added interfaces dnl XXX For 1.25 release simply remove it and make it automatic. m4_define([pango_interface_age], [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.6.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-bzip2 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_PROGS(CXX, [$CCC c++ g++ gcc CC cxx cc++ cl], gcc) AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=) AM_CONDITIONAL(HAVE_CXX, test "$CXX" != "") AC_LANG_RESTORE # # Checks for HarfBuzz # AC_PROG_CXX AC_CHECK_FUNCS(mprotect sysconf getpagesize) AC_CHECK_HEADERS(unistd.h sys/mman.h) # Make sure we don't link to libstdc++ (needs de-gcc-fication) CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions" # # 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]) have_x=false if test "x$pango_os_win32" != xyes; then AC_PATH_XTRA if test x$no_x = xyes ; then AC_MSG_WARN([X development libraries not found]) have_x=false else X_LIBS="$X_LIBS -lX11" have_x=true AC_DEFINE(HAVE_X, 1, [Have X libraries]) fi fi AM_CONDITIONAL(HAVE_X, $have_x) have_fontconfig=false have_freetype=false have_xft=false # # Check for fontconfig # PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 2.5.0, have_fontconfig=true, AC_MSG_RESULT([no])) # # Checks for FreeType # 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 # if $have_x && $have_freetype ; then PKG_CHECK_MODULES(XFT, xft >= 2.0.0 xrender, have_xft=true, AC_MSG_RESULT([no])) fi if $have_xft ; then AC_DEFINE(HAVE_XFT, 1, [Have Xft library]) fi AM_CONDITIONAL(HAVE_XFT, $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 ATSUI # AC_CHECK_HEADER(Carbon/Carbon.h, [have_atsui=true], [have_atsui=false]) # # 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_atsui=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 $have_atsui; then PKG_CHECK_EXISTS(cairo-quartz-font >= $cairo_required, have_cairo_atsui=true, :) fi if $have_cairo_atsui; then AC_DEFINE(HAVE_CAIRO_ATSUI, 1, [Whether Cairo can use ATSUI 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_ATSUI, $have_cairo_atsui) # # 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 || $have_x || $have_xft || $have_cairo || $have_win32 ; then : ; else AC_MSG_ERROR([*** Could not enable any of FreeType, X11, Cairo, or Win32 backends. *** Must have at least one backend to build Pango.]) fi # # Checks for GLib # GLIB_REQUIRED_VERSION=2.17.3 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` # See if it's safe to turn G_DISABLE_DEPRECATED on. GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.@<:@^.@:>@*\$//"` GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo $GLIB_REQUIRED_VERSION | sed "s/\.@<:@^.@:>@*\$//"` if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then GLIB_CFLAGS="-DG_DISABLE_DEPRECATED $GLIB_CFLAGS" fi # # Checks for LibThai # have_libthai=false LIBTHAI_REQUIRED_VERSION=0.1.9 PKG_CHECK_MODULES(LIBTHAI, libthai >= $LIBTHAI_REQUIRED_VERSION, have_libthai=true, AC_MSG_RESULT([no])) # # Checks for GObject Introspection # have_introspection=false PKG_CHECK_MODULES(INTROSPECTION, gobject-introspection-1.0 >= 0.6.4, have_introspection=true, have_introspection=false) AM_CONDITIONAL(HAVE_INTROSPECTION, $have_introspection) G_IR_SCANNER= G_IR_COMPILER= G_IR_GENERATE= GIRDIR= TYPELIBDIR= if $have_introspection; then G_IR_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` G_IR_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` G_IR_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" fi AC_SUBST(G_IR_SCANNER) AC_SUBST(G_IR_COMPILER) AC_SUBST(G_IR_GENERATE) AC_SUBST(GIRDIR) AC_SUBST(TYPELIBDIR) # # Modules to build # arabic_modules="arabic-fc,arabic-lang" basic_modules="basic-fc,basic-win32,basic-x,basic-atsui" hangul_modules="hangul-fc" hebrew_modules="hebrew-fc" indic_modules="indic-fc,indic-lang" khmer_modules="khmer-fc" syriac_modules="syriac-fc" thai_modules="thai-fc" tibetan_modules="tibetan-fc" if $have_libthai ; then thai_modules="$thai_modules,thai-lang" fi all_modules="$arabic_modules,$basic_modules,$hangul_modules,$hebrew_modules,$indic_modules,$khmer_modules,$syriac_modules,$thai_modules,$tibetan_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_X_MODULES= INCLUDED_FC_MODULES= INCLUDED_WIN32_MODULES= INCLUDED_ATSUI_MODULES= INCLUDED_LANG_MODULES= AC_SUBST(INCLUDED_X_MODULES) AC_SUBST(INCLUDED_FC_MODULES) AC_SUBST(INCLUDED_WIN32_MODULES) AC_SUBST(INCLUDED_ATSUI_MODULES) AC_SUBST(INCLUDED_LANG_MODULES) IFS="${IFS= }"; pango_save_ifs="$IFS"; IFS=", " for module in $included_modules; do case $indic_modules in *$module*) dir=indic ;; *) dir=`echo $module | sed "s/-.*//"` ;; esac included_path="\$(top_builddir)/modules/$dir/libpango-$module.la" case $module in *-x) INCLUDED_X_MODULES="$INCLUDED_X_MODULES $included_path" ;; *-fc) INCLUDED_FC_MODULES="$INCLUDED_FC_MODULES $included_path" ;; *-win32) INCLUDED_WIN32_MODULES="$INCLUDED_WIN32_MODULES $included_path" ;; *-atsui) INCLUDED_ATSUI_MODULES="$INCLUDED_ATSUI_MODULES $included_path" ;; *-lang) INCLUDED_LANG_MODULES="$INCLUDED_LANG_MODULES $included_path" ;; *) AC_MSG_ERROR([specified module $module not recognized]) ;; esac done IFS="$pango_save_ifs" AM_CONDITIONAL(INCLUDE_ARABIC_FC, echo $included_modules | egrep '(^|,)arabic-fc($|,)' > /dev/null) 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_X, echo $included_modules | egrep '(^|,)basic-x($|,)' > /dev/null) AM_CONDITIONAL(INCLUDE_BASIC_ATSUI, echo $included_modules | egrep '(^|,)basic-atsui($|,)' > /dev/null) AM_CONDITIONAL(INCLUDE_HANGUL_FC, echo $included_modules | egrep '(^|,)hangul-fc($|,)' > /dev/null) AM_CONDITIONAL(INCLUDE_HEBREW_FC, echo $included_modules | egrep '(^|,)hebrew-fc($|,)' > /dev/null) AM_CONDITIONAL(INCLUDE_INDIC_FC, echo $included_modules | egrep '(^|,)indic-fc($|,)' > /dev/null) AM_CONDITIONAL(INCLUDE_INDIC_LANG, echo $included_modules | egrep '(^|,)indic-lang($|,)' > /dev/null) AM_CONDITIONAL(INCLUDE_KHMER_FC, echo $included_modules | egrep '(^|,)khmer-fc($|,)' > /dev/null) AM_CONDITIONAL(INCLUDE_SYRIAC_FC, echo $included_modules | egrep '(^|,)syriac-fc($|,)' > /dev/null) AM_CONDITIONAL(INCLUDE_THAI_FC, echo $included_modules | egrep '(^|,)thai-fc($|,)' > /dev/null) AM_CONDITIONAL(INCLUDE_THAI_LANG, echo $included_modules | egrep '(^|,)thai-lang($|,)' > /dev/null) AM_CONDITIONAL(INCLUDE_TIBETAN_FC, echo $included_modules | egrep '(^|,)tibetan-fc($|,)' > /dev/null) AM_CONDITIONAL(DYNAMIC_ARABIC_FC, echo $dynamic_modules | egrep '(^|,)arabic-fc($|,)' > /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_X, echo $dynamic_modules | egrep '(^|,)basic-x($|,)' > /dev/null) AM_CONDITIONAL(DYNAMIC_BASIC_ATSUI, echo $dynamic_modules | egrep '(^|,)basic-atsui($|,)' > /dev/null) AM_CONDITIONAL(DYNAMIC_HANGUL_FC, echo $dynamic_modules | egrep '(^|,)hangul-fc($|,)' > /dev/null) AM_CONDITIONAL(DYNAMIC_HEBREW_FC, echo $dynamic_modules | egrep '(^|,)hebrew-fc($|,)' > /dev/null) AM_CONDITIONAL(DYNAMIC_INDIC_FC, echo $dynamic_modules | egrep '(^|,)indic-fc($|,)' > /dev/null) AM_CONDITIONAL(DYNAMIC_INDIC_LANG, echo $dynamic_modules | egrep '(^|,)indic-lang($|,)' > /dev/null) AM_CONDITIONAL(DYNAMIC_KHMER_FC, echo $dynamic_modules | egrep '(^|,)khmer-fc($|,)' > /dev/null) AM_CONDITIONAL(DYNAMIC_SYRIAC_FC, echo $dynamic_modules | egrep '(^|,)syriac-fc($|,)' > /dev/null) AM_CONDITIONAL(DYNAMIC_THAI_FC, echo $dynamic_modules | egrep '(^|,)thai-fc($|,)' > /dev/null) AM_CONDITIONAL(DYNAMIC_THAI_LANG, echo $dynamic_modules | egrep '(^|,)thai-lang($|,)' > /dev/null) AM_CONDITIONAL(DYNAMIC_TIBETAN_FC, echo $dynamic_modules | egrep '(^|,)tibetan-fc($|,)' > /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-arabic-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 true 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 <> pango/module-defs.h < pango/module-defs-x.c <@ = { EOTEXT IFS="${IFS= }"; pango_save_ifs="$IFS"; IFS="," for module in $included_modules; do if echo $module | egrep -- "-x($|,)" > /dev/null; then module_c=`echo $module | sed s/-/_/` cat >> pango/module-defs-x.c <> pango/module-defs-x.c < pango/module-defs-fc.c <@ = { 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 <> pango/module-defs-fc.c < pango/module-defs-win32.c <@ = { 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 <> pango/module-defs-win32.c < pango/module-defs-atsui.c <@ = { EOTEXT IFS="${IFS= }"; pango_save_ifs="$IFS"; IFS="," for module in $included_modules; do if echo $module | egrep -- "-atsui($|,)" > /dev/null; then module_c=`echo $module | sed s/-/_/` cat >> pango/module-defs-atsui.c <> pango/module-defs-atsui.c < pango/module-defs-lang.c <@ = { 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 <> pango/module-defs-lang.c <$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/opentype/Makefile pango/pango.rc pango/pangoft2.rc pango/pangowin32.rc pango/pangox.rc pango/pangoxft.rc pango-view/Makefile modules/Makefile modules/arabic/Makefile modules/basic/Makefile modules/hangul/Makefile modules/hebrew/Makefile modules/indic/Makefile modules/khmer/Makefile modules/syriac/Makefile modules/thai/Makefile modules/tibetan/Makefile examples/Makefile docs/Makefile docs/version.xml tools/Makefile tests/Makefile pango.pc pangox.pc pangowin32.pc pangoft2.pc pangoxft.pc pangocairo.pc pango-uninstalled.pc pangox-uninstalled.pc pangowin32-uninstalled.pc pangoft2-uninstalled.pc pangoxft-uninstalled.pc pangocairo-uninstalled.pc pango-zip.sh ]) 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 $have_xft ; then backends="$backends Xft"; fi if $have_freetype && $have_fontconfig ; then backends="$backends FreeType"; fi if $have_x ; then backends="$backends X"; fi echo "configuration: backends:$backends"