Hi Werner!
OK.  Do you have time to prepare a patch?

No time ... but attached is quick shot.

Min version 2.44 seems reasonable as we use it in gub.

Knut


>From 619de1764cd472ec7587f98c34ba7b7e613be93c Mon Sep 17 00:00:00 2001
From: Knut Petersen <[email protected]>
Date: Mon, 3 Jun 2019 12:30:08 +0200
Subject: [PATCH] Add glib-2.0 and gobject-2.0 library dependency

For a long time we relied on pango/pangoft2 to pull in
the glib and gobject libraries. That worked as long as
every distribution used a pangoft2.pc file that included
both libs in the 'Required:' line.

According to the pkg-config documentation that was
definitely wrong, and the problem was corrected  on
opensuse tumbleweed recently. As a consequence building
lilypond failed with a linker error as we use symbols
from both libs directly in our c++ source code.

Signed-off-by: Knut Petersen <[email protected]>
---
 aclocal.m4     | 38 ++++++++++++++++++++++++++++++++++++++
 config.make.in |  6 ++++--
 configure.ac   |  2 ++
 3 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/aclocal.m4 b/aclocal.m4
index cf558c81e9..cb4fa83414 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1284,6 +1284,44 @@ AC_DEFUN(PKG_CHECK_MODULES, [
   fi
 ])
 
+AC_DEFUN(STEPMAKE_GLIB, [
+    PKG_CHECK_MODULES(GLIB, $1 >= $3, have_glib=yes, true)
+    if test "$have_glib" = yes; then
+	AC_DEFINE(HAVE_GLIB)
+        save_CPPFLAGS="$CPPFLAGS"
+        save_LIBS="$LIBS"
+	CPPFLAGS="$GLIB_CFLAGS $CPPFLAGS"
+	LIBS="$GLIB_LIBS $LIBS"
+	AC_SUBST(GLIB_CFLAGS)
+	AC_SUBST(GLIB_LIBS)
+	CPPFLAGS="$save_CPPFLAGS"
+	LIBS="$save_LIBS"
+    else
+      r="libglib-dev or glib?-devel"
+      ver="`pkg-config --modversion $1`"
+      STEPMAKE_ADD_ENTRY($2, ["$r >= $3 (installed: $ver)"])
+    fi
+])
+
+AC_DEFUN(STEPMAKE_GOBJECT, [
+    PKG_CHECK_MODULES(GOBJECT, $1 >= $3, have_gobject=yes, true)
+    if test "$have_gobject" = yes; then
+	AC_DEFINE(HAVE_GOBJECT)
+        save_CPPFLAGS="$CPPFLAGS"
+        save_LIBS="$LIBS"
+	CPPFLAGS="$GOBJECT_CFLAGS $CPPFLAGS"
+	LIBS="$GOBJECT_LIBS $LIBS"
+	AC_SUBST(GOBJECT_CFLAGS)
+	AC_SUBST(GOBJECT_LIBS)
+	CPPFLAGS="$save_CPPFLAGS"
+	LIBS="$save_LIBS"
+    else
+      r="libgobject-dev or gobject?-devel"
+      ver="`pkg-config --modversion $1`"
+      STEPMAKE_ADD_ENTRY($2, ["$r >= $3 (installed: $ver)"])
+    fi
+])
+
 AC_DEFUN(STEPMAKE_FREETYPE2, [
     PKG_CHECK_MODULES(FREETYPE2, $1 >= $3, have_freetype2=yes, true)
     if test "$have_freetype2" = yes; then
diff --git a/config.make.in b/config.make.in
index 420600ae8e..c9e1d992da 100644
--- a/config.make.in
+++ b/config.make.in
@@ -15,11 +15,12 @@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
 GUILE_CFLAGS = @GUILE_CFLAGS@
 PANGO_FT2_CFLAGS = @PANGO_FT2_CFLAGS@
 PYTHON_CFLAGS = @PYTHON_CFLAGS@
+GLIB_CLFAGS = @GLIB_CFLAGS@ @GOBJECT_CFLAGS@
 
 CONFIG_CPPFLAGS = @CPPFLAGS@
 CONFIG_DEFINES = @DEFINES@
 
-CONFIG_CFLAGS = @CFLAGS@ $(GUILE_CFLAGS) $(FREETYPE2_CFLAGS) $(PANGO_FT2_CFLAGS)
+CONFIG_CFLAGS = @CFLAGS@ $(GLIB_CFLAGS)$(GUILE_CFLAGS) $(FREETYPE2_CFLAGS) $(PANGO_FT2_CFLAGS)
 CONFIG_CXXFLAGS = @CXXFLAGS@ $(GUILE_CFLAGS) $(FREETYPE2_CFLAGS) $(PANGO_FT2_CFLAGS)
 
 FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -28,8 +29,9 @@ FREETYPE2_LIBS = @FREETYPE2_LIBS@
 PANGO_FT2_LIBS = @PANGO_FT2_LIBS@
 PYTHON_LIBS = @PYTHON_LDFLAGS@
 CXXABI_LIBS = @CXXABI_LIBS@
+GLIB_LIBS = @GLIB_LIBS@ @GOBJECT_LIBS@
 
-CONFIG_LIBS = @LIBS@ @EXTRA_LIBS@ $(GUILE_LIBS) $(PANGO_FT2_LIBS) $(FONTCONFIG_LIBS) $(FREETYPE2_LIBS)
+CONFIG_LIBS = @LIBS@ @EXTRA_LIBS@ $(GLIB_LIBS) $(GUILE_LIBS) $(PANGO_FT2_LIBS) $(FONTCONFIG_LIBS) $(FREETYPE2_LIBS)
 CONFIG_LDFLAGS = @LDFLAGS@
 
 PACKAGE = @PACKAGE@
diff --git a/configure.ac b/configure.ac
index e53bfcc4d6..bd1db31bdd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -283,6 +283,8 @@ if test "$have_pangoft2_with_otf_feature" != yes ; then
 fi
 STEPMAKE_FONTCONFIG(fontconfig, REQUIRED, 2.4.0)
 STEPMAKE_FREETYPE2(freetype2, REQUIRED, 2.1.10)
+STEPMAKE_GLIB(glib-2.0, REQUIRED,2.44)
+STEPMAKE_GOBJECT(gobject-2.0, REQUIRED,2.44)
 
 STEPMAKE_WINDOWS
 
-- 
2.21.0

_______________________________________________
lilypond-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to