From ef414b06be80c6f605731abc9e674e396b80ec9e Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 23 Jan 2018 00:54:13 +0000 Subject: [PATCH] gettext: beat library detection into shape For reasons which I just can't fathom gnulib doesn't use the expected tools to find libraries but badly reinvents the wheel. This will trivially lead to host contamination (explicit searches of /usr/lib) or incorrect RPATHs (bad canonicalisation resulting in relative paths). Simply delete all the crazy, and replace with a single call to pkg-config. Upstream-Status: Inappropriate [upstream still refuse to consider pkg-config] Signed-off-by: Ross Burton --- gettext-tools/gnulib-m4/libxml.m4 | 99 +---------------- .../gnulib-local/lib/term-styled-ostream.oo.c | 12 +- libtextstyle/gnulib-local/m4/libcroco.m4 | 99 +++-------------- libtextstyle/gnulib-local/m4/libglib.m4 | 104 +++--------------- libtextstyle/gnulib-m4/libcroco.m4 | 99 +++-------------- libtextstyle/gnulib-m4/libglib.m4 | 104 +++--------------- libtextstyle/lib/term-styled-ostream.c | 12 +- libtextstyle/lib/term-styled-ostream.oo.c | 12 +- 8 files changed, 87 insertions(+), 454 deletions(-) diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.m4 index 05b9550..031ee65 100644 --- a/gettext-tools/gnulib-m4/libxml.m4 +++ b/gettext-tools/gnulib-m4/libxml.m4 @@ -13,6 +13,7 @@ dnl gl_LIBXML(FORCE-INCLUDED) dnl forces the use of the included or an external libxml. AC_DEFUN([gl_LIBXML], [ + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) AC_REQUIRE([AM_ICONV_LINK]) ifelse([$1], , [ @@ -30,100 +31,10 @@ AC_DEFUN([gl_LIBXML], INCXML= ifelse([$1], [yes], , [ if test "$gl_cv_libxml_use_included" != yes; then - dnl Figure out whether we can use a preinstalled libxml2, or have to use - dnl the included one. - AC_CACHE_VAL([gl_cv_libxml], [ - gl_cv_libxml=no - gl_cv_LIBXML= - gl_cv_LTLIBXML= - gl_cv_INCXML= - gl_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - dnl Search for libxml2 and define LIBXML2, LTLIBXML2 and INCXML2 - dnl accordingly. - dnl Don't use xml2-config nor pkg-config, since it doesn't work when - dnl cross-compiling or when the C compiler in use is different from the - dnl one that built the library. - dnl Use a test program that tries to invoke xmlFree. On Cygwin 1.7.x, - dnl libxml2 is built in such a way that uses of xmlFree work fine with - dnl -Wl,--enable-auto-import but lead to a link error with - dnl -Wl,--disable-auto-import. - AC_LIB_LINKFLAGS_BODY([xml2]) - LIBS="$gl_save_LIBS $LIBXML2 $LIBICONV" - AC_TRY_LINK([#include - #include - #include - ], - [xmlCheckVersion (0); - xmlFree ((void *) 0); - xmlXPathSetContextNode ((void *)0, (void *)0); - ], - [gl_cv_libxml=yes - gl_cv_LIBXML="$LIBXML2 $LIBICONV" - gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV" - ]) - if test "$gl_cv_libxml" != yes; then - gl_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCXML2" - AC_TRY_LINK([#include - #include - #include - ], - [xmlCheckVersion (0); - xmlFree ((void *) 0); - xmlXPathSetContextNode ((void *)0, (void *)0); - ], - [gl_cv_libxml=yes - gl_cv_LIBXML="$LIBXML2 $LIBICONV" - gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV" - gl_cv_INCXML="$INCXML2" - ]) - if test "$gl_cv_libxml" != yes; then - dnl Often the include files are installed in /usr/include/libxml2. - dnl In libxml2-2.5, is self-contained. - dnl In libxml2-2.6, it includes which is - dnl self-contained. - libxml2_include_dir= - AC_TRY_CPP([#include ], - [gl_ABSOLUTE_HEADER([libxml2/libxml/xmlexports.h]) - libxml2_include_dir=`echo "$gl_cv_absolute_libxml2_libxml_xmlexports_h" | sed -e 's,.libxml.xmlexports\.h$,,'` - ]) - if test -z "$libxml2_include_dir"; then - AC_TRY_CPP([#include ], - [gl_ABSOLUTE_HEADER([libxml2/libxml/xmlversion.h]) - libxml2_include_dir=`echo "$gl_cv_absolute_libxml2_libxml_xmlversion_h" | sed -e 's,.libxml.xmlversion\.h$,,'` - ]) - fi - if test -n "$libxml2_include_dir" && test -d "$libxml2_include_dir"; then - CPPFLAGS="$gl_save_CPPFLAGS -I$libxml2_include_dir" - AC_TRY_LINK([#include - #include - #include - ], - [xmlCheckVersion (0); - xmlFree ((void *) 0); - xmlXPathSetContextNode ((void *)0, (void *)0); - ], - [gl_cv_libxml=yes - gl_cv_LIBXML="$LIBXML2 $LIBICONV" - gl_cv_LTLIBXML="$LTLIBXML2 $LTLIBICONV" - gl_cv_INCXML="-I$libxml2_include_dir" - ]) - fi - fi - CPPFLAGS="$gl_save_CPPFLAGS" - fi - LIBS="$gl_save_LIBS" - ]) - AC_MSG_CHECKING([for libxml]) - AC_MSG_RESULT([$gl_cv_libxml]) - if test $gl_cv_libxml = yes; then - LIBXML="$gl_cv_LIBXML" - LTLIBXML="$gl_cv_LTLIBXML" - INCXML="$gl_cv_INCXML" - else - gl_cv_libxml_use_included=yes - fi + PKG_CHECK_MODULES([XML], [libxml-2.0]) + LIBXML=$XML_LIBS + LTLIBXML=$XML_LIBS + INCXML=$XML_CFLAGS fi ]) AC_SUBST([LIBXML]) diff --git a/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c b/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c index 2cfd4a8..d42c8b4 100644 --- a/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c +++ b/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c @@ -22,15 +22,15 @@ #include -#include -#include -#include -#include +#include +#include +#include +#include /* has a broken double-inclusion guard in libcroco-0.6.1. */ #ifndef __CR_FONTS_H__ -# include +# include #endif -#include +#include #include "term-ostream.h" #include "hash.h" diff --git a/libtextstyle/gnulib-local/m4/libcroco.m4 b/libtextstyle/gnulib-local/m4/libcroco.m4 index bc53cc6..10b2455 100644 --- a/libtextstyle/gnulib-local/m4/libcroco.m4 +++ b/libtextstyle/gnulib-local/m4/libcroco.m4 @@ -1,99 +1,34 @@ -# libcroco.m4 serial 3 -dnl Copyright (C) 2006-2007, 2019 Free Software Foundation, Inc. +# libcroco.m4 serial 2 (gettext-0.17) +dnl Copyright (C) 2006, 2015-2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. -dnl gl_LIBCROCO -dnl gives the user the option to decide whether to use the included or -dnl an external libcroco. -dnl gl_LIBCROCO(FORCE-INCLUDED) -dnl forces the use of the included or an external libcroco. AC_DEFUN([gl_LIBCROCO], [ - ifelse([$1], [yes], , [ - dnl libcroco depends on libglib. - AC_REQUIRE([gl_LIBGLIB]) - ]) + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + dnl libcroco depends on libglib. + AC_REQUIRE([gl_LIBGLIB]) - ifelse([$1], , [ - AC_MSG_CHECKING([whether included libcroco is requested]) - AC_ARG_WITH([included-libcroco], - [ --with-included-libcroco use the libcroco included here], - [gl_cv_libcroco_force_included=$withval], - [gl_cv_libcroco_force_included=no]) - AC_MSG_RESULT([$gl_cv_libcroco_force_included]) - ], [gl_cv_libcroco_force_included=$1]) + AC_MSG_CHECKING([whether included libcroco is requested]) + AC_ARG_WITH([included-libcroco], + [ --with-included-libcroco use the libcroco included here], + [gl_cv_libcroco_force_included=$withval], + [gl_cv_libcroco_force_included=no]) + AC_MSG_RESULT([$gl_cv_libcroco_force_included]) gl_cv_libcroco_use_included="$gl_cv_libcroco_force_included" LIBCROCO= LTLIBCROCO= INCCROCO= - ifelse([$1], [yes], , [ - if test "$gl_cv_libcroco_use_included" != yes; then - dnl Figure out whether we can use a preinstalled libcroco-0.6, or have to - dnl use the included one. - AC_CACHE_VAL([gl_cv_libcroco], [ - gl_cv_libcroco=no - gl_cv_LIBCROCO= - gl_cv_LTLIBCROCO= - gl_cv_INCCROCO= - gl_save_LIBS="$LIBS" - dnl Search for libcroco and define LIBCROCO_0_6, LTLIBCROCO_0_6 and - dnl INCCROCO_0_6 accordingly. - dnl Don't use croco-0.6-config nor pkg-config, since it doesn't work when - dnl cross-compiling or when the C compiler in use is different from the - dnl one that built the library. - AC_LIB_LINKFLAGS_BODY([croco-0.6], [glib-2.0]) - LIBS="$gl_save_LIBS $LIBCROCO_0_6" - AC_TRY_LINK([#include ], - [const char *version = LIBCROCO_VERSION; return !version;], - [gl_cv_libcroco=yes - gl_cv_LIBCROCO="$LIBCROCO_0_6" - gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6" - ]) - if test "$gl_cv_libcroco" != yes; then - gl_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCCROCO_0_6" - AC_TRY_LINK([#include ], - [const char *version = LIBCROCO_VERSION; return !version;], - [gl_cv_libcroco=yes - gl_cv_LIBCROCO="$LIBCROCO_0_6" - gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6" - gl_cv_INCCROCO="$INCCROCO_0_6" - ]) - if test "$gl_cv_libcroco" != yes; then - dnl Often the include files are installed in - dnl /usr/include/libcroco-0.6/libcroco. - AC_TRY_LINK([#include ], - [const char *version = LIBCROCO_VERSION; return !version;], - [gl_ABSOLUTE_HEADER([libcroco-0.6/libcroco/libcroco-config.h]) - libcroco_include_dir=`echo "$gl_cv_absolute_libcroco_0_6_libcroco_libcroco_config_h" | sed -e 's,.libcroco-config\.h$,,'` - if test -d "$libcroco_include_dir"; then - gl_cv_libcroco=yes - gl_cv_LIBCROCO="$LIBCROCO_0_6" - gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6" - gl_cv_INCCROCO="-I$libcroco_include_dir" - fi - ]) - fi - CPPFLAGS="$gl_save_CPPFLAGS" - fi - LIBS="$gl_save_LIBS" - ]) - AC_MSG_CHECKING([for libcroco]) - AC_MSG_RESULT([$gl_cv_libcroco]) - if test $gl_cv_libcroco = yes; then - LIBCROCO="$gl_cv_LIBCROCO" - LTLIBCROCO="$gl_cv_LTLIBCROCO" - INCCROCO="$gl_cv_INCCROCO" - else - gl_cv_libcroco_use_included=yes - fi - fi - ]) + if test "$gl_cv_libcroco_use_included" != yes; then + PKG_CHECK_MODULES([CROCO], [libcroco-0.6]) + LIBCROCO=$CROCO_LIBS + LTLIBCROCO=$CROCO_LIBS + INCCROCO=$CROCO_CFLAGS + fi AC_SUBST([LIBCROCO]) AC_SUBST([LTLIBCROCO]) AC_SUBST([INCCROCO]) diff --git a/libtextstyle/gnulib-local/m4/libglib.m4 b/libtextstyle/gnulib-local/m4/libglib.m4 index bef6fa3..8841755 100644 --- a/libtextstyle/gnulib-local/m4/libglib.m4 +++ b/libtextstyle/gnulib-local/m4/libglib.m4 @@ -1,105 +1,31 @@ -# libglib.m4 serial 4 -dnl Copyright (C) 2006-2007, 2019 Free Software Foundation, Inc. +# libglib.m4 serial 3 (gettext-0.17) +dnl Copyright (C) 2006-2007, 2015-2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. -dnl gl_LIBGLIB -dnl gives the user the option to decide whether to use the included or -dnl an external libglib. -dnl gl_LIBGLIB(FORCE-INCLUDED) -dnl forces the use of the included or an external libglib. AC_DEFUN([gl_LIBGLIB], [ - ifelse([$1], , [ - AC_MSG_CHECKING([whether included glib is requested]) - AC_ARG_WITH([included-glib], - [ --with-included-glib use the glib2 included here], - [gl_cv_libglib_force_included=$withval], - [gl_cv_libglib_force_included=no]) - AC_MSG_RESULT([$gl_cv_libglib_force_included]) - ], [gl_cv_libglib_force_included=$1]) + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + AC_MSG_CHECKING([whether included glib is requested]) + AC_ARG_WITH([included-glib], + [ --with-included-glib use the glib2 included here], + [gl_cv_libglib_force_included=$withval], + [gl_cv_libglib_force_included=no]) + AC_MSG_RESULT([$gl_cv_libglib_force_included]) gl_cv_libglib_use_included="$gl_cv_libglib_force_included" LIBGLIB= LTLIBGLIB= INCGLIB= - ifelse([$1], [yes], , [ - if test "$gl_cv_libglib_use_included" != yes; then - dnl Figure out whether we can use a preinstalled libglib-2.0, or have to use - dnl the included one. - AC_CACHE_VAL([gl_cv_libglib], [ - gl_cv_libglib=no - gl_cv_LIBGLIB= - gl_cv_LTLIBGLIB= - gl_cv_INCGLIB= - gl_save_LIBS="$LIBS" - dnl Search for libglib2 and define LIBGLIB_2_0, LTLIBGLIB_2_0 and - dnl INCGLIB_2_0 accordingly. - dnl Don't use glib-config nor pkg-config, since it doesn't work when - dnl cross-compiling or when the C compiler in use is different from the - dnl one that built the library. - AC_LIB_LINKFLAGS_BODY([glib-2.0]) - LIBS="$gl_save_LIBS $LIBGLIB_2_0" - AC_TRY_LINK([#include -#ifndef G_BEGIN_DECLS -error this glib.h includes a glibconfig.h from a glib version 1.x -#endif -], - [g_string_new ("foo");], - [gl_cv_libglib=yes - gl_cv_LIBGLIB="$LIBGLIB_2_0" - gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0" - ]) - if test "$gl_cv_libglib" != yes; then - gl_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCGLIB_2_0" - AC_TRY_LINK([#include -#ifndef G_BEGIN_DECLS -error this glib.h includes a glibconfig.h from a glib version 1.x -#endif -], - [g_string_new ("foo");], - [gl_cv_libglib=yes - gl_cv_LIBGLIB="$LIBGLIB_2_0" - gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0" - gl_cv_INCGLIB="$INCGLIB_2_0" - ]) - if test "$gl_cv_libglib" != yes; then - dnl Often the include files are installed in /usr/include/glib-2.0 - dnl and /usr/lib/glib-2.0/include. - if test -n "$LIBGLIB_2_0_PREFIX"; then - CPPFLAGS="$gl_save_CPPFLAGS -I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include" - AC_TRY_LINK([#include -#ifndef G_BEGIN_DECLS -error this glib.h includes a glibconfig.h from a glib version 1.x -#endif -], - [g_string_new ("foo");], - [gl_cv_libglib=yes - gl_cv_LIBGLIB="$LIBGLIB_2_0" - gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0" - gl_cv_INCGLIB="-I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include" - ]) - fi - fi - CPPFLAGS="$gl_save_CPPFLAGS" - fi - LIBS="$gl_save_LIBS" - ]) - AC_MSG_CHECKING([for glib]) - AC_MSG_RESULT([$gl_cv_libglib]) - if test $gl_cv_libglib = yes; then - LIBGLIB="$gl_cv_LIBGLIB" - LTLIBGLIB="$gl_cv_LTLIBGLIB" - INCGLIB="$gl_cv_INCGLIB" - else - gl_cv_libglib_use_included=yes - fi - fi - ]) + if test "$gl_cv_libglib_use_included" != yes; then + PKG_CHECK_MODULES([GLIB], [glib-2.0]) + LIBGLIB="$GLIB_LIBS" + LTLIBGLIB="$GLIB_LIBS" + INCGLIB="$GLIB_CFLAGS" + fi AC_SUBST([LIBGLIB]) AC_SUBST([LTLIBGLIB]) AC_SUBST([INCGLIB]) diff --git a/libtextstyle/gnulib-m4/libcroco.m4 b/libtextstyle/gnulib-m4/libcroco.m4 index bc53cc6..10b2455 100644 --- a/libtextstyle/gnulib-m4/libcroco.m4 +++ b/libtextstyle/gnulib-m4/libcroco.m4 @@ -1,99 +1,34 @@ -# libcroco.m4 serial 3 -dnl Copyright (C) 2006-2007, 2019 Free Software Foundation, Inc. +# libcroco.m4 serial 2 (gettext-0.17) +dnl Copyright (C) 2006, 2015-2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. -dnl gl_LIBCROCO -dnl gives the user the option to decide whether to use the included or -dnl an external libcroco. -dnl gl_LIBCROCO(FORCE-INCLUDED) -dnl forces the use of the included or an external libcroco. AC_DEFUN([gl_LIBCROCO], [ - ifelse([$1], [yes], , [ - dnl libcroco depends on libglib. - AC_REQUIRE([gl_LIBGLIB]) - ]) + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + dnl libcroco depends on libglib. + AC_REQUIRE([gl_LIBGLIB]) - ifelse([$1], , [ - AC_MSG_CHECKING([whether included libcroco is requested]) - AC_ARG_WITH([included-libcroco], - [ --with-included-libcroco use the libcroco included here], - [gl_cv_libcroco_force_included=$withval], - [gl_cv_libcroco_force_included=no]) - AC_MSG_RESULT([$gl_cv_libcroco_force_included]) - ], [gl_cv_libcroco_force_included=$1]) + AC_MSG_CHECKING([whether included libcroco is requested]) + AC_ARG_WITH([included-libcroco], + [ --with-included-libcroco use the libcroco included here], + [gl_cv_libcroco_force_included=$withval], + [gl_cv_libcroco_force_included=no]) + AC_MSG_RESULT([$gl_cv_libcroco_force_included]) gl_cv_libcroco_use_included="$gl_cv_libcroco_force_included" LIBCROCO= LTLIBCROCO= INCCROCO= - ifelse([$1], [yes], , [ - if test "$gl_cv_libcroco_use_included" != yes; then - dnl Figure out whether we can use a preinstalled libcroco-0.6, or have to - dnl use the included one. - AC_CACHE_VAL([gl_cv_libcroco], [ - gl_cv_libcroco=no - gl_cv_LIBCROCO= - gl_cv_LTLIBCROCO= - gl_cv_INCCROCO= - gl_save_LIBS="$LIBS" - dnl Search for libcroco and define LIBCROCO_0_6, LTLIBCROCO_0_6 and - dnl INCCROCO_0_6 accordingly. - dnl Don't use croco-0.6-config nor pkg-config, since it doesn't work when - dnl cross-compiling or when the C compiler in use is different from the - dnl one that built the library. - AC_LIB_LINKFLAGS_BODY([croco-0.6], [glib-2.0]) - LIBS="$gl_save_LIBS $LIBCROCO_0_6" - AC_TRY_LINK([#include ], - [const char *version = LIBCROCO_VERSION; return !version;], - [gl_cv_libcroco=yes - gl_cv_LIBCROCO="$LIBCROCO_0_6" - gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6" - ]) - if test "$gl_cv_libcroco" != yes; then - gl_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCCROCO_0_6" - AC_TRY_LINK([#include ], - [const char *version = LIBCROCO_VERSION; return !version;], - [gl_cv_libcroco=yes - gl_cv_LIBCROCO="$LIBCROCO_0_6" - gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6" - gl_cv_INCCROCO="$INCCROCO_0_6" - ]) - if test "$gl_cv_libcroco" != yes; then - dnl Often the include files are installed in - dnl /usr/include/libcroco-0.6/libcroco. - AC_TRY_LINK([#include ], - [const char *version = LIBCROCO_VERSION; return !version;], - [gl_ABSOLUTE_HEADER([libcroco-0.6/libcroco/libcroco-config.h]) - libcroco_include_dir=`echo "$gl_cv_absolute_libcroco_0_6_libcroco_libcroco_config_h" | sed -e 's,.libcroco-config\.h$,,'` - if test -d "$libcroco_include_dir"; then - gl_cv_libcroco=yes - gl_cv_LIBCROCO="$LIBCROCO_0_6" - gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6" - gl_cv_INCCROCO="-I$libcroco_include_dir" - fi - ]) - fi - CPPFLAGS="$gl_save_CPPFLAGS" - fi - LIBS="$gl_save_LIBS" - ]) - AC_MSG_CHECKING([for libcroco]) - AC_MSG_RESULT([$gl_cv_libcroco]) - if test $gl_cv_libcroco = yes; then - LIBCROCO="$gl_cv_LIBCROCO" - LTLIBCROCO="$gl_cv_LTLIBCROCO" - INCCROCO="$gl_cv_INCCROCO" - else - gl_cv_libcroco_use_included=yes - fi - fi - ]) + if test "$gl_cv_libcroco_use_included" != yes; then + PKG_CHECK_MODULES([CROCO], [libcroco-0.6]) + LIBCROCO=$CROCO_LIBS + LTLIBCROCO=$CROCO_LIBS + INCCROCO=$CROCO_CFLAGS + fi AC_SUBST([LIBCROCO]) AC_SUBST([LTLIBCROCO]) AC_SUBST([INCCROCO]) diff --git a/libtextstyle/gnulib-m4/libglib.m4 b/libtextstyle/gnulib-m4/libglib.m4 index bef6fa3..8841755 100644 --- a/libtextstyle/gnulib-m4/libglib.m4 +++ b/libtextstyle/gnulib-m4/libglib.m4 @@ -1,105 +1,31 @@ -# libglib.m4 serial 4 -dnl Copyright (C) 2006-2007, 2019 Free Software Foundation, Inc. +# libglib.m4 serial 3 (gettext-0.17) +dnl Copyright (C) 2006-2007, 2015-2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. -dnl gl_LIBGLIB -dnl gives the user the option to decide whether to use the included or -dnl an external libglib. -dnl gl_LIBGLIB(FORCE-INCLUDED) -dnl forces the use of the included or an external libglib. AC_DEFUN([gl_LIBGLIB], [ - ifelse([$1], , [ - AC_MSG_CHECKING([whether included glib is requested]) - AC_ARG_WITH([included-glib], - [ --with-included-glib use the glib2 included here], - [gl_cv_libglib_force_included=$withval], - [gl_cv_libglib_force_included=no]) - AC_MSG_RESULT([$gl_cv_libglib_force_included]) - ], [gl_cv_libglib_force_included=$1]) + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + AC_MSG_CHECKING([whether included glib is requested]) + AC_ARG_WITH([included-glib], + [ --with-included-glib use the glib2 included here], + [gl_cv_libglib_force_included=$withval], + [gl_cv_libglib_force_included=no]) + AC_MSG_RESULT([$gl_cv_libglib_force_included]) gl_cv_libglib_use_included="$gl_cv_libglib_force_included" LIBGLIB= LTLIBGLIB= INCGLIB= - ifelse([$1], [yes], , [ - if test "$gl_cv_libglib_use_included" != yes; then - dnl Figure out whether we can use a preinstalled libglib-2.0, or have to use - dnl the included one. - AC_CACHE_VAL([gl_cv_libglib], [ - gl_cv_libglib=no - gl_cv_LIBGLIB= - gl_cv_LTLIBGLIB= - gl_cv_INCGLIB= - gl_save_LIBS="$LIBS" - dnl Search for libglib2 and define LIBGLIB_2_0, LTLIBGLIB_2_0 and - dnl INCGLIB_2_0 accordingly. - dnl Don't use glib-config nor pkg-config, since it doesn't work when - dnl cross-compiling or when the C compiler in use is different from the - dnl one that built the library. - AC_LIB_LINKFLAGS_BODY([glib-2.0]) - LIBS="$gl_save_LIBS $LIBGLIB_2_0" - AC_TRY_LINK([#include -#ifndef G_BEGIN_DECLS -error this glib.h includes a glibconfig.h from a glib version 1.x -#endif -], - [g_string_new ("foo");], - [gl_cv_libglib=yes - gl_cv_LIBGLIB="$LIBGLIB_2_0" - gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0" - ]) - if test "$gl_cv_libglib" != yes; then - gl_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCGLIB_2_0" - AC_TRY_LINK([#include -#ifndef G_BEGIN_DECLS -error this glib.h includes a glibconfig.h from a glib version 1.x -#endif -], - [g_string_new ("foo");], - [gl_cv_libglib=yes - gl_cv_LIBGLIB="$LIBGLIB_2_0" - gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0" - gl_cv_INCGLIB="$INCGLIB_2_0" - ]) - if test "$gl_cv_libglib" != yes; then - dnl Often the include files are installed in /usr/include/glib-2.0 - dnl and /usr/lib/glib-2.0/include. - if test -n "$LIBGLIB_2_0_PREFIX"; then - CPPFLAGS="$gl_save_CPPFLAGS -I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include" - AC_TRY_LINK([#include -#ifndef G_BEGIN_DECLS -error this glib.h includes a glibconfig.h from a glib version 1.x -#endif -], - [g_string_new ("foo");], - [gl_cv_libglib=yes - gl_cv_LIBGLIB="$LIBGLIB_2_0" - gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0" - gl_cv_INCGLIB="-I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include" - ]) - fi - fi - CPPFLAGS="$gl_save_CPPFLAGS" - fi - LIBS="$gl_save_LIBS" - ]) - AC_MSG_CHECKING([for glib]) - AC_MSG_RESULT([$gl_cv_libglib]) - if test $gl_cv_libglib = yes; then - LIBGLIB="$gl_cv_LIBGLIB" - LTLIBGLIB="$gl_cv_LTLIBGLIB" - INCGLIB="$gl_cv_INCGLIB" - else - gl_cv_libglib_use_included=yes - fi - fi - ]) + if test "$gl_cv_libglib_use_included" != yes; then + PKG_CHECK_MODULES([GLIB], [glib-2.0]) + LIBGLIB="$GLIB_LIBS" + LTLIBGLIB="$GLIB_LIBS" + INCGLIB="$GLIB_CFLAGS" + fi AC_SUBST([LIBGLIB]) AC_SUBST([LTLIBGLIB]) AC_SUBST([INCGLIB]) diff --git a/libtextstyle/lib/term-styled-ostream.c b/libtextstyle/lib/term-styled-ostream.c index 3675b5f..811e546 100644 --- a/libtextstyle/lib/term-styled-ostream.c +++ b/libtextstyle/lib/term-styled-ostream.c @@ -28,15 +28,15 @@ #include -#include -#include -#include -#include +#include +#include +#include +#include /* has a broken double-inclusion guard in libcroco-0.6.1. */ #ifndef __CR_FONTS_H__ -# include +# include #endif -#include +#include #include "term-ostream.h" #include "hash.h" diff --git a/libtextstyle/lib/term-styled-ostream.oo.c b/libtextstyle/lib/term-styled-ostream.oo.c index 2cfd4a8..d42c8b4 100644 --- a/libtextstyle/lib/term-styled-ostream.oo.c +++ b/libtextstyle/lib/term-styled-ostream.oo.c @@ -22,15 +22,15 @@ #include -#include -#include -#include -#include +#include +#include +#include +#include /* has a broken double-inclusion guard in libcroco-0.6.1. */ #ifndef __CR_FONTS_H__ -# include +# include #endif -#include +#include #include "term-ostream.h" #include "hash.h"