~ubuntu-branches/ubuntu/trusty/grub2/trusty-updates

« back to all changes in this revision

Viewing changes to m4/printf-posix.m4

Tags: upstream-1.99~20101122
ImportĀ upstreamĀ versionĀ 1.99~20101122

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# printf-posix.m4 serial 6 (gettext-0.18.2)
 
2
dnl Copyright (C) 2003, 2007, 2009-2010 Free Software Foundation, Inc.
 
3
dnl This file is free software; the Free Software Foundation
 
4
dnl gives unlimited permission to copy and/or distribute it,
 
5
dnl with or without modifications, as long as this notice is preserved.
 
6
 
 
7
dnl From Bruno Haible.
 
8
dnl Test whether the printf() function supports POSIX/XSI format strings with
 
9
dnl positions.
 
10
 
 
11
AC_DEFUN([gt_PRINTF_POSIX],
 
12
[
 
13
  AC_REQUIRE([AC_PROG_CC])
 
14
  AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings],
 
15
    gt_cv_func_printf_posix,
 
16
    [
 
17
      AC_RUN_IFELSE(
 
18
        [AC_LANG_SOURCE([[
 
19
#include <stdio.h>
 
20
#include <string.h>
 
21
/* The string "%2$d %1$d", with dollar characters protected from the shell's
 
22
   dollar expansion (possibly an autoconf bug).  */
 
23
static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' };
 
24
static char buf[100];
 
25
int main ()
 
26
{
 
27
  sprintf (buf, format, 33, 55);
 
28
  return (strcmp (buf, "55 33") != 0);
 
29
}]])],
 
30
        [gt_cv_func_printf_posix=yes],
 
31
        [gt_cv_func_printf_posix=no],
 
32
        [
 
33
          AC_EGREP_CPP([notposix], [
 
34
#if defined __NetBSD__ || defined __BEOS__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__
 
35
  notposix
 
36
#endif
 
37
            ],
 
38
            [gt_cv_func_printf_posix="guessing no"],
 
39
            [gt_cv_func_printf_posix="guessing yes"])
 
40
        ])
 
41
    ])
 
42
  case $gt_cv_func_printf_posix in
 
43
    *yes)
 
44
      AC_DEFINE([HAVE_POSIX_PRINTF], [1],
 
45
        [Define if your printf() function supports format strings with positions.])
 
46
      ;;
 
47
  esac
 
48
])