1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/tool/m4/ruby_check_printf_prefix.m4
nobu 1cf2bb4b20 use mingw ANSI stdio
[Bug #13496]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-04 08:39:14 +00:00

30 lines
1.3 KiB
Text

# -*- Autoconf -*-
AC_DEFUN([RUBY_CHECK_PRINTF_PREFIX], [
AC_CACHE_CHECK([for printf prefix for $1], [rb_cv_pri_prefix_]AS_TR_SH($1),[
[rb_cv_pri_prefix_]AS_TR_SH($1)=[NONE]
RUBY_WERROR_FLAG(RUBY_APPEND_OPTIONS(CFLAGS, $rb_cv_wsuppress_flags)
for pri in $2; do
AC_TRY_COMPILE(
[@%:@include <stdio.h>
@%:@include <stddef.h>
@%:@ifdef __GNUC__
@%:@if defined __MINGW_PRINTF_FORMAT
@%:@define PRINTF_ARGS(decl, string_index, first_to_check) \
decl __attribute__((format(__MINGW_PRINTF_FORMAT, string_index, first_to_check)))
@%:@else
@%:@define PRINTF_ARGS(decl, string_index, first_to_check) \
decl __attribute__((format(printf, string_index, first_to_check)))
@%:@endif
@%:@else
@%:@define PRINTF_ARGS(decl, string_index, first_to_check) decl
@%:@endif
PRINTF_ARGS(void test_sprintf(const char*, ...), 1, 2);],
[printf("%]${pri}[d", (]$1[)42);
test_sprintf("%]${pri}[d", (]$1[)42);],
[rb_cv_pri_prefix_]AS_TR_SH($1)[=[$pri]; break])
done)])
AS_IF([test "[$rb_cv_pri_prefix_]AS_TR_SH($1)" != NONE], [
AC_DEFINE_UNQUOTED([PRI_]m4_ifval($3,$3,AS_TR_CPP(m4_bpatsubst([$1],[_t$])))[_PREFIX],
"[$rb_cv_pri_prefix_]AS_TR_SH($1)")
])
])dnl