+2020-08-01 Bruno Haible <bruno@clisp.org>
+
+ libtextstyle[-optional]: Allow requesting a minimum version.
+ * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Allow an optional argument.
+ (gl_LIBTEXTSTYLE_NEWEST_VERSION, gl_LIBTEXTSTYLE_INITIALIZE,
+ gl_LIBTEXTSTYLE_SEARCH): New macros.
+ * modules/libtextstyle (configure.ac): Don't invoke gl_LIBTEXTSTYLE.
+ * m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Allow an
+ optional argument. Invoke, not require, gl_LIBTEXTSTYLE.
+ * modules/libtextstyle-optional (configure.ac): Don't invoke
+ gl_LIBTEXTSTYLE_OPTIONAL.
+ * NEWS: Mention the changes.
+
2020-07-31 Bruno Haible <bruno@clisp.org>
_GL_CMP: Improve documentation.
Date Modules Changes
+2020-08-01 libtextstyle-optional You now need to invoke
+ gl_LIBTEXTSTYLE_OPTIONAL explicitly, because
+ this macro now takes an optional
+ MINIMUM-VERSION argument.
+
+2020-08-01 libtextstyle You now need to invoke gl_LIBTEXTSTYLE explicitly,
+ because this macro now takes an optional
+ MINIMUM-VERSION argument.
+
2020-06-27 clean-temp The functions open_temp, fopen_temp now take a
'bool delete_on_close' argument. If in doubt, pass
false.
-# libtextstyle-optional.m4 serial 1
+# libtextstyle-optional.m4 serial 2
dnl Copyright (C) 2019-2020 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 From Bruno Haible.
-dnl gl_LIBTEXTSTYLE_OPTIONAL
-dnl Searches for an installed libtextstyle or uses the included source code
-dnl parts that define only part of the API and does not do any styling.
+dnl gl_LIBTEXTSTYLE_OPTIONAL([MINIMUM-VERSION])
+dnl Searches for an installed libtextstyle with version >= MINIMUM-VERSION
+dnl MINIMUM-VERSION = 0.20 - the first release in 2019
+dnl MINIMUM-VERSION = 0.20.5 - adds hyperlink support and ostream_printf
+dnl MINIMUM-VERSION unspecified - the newest release
+dnl or uses the included source code parts that define only part of the API
+dnl and do not do any styling.
dnl If found, it sets and AC_SUBSTs HAVE_LIBTEXTSTYLE=yes and the LIBTEXTSTYLE
dnl and LTLIBTEXTSTYLE variables, and augments the CPPFLAGS variable, and
dnl #defines HAVE_LIBTEXTSTYLE to 1.
AC_DEFUN([gl_LIBTEXTSTYLE_OPTIONAL],
[
- AC_REQUIRE([gl_LIBTEXTSTYLE])
+ gl_LIBTEXTSTYLE([$1])
if test $HAVE_LIBTEXTSTYLE = yes; then
TEXTSTYLE_H=
else
-# libtextstyle.m4 serial 1
+# libtextstyle.m4 serial 2
dnl Copyright (C) 2019-2020 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 From Bruno Haible.
-dnl gl_LIBTEXTSTYLE
-dnl Searches for an installed libtextstyle.
+dnl gl_LIBTEXTSTYLE([MINIMUM-VERSION])
+dnl Searches for an installed libtextstyle with version >= MINIMUM-VERSION.
+dnl MINIMUM-VERSION = 0.20 - the first release in 2019
+dnl MINIMUM-VERSION = 0.20.5 - adds hyperlink support and ostream_printf
+dnl MINIMUM-VERSION unspecified - the newest release
dnl If found, it sets and AC_SUBSTs HAVE_LIBTEXTSTYLE=yes and the LIBTEXTSTYLE
dnl and LTLIBTEXTSTYLE variables, and augments the CPPFLAGS variable, and
dnl #defines HAVE_LIBTEXTSTYLE to 1.
AC_DEFUN([gl_LIBTEXTSTYLE],
[
+ AC_REQUIRE([gl_LIBTEXTSTYLE_INITIALIZE])
+ AC_REQUIRE([gl_LIBTEXTSTYLE_SEARCH])
+ pushdef([MINVERSION], ifelse([$1], [], [gl_LIBTEXTSTYLE_NEWEST_VERSION], [$1]))
+ dnl Signal a fatal error if MINVERSION is not among the allowed values.
+ ifelse(ifelse(MINVERSION, [0.20], [x], [])ifelse(MINVERSION, [0.20.5], [x], []), [],
+ [m4_fatal([The argument to gl_LIBTEXTSTYLE or gl_LIBTEXTSTYLE_OPTIONAL is not one of the expected values.])])
+ dnl Store the specified minimum version in gl_libtextstyle_minversion.
+ dnl (This needs to be outside the ifelse. m4_divert_text inside ifelse does
+ dnl not work reliably in Autoconf 2.69.)
+ m4_divert_text([INIT_PREPARE],
+ [gl_libtextstyle_minversion="$gl_libtextstyle_minversion MINVERSION "])
+ popdef([MINVERSION])
+])
+
+AC_DEFUN([gl_LIBTEXTSTYLE_NEWEST_VERSION], [0.20.5])
+
+AC_DEFUN([gl_LIBTEXTSTYLE_INITIALIZE],
+[
+ m4_divert_text([DEFAULTS], [gl_libtextstyle_minversion=' 0.20 '])
+])
+
+AC_DEFUN([gl_LIBTEXTSTYLE_SEARCH],
+[
+ dnl $gl_libtextstyle_minversion evaluates to a space-separated list of
+ dnl specified minimum versions. The maximum of these requirement matters.
+ case "$gl_libtextstyle_minversion" in
+ *" 0.20.5 "*)
+ snippet='styled_ostream_t s = term_styled_ostream_create(1,"",TTYCTL_AUTO,"");
+ ostream_printf(s,"%d",42);'
+ ;;
+ *" 0.20 "*)
+ snippet='term_styled_ostream_create(1,"",TTYCTL_AUTO,"");'
+ ;;
+ esac
AC_LIB_HAVE_LINKFLAGS([textstyle], [],
- [#include <textstyle.h>], [term_styled_ostream_create(1,"",TTYCTL_AUTO,"");],
+ [#include <textstyle.h>], [$snippet],
[no])
])