1# vasprintf-posix.m4 serial 13 2dnl Copyright (C) 2007-2020 Free Software Foundation, Inc. 3dnl This file is free software; the Free Software Foundation 4dnl gives unlimited permission to copy and/or distribute it, 5dnl with or without modifications, as long as this notice is preserved. 6 7AC_DEFUN([gl_FUNC_VASPRINTF_POSIX], 8[ 9 AC_REQUIRE([gl_PRINTF_SIZES_C99]) 10 AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) 11 AC_REQUIRE([gl_PRINTF_INFINITE]) 12 AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE]) 13 AC_REQUIRE([gl_PRINTF_DIRECTIVE_A]) 14 AC_REQUIRE([gl_PRINTF_DIRECTIVE_F]) 15 AC_REQUIRE([gl_PRINTF_DIRECTIVE_N]) 16 AC_REQUIRE([gl_PRINTF_DIRECTIVE_LS]) 17 AC_REQUIRE([gl_PRINTF_POSITIONS]) 18 AC_REQUIRE([gl_PRINTF_FLAG_GROUPING]) 19 AC_REQUIRE([gl_PRINTF_FLAG_LEFTADJUST]) 20 AC_REQUIRE([gl_PRINTF_FLAG_ZERO]) 21 AC_REQUIRE([gl_PRINTF_PRECISION]) 22 AC_REQUIRE([gl_PRINTF_ENOMEM]) 23 gl_cv_func_vasprintf_posix=no 24 AC_CHECK_FUNCS([vasprintf]) 25 case "$gl_cv_func_printf_sizes_c99" in 26 *yes) 27 case "$gl_cv_func_printf_long_double" in 28 *yes) 29 case "$gl_cv_func_printf_infinite" in 30 *yes) 31 case "$gl_cv_func_printf_infinite_long_double" in 32 *yes) 33 case "$gl_cv_func_printf_directive_a" in 34 *yes) 35 case "$gl_cv_func_printf_directive_f" in 36 *yes) 37 case "$gl_cv_func_printf_directive_n" in 38 *yes) 39 case "$gl_cv_func_printf_directive_ls" in 40 *yes) 41 case "$gl_cv_func_printf_positions" in 42 *yes) 43 case "$gl_cv_func_printf_flag_grouping" in 44 *yes) 45 case "$gl_cv_func_printf_flag_leftadjust" in 46 *yes) 47 case "$gl_cv_func_printf_flag_zero" in 48 *yes) 49 case "$gl_cv_func_printf_precision" in 50 *yes) 51 case "$gl_cv_func_printf_enomem" in 52 *yes) 53 if test $ac_cv_func_vasprintf = yes; then 54 # vasprintf exists and is 55 # already POSIX compliant. 56 gl_cv_func_vasprintf_posix=yes 57 fi 58 ;; 59 esac 60 ;; 61 esac 62 ;; 63 esac 64 ;; 65 esac 66 ;; 67 esac 68 ;; 69 esac 70 ;; 71 esac 72 ;; 73 esac 74 ;; 75 esac 76 ;; 77 esac 78 ;; 79 esac 80 ;; 81 esac 82 ;; 83 esac 84 ;; 85 esac 86 if test $gl_cv_func_vasprintf_posix = no; then 87 gl_PREREQ_VASNPRINTF_LONG_DOUBLE 88 gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE 89 gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE 90 gl_PREREQ_VASNPRINTF_DIRECTIVE_A 91 gl_PREREQ_VASNPRINTF_DIRECTIVE_F 92 gl_PREREQ_VASNPRINTF_DIRECTIVE_LS 93 gl_PREREQ_VASNPRINTF_FLAG_GROUPING 94 gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST 95 gl_PREREQ_VASNPRINTF_FLAG_ZERO 96 gl_PREREQ_VASNPRINTF_PRECISION 97 gl_PREREQ_VASNPRINTF_ENOMEM 98 gl_REPLACE_VASNPRINTF 99 gl_REPLACE_VASPRINTF 100 fi 101]) 102