summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2023-03-24 11:55:38 +0100
committerBruno Haible <bruno@clisp.org>2023-03-24 11:55:38 +0100
commit171d2a5f80f3d0dc720a291c349486944fd35243 (patch)
tree8cb348c2d568fdf697750c954d90df429af8957d /m4
parent57e16895ad2925f394c2244efa6660bc72c8c3fe (diff)
downloadgnulib-171d2a5f80f3d0dc720a291c349486944fd35243.tar.gz
printf-gnu: New module.
* m4/printf-posix.m4: Renamed from m4/printf-posix-rpl.m4. (gl_FUNC_PRINTF_IS_POSIX): New macro. (gl_FUNC_PRINTF_POSIX): Require it. Don't require gl_FUNC_VFPRINTF_POSIX. Invoke gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS and gl_REPLACE_VASNPRINTF. * m4/printf-gnu.m4: New file, based on m4/fprintf-posix.m4. * modules/printf-posix (Files): Update. * modules/printf-gnu: New file, based on modules/vasnprintf-gnu. * doc/posix-functions/printf.texi: Mention the new module.
Diffstat (limited to 'm4')
-rw-r--r--m4/printf-gnu.m425
-rw-r--r--m4/printf-posix.m4 (renamed from m4/printf-posix-rpl.m4)16
2 files changed, 38 insertions, 3 deletions
diff --git a/m4/printf-gnu.m4 b/m4/printf-gnu.m4
new file mode 100644
index 0000000000..4d8f3c70ff
--- /dev/null
+++ b/m4/printf-gnu.m4
@@ -0,0 +1,25 @@
+# printf-gnu.m4 serial 1
+dnl Copyright (C) 2023 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.
+
+AC_DEFUN([gl_FUNC_PRINTF_GNU],
+[
+ AC_REQUIRE([gl_FUNC_PRINTF_IS_POSIX])
+ AC_REQUIRE([gl_PRINTF_DIRECTIVE_UPPERCASE_B])
+ gl_cv_func_printf_gnu=no
+ if test $gl_cv_func_printf_posix = yes; then
+ case "$gl_cv_func_printf_directive_uppercase_b" in
+ *yes)
+ # printf is already POSIX compliant and GNU compatible.
+ gl_cv_func_printf_gnu=yes
+ ;;
+ esac
+ fi
+ if test $gl_cv_func_printf_gnu = no; then
+ gl_PREREQ_VASNPRINTF_WITH_GNU_EXTRAS
+ gl_REPLACE_VASNPRINTF
+ gl_REPLACE_PRINTF
+ fi
+])
diff --git a/m4/printf-posix-rpl.m4 b/m4/printf-posix.m4
index 36156d4350..9aebf4002d 100644
--- a/m4/printf-posix-rpl.m4
+++ b/m4/printf-posix.m4
@@ -1,4 +1,4 @@
-# printf-posix-rpl.m4 serial 4
+# printf-posix.m4 serial 5
dnl Copyright (C) 2007-2023 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -6,12 +6,22 @@ dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_FUNC_PRINTF_POSIX],
[
- AC_REQUIRE([gl_FUNC_VFPRINTF_POSIX])
- if test $gl_cv_func_vfprintf_posix = no; then
+ AC_REQUIRE([gl_FUNC_PRINTF_IS_POSIX])
+ if test $gl_cv_func_printf_posix = no; then
+ gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
+ gl_REPLACE_VASNPRINTF
gl_REPLACE_PRINTF
fi
])
+dnl Test whether printf is POSIX compliant.
+dnl Result is gl_cv_func_printf_posix.
+AC_DEFUN([gl_FUNC_PRINTF_IS_POSIX],
+[
+ AC_REQUIRE([gl_FUNC_VFPRINTF_IS_POSIX])
+ gl_cv_func_printf_posix="$gl_cv_func_vfprintf_posix"
+])
+
AC_DEFUN([gl_REPLACE_PRINTF],
[
AC_REQUIRE([gl_STDIO_H_DEFAULTS])