Re: Building Pango with uninstalled Cairo
- From: Behdad Esfahbod <behdad behdad org>
- To: mpsuzuki hiroshima-u ac jp
- Cc: gtk-i18n-list gnome org
- Subject: Re: Building Pango with uninstalled Cairo
- Date: Thu, 22 Oct 2009 17:18:28 -0400
Hi,
You're right. Thanks for the analysis. I've pushed the fix to master now.
Please test.
behdad
On 10/16/2009 08:11 PM, mpsuzuki hiroshima-u ac jp wrote:
Hi,
4 years ago, Pango is set to ignore the built-but-not-installed
cairo, by following changeset.
commit 08247583a00f69914682ba1807e4e377b6a98e48
Author: Behdad Esfahbod<behdad gnome org>
Date: Mon Jan 16 10:28:12 2006 +0000
Fixes bug #314675, Brian Cameron.
2006-01-16 Behdad Esfahbod<behdad gnome org>
Fixes bug #314675, Brian Cameron.
* configure.in: Handle uninstalled cairo.
* pangocairo-uninstalled.pc.in: Fix typo: libpangoxft->libpangocairo.
At that time, the font backend of cairo (win32/ft/atsui)
were checked by AC_CHECK_LIB(), by testing if the function
cairo_win32_scaled_font_select_font() etc exists in libcairo.
AC_CHECK_LIB() is not ready for libtool, so,
when "pkg-config --libs cairo" returns the path of uninstalled
libtool library (this is popular design of uninstalled pkg-config file),
the native linking command
$(CC) -o conftest conftest.c ../xxx/libcairo.la
always fails, because native C compiler cannot handle libtool
library.
So, Brian Cameron's fix is simply disabling the uninstalled
cairo, like this:
--- pango-1.10.0/configure.in 2005-08-16 00:05:15.000000000 +0100
+++ pango-1.10.0/configure.in.new 2005-08-26 16:32:36.238282952 +0100
@@ -281,7 +281,9 @@
if $have_cairo ; then
pango_save_ldflags=$LDFLAGS
- LDFLAGS="$LDFLAGS $CAIRO_LIBS"
+ m4_pattern_allow([PKG_CONFIG_DISABLE_UNINSTALLED])
+ INSTALLED_CAIRO_LIBS=`PKG_CONFIG_DISABLE_UNINSTALLED=yes $PKG_CONFIG --libs cairo`
+ LDFLAGS="$LDFLAGS $INSTALLED_CAIRO_LIBS"
AC_CHECK_LIB(cairo, cairo_win32_scaled_font_select_font, have_cairo_win32=true, :)
if $have_cairo_win32&& $have_win32; then
AC_DEFINE(HAVE_CAIRO_WIN32, 1, [Whether Cairo uses the Win32 GDI for fonts])
But, now, configure.in of Pango does not use AC_CHECK_LIB().
It checks the font backend of cairo by only pkg-config, like,
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
So, there's no need to exclude uninstalled cairo anymore.
Either, "INSTALLED_CAIRO_LIBS" are not required.
I propose following patch to re-enable building Pango with
built-but-not-installed cairo. Behdad, could you review?
Regards,
mpsuzuki
diff --git a/configure.in b/configure.in
index 493f86b..1097228 100644
--- a/configure.in
+++ b/configure.in
@@ -368,12 +368,10 @@ cairo_required=1.7.6
PKG_CHECK_MODULES(CAIRO, cairo>= $cairo_required, have_cairo=true, AC_MSG_RESULT([no]))
if $have_cairo ; then
- m4_pattern_allow([PKG_CONFIG_DISABLE_UNINSTALLED])
- INSTALLED_CAIRO_LIBS=`PKG_CONFIG_DISABLE_UNINSTALLED=yes $PKG_CONFIG --libs cairo`
pango_save_libs=$LIBS
- LIBS="$LIBS $INSTALLED_CAIRO_LIBS"
+ LIBS="$LIBS $CAIRO_LIBS"
pango_save_ldflags=$LDFLAGS
- LDFLAGS="$LDFLAGS $INSTALLED_CAIRO_LIBS"
+ LDFLAGS="$LDFLAGS $CAIRO_LIBS"
have_cairo=false
cairo_font_backends=""
[
Date Prev][
Date Next] [
Thread Prev][Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]