>From 619de1764cd472ec7587f98c34ba7b7e613be93c Mon Sep 17 00:00:00 2001 From: Knut Petersen 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 --- 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