Hi David!

Attached is bc4f5fdc299 of master ported to stable/2.20.
Cherry picking did not work as the aclocal.m4 files diverged to much.

Knut
>From db670c8174b3f00c0e9676683f3f1c74b787b5ee Mon Sep 17 00:00:00 2001
From: Knut Petersen <[email protected]>
Date: Thu, 4 Jul 2019 08:09:22 +0200
Subject: [PATCH 2/2] 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.

Cherry-picking bc4f5fdc299 does not work, but
this patch is equivalent to bc4f5fdc299 in
lilypond master.
---
 aclocal.m4     | 39 ++++++++++++++++++++++++++++++++++++++-
 config.make.in | 12 +++++++++---
 configure.ac   |  2 ++
 3 files changed, 49 insertions(+), 4 deletions(-)

diff --git a/aclocal.m4 b/aclocal.m4
index 1228f6ca29..68ae1be130 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1221,7 +1221,6 @@ AC_DEFUN(STEPMAKE_WARN, [
     warn_b=yes
 ])
 
-
 dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
 dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
 dnl also defines GSTUFF_PKG_ERRORS on error
@@ -1274,6 +1273,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..e3d7cec0ef 100644
--- a/config.make.in
+++ b/config.make.in
@@ -15,12 +15,15 @@ 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_CXXFLAGS = @CXXFLAGS@ $(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@
 GUILE_LIBS = @GUILE_LDFLAGS@
@@ -28,8 +31,11 @@ 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 0bb574c44d..5ddefb73fa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -295,6 +295,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.38)
+STEPMAKE_GOBJECT(gobject-2.0, REQUIRED, 2.38)
 
 STEPMAKE_WINDOWS
 
-- 
2.22.0

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

Reply via email to