[pango] Make HarfBuzz dependency optional (on non-Linux), update README



commit 2bf13b81e9f9e019f800ed380c27097d7abf5869
Author: Behdad Esfahbod <behdad behdad org>
Date:   Mon Aug 20 16:06:39 2012 -0400

    Make HarfBuzz dependency optional (on non-Linux), update README
    
    If HarfBuzz is not available, we just can't build the
    Freetype/Fontconfig backend...

 README       |   23 ++++++++++++++---------
 configure.in |    8 ++++++--
 2 files changed, 20 insertions(+), 11 deletions(-)
---
diff --git a/README b/README
index 809845e..dda3c09 100644
--- a/README
+++ b/README
@@ -12,11 +12,12 @@ multiple options for rendering with each.
    Rendering can be with with Cairo or Xft libraries, or directly
    to an in-memory buffer with no additional libraries.
 
- - Native fonts on Microsoft Windows using Uniscribe if available for
-   complex script handling. Rendering can be done via Cairo or
-   directly using the native Win32 API.
+ - Native fonts on Microsoft Windows using Uniscribe for complex
+   script handling. Rendering can be done via Cairo or directly
+   using the native Win32 API.
 
-  - Native fonts on MacOS X, rendering via Cairo.
+ - Native fonts on MacOS X with the CoreText framework, rendering via
+   Cairo.
 
 The integration of Pango with Cairo (http://cairographics.org)
 provides a complete solution with high quality text handling 
@@ -39,10 +40,14 @@ Dependencies
 Pango depends on the GLib library; more information about GLib can
 be found at http://www.gtk.org/.
 
-When using client side fonts, the fontconfig library
-(http://www.fontconfig.org) to look up fonts. At least version 2.0.9
-of the FreeType font handling library (http://www.freetype.org) is
-also required.
+To use the Free Software stack backend, Pango depends on the following
+libraries:
+
+  * fontconfig for font discovery (http://www.fontconfig.org),
+
+  * FreeType for font access (http://www.freetype.org),
+
+  * HarfBuzz for complex text shaping (http://www.harfbuzz.org/)
 
 Cairo support depends on the Cairo library (http://cairographics.org).
 The Cairo backend is the preferred backend to use Pango with and is
@@ -92,4 +97,4 @@ otaylor redhat com
 Behdad Esfahbod
 behdad gnome org
 
-26 February 2007
+20 August 2012
diff --git a/configure.in b/configure.in
index 030f5d9..f64046e 100644
--- a/configure.in
+++ b/configure.in
@@ -433,8 +433,12 @@ AM_CONDITIONAL(HAVE_CAIRO_QUARTZ, $have_cairo_quartz)
 
 harfbuzz_required=0.9
 have_harfbuzz=false
-PKG_CHECK_MODULES(HARFBUZZ, harfbuzz >= $harfbuzz_required, have_harfbuzz=true)
+PKG_CHECK_MODULES(HARFBUZZ, harfbuzz >= $harfbuzz_required, have_harfbuzz=true, have_harfbuzz=false)
 AM_CONDITIONAL(HAVE_HARFBUZZ, $have_harfbuzz)
+if ! $have_harfbuzz; then
+	have_freetype=false
+	have_xft=false
+fi
 
 #
 # We must have some backend defined, in order for the pango-querymodules
@@ -443,7 +447,7 @@ AM_CONDITIONAL(HAVE_HARFBUZZ, $have_harfbuzz)
 # patch to fix that rule. :-)
 #
 if $have_freetype || $have_xft || $have_cairo || $have_win32 ; then : ; else
-  AC_MSG_ERROR([*** Could not enable any of FreeType, Xft, Cairo, or Win32 backends.
+  AC_MSG_ERROR([*** Could not enable any backends.
 *** Must have at least one backend to build Pango.])
 fi
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]