~ubuntu-branches/ubuntu/vivid/gzip/vivid

« back to all changes in this revision

Viewing changes to m4/locale-fr.m4

  • Committer: Steve Langasek
  • Date: 2012-06-29 02:07:40 UTC
  • mfrom: (4.1.9 sid)
  • Revision ID: steve.langasek@canonical.com-20120629020740-qqikrblzana08v2y
Merge version 1.5-1.1 from Debian

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# locale-fr.m4 serial 11
2
 
dnl Copyright (C) 2003, 2005-2010 Free Software Foundation, Inc.
 
1
# locale-fr.m4 serial 16
 
2
dnl Copyright (C) 2003, 2005-2012 Free Software Foundation, Inc.
3
3
dnl This file is free software; the Free Software Foundation
4
4
dnl gives unlimited permission to copy and/or distribute it,
5
5
dnl with or without modifications, as long as this notice is preserved.
25
25
char buf[16];
26
26
int main () {
27
27
  /* Check whether the given locale name is recognized by the system.  */
 
28
#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
 
29
  /* On native Windows, setlocale(category, "") looks at the system settings,
 
30
     not at the environment variables.  Also, when an encoding suffix such
 
31
     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
 
32
     category of the locale to "C".  */
 
33
  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
 
34
      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
 
35
    return 1;
 
36
#else
28
37
  if (setlocale (LC_ALL, "") == NULL) return 1;
 
38
#endif
29
39
  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
30
40
     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
31
41
     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
32
42
     On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
33
43
     succeeds but then nl_langinfo(CODESET) is "646". In this situation,
34
 
     some unit tests fail.  */
 
44
     some unit tests fail.
 
45
     On MirBSD 10, when an unsupported locale is specified, setlocale()
 
46
     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
35
47
#if HAVE_LANGINFO_CODESET
36
48
  {
37
49
    const char *cs = nl_langinfo (CODESET);
38
 
    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
 
50
    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
 
51
        || strcmp (cs, "UTF-8") == 0)
39
52
      return 1;
40
53
  }
41
54
#endif
50
63
     one byte long. This excludes the UTF-8 encoding.  */
51
64
  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
52
65
  if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
 
66
#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
53
67
  /* Check whether the decimal separator is a comma.
54
68
     On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
55
69
     are nl_langinfo(RADIXCHAR) are both ".".  */
56
70
  if (localeconv () ->decimal_point[0] != ',') return 1;
 
71
#endif
57
72
  return 0;
58
73
}
59
74
changequote([,])dnl
60
75
      ])])
61
76
    if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
62
 
      # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
63
 
      # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
64
 
      # configure script would override the LC_ALL setting. Likewise for
65
 
      # LC_CTYPE, which is also set at the beginning of the configure script.
66
 
      # Test for the usual locale name.
67
 
      if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
68
 
        gt_cv_locale_fr=fr_FR
69
 
      else
70
 
        # Test for the locale name with explicit encoding suffix.
71
 
        if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
72
 
          gt_cv_locale_fr=fr_FR.ISO-8859-1
73
 
        else
74
 
          # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
75
 
          if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
76
 
            gt_cv_locale_fr=fr_FR.ISO8859-1
77
 
          else
78
 
            # Test for the HP-UX locale name.
79
 
            if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
80
 
              gt_cv_locale_fr=fr_FR.iso88591
 
77
      case "$host_os" in
 
78
        # Handle native Windows specially, because there setlocale() interprets
 
79
        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
 
80
        # "fr" or "fra" as "French" or "French_France.1252",
 
81
        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
 
82
        # "ja" as "Japanese" or "Japanese_Japan.932",
 
83
        # and similar.
 
84
        mingw*)
 
85
          # Test for the native Windows locale name.
 
86
          if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
 
87
            gt_cv_locale_fr=French_France.1252
 
88
          else
 
89
            # None found.
 
90
            gt_cv_locale_fr=none
 
91
          fi
 
92
          ;;
 
93
        *)
 
94
          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
 
95
          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
 
96
          # configure script would override the LC_ALL setting. Likewise for
 
97
          # LC_CTYPE, which is also set at the beginning of the configure script.
 
98
          # Test for the usual locale name.
 
99
          if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
 
100
            gt_cv_locale_fr=fr_FR
 
101
          else
 
102
            # Test for the locale name with explicit encoding suffix.
 
103
            if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
 
104
              gt_cv_locale_fr=fr_FR.ISO-8859-1
81
105
            else
82
 
              # Test for the Solaris 7 locale name.
83
 
              if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
84
 
                gt_cv_locale_fr=fr
 
106
              # Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
 
107
              if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
 
108
                gt_cv_locale_fr=fr_FR.ISO8859-1
85
109
              else
86
 
                # None found.
87
 
                gt_cv_locale_fr=none
 
110
                # Test for the HP-UX locale name.
 
111
                if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
 
112
                  gt_cv_locale_fr=fr_FR.iso88591
 
113
                else
 
114
                  # Test for the Solaris 7 locale name.
 
115
                  if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
 
116
                    gt_cv_locale_fr=fr
 
117
                  else
 
118
                    # None found.
 
119
                    gt_cv_locale_fr=none
 
120
                  fi
 
121
                fi
88
122
              fi
89
123
            fi
90
124
          fi
91
 
        fi
92
 
      fi
 
125
          ;;
 
126
      esac
93
127
    fi
94
128
    rm -fr conftest*
95
129
  ])
119
153
     variables, and all locales use the UTF-8 encoding.  */
120
154
#if !(defined __BEOS__ || defined __HAIKU__)
121
155
  /* Check whether the given locale name is recognized by the system.  */
 
156
# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
 
157
  /* On native Windows, setlocale(category, "") looks at the system settings,
 
158
     not at the environment variables.  Also, when an encoding suffix such
 
159
     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
 
160
     category of the locale to "C".  */
 
161
  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
 
162
      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
 
163
    return 1;
 
164
# else
122
165
  if (setlocale (LC_ALL, "") == NULL) return 1;
 
166
# endif
123
167
  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
124
168
     On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
125
169
     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
147
191
      || buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
148
192
    return 1;
149
193
#endif
 
194
#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
150
195
  /* Check whether the decimal separator is a comma.
151
196
     On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
152
197
     are nl_langinfo(RADIXCHAR) are both ".".  */
153
198
  if (localeconv () ->decimal_point[0] != ',') return 1;
 
199
#endif
154
200
  return 0;
155
201
}
156
202
changequote([,])dnl
157
203
      ])])
158
204
    if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
159
 
      # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
160
 
      # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
161
 
      # configure script would override the LC_ALL setting. Likewise for
162
 
      # LC_CTYPE, which is also set at the beginning of the configure script.
163
 
      # Test for the usual locale name.
164
 
      if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
165
 
        gt_cv_locale_fr_utf8=fr_FR
166
 
      else
167
 
        # Test for the locale name with explicit encoding suffix.
168
 
        if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
169
 
          gt_cv_locale_fr_utf8=fr_FR.UTF-8
170
 
        else
171
 
          # Test for the Solaris 7 locale name.
172
 
          if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
173
 
            gt_cv_locale_fr_utf8=fr.UTF-8
 
205
      case "$host_os" in
 
206
        # Handle native Windows specially, because there setlocale() interprets
 
207
        # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
 
208
        # "fr" or "fra" as "French" or "French_France.1252",
 
209
        # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
 
210
        # "ja" as "Japanese" or "Japanese_Japan.932",
 
211
        # and similar.
 
212
        mingw*)
 
213
          # Test for the hypothetical native Windows locale name.
 
214
          if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
 
215
            gt_cv_locale_fr_utf8=French_France.65001
174
216
          else
175
217
            # None found.
176
218
            gt_cv_locale_fr_utf8=none
177
219
          fi
178
 
        fi
179
 
      fi
 
220
          ;;
 
221
        *)
 
222
          # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
 
223
          # otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
 
224
          # configure script would override the LC_ALL setting. Likewise for
 
225
          # LC_CTYPE, which is also set at the beginning of the configure script.
 
226
          # Test for the usual locale name.
 
227
          if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
 
228
            gt_cv_locale_fr_utf8=fr_FR
 
229
          else
 
230
            # Test for the locale name with explicit encoding suffix.
 
231
            if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
 
232
              gt_cv_locale_fr_utf8=fr_FR.UTF-8
 
233
            else
 
234
              # Test for the Solaris 7 locale name.
 
235
              if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
 
236
                gt_cv_locale_fr_utf8=fr.UTF-8
 
237
              else
 
238
                # None found.
 
239
                gt_cv_locale_fr_utf8=none
 
240
              fi
 
241
            fi
 
242
          fi
 
243
          ;;
 
244
      esac
180
245
    fi
181
246
    rm -fr conftest*
182
247
  ])