Make HarfBuzz dependency optional (on non-Linux), update README
authorBehdad Esfahbod <behdad@behdad.org>
Mon, 20 Aug 2012 20:06:39 +0000 (16:06 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Mon, 20 Aug 2012 20:07:36 +0000 (16:07 -0400)
If HarfBuzz is not available, we just can't build the
Freetype/Fontconfig backend...

README
configure.in

diff --git a/README b/README
index 809845e..dda3c09 100644 (file)
--- 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
index 030f5d9..f64046e 100644 (file)
@@ -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