OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [insight/] [gettext.m4] - Blame information for rev 1771

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 578 markom
# This file is derived from `gettext.m4'.  The difference is that the
2
# included macros assume Cygnus-style source and build trees.
3
 
4
# Macro to add for using GNU gettext.
5
# Ulrich Drepper <drepper@cygnus.com>, 1995.
6
#
7
# This file file be copied and used freely without restrictions.  It can
8
# be used in projects which are not available under the GNU Public License
9
# but which still want to provide support for the GNU gettext functionality.
10
# Please note that the actual code is *not* freely available.
11
 
12
# serial 3
13
 
14
AC_DEFUN(CY_WITH_NLS,
15
  [AC_MSG_CHECKING([whether NLS is requested])
16
    dnl Default is enabled NLS
17
    AC_ARG_ENABLE(nls,
18
      [  --disable-nls           do not use Native Language Support],
19
      USE_NLS=$enableval, USE_NLS=yes)
20
    AC_MSG_RESULT($USE_NLS)
21
    AC_SUBST(USE_NLS)
22
 
23
    USE_INCLUDED_LIBINTL=no
24
 
25
    dnl If we use NLS figure out what method
26
    if test "$USE_NLS" = "yes"; then
27
      AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if NLS is requested])
28
      AC_MSG_CHECKING([whether included gettext is requested])
29
      AC_ARG_WITH(included-gettext,
30
        [  --with-included-gettext use the GNU gettext library included here],
31
        nls_cv_force_use_gnu_gettext=$withval,
32
        nls_cv_force_use_gnu_gettext=no)
33
      AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
34
 
35
      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
36
      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
37
        dnl User does not insist on using GNU NLS library.  Figure out what
38
        dnl to use.  If gettext or catgets are available (in this order) we
39
        dnl use this.  Else we have to fall back to GNU NLS library.
40
        dnl catgets is only used if permitted by option --with-catgets.
41
        nls_cv_header_intl=
42
        nls_cv_header_libgt=
43
        CATOBJEXT=NONE
44
 
45
        AC_CHECK_HEADER(libintl.h,
46
          [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
47
            [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
48
               gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
49
 
50
           if test "$gt_cv_func_gettext_libc" != "yes"; then
51
             AC_CHECK_LIB(intl, bindtextdomain,
52
               [AC_CACHE_CHECK([for gettext in libintl],
53
                 gt_cv_func_gettext_libintl,
54
                 [AC_TRY_LINK([], [return (int) gettext ("")],
55
                 gt_cv_func_gettext_libintl=yes,
56
                 gt_cv_func_gettext_libintl=no)])])
57
           fi
58
 
59
           if test "$gt_cv_func_gettext_libc" = "yes" \
60
              || test "$gt_cv_func_gettext_libintl" = "yes"; then
61
              AC_DEFINE(HAVE_GETTEXT, 1,
62
                        [Define as 1 if you have gettext and don't want to use GNU gettext.])
63
              AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
64
                [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
65
              if test "$MSGFMT" != "no"; then
66
                AC_CHECK_FUNCS(dcgettext)
67
                AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
68
                AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
69
                  [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
70
                AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
71
                               return _nl_msg_cat_cntr],
72
                  [CATOBJEXT=.gmo
73
                   DATADIRNAME=share],
74
                  [CATOBJEXT=.mo
75
                   DATADIRNAME=lib])
76
                INSTOBJEXT=.mo
77
              fi
78
            fi
79
        ])
80
 
81
        dnl In the standard gettext, we would now check for catgets.
82
        dnl However, we never want to use catgets for our releases.
83
 
84
        if test "$CATOBJEXT" = "NONE"; then
85
          dnl Neither gettext nor catgets in included in the C library.
86
          dnl Fall back on GNU gettext library.
87
          nls_cv_use_gnu_gettext=yes
88
        fi
89
      fi
90
 
91
      if test "$nls_cv_use_gnu_gettext" = "yes"; then
92
        dnl Mark actions used to generate GNU NLS library.
93
        INTLOBJS="\$(GETTOBJS)"
94
        AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
95
          [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
96
        AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
97
        AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
98
          [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
99
        AC_SUBST(MSGFMT)
100
        USE_INCLUDED_LIBINTL=yes
101
        CATOBJEXT=.gmo
102
        INSTOBJEXT=.mo
103
        DATADIRNAME=share
104
        INTLDEPS='$(top_builddir)/../intl/libintl.a'
105
        INTLLIBS=$INTLDEPS
106
        LIBS=`echo $LIBS | sed -e 's/-lintl//'`
107
        nls_cv_header_intl=libintl.h
108
        nls_cv_header_libgt=libgettext.h
109
      fi
110
 
111
      dnl Test whether we really found GNU xgettext.
112
      if test "$XGETTEXT" != ":"; then
113
        dnl If it is no GNU xgettext we define it as : so that the
114
        dnl Makefiles still can work.
115
        if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
116
          : ;
117
        else
118
          AC_MSG_RESULT(
119
            [found xgettext programs is not GNU xgettext; ignore it])
120
          XGETTEXT=":"
121
        fi
122
      fi
123
 
124
      # We need to process the po/ directory.
125
      POSUB=po
126
    else
127
      DATADIRNAME=share
128
      nls_cv_header_intl=libintl.h
129
      nls_cv_header_libgt=libgettext.h
130
    fi
131
 
132
    # If this is used in GNU gettext we have to set USE_NLS to `yes'
133
    # because some of the sources are only built for this goal.
134
    if test "$PACKAGE" = gettext; then
135
      USE_NLS=yes
136
      USE_INCLUDED_LIBINTL=yes
137
    fi
138
 
139
    dnl These rules are solely for the distribution goal.  While doing this
140
    dnl we only have to keep exactly one list of the available catalogs
141
    dnl in configure.in.
142
    for lang in $ALL_LINGUAS; do
143
      GMOFILES="$GMOFILES $lang.gmo"
144
      POFILES="$POFILES $lang.po"
145
    done
146
 
147
    dnl Make all variables we use known to autoconf.
148
    AC_SUBST(USE_INCLUDED_LIBINTL)
149
    AC_SUBST(CATALOGS)
150
    AC_SUBST(CATOBJEXT)
151
    AC_SUBST(DATADIRNAME)
152
    AC_SUBST(GMOFILES)
153
    AC_SUBST(INSTOBJEXT)
154
    AC_SUBST(INTLDEPS)
155
    AC_SUBST(INTLLIBS)
156
    AC_SUBST(INTLOBJS)
157
    AC_SUBST(POFILES)
158
    AC_SUBST(POSUB)
159
  ])
160
 
161
AC_DEFUN(CY_GNU_GETTEXT,
162
  [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
163
   AC_REQUIRE([AC_PROG_CC])dnl
164
   AC_REQUIRE([AC_PROG_RANLIB])dnl
165
   AC_REQUIRE([AC_ISC_POSIX])dnl
166
   AC_REQUIRE([AC_HEADER_STDC])dnl
167
   AC_REQUIRE([AC_C_CONST])dnl
168
   AC_REQUIRE([AC_C_INLINE])dnl
169
   AC_REQUIRE([AC_TYPE_OFF_T])dnl
170
   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
171
   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
172
   AC_REQUIRE([AC_FUNC_MMAP])dnl
173
 
174
   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
175
unistd.h values.h sys/param.h])
176
   AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
177
__argz_count __argz_stringify __argz_next])
178
 
179
   if test "${ac_cv_func_stpcpy+set}" != "set"; then
180
     AC_CHECK_FUNCS(stpcpy)
181
   fi
182
   if test "${ac_cv_func_stpcpy}" = "yes"; then
183
     AC_DEFINE(HAVE_STPCPY, 1, [Define if you have the stpcpy function])
184
   fi
185
 
186
   AM_LC_MESSAGES
187
   CY_WITH_NLS
188
 
189
   if test "x$CATOBJEXT" != "x"; then
190
     if test "x$ALL_LINGUAS" = "x"; then
191
       LINGUAS=
192
     else
193
       AC_MSG_CHECKING(for catalogs to be installed)
194
       NEW_LINGUAS=
195
       for lang in ${LINGUAS=$ALL_LINGUAS}; do
196
         case "$ALL_LINGUAS" in
197
          *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
198
         esac
199
       done
200
       LINGUAS=$NEW_LINGUAS
201
       AC_MSG_RESULT($LINGUAS)
202
     fi
203
 
204
     dnl Construct list of names of catalog files to be constructed.
205
     if test -n "$LINGUAS"; then
206
       for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
207
     fi
208
   fi
209
 
210
   dnl The reference to <locale.h> in the installed <libintl.h> file
211
   dnl must be resolved because we cannot expect the users of this
212
   dnl to define HAVE_LOCALE_H.
213
   if test $ac_cv_header_locale_h = yes; then
214
     INCLUDE_LOCALE_H="#include <locale.h>"
215
   else
216
     INCLUDE_LOCALE_H="\
217
/* The system does not provide the header <locale.h>.  Take care yourself.  */"
218
   fi
219
   AC_SUBST(INCLUDE_LOCALE_H)
220
 
221
   dnl Determine which catalog format we have (if any is needed)
222
   dnl For now we know about two different formats:
223
   dnl   Linux libc-5 and the normal X/Open format
224
   if test -f $srcdir/po2tbl.sed.in; then
225
      if test "$CATOBJEXT" = ".cat"; then
226
         AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
227
 
228
         dnl Transform the SED scripts while copying because some dumb SEDs
229
         dnl cannot handle comments.
230
         sed -e '/^#/d' $srcdir/$msgformat-msg.sed > po2msg.sed
231
      fi
232
      dnl po2tbl.sed is always needed.
233
      sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
234
         $srcdir/po2tbl.sed.in > po2tbl.sed
235
   fi
236
 
237
   dnl In the intl/Makefile.in we have a special dependency which makes
238
   dnl only sense for gettext.  We comment this out for non-gettext
239
   dnl packages.
240
   if test "$PACKAGE" = "gettext"; then
241
     GT_NO="#NO#"
242
     GT_YES=
243
   else
244
     GT_NO=
245
     GT_YES="#YES#"
246
   fi
247
   AC_SUBST(GT_NO)
248
   AC_SUBST(GT_YES)
249
 
250
   MKINSTALLDIRS="\$(srcdir)/../../mkinstalldirs"
251
   AC_SUBST(MKINSTALLDIRS)
252
 
253
   dnl *** For now the libtool support in intl/Makefile is not for real.
254
   l=
255
   AC_SUBST(l)
256
 
257
   dnl Generate list of files to be processed by xgettext which will
258
   dnl be included in po/Makefile.  But only do this if the po directory
259
   dnl exists in srcdir.
260
   if test -d $srcdir/po; then
261
      test -d po || mkdir po
262
      if test "x$srcdir" != "x."; then
263
         if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
264
            posrcprefix="$srcdir/"
265
         else
266
            posrcprefix="../$srcdir/"
267
         fi
268
      else
269
         posrcprefix="../"
270
      fi
271
      rm -f po/POTFILES
272
      sed -e "/^#/d" -e "/^\$/d" -e "s,.*,      $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
273
         < $srcdir/po/POTFILES.in > po/POTFILES
274
   fi
275
  ])
276
 
277
# Search path for a program which passes the given test.
278
# Ulrich Drepper <drepper@cygnus.com>, 1996.
279
#
280
# This file file be copied and used freely without restrictions.  It can
281
# be used in projects which are not available under the GNU Public License
282
# but which still want to provide support for the GNU gettext functionality.
283
# Please note that the actual code is *not* freely available.
284
 
285
# serial 1
286
 
287
dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
288
dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
289
AC_DEFUN(AM_PATH_PROG_WITH_TEST,
290
[# Extract the first word of "$2", so it can be a program name with args.
291
set dummy $2; ac_word=[$]2
292
AC_MSG_CHECKING([for $ac_word])
293
AC_CACHE_VAL(ac_cv_path_$1,
294
[case "[$]$1" in
295
  /*)
296
  ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
297
  ;;
298
  *)
299
  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
300
  for ac_dir in ifelse([$5], , $PATH, [$5]); do
301
    test -z "$ac_dir" && ac_dir=.
302
    if test -f $ac_dir/$ac_word; then
303
      if [$3]; then
304
        ac_cv_path_$1="$ac_dir/$ac_word"
305
        break
306
      fi
307
    fi
308
  done
309
  IFS="$ac_save_ifs"
310
dnl If no 4th arg is given, leave the cache variable unset,
311
dnl so AC_PATH_PROGS will keep looking.
312
ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
313
])dnl
314
  ;;
315
esac])dnl
316
$1="$ac_cv_path_$1"
317
if test -n "[$]$1"; then
318
  AC_MSG_RESULT([$]$1)
319
else
320
  AC_MSG_RESULT(no)
321
fi
322
AC_SUBST($1)dnl
323
])
324
 
325
# Check whether LC_MESSAGES is available in <locale.h>.
326
# Ulrich Drepper <drepper@cygnus.com>, 1995.
327
#
328
# This file file be copied and used freely without restrictions.  It can
329
# be used in projects which are not available under the GNU Public License
330
# but which still want to provide support for the GNU gettext functionality.
331
# Please note that the actual code is *not* freely available.
332
 
333
# serial 1
334
 
335
AC_DEFUN(AM_LC_MESSAGES,
336
  [if test $ac_cv_header_locale_h = yes; then
337
    AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
338
      [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
339
       am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
340
    if test $am_cv_val_LC_MESSAGES = yes; then
341
      AC_DEFINE(HAVE_LC_MESSAGES, 1,
342
                [Define if your locale.h file contains LC_MESSAGES.])
343
    fi
344
  fi])

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.