==================
Languages are not equally supported in all packages. The following
-matrix shows the current state of internationalization, as of January
+matrix shows the current state of internationalization, as of March
2002. The matrix shows, in regard of each package, for which languages
PO files have been submitted to translation coordination, with a
translation percentage of at least 50%.
fetchmail | () [] [] [] () |
fileutils | [] [] [] [] [] |
findutils | [] [] [] [] [] |
- flex | [] [] [] |
- gas | [] |
+ flex | [] [] [] [] |
+ gas | [] [] |
gawk | [] [] |
gcal | [] [] |
gcc | [] [] |
gettext | [] [] [] [] [] |
gnupg | [] [] [] [] [] [] |
gprof | [] [] |
- grep | [] [] [] [] [] [] |
+ grep | [] [] [] [] [] [] |
hello | [] [] [] [] [] [] [] [] |
id-utils | [] [] [] |
- indent | [] [] [] [] |
+ indent | [] [] [] [] [] |
jpilot | () [] [] [] |
jwhois | [] [] |
- kbd | [] |
+ kbd | [] [] |
ld | [] [] |
libc | [] [] [] [] [] [] [] |
lilypond | [] [] |
sp | |
tar | [] [] [] [] [] [] |
texinfo | [] [] [] [] [] |
- textutils | [] [] [] [] |
+ textutils | [] [] [] [] [] |
util-linux | [] [] [] [] |
+ vorbis-tools | |
wdiff | [] [] [] [] [] |
wget | [] [] [] [] [] [] [] [] |
+-------------------------------------+
bg ca cs da de el en eo es et fi fr
- 0 8 12 31 36 9 1 9 37 15 1 49
+ 1 12 11 31 36 9 1 8 39 15 1 50
gl he hr hu id it ja ko lv nb nl nn
+-------------------------------------+
bash | |
bfd | [] |
binutils | [] |
- bison | [] |
+ bison | [] [] |
clisp | [] |
cpio | [] [] [] |
- diffutils | [] [] |
+ diffutils | [] [] [] |
enscript | [] |
error | [] |
fetchmail | |
- fileutils | [] [] |
+ fileutils | [] [] [] |
findutils | [] [] [] [] [] [] |
flex | [] |
gas | |
gawk | [] |
gcal | |
- gcc | [] |
+ gcc | |
gettext | [] |
gnupg | [] [] [] |
gprof | |
- grep | [] [] |
- hello | [] [] [] [] [] [] [] [] [] |
+ grep | [] |
+ hello | [] [] [] [] [] [] [] [] [] [] |
id-utils | [] |
indent | [] [] [] |
jpilot | () () |
m4 | [] [] [] [] |
make | [] [] [] [] |
mysecretdiary | |
- nano | [] [] [] () () [] |
- nano_1_0 | [] [] [] () () [] |
- opcodes | |
+ nano | [] [] [] () [] () [] |
+ nano_1_0 | [] [] [] () [] () [] |
+ opcodes | [] |
parted | [] [] [] |
ptx | [] [] [] [] |
python | |
soundtracker | [] |
sp | |
tar | [] [] [] |
- texinfo | [] [] [] |
+ texinfo | [] [] |
textutils | [] [] |
util-linux | () [] |
+ vorbis-tools | |
wdiff | |
wget | [] [] [] [] [] |
+-------------------------------------+
gl he hr hu id it ja ko lv nb nl nn
- 20 6 1 3 6 11 22 9 1 6 17 4
+ 19 7 0 4 6 11 22 9 1 8 19 4
- no pl pt pt_BR ru sk sl sv tr uk zh
- +-------------------------------------+
- a2ps | () () () [] [] [] () | 8
- bash | | 4
- bfd | [] [] | 5
- binutils | [] | 4
- bison | [] [] [] | 7
- clisp | | 5
- cpio | [] [] [] [] | 11
- diffutils | [] [] [] | 11
- enscript | [] [] [] | 6
- error | [] [] | 5
- fetchmail | () () | 3
- fileutils | [] [] [] [] | 11
- findutils | [] [] [] [] [] [] | 17
- flex | [] [] | 6
- gas | [] | 2
- gawk | [] [] | 5
- gcal | [] | 3
- gcc | [] | 4
- gettext | [] [] [] [] | 10
- gnupg | [] [] [] | 12
- gprof | [] [] | 4
- grep | [] [] [] [] [] | 13
- hello | [] [] [] [] [] [] [] | 24
- id-utils | [] [] | 6
- indent | [] [] [] [] | 11
- jpilot | () () | 3
- jwhois | () () | 2
- kbd | [] [] | 3
- ld | [] [] | 4
- libc | [] [] [] [] [] [] | 17
- lilypond | [] | 5
- lynx | [] [] [] | 9
- m4 | [] [] [] | 12
- make | [] [] [] [] | 12
- mysecretdiary | [] | 3
- nano | () [] [] [] | 12
- nano_1_0 | () [] [] [] | 12
- opcodes | [] [] | 5
- parted | [] [] [] | 10
- ptx | [] [] [] [] [] [] | 15
- python | | 0
- recode | [] [] [] [] | 13
- sed | [] [] [] [] [] [] | 21
- sh-utils | [] [] [] [] [] [] [] [] [] | 22
- sharutils | [] [] | 11
- sketch | () | 1
- soundtracker | | 4
- sp | | 0
- tar | [] [] [] [] [] [] [] | 16
- texinfo | [] [] | 10
- textutils | [] [] | 8
- util-linux | [] [] [] | 8
- wdiff | [] [] [] [] | 9
- wget | [] [] [] [] [] [] | 19
- +-------------------------------------+
- 35 teams no pl pt pt_BR ru sk sl sv tr uk zh
- 54 domains 5 12 2 11 25 10 11 39 29 4 1 463
+ no pl pt pt_BR ru sk sl sv tr uk zh_TW
+ +----------------------------------------+
+ a2ps | () () () [] [] [] () | 8
+ bash | | 4
+ bfd | [] [] | 5
+ binutils | [] | 4
+ bison | [] [] [] | 8
+ clisp | | 5
+ cpio | [] [] [] [] | 11
+ diffutils | [] [] [] [] [] | 14
+ enscript | [] [] [] | 6
+ error | [] [] [] | 6
+ fetchmail | () () [] | 4
+ fileutils | [] [] [] [] | 12
+ findutils | [] [] [] [] [] [] [] | 18
+ flex | [] [] [] | 8
+ gas | [] | 3
+ gawk | [] [] | 5
+ gcal | [] [] | 4
+ gcc | [] | 3
+ gettext | [] [] [] [] | 10
+ gnupg | [] [] [] | 12
+ gprof | [] [] | 4
+ grep | [] [] [] | 10
+ hello | [] [] [] [] [] [] [] | 25
+ id-utils | [] [] | 6
+ indent | [] [] [] [] | 12
+ jpilot | () () | 3
+ jwhois | () () [] | 3
+ kbd | [] [] | 4
+ ld | [] [] | 4
+ libc | [] [] [] [] [] [] | 17
+ lilypond | [] | 5
+ lynx | [] [] [] | 9
+ m4 | [] [] [] | 12
+ make | [] [] [] [] | 12
+ mysecretdiary | [] [] | 4
+ nano | () [] [] [] [] | 14
+ nano_1_0 | () [] [] [] | 13
+ opcodes | [] [] | 6
+ parted | [] [] [] | 10
+ ptx | [] [] [] [] [] [] | 15
+ python | | 0
+ recode | [] [] [] [] | 13
+ sed | [] [] [] [] [] [] | 21
+ sh-utils | [] [] [] [] [] [] [] [] [] | 22
+ sharutils | [] [] [] | 12
+ sketch | [] () | 3
+ soundtracker | [] | 5
+ sp | | 0
+ tar | [] [] [] [] [] [] [] | 16
+ texinfo | [] [] [] | 10
+ textutils | [] [] [] [] | 11
+ util-linux | [] [] [] | 8
+ vorbis-tools | [] | 1
+ wdiff | [] [] [] [] | 9
+ wget | [] [] [] [] [] [] [] | 20
+ +----------------------------------------+
+ 35 teams no pl pt pt_BR ru sk sl sv tr uk zh_TW
+ 55 domains 5 13 2 12 25 11 11 41 34 4 7 489
Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are
lag between the mere existence a PO file and its wide availability in a
distribution.
- If January 2002 seems to be old, you may fetch a more recent copy of
+ If March 2002 seems to be old, you may fetch a more recent copy of
this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
matrix with full percentage details can be found at
`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIB = @LIB@
+LIBEXPAT = @LIBEXPAT@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LN_S = @LN_S@
LTALLOCA = @LTALLOCA@
LTLIB = @LTLIB@
+LTLIBEXPAT = @LTLIBEXPAT@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
ACLOCAL_AMFLAGS = -I m4
+MAKEINFO = env LANG= LANGUAGE= @MAKEINFO@
+
gettextsrcdir = $(datadir)/gettext
gettextsrc_DATA = ABOUT-NLS
gettextsrc_SCRIPTS = config.rpath
-SUBDIRS = doc intl intl-java lib src po man m4 projects misc tests
+SUBDIRS = doc intl intl-java lib libuniname src po man m4 projects misc tests
EXTRA_DIST = config.rpath BUGS DISCLAIM PACKAGING README.gemtext \
djgpp/Makefile.maint djgpp/README.in djgpp/README \
djgpp/config.bat djgpp/config.in djgpp/config.sed \
djgpp/config.site djgpp/edtests.bat djgpp/fnchange.in \
djgpp/fnchange.lst djgpp/tscript.sed \
- os2/README.OS2 os2/Makefile os2/backward.def \
- os2/iconv/README os2/configure.awk
+ os2/README.OS2 os2/Makefile os2/backward.def os2/configure.awk
distdir: $(DISTFILES)
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
mkdir $(distdir)
- $(mkinstalldirs) $(distdir)/djgpp $(distdir)/intl $(distdir)/lib $(distdir)/man $(distdir)/misc $(distdir)/os2 $(distdir)/os2/iconv $(distdir)/po $(distdir)/src
+ $(mkinstalldirs) $(distdir)/djgpp $(distdir)/intl $(distdir)/lib $(distdir)/man $(distdir)/misc $(distdir)/os2 $(distdir)/po $(distdir)/src
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
AC_SUBST(LEX_OUTPUT_ROOT)
])
-# javacomp.m4 serial 1 (gettext-0.11)
+# javacomp.m4 serial 2 (gettext-0.11.1)
dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
popdef([AC_MSG_RESULT])dnl
popdef([AC_CHECKING])dnl
popdef([AC_MSG_CHECKING])dnl
+changequote(,)dnl
if test -n "$HAVE_GCJ_IN_PATH" \
&& gcj --version 2>/dev/null | grep '^[3-9]' >/dev/null; then
HAVE_GCJ=1
fi
fi
fi
+changequote([,])dnl
fi
AC_MSG_RESULT([$ac_result])
AC_SUBST(JAVAC)
builtin([undefine],[symbols])
# serial 46 AC_PROG_LIBTOOL
+
AC_DEFUN([AC_PROG_LIBTOOL],
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
])
+# AC_LIBTOOL_HEADER_ASSERT
+# ------------------------
+AC_DEFUN([AC_LIBTOOL_HEADER_ASSERT],
+[AC_CACHE_CHECK([whether $CC supports assert without backlinking],
+ [lt_cv_func_assert_works],
+ [case $host in
+ *-*-solaris*)
+ if test "$GCC" = yes && test "$with_gnu_ld" != yes; then
+ case `$CC --version 2>/dev/null` in
+ [[12]].*) lt_cv_func_assert_works=no ;;
+ *) lt_cv_func_assert_works=yes ;;
+ esac
+ fi
+ ;;
+ esac])
+
+if test "x$lt_cv_func_assert_works" = xyes; then
+ AC_CHECK_HEADERS(assert.h)
+fi
+])# AC_LIBTOOL_HEADER_ASSERT
+
# _LT_AC_CHECK_DLFCN
# --------------------
-AC_DEFUN(_LT_AC_CHECK_DLFCN,
+AC_DEFUN([_LT_AC_CHECK_DLFCN],
[AC_CHECK_HEADERS(dlfcn.h)
])# _LT_AC_CHECK_DLFCN
# [They come from Ultrix. What could be older than Ultrix?!! ;)]
# Character class describing NM global symbol codes.
-[symcode='[BCDEGRST]']
+symcode='[[BCDEGRST]]'
# Regexp to match symbols that can be accessed directly from C.
-[sympat='\([_A-Za-z][_A-Za-z0-9]*\)']
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
# Transform the above into a raw symbol and a C symbol.
symxfrm='\1 \2\3 \3'
# Transform an extracted symbol line into a proper C declaration
lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+
# Define system-specific variables.
case $host_os in
aix*)
- [symcode='[BCDT]']
+ symcode='[[BCDT]]'
;;
cygwin* | mingw* | pw32*)
- [symcode='[ABCDGISTW]']
+ symcode='[[ABCDGISTW]]'
;;
hpux*) # Its linker distinguishes data from code symbols
lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+ lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
;;
irix*)
- [symcode='[BCDEGRST]']
+ symcode='[[BCDEGRST]]'
;;
solaris* | sysv5*)
- [symcode='[BDT]']
+ symcode='[[BDT]]'
;;
sysv4)
- [symcode='[DFNSTU]']
+ symcode='[[DFNSTU]]'
;;
esac
# If we're using GNU nm, then use its standard symbol codes.
if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
- [symcode='[ABCDGISTW]']
+ symcode='[[ABCDGISTW]]'
fi
# Try without a prefix undercore, then with it.
for ac_symprfx in "" "_"; do
# Write the raw and C identifiers.
-[lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"]
+lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
# Check to see that the pipe works correctly.
pipe_works=no
cat <<EOF >> conftest.$ac_ext
#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
+# define lt_ptr void *
#else
-# define lt_ptr_t char *
+# define lt_ptr char *
# define const
#endif
/* The mapping between symbol names and symbols. */
const struct {
const char *name;
- lt_ptr_t address;
+ lt_ptr address;
}
-[lt_preloaded_symbols[] =]
+lt_preloaded_symbols[[]] =
{
EOF
- sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" >> conftest.$ac_ext
+ sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext
cat <<\EOF >> conftest.$ac_ext
- {0, (lt_ptr_t) 0}
+ {0, (lt_ptr) 0}
};
#ifdef __cplusplus
global_symbol_pipe="$lt_cv_sys_global_symbol_pipe"
if test -z "$lt_cv_sys_global_symbol_pipe"; then
global_symbol_to_cdecl=
+ global_symbol_to_c_name_address=
else
global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl"
+ global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address"
fi
-if test -z "$global_symbol_pipe$global_symbol_to_cdecl"; then
+if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address";
+then
AC_MSG_RESULT(failed)
else
AC_MSG_RESULT(ok)
*-DOS) lt_cv_sys_path_separator=';' ;;
*) lt_cv_sys_path_separator=':' ;;
esac
+ PATH_SEPARATOR=$lt_cv_sys_path_separator
fi
])# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
# _LT_AC_PROG_ECHO_BACKSLASH
# --------------------------
# Add some code to the start of the generated configure script which
-# will find an echo command which doesn;t interpret backslashes.
+# will find an echo command which doesn't interpret backslashes.
AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
[ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
- [AC_DIVERT_PUSH(NOTICE)])
+ [AC_DIVERT_PUSH(NOTICE)])
_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
# Check that we are running under the correct shell.
#
# So, first we look for a working echo in the user's PATH.
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR
for dir in $PATH /usr/ucb; do
if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
# ------------------------------------------------------------------
-AC_DEFUN(_LT_AC_TRY_DLOPEN_SELF,
+AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
[if test "$cross_compiling" = yes; then :
[$4]
else
# AC_LIBTOOL_DLOPEN_SELF
# -------------------
-AC_DEFUN(AC_LIBTOOL_DLOPEN_SELF,
+AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
[if test "x$enable_dlopen" != xyes; then
enable_dlopen=unknown
enable_dlopen_self=unknown
;;
*)
- AC_CHECK_LIB(dl, dlopen, [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
- [AC_CHECK_FUNC(dlopen, lt_cv_dlopen="dlopen",
- [AC_CHECK_FUNC(shl_load, lt_cv_dlopen="shl_load",
- [AC_CHECK_LIB(svld, dlopen,
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
- [AC_CHECK_LIB(dld, shl_load,
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+ ])
])
- ])
- ])
+ ])
+ ])
])
;;
esac
# Sed substitution that helps us do robust quoting. It backslashifies
# metacharacters that are still active within double-quoted strings.
Xsed='sed -e s/^X//'
-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
+sed_quote_subst='s/\([[\\"\\`$\\\\]]\)/\\\1/g'
# Same as above, but do not quote variable references.
-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
+double_quote_subst='s/\([[\\"\\`\\\\]]\)/\\\1/g'
# Sed substitution to delay expansion of an escaped shell variable in a
# double_quote_subst'ed string.
old_postuninstall_cmds=
if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+ ;;
+ *)
+ old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+ ;;
+ esac
old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
- old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
fi
# Allow CC to be a program name with arguments.
AC_MSG_RESULT($objdir)
-AC_ARG_WITH(pic,
+AC_ARG_WITH(pic,
[ --with-pic try to use only PIC/non-PIC objects [default=use both]],
pic_mode="$withval", pic_mode=default)
test -z "$pic_mode" && pic_mode=default
# libC (AIX C++ library), which obviously doesn't included in libraries
# list by gcc. This cause undefined symbols with -static flags.
# This hack allows C programs to be linked with "-static -ldl", but
- # we not sure about C++ programs.
+ # not sure about C++ programs.
lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC"
;;
amigaos*)
# PORTME Check for PIC flags for the system compiler.
case $host_os in
aix3* | aix4* | aix5*)
+ lt_cv_prog_cc_wl='-Wl,'
# All AIX code is PIC.
if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_cv_prog_cc_static='-Bstatic'
- lt_cv_prog_cc_wl='-Wl,'
+ # AIX 5 now supports IA64 processor
+ lt_cv_prog_cc_static='-Bstatic'
else
- lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
+ lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
fi
;;
lt_cv_prog_cc_pic='-KPIC'
lt_cv_prog_cc_static='-Bstatic'
if test "x$host_vendor" = xsni; then
- lt_cv_prog_cc_wl='-LD'
+ lt_cv_prog_cc_wl='-LD'
else
- lt_cv_prog_cc_wl='-Wl,'
+ lt_cv_prog_cc_wl='-Wl,'
fi
;;
# Check for any special shared library compilation flags.
if test -n "$lt_cv_prog_cc_shlib"; then
AC_MSG_WARN([\`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries])
- if echo "$old_CC $old_CFLAGS " | [egrep -e "[ ]$lt_cv_prog_cc_shlib[ ]"] >/dev/null; then :
+ if echo "$old_CC $old_CFLAGS " | egrep -e "[[ ]]$lt_cv_prog_cc_shlib[[ ]]" >/dev/null; then :
else
AC_MSG_WARN([add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure])
lt_cv_prog_cc_can_build_shared=no
lt_cv_compiler_o_lo=no
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -c -o conftest.lo"
+ save_objext="$ac_objext"
+ ac_objext=lo
AC_TRY_COMPILE([], [int some_variable = 0;], [dnl
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
lt_cv_compiler_o_lo=yes
fi
])
+ ac_objext="$save_objext"
CFLAGS="$save_CFLAGS"
])
compiler_o_lo=$lt_cv_compiler_o_lo
- AC_MSG_RESULT([$compiler_c_lo])
+ AC_MSG_RESULT([$compiler_o_lo])
else
compiler_o_lo=no
fi
extract_expsyms_cmds=
case $host_os in
-cygwin* | mingw* | pw32* )
+cygwin* | mingw* | pw32*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
with_gnu_ld=no
fi
;;
-
+openbsd*)
+ with_gnu_ld=no
+ ;;
esac
ld_shlibs=yes
# can override, but on older systems we have to supply one (in ltdll.c)
if test "x$lt_cv_need_dllmain" = "xyes"; then
ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
- ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < [$]0 > $output_objdir/$soname-ltdll.c~
+ ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~
test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
else
ltdll_obj=
# Be careful not to strip the DATA tag left be newer dlltools.
export_symbols_cmds="$ltdll_cmds"'
$DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
- [sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//"] < $output_objdir/$soname-def > $export_symbols'
+ sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
# If the export-symbols file already is a .def file (1st line
# is EXPORTS), use it as is.
# If DATA tags from a recent dlltool are present, honour them!
archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname-def;
+ cp $export_symbols $output_objdir/$soname-def;
else
- echo EXPORTS > $output_objdir/$soname-def;
- _lt_hint=1;
- cat $export_symbols | while read symbol; do
- set dummy \$symbol;
- case \[$]# in
- 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
- *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
- esac;
- _lt_hint=`expr 1 + \$_lt_hint`;
- done;
+ echo EXPORTS > $output_objdir/$soname-def;
+ _lt_hint=1;
+ cat $export_symbols | while read symbol; do
+ set dummy \$symbol;
+ case \[$]# in
+ 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
+ *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
+ esac;
+ _lt_hint=`expr 1 + \$_lt_hint`;
+ done;
fi~
'"$ltdll_cmds"'
$CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
;;
aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
# When large executables or shared objects are built, AIX ld can
# have problems creating the table of contents. If linking a library
# or program results in "error TOC overflow" add -mminimal-toc to
# CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
# enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+ hardcode_direct=yes
archive_cmds=''
hardcode_libdir_separator=':'
if test "$GCC" = yes; then
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- hardcode_direct=yes
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ hardcode_direct=yes
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ esac
+
shared_flag='-shared'
else
+ # not using gcc
if test "$host_cpu" = ia64; then
- shared_flag='-G'
+ shared_flag='${wl}-G'
else
- shared_flag='${wl}-bM:SRE'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
fi
- hardcode_direct=yes
fi
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # Test if we are trying to use run time linking, or normal AIX style linking.
- # If -brtl is somewhere in LDFLAGS, we need to do run time linking.
- aix_use_runtimelinking=no
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl" ); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
# It seems that -bexpall can do strange things, so it is better to
# generate a list of symbols to export.
always_export_symbols=yes
if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
- allow_undefined_flag=' -Wl,-G'
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-znodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag="-z nodefs"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
else
- hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
- # Warning - without using the other run time loading flags, -berok will
- # link without error, but may produce a broken library.
- allow_undefined_flag='${wl}-berok"
- # This is a bit strange, but is similar to how AIX traditionally builds
- # it's shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname'
+ hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='${wl}-berok'
+ # This is a bit strange, but is similar to how AIX traditionally builds
+ # it's shared libraries.
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname'
fi
fi
;;
;;
darwin* | rhapsody*)
- allow_undefined_flag='-undefined suppress'
+ case "$host_os" in
+ rhapsody* | darwin1.[[012]])
+ allow_undefined_flag='-undefined suppress'
+ ;;
+ *) # Darwin 1.3 on
+ allow_undefined_flag='-flat_namespace -undefined suppress'
+ ;;
+ esac
# FIXME: Relying on posixy $() will cause problems for
# cross-compilation, but unfortunately the echo tests do not
# yet detect zsh echo's removal of \ escapes.
- archive_cmds='$CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linkopts -install_name $rpath/$soname $(test -n "$verstring" -a x$verstring != x0.0 && echo $verstring)'
+ archive_cmds='$nonopt $(test "x$module" = xyes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring'
# We need to add '_' to the symbols in $export_symbols first
#archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
hardcode_direct=yes
;;
newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
openbsd*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case "$host_os" in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
;;
os2*)
hardcode_shlibpath_var=no
runpath_var=LD_RUN_PATH
hardcode_runpath_var=yes
+ export_dynamic_flag_spec='${wl}-Bexport'
;;
solaris*)
+ # gcc --version < 3.0 without binutils cannot create self contained
+ # shared libraries reliably, requiring libgcc.a to resolve some of
+ # the object symbols generated in some cases. Libraries that use
+ # assert need libgcc.a to resolve __eprintf, for example. Linking
+ # a copy of libgcc.a into every shared library to guarantee resolving
+ # such symbols causes other problems: According to Tim Van Holder
+ # <tim.van.holder@pandora.be>, C++ libraries end up with a separate
+ # (to the application) exception stack for one thing.
no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ case `$CC --version 2>/dev/null` in
+ [[12]].*)
+ cat <<EOF 1>&2
+
+*** Warning: Releases of GCC earlier than version 3.0 cannot reliably
+*** create self contained shared libraries on Solaris systems, without
+*** introducing a dependency on libgcc.a. Therefore, libtool is disabling
+*** -no-undefined support, which will at least allow you to build shared
+*** libraries. However, you may find that when you link such libraries
+*** into an application without using GCC, you have to manually add
+*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to
+*** upgrade to a newer version of GCC. Another option is to rebuild your
+*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.
+
+EOF
+ no_undefined_flag=
+ ;;
+ esac
+ fi
# $CC -shared without GNU ld will not create a library from C++
# object files and a static libstdc++, better avoid it by now
archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_shlibpath_var=no
case $host_os in
- [solaris2.[0-5] | solaris2.[0-5].*]) ;;
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*) # Supported since Solaris 2.6 (maybe 2.5.1?)
whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
esac
sysv4)
if test "x$host_vendor" = xsno; then
- archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linkopts'
+ archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes # is this really true???
else
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
# depend on `.', always an invalid library. This was fixed in
# development snapshots of GCC prior to 3.0.
case $host_os in
- [ aix4 | aix4.[01] | aix4.[01].*)]
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
+ # AIX (on Power*) has no versioning support, so currently we can
+ # not hardcode correct soname into executable. Probably we can
+ # add versioning support to collect2, so additional links can
+ # be useful in future.
if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so instead of
- # lib<name>.a to let people know that these are not typical AIX shared libraries.
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
else
# We preserve .a as extension for shared libraries through AIX4.2
soname_spec='${libname}${release}.so$major'
fi
shlibpath_var=LIBPATH
- deplibs_check_method=pass_all
fi
;;
amigaos*)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | [$Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\'']`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
;;
beos*)
case $GCC,$host_os in
yes,cygwin*)
library_names_spec='$libname.dll.a'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | [sed -e 's/[.]/-/g']`${versuffix}.dll'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$rm \$dlpath'
;;
yes,mingw*)
- library_names_spec='${libname}`echo ${release} | [sed -e 's/[.]/-/g']`${versuffix}.dll'
+ library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"`
;;
yes,pw32*)
library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
;;
*)
- library_names_spec='${libname}`echo ${release} | [sed -e 's/[.]/-/g']`${versuffix}.dll $libname.lib'
+ library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib'
;;
esac
dynamic_linker='Win32 ld.exe'
openbsd*)
version_type=sunos
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- need_version=no
+ need_lib_prefix=no
+ need_version=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case "$host_os" in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
fi
library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
AC_MSG_CHECKING([if libtool supports shared libraries])
AC_MSG_RESULT([$can_build_shared])
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case "$host_os" in
+aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+aix4*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
if test "$hardcode_action" = relink; then
# Fast installation is not supported
enable_fast_install=no
old_striplib striplib file_magic_cmd export_symbols_cmds \
deplibs_check_method allow_undefined_flag no_undefined_flag \
finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
+ global_symbol_to_c_name_address \
hardcode_libdir_flag_spec hardcode_libdir_separator \
sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
# Whether or not to build shared libraries.
build_libtool_libs=$enable_shared
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$need_lc
-
# Whether or not to build static libraries.
build_old_libs=$enable_static
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$need_lc
+
# Whether or not to optimize for fast installation.
fast_install=$enable_fast_install
# Transform the output of nm in a proper C declaration
global_symbol_to_cdecl=$lt_global_symbol_to_cdecl
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address
+
# This is the shared library runtime path variable.
runpath_var=$runpath_var
# return TRUE;
# }
# /* ltdll.c ends here */
- # This is a source program that is used to create import libraries
- # on Windows for dlls which lack them. Don't remove nor modify the
- # starting and closing comments
+ # This is a source program that is used to create import libraries
+ # on Windows for dlls which lack them. Don't remove nor modify the
+ # starting and closing comments
# /* impgen.c starts here */
# /* Copyright (C) 1999-2000 Free Software Foundation, Inc.
#
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
ac_prog=ld
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
esac
case $ac_prog in
# Accept absolute paths.
- [[\\/]* | [A-Za-z]:[\\/]*)]
- [re_direlt='/[^/][^/]*/\.\./']
+ [[\\/]]* | [[A-Za-z]]:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
# Canonicalize the path of ld
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
fi
AC_CACHE_VAL(lt_cv_path_LD,
[if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
# `unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
-# ['file_magic [regex]'] -- check by looking for files in library path
+# 'file_magic [[regex]]' -- check by looking for files in library path
# which responds to the $file_magic_cmd with a given egrep regex.
# If you have `file' or equivalent on your system and you're not sure
# whether `pass_all' will *always* work, you probably want this one.
;;
bsdi4*)
- [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)']
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
lt_cv_file_magic_cmd='/usr/bin/file -L'
lt_cv_file_magic_test_file=/shlib/libc.so
;;
lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
lt_cv_file_magic_cmd='/usr/bin/file -L'
case "$host_os" in
- rhapsody* | darwin1.[012])
+ rhapsody* | darwin1.[[012]])
lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1`
;;
*) # Darwin 1.3 on
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
# Let's accept both of them until this is cleared up.
- [lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library']
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library'
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
;;
;;
hpux10.20*|hpux11*)
- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library']
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=/usr/lib/libc.sl
;;
*) libmagic=never-match;;
esac
# this will be overridden with pass_all, but let us keep it just in case
- [lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"]
+ lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1"
;;
esac
lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
# This must be Linux ELF.
linux-gnu*)
case $host_cpu in
- alpha* | i*86 | powerpc* | sparc* | ia64* )
+ alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
lt_cv_deplibs_check_method=pass_all ;;
*)
# glibc up to 2.1.1 does not perform some relocations on ARM
- [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;]
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
esac
lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
;;
netbsd*)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$'
else
- [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$']
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$'
fi
;;
newos6*)
- [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)']
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
lt_cv_file_magic_cmd=/usr/bin/file
lt_cv_file_magic_test_file=/usr/lib/libnls.so
;;
+openbsd*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object'
+ else
+ lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
+ fi
+ ;;
+
osf3* | osf4* | osf5*)
# this will be overridden with pass_all, but let us keep it just in case
lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
lt_cv_file_magic_test_file=/lib/libc.so
;;
-[sysv5uw[78]* | sysv4*uw2*)]
+sysv5uw[[78]]* | sysv4*uw2*)
lt_cv_deplibs_check_method=pass_all
;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
case $host_vendor in
motorola)
- [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]']
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
;;
ncr)
;;
sequent)
lt_cv_file_magic_cmd='/bin/file'
- [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )']
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
;;
sni)
lt_cv_file_magic_cmd='/bin/file'
- [lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"]
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
lt_cv_file_magic_test_file=/lib/libc.so
;;
esac
# AC_PROG_NM - find the path to a BSD-compatible name lister
AC_DEFUN([AC_PROG_NM],
-[AC_MSG_CHECKING([for BSD-compatible nm])
+[AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
+AC_MSG_CHECKING([for BSD-compatible nm])
AC_CACHE_VAL(lt_cv_path_NM,
[if test -n "$NM"; then
# Let the user override the test.
lt_cv_path_NM="$NM"
else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
test -z "$ac_dir" && ac_dir=.
tmp_nm=$ac_dir/${ac_tool_prefix}nm
fi
])
-# fnmatch.m4 serial 1 (gettext-0.11)
+# fnmatch.m4 serial 2 (gettext-0.11.1)
dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
if test $gt_cv_func_fnmatch_works = yes; then
rm -f lib/fnmatch.h
else
+ test -d lib || mkdir lib
echo '#include "pfnmatch.h"' > lib/fnmatch.h
dnl We must choose a different name for our function, since on ELF systems
dnl a broken fnmatch() in libc.so would override our fnmatch() in
fi
])
-# setenv.m4 serial 1 (gettext-0.11)
+# setenv.m4 serial 2 (gettext-0.11.1)
dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
AC_DEFUN([gt_FUNC_SETENV],
[
- AC_REPLACE_FUNCS(setenv)
+ AC_REPLACE_FUNCS(setenv unsetenv)
AC_CHECK_HEADERS(search.h stdlib.h string.h unistd.h)
AC_CHECK_FUNCS(tsearch)
gt_CHECK_VAR_DECL([#include <errno.h>], errno)
fi
])
-# gettext.m4 serial 12 (gettext-0.11)
+# gettext.m4 serial 13 (gettext-0.11.1)
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
[AC_TRY_LINK([#include <libintl.h>
-extern int _nl_msg_cat_cntr;],
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;],
[bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
gt_cv_func_gnugettext_libc=yes,
gt_cv_func_gnugettext_libc=no)])
LIBS="$LIBS $LIBINTL"
dnl Now see whether libintl exists and does not depend on libiconv.
AC_TRY_LINK([#include <libintl.h>
-extern int _nl_msg_cat_cntr;],
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias ();],
[bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings + *_nl_expand_alias (0)],
gt_cv_func_gnugettext_libintl=yes,
gt_cv_func_gnugettext_libintl=no)
dnl Now see whether libintl exists and depends on libiconv.
if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
LIBS="$LIBS $LIBICONV"
AC_TRY_LINK([#include <libintl.h>
-extern int _nl_msg_cat_cntr;],
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias ();],
[bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings + *_nl_expand_alias (0)],
[LIBINTL="$LIBINTL $LIBICONV"
LTLIBINTL="$LTLIBINTL $LTLIBICONV"
gt_cv_func_gnugettext_libintl=yes
|| { test "$gt_cv_func_gnugettext_libintl" = "yes" \
&& test "$PACKAGE" != gettext; }; then
gt_use_preinstalled_gnugettext=yes
+ else
+ dnl Reset the values set by searching for libintl.
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
fi
ifelse(gt_included_intl, yes, [
/* config.h.in. Generated automatically from configure.in by autoheader. */
/* Special definitions, processed by autoheader.
- Copyright (C) 1995-1998, 2001 Free Software Foundation.
+ Copyright (C) 1995-1998, 2001-2002 Free Software Foundation.
Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. */
/* Default value for alignment of strings in .mo file. */
/* Define if you have the stpcpy function. */
#undef HAVE_STPCPY
-/* Define if you have the stpncpy function. */
-#undef HAVE_STPNCPY
-
/* Define if you have the strcasecmp function. */
#undef HAVE_STRCASECMP
/* Define if you have the uname function. */
#undef HAVE_UNAME
+/* Define if you have the unsetenv function. */
+#undef HAVE_UNSETENV
+
/* Define if you have the utime function. */
#undef HAVE_UTIME
/* Define if the GNU dcgettext() function is already present or preinstalled. */
#undef HAVE_DCGETTEXT
+/* Define to 1 if libexpat shall be dynamically loaded via dlopen(). */
+#undef DYNLOAD_LIBEXPAT
+
+/* Define if you have the expat library. */
+#undef HAVE_LIBEXPAT
+
/* We don't test for the basename function but still want to use the
- version in the libc when compiling for a system using glibc. */
+ version in the libc when compiling for a system using glibc. Likewise
+ for stpncpy. */
#ifdef __GNU_LIBRARY__
# define HAVE_BASENAME 1
+# define HAVE_STPNCPY 1
#endif
*-DOS) lt_cv_sys_path_separator=';' ;;
*) lt_cv_sys_path_separator=':' ;;
esac
+ PATH_SEPARATOR=$lt_cv_sys_path_separator
fi
#
# So, first we look for a working echo in the user's PATH.
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR
for dir in $PATH /usr/ucb; do
if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
ac_help="$ac_help
--with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
--without-libintl-prefix don't search for libintl in includedir and libdir"
+ac_help="$ac_help
+ --with-libexpat-prefix[=DIR] search for libexpat in DIR/include and DIR/lib
+ --without-libexpat-prefix don't search for libexpat in includedir and libdir"
ac_help="$ac_help
--with-lispdir Override the default lisp directory "
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:723: checking for ld used by GCC" >&5
+echo "configure:727: checking for ld used by GCC" >&5
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
esac
elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:753: checking for GNU ld" >&5
+echo "configure:757: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:756: checking for non-GNU ld" >&5
+echo "configure:760: checking for non-GNU ld" >&5
fi
if eval "test \"`echo '$''{'acl_cv_path_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
fi
test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:791: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:795: checking if the linker ($LD) is GNU ld" >&5
if eval "test \"`echo '$''{'acl_cv_prog_gnu_ld'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:843: checking for a BSD compatible install" >&5
+echo "configure:847: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:896: checking whether build environment is sane" >&5
+echo "configure:900: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftest.file
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:967: checking for $ac_word" >&5
+echo "configure:971: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
done
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:997: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:1001: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
# Define the identity of the package.
PACKAGE=gettext
-VERSION=0.11
+VERSION=0.11.1
cat >> confdefs.h <<EOF
#define PACKAGE "$PACKAGE"
EOF
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
-RELEASE_DATE=2002-01-31
+RELEASE_DATE=2002-03-12
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1120: checking for $ac_word" >&5
+echo "configure:1124: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1150: checking for $ac_word" >&5
+echo "configure:1154: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1201: checking for $ac_word" >&5
+echo "configure:1205: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1233: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1237: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
cat > conftest.$ac_ext << EOF
-#line 1244 "configure"
+#line 1248 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1249: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1275: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1279: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1280: checking whether we are using GNU C" >&5
+echo "configure:1284: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1289: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1293: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1308: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1312: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
END
# If we don't find an include directive, just comment out the code.
echo $ac_n "checking for style of include used by $am_make""... $ac_c" 1>&6
-echo "configure:1347: checking for style of include used by $am_make" >&5
+echo "configure:1351: checking for style of include used by $am_make" >&5
am__include='#'
am__quote=
_am_result=none
depcc="$CC" am_compiler_list=
echo $ac_n "checking dependency style of $depcc""... $ac_c" 1>&6
-echo "configure:1381: checking dependency style of $depcc" >&5
+echo "configure:1385: checking dependency style of $depcc" >&5
if eval "test \"`echo '$''{'am_cv_CC_dependencies_compiler_type'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1459: checking for a BSD compatible install" >&5
+echo "configure:1463: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1516: checking for $ac_word" >&5
+echo "configure:1520: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "flex", so it can be a program name with args.
set dummy flex; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1550: checking for $ac_word" >&5
+echo "configure:1554: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1584: checking how to run the C preprocessor" >&5
+echo "configure:1588: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 1599 "configure"
+#line 1603 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1605: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1609: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1616 "configure"
+#line 1620 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1622: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1626: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 1633 "configure"
+#line 1637 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1639: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1643: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
echo $ac_n "checking for Java compiler""... $ac_c" 1>&6
-echo "configure:1665: checking for Java compiler" >&5
+echo "configure:1669: checking for Java compiler" >&5
cat > conftest.$ac_ext <<EOF
-#line 1667 "configure"
+#line 1671 "configure"
#include "confdefs.h"
#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
fi
if test -n "$HAVE_GCJ_IN_PATH" \
- && gcj --version 2>/dev/null | grep '^3-9' >/dev/null; then
+ && gcj --version 2>/dev/null | grep '^[3-9]' >/dev/null; then
HAVE_GCJ=1
ac_result="gcj -C"
else
# See if the existing CLASSPATH is sufficient to make jikes work.
cat > conftest.java <<EOF
public class conftest {
- public static void main (String args) {
+ public static void main (String[] args) {
}
}
EOF
# Extract the first word of "jar", so it can be a program name with args.
set dummy jar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1820: checking for $ac_word" >&5
+echo "configure:1824: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_JAR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo $ac_n "checking for Java virtual machine""... $ac_c" 1>&6
-echo "configure:1855: checking for Java virtual machine" >&5
+echo "configure:1859: checking for Java virtual machine" >&5
cat > conftest.$ac_ext <<EOF
-#line 1857 "configure"
+#line 1861 "configure"
#include "confdefs.h"
#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:2041: checking host system type" >&5
+echo "configure:2045: checking host system type" >&5
host_alias=$host
case "$host_alias" in
echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6
-echo "configure:2064: checking for strerror in -lcposix" >&5
+echo "configure:2068: checking for strerror in -lcposix" >&5
ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lcposix $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2072 "configure"
+#line 2076 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
strerror()
; return 0; }
EOF
-if { (eval echo configure:2083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2087: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:2107: checking for object suffix" >&5
+echo "configure:2111: checking for object suffix" >&5
if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
rm -f conftest*
echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:2113: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2117: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
for ac_file in conftest.*; do
case $ac_file in
*.c) ;;
ac_objext=$ac_cv_objext
echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:2131: checking for Cygwin environment" >&5
+echo "configure:2135: checking for Cygwin environment" >&5
if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2136 "configure"
+#line 2140 "configure"
#include "confdefs.h"
int main() {
return __CYGWIN__;
; return 0; }
EOF
-if { (eval echo configure:2147: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2151: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_cygwin=yes
else
CYGWIN=
test "$ac_cv_cygwin" = yes && CYGWIN=yes
echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:2164: checking for mingw32 environment" >&5
+echo "configure:2168: checking for mingw32 environment" >&5
if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2169 "configure"
+#line 2173 "configure"
#include "confdefs.h"
int main() {
return __MINGW32__;
; return 0; }
EOF
-if { (eval echo configure:2176: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2180: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_mingw32=yes
else
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:2195: checking for executable suffix" >&5
+echo "configure:2199: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext=
- if { (eval echo configure:2205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ if { (eval echo configure:2209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do
case $file in
*.c | *.o | *.obj) ;;
ac_exeext=$EXEEXT
+# Find the correct PATH separator. Usually this is `:', but
+# DJGPP uses `;' like DOS.
+if test "X${PATH_SEPARATOR+set}" != Xset; then
+ UNAME=${UNAME-`uname 2>/dev/null`}
+ case X$UNAME in
+ *-DOS) lt_cv_sys_path_separator=';' ;;
+ *) lt_cv_sys_path_separator=':' ;;
+ esac
+ PATH_SEPARATOR=$lt_cv_sys_path_separator
+fi
+
# Check whether --enable-shared or --disable-shared was given.
if test "${enable_shared+set}" = set; then
enableval="$enable_shared"
fi
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:2296: checking build system type" >&5
+echo "configure:2311: checking build system type" >&5
build_alias=$build
case "$build_alias" in
if test "$GCC" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:2325: checking for ld used by GCC" >&5
+echo "configure:2340: checking for ld used by GCC" >&5
case $host in
*-*-mingw*)
# gcc leaves a trailing carriage return which upsets mingw
esac
elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:2355: checking for GNU ld" >&5
+echo "configure:2370: checking for GNU ld" >&5
else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:2358: checking for non-GNU ld" >&5
+echo "configure:2373: checking for non-GNU ld" >&5
fi
if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
fi
test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:2393: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:2408: checking if the linker ($LD) is GNU ld" >&5
if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
-echo "configure:2410: checking for $LD option to reload object files" >&5
+echo "configure:2425: checking for $LD option to reload object files" >&5
if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
test -n "$reload_flag" && reload_flag=" $reload_flag"
echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:2422: checking for BSD-compatible nm" >&5
+echo "configure:2437: checking for BSD-compatible nm" >&5
if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Let the user override the test.
lt_cv_path_NM="$NM"
else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
test -z "$ac_dir" && ac_dir=.
tmp_nm=$ac_dir/${ac_tool_prefix}nm
echo "$ac_t""$NM" 1>&6
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:2460: checking whether ln -s works" >&5
+echo "configure:2475: checking whether ln -s works" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
-echo "configure:2481: checking how to recognise dependant libraries" >&5
+echo "configure:2496: checking how to recognise dependant libraries" >&5
if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# `unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
-# ['file_magic [regex]'] -- check by looking for files in library path
+# 'file_magic [[regex]]' -- check by looking for files in library path
# which responds to the $file_magic_cmd with a given egrep regex.
# If you have `file' or equivalent on your system and you're not sure
# whether `pass_all' will *always* work, you probably want this one.
lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
lt_cv_file_magic_cmd='/usr/bin/file -L'
case "$host_os" in
- rhapsody* | darwin1.012)
+ rhapsody* | darwin1.[012])
lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1`
;;
*) # Darwin 1.3 on
# This must be Linux ELF.
linux-gnu*)
case $host_cpu in
- alpha* | i*86 | powerpc* | sparc* | ia64* )
+ alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
lt_cv_deplibs_check_method=pass_all ;;
*)
# glibc up to 2.1.1 does not perform some relocations on ARM
lt_cv_file_magic_test_file=/usr/lib/libnls.so
;;
+openbsd*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
+ else
+ lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
+ fi
+ ;;
+
osf3* | osf4* | osf5*)
# this will be overridden with pass_all, but let us keep it just in case
lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
# Check for command to grab the raw symbol name followed by C symbol from nm.
echo $ac_n "checking command to parse $NM output""... $ac_c" 1>&6
-echo "configure:2664: checking command to parse $NM output" >&5
+echo "configure:2689: checking command to parse $NM output" >&5
if eval "test \"`echo '$''{'lt_cv_sys_global_symbol_pipe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Transform an extracted symbol line into a proper C declaration
lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+
# Define system-specific variables.
case $host_os in
aix*)
;;
hpux*) # Its linker distinguishes data from code symbols
lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+ lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
;;
irix*)
symcode='[BCDEGRST]'
int main(){nm_test_var='a';nm_test_func();return(0);}
EOF
- if { (eval echo configure:2740: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:2769: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
# Now try to grab the symbols.
nlist=conftest.nm
- if { (eval echo configure:2743: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5; } && test -s "$nlist"; then
+ if { (eval echo configure:2772: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5; } && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
mv -f "$nlist"T "$nlist"
cat <<EOF >> conftest.$ac_ext
#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
+# define lt_ptr void *
#else
-# define lt_ptr_t char *
+# define lt_ptr char *
# define const
#endif
/* The mapping between symbol names and symbols. */
const struct {
const char *name;
- lt_ptr_t address;
+ lt_ptr address;
}
lt_preloaded_symbols[] =
{
EOF
- sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" >> conftest.$ac_ext
+ sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext
cat <<\EOF >> conftest.$ac_ext
- {0, (lt_ptr_t) 0}
+ {0, (lt_ptr) 0}
};
#ifdef __cplusplus
save_CFLAGS="$CFLAGS"
LIBS="conftstm.$ac_objext"
CFLAGS="$CFLAGS$no_builtin_flag"
- if { (eval echo configure:2794: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ if { (eval echo configure:2823: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
pipe_works=yes
fi
LIBS="$save_LIBS"
global_symbol_pipe="$lt_cv_sys_global_symbol_pipe"
if test -z "$lt_cv_sys_global_symbol_pipe"; then
global_symbol_to_cdecl=
+ global_symbol_to_c_name_address=
else
global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl"
+ global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address"
fi
-if test -z "$global_symbol_pipe$global_symbol_to_cdecl"; then
+if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address";
+then
echo "$ac_t""failed" 1>&6
else
echo "$ac_t""ok" 1>&6
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2840: checking for $ac_hdr" >&5
+echo "configure:2872: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2845 "configure"
+#line 2877 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2850: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2882: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
file_magic*)
if test "$file_magic_cmd" = '$MAGIC_CMD'; then
echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
-echo "configure:2885: checking for ${ac_tool_prefix}file" >&5
+echo "configure:2917: checking for ${ac_tool_prefix}file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -z "$lt_cv_path_MAGIC_CMD"; then
if test -n "$ac_tool_prefix"; then
echo $ac_n "checking for file""... $ac_c" 1>&6
-echo "configure:2947: checking for file" >&5
+echo "configure:2979: checking for file" >&5
if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3018: checking for $ac_word" >&5
+echo "configure:3050: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3050: checking for $ac_word" >&5
+echo "configure:3082: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
set dummy ${ac_tool_prefix}strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3085: checking for $ac_word" >&5
+echo "configure:3117: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "strip", so it can be a program name with args.
set dummy strip; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3117: checking for $ac_word" >&5
+echo "configure:3149: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
case $host in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 3166 "configure"' > conftest.$ac_ext
- if { (eval echo configure:3167: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ echo '#line 3198 "configure"' > conftest.$ac_ext
+ if { (eval echo configure:3199: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:3188: checking whether the C compiler needs -belf" >&5
+echo "configure:3220: checking whether the C compiler needs -belf" >&5
if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext <<EOF
-#line 3201 "configure"
+#line 3233 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:3208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_cc_needs_belf=yes
else
old_postuninstall_cmds=
if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+ ;;
+ *)
+ old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+ ;;
+ esac
old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
- old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
fi
# Allow CC to be a program name with arguments.
compiler="$2"
echo $ac_n "checking for objdir""... $ac_c" 1>&6
-echo "configure:3321: checking for objdir" >&5
+echo "configure:3360: checking for objdir" >&5
rm -f .libs 2>/dev/null
mkdir .libs 2>/dev/null
if test -d .libs; then
# in isolation, and that seeing it set (from the cache) indicates that
# the associated values are set (in the cache) correctly too.
echo $ac_n "checking for $compiler option to produce PIC""... $ac_c" 1>&6
-echo "configure:3348: checking for $compiler option to produce PIC" >&5
+echo "configure:3387: checking for $compiler option to produce PIC" >&5
if eval "test \"`echo '$''{'lt_cv_prog_cc_pic'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# libC (AIX C++ library), which obviously doesn't included in libraries
# list by gcc. This cause undefined symbols with -static flags.
# This hack allows C programs to be linked with "-static -ldl", but
- # we not sure about C++ programs.
+ # not sure about C++ programs.
lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC"
;;
amigaos*)
# PORTME Check for PIC flags for the system compiler.
case $host_os in
aix3* | aix4* | aix5*)
+ lt_cv_prog_cc_wl='-Wl,'
# All AIX code is PIC.
if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- lt_cv_prog_cc_static='-Bstatic'
- lt_cv_prog_cc_wl='-Wl,'
+ # AIX 5 now supports IA64 processor
+ lt_cv_prog_cc_static='-Bstatic'
else
- lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
+ lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
fi
;;
lt_cv_prog_cc_pic='-KPIC'
lt_cv_prog_cc_static='-Bstatic'
if test "x$host_vendor" = xsni; then
- lt_cv_prog_cc_wl='-LD'
+ lt_cv_prog_cc_wl='-LD'
else
- lt_cv_prog_cc_wl='-Wl,'
+ lt_cv_prog_cc_wl='-Wl,'
fi
;;
# Check to make sure the pic_flag actually works.
echo $ac_n "checking if $compiler PIC flag $lt_cv_prog_cc_pic works""... $ac_c" 1>&6
-echo "configure:3513: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5
+echo "configure:3552: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5
if eval "test \"`echo '$''{'lt_cv_prog_cc_pic_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC"
cat > conftest.$ac_ext <<EOF
-#line 3520 "configure"
+#line 3559 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:3527: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3566: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
case $host_os in
hpux9* | hpux10* | hpux11*)
fi
echo $ac_n "checking if $compiler static flag $lt_cv_prog_cc_static works""... $ac_c" 1>&6
-echo "configure:3579: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5
+echo "configure:3618: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5
if eval "test \"`echo '$''{'lt_cv_prog_cc_static_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static"
cat > conftest.$ac_ext <<EOF
-#line 3587 "configure"
+#line 3626 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:3594: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
lt_cv_prog_cc_static_works=yes
else
# Check to see if options -o and -c are simultaneously supported by compiler
echo $ac_n "checking if $compiler supports -c -o file.$ac_objext""... $ac_c" 1>&6
-echo "configure:3621: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo "configure:3660: checking if $compiler supports -c -o file.$ac_objext" >&5
if eval "test \"`echo '$''{'lt_cv_compiler_c_o'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
compiler_c_o=no
-if { (eval echo configure:3640: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
+if { (eval echo configure:3679: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
if test -s out/conftest.err; then
if test x"$compiler_c_o" = x"yes"; then
# Check to see if we can write to a .lo
echo $ac_n "checking if $compiler supports -c -o file.lo""... $ac_c" 1>&6
-echo "configure:3669: checking if $compiler supports -c -o file.lo" >&5
+echo "configure:3708: checking if $compiler supports -c -o file.lo" >&5
if eval "test \"`echo '$''{'lt_cv_compiler_o_lo'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
lt_cv_compiler_o_lo=no
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -c -o conftest.lo"
+ save_objext="$ac_objext"
+ ac_objext=lo
cat > conftest.$ac_ext <<EOF
-#line 3678 "configure"
+#line 3719 "configure"
#include "confdefs.h"
int main() {
int some_variable = 0;
; return 0; }
EOF
-if { (eval echo configure:3685: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3726: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
cat conftest.$ac_ext >&5
fi
rm -f conftest*
+ ac_objext="$save_objext"
CFLAGS="$save_CFLAGS"
fi
compiler_o_lo=$lt_cv_compiler_o_lo
- echo "$ac_t""$compiler_c_lo" 1>&6
+ echo "$ac_t""$compiler_o_lo" 1>&6
else
compiler_o_lo=no
fi
if test "$compiler_c_o" = no && test "$need_locks" != no; then
# do not overwrite the value of need_locks provided by the user
echo $ac_n "checking if we can lock with hard links""... $ac_c" 1>&6
-echo "configure:3715: checking if we can lock with hard links" >&5
+echo "configure:3757: checking if we can lock with hard links" >&5
hard_links=yes
$rm conftest*
ln conftest.a conftest.b 2>/dev/null && hard_links=no
if test "$GCC" = yes; then
# Check to see if options -fno-rtti -fno-exceptions are supported by compiler
echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions""... $ac_c" 1>&6
-echo "configure:3734: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo "configure:3776: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
echo "int some_variable = 0;" > conftest.$ac_ext
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext"
compiler_rtti_exceptions=no
cat > conftest.$ac_ext <<EOF
-#line 3740 "configure"
+#line 3782 "configure"
#include "confdefs.h"
int main() {
int some_variable = 0;
; return 0; }
EOF
-if { (eval echo configure:3747: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3789: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
# See if the linker supports building shared libraries.
echo $ac_n "checking whether the linker ($LD) supports shared libraries""... $ac_c" 1>&6
-echo "configure:3774: checking whether the linker ($LD) supports shared libraries" >&5
+echo "configure:3816: checking whether the linker ($LD) supports shared libraries" >&5
allow_undefined_flag=
no_undefined_flag=
extract_expsyms_cmds=
case $host_os in
-cygwin* | mingw* | pw32* )
+cygwin* | mingw* | pw32*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
with_gnu_ld=no
fi
;;
-
+openbsd*)
+ with_gnu_ld=no
+ ;;
esac
ld_shlibs=yes
# can override, but on older systems we have to supply one (in ltdll.c)
if test "x$lt_cv_need_dllmain" = "xyes"; then
ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
- ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < [$]0 > $output_objdir/$soname-ltdll.c~
+ ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~
test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
else
ltdll_obj=
# is EXPORTS), use it as is.
# If DATA tags from a recent dlltool are present, honour them!
archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname-def;
+ cp $export_symbols $output_objdir/$soname-def;
else
- echo EXPORTS > $output_objdir/$soname-def;
- _lt_hint=1;
- cat $export_symbols | while read symbol; do
- set dummy \$symbol;
- case \$# in
- 2) echo " \$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
- *) echo " \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;;
- esac;
- _lt_hint=`expr 1 + \$_lt_hint`;
- done;
+ echo EXPORTS > $output_objdir/$soname-def;
+ _lt_hint=1;
+ cat $export_symbols | while read symbol; do
+ set dummy \$symbol;
+ case \$# in
+ 2) echo " \$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
+ *) echo " \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;;
+ esac;
+ _lt_hint=`expr 1 + \$_lt_hint`;
+ done;
fi~
'"$ltdll_cmds"'
$CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
;;
aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
# When large executables or shared objects are built, AIX ld can
# have problems creating the table of contents. If linking a library
# or program results in "error TOC overflow" add -mminimal-toc to
# CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
# enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+ hardcode_direct=yes
archive_cmds=''
hardcode_libdir_separator=':'
if test "$GCC" = yes; then
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" && \
- strings "$collect2name" | grep resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- hardcode_direct=yes
- else
- # We have old collect2
- hardcode_direct=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- hardcode_minus_L=yes
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_libdir_separator=
- fi
+ case $host_os in aix4.[012]|aix4.[012].*)
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ hardcode_direct=yes
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ esac
+
shared_flag='-shared'
else
+ # not using gcc
if test "$host_cpu" = ia64; then
- shared_flag='-G'
+ shared_flag='${wl}-G'
else
- shared_flag='${wl}-bM:SRE'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
fi
- hardcode_direct=yes
fi
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # Test if we are trying to use run time linking, or normal AIX style linking.
- # If -brtl is somewhere in LDFLAGS, we need to do run time linking.
- aix_use_runtimelinking=no
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl" ); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
# It seems that -bexpall can do strange things, so it is better to
# generate a list of symbols to export.
always_export_symbols=yes
if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
- allow_undefined_flag=' -Wl,-G'
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
else
if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
- allow_undefined_flag="-znodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag="-z nodefs"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
else
- hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
- # Warning - without using the other run time loading flags, -berok will
- # link without error, but may produce a broken library.
- allow_undefined_flag='${wl}-berok"
- # This is a bit strange, but is similar to how AIX traditionally builds
- # it's shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname'
+ hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='${wl}-berok'
+ # This is a bit strange, but is similar to how AIX traditionally builds
+ # it's shared libraries.
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname'
fi
fi
;;
;;
darwin* | rhapsody*)
- allow_undefined_flag='-undefined suppress'
+ case "$host_os" in
+ rhapsody* | darwin1.[012])
+ allow_undefined_flag='-undefined suppress'
+ ;;
+ *) # Darwin 1.3 on
+ allow_undefined_flag='-flat_namespace -undefined suppress'
+ ;;
+ esac
# FIXME: Relying on posixy $() will cause problems for
# cross-compilation, but unfortunately the echo tests do not
# yet detect zsh echo's removal of \ escapes.
- archive_cmds='$CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linkopts -install_name $rpath/$soname $(test -n "$verstring" -a x$verstring != x0.0 && echo $verstring)'
+ archive_cmds='$nonopt $(test "x$module" = xyes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring'
# We need to add '_' to the symbols in $export_symbols first
#archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
hardcode_direct=yes
;;
newsos6)
- archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
openbsd*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
hardcode_shlibpath_var=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case "$host_os" in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
;;
os2*)
hardcode_shlibpath_var=no
runpath_var=LD_RUN_PATH
hardcode_runpath_var=yes
+ export_dynamic_flag_spec='${wl}-Bexport'
;;
solaris*)
+ # gcc --version < 3.0 without binutils cannot create self contained
+ # shared libraries reliably, requiring libgcc.a to resolve some of
+ # the object symbols generated in some cases. Libraries that use
+ # assert need libgcc.a to resolve __eprintf, for example. Linking
+ # a copy of libgcc.a into every shared library to guarantee resolving
+ # such symbols causes other problems: According to Tim Van Holder
+ # <tim.van.holder@pandora.be>, C++ libraries end up with a separate
+ # (to the application) exception stack for one thing.
no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ case `$CC --version 2>/dev/null` in
+ [12].*)
+ cat <<EOF 1>&2
+
+*** Warning: Releases of GCC earlier than version 3.0 cannot reliably
+*** create self contained shared libraries on Solaris systems, without
+*** introducing a dependency on libgcc.a. Therefore, libtool is disabling
+*** -no-undefined support, which will at least allow you to build shared
+*** libraries. However, you may find that when you link such libraries
+*** into an application without using GCC, you have to manually add
+*** \`gcc --print-libgcc-file-name\` to the link command. We urge you to
+*** upgrade to a newer version of GCC. Another option is to rebuild your
+*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.
+
+EOF
+ no_undefined_flag=
+ ;;
+ esac
+ fi
# $CC -shared without GNU ld will not create a library from C++
# object files and a static libstdc++, better avoid it by now
archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
sysv4)
if test "x$host_vendor" = xsno; then
- archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linkopts'
+ archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes # is this really true???
else
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
# Check hardcoding attributes.
echo $ac_n "checking how to hardcode library paths into programs""... $ac_c" 1>&6
-echo "configure:4390: checking how to hardcode library paths into programs" >&5
+echo "configure:4500: checking how to hardcode library paths into programs" >&5
hardcode_action=
if test -n "$hardcode_libdir_flag_spec" || \
test -n "$runpath_var"; then
striplib=
old_striplib=
echo $ac_n "checking whether stripping libraries is possible""... $ac_c" 1>&6
-echo "configure:4418: checking whether stripping libraries is possible" >&5
+echo "configure:4528: checking whether stripping libraries is possible" >&5
if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
# PORTME Fill in your ld.so characteristics
echo $ac_n "checking dynamic linker characteristics""... $ac_c" 1>&6
-echo "configure:4432: checking dynamic linker characteristics" >&5
+echo "configure:4542: checking dynamic linker characteristics" >&5
library_names_spec=
libname_spec='lib$name'
soname_spec=
# depend on `.', always an invalid library. This was fixed in
# development snapshots of GCC prior to 3.0.
case $host_os in
- aix4 | aix4.[01] | aix4.[01].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
+ # AIX (on Power*) has no versioning support, so currently we can
+ # not hardcode correct soname into executable. Probably we can
+ # add versioning support to collect2, so additional links can
+ # be useful in future.
if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib<name>.so instead of
- # lib<name>.a to let people know that these are not typical AIX shared libraries.
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
else
# We preserve .a as extension for shared libraries through AIX4.2
soname_spec='${libname}${release}.so$major'
fi
shlibpath_var=LIBPATH
- deplibs_check_method=pass_all
fi
;;
openbsd*)
version_type=sunos
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- need_version=no
+ need_lib_prefix=no
+ need_version=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case "$host_os" in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
fi
library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
# Report the final consequences.
echo $ac_n "checking if libtool supports shared libraries""... $ac_c" 1>&6
-echo "configure:4818: checking if libtool supports shared libraries" >&5
+echo "configure:4939: checking if libtool supports shared libraries" >&5
echo "$ac_t""$can_build_shared" 1>&6
+echo $ac_n "checking whether to build shared libraries""... $ac_c" 1>&6
+echo "configure:4943: checking whether to build shared libraries" >&5
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case "$host_os" in
+aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+aix4*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+esac
+echo "$ac_t""$enable_shared" 1>&6
+
+echo $ac_n "checking whether to build static libraries""... $ac_c" 1>&6
+echo "configure:4966: checking whether to build static libraries" >&5
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+echo "$ac_t""$enable_static" 1>&6
+
if test "$hardcode_action" = relink; then
# Fast installation is not supported
enable_fast_install=no
;;
*)
- echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:4857: checking for dlopen in -ldl" >&5
-ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for shl_load""... $ac_c" 1>&6
+echo "configure:5007: checking for shl_load" >&5
+if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 5012 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char shl_load(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char shl_load();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_shl_load) || defined (__stub___shl_load)
+choke me
+#else
+shl_load();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:5035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_shl_load=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_shl_load=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ lt_cv_dlopen="shl_load"
+else
+ echo "$ac_t""no" 1>&6
+echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
+echo "configure:5053: checking for shl_load in -ldld" >&5
+ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
-LIBS="-ldl $LIBS"
+LIBS="-ldld $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4865 "configure"
+#line 5061 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
-char dlopen();
+char shl_load();
int main() {
-dlopen()
+shl_load()
; return 0; }
EOF
-if { (eval echo configure:4876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for dlopen""... $ac_c" 1>&6
-echo "configure:4895: checking for dlopen" >&5
+echo "configure:5091: checking for dlopen" >&5
if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 4900 "configure"
+#line 5096 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char dlopen(); below. */
; return 0; }
EOF
-if { (eval echo configure:4923: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5119: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_dlopen=yes"
else
lt_cv_dlopen="dlopen"
else
echo "$ac_t""no" 1>&6
-echo $ac_n "checking for shl_load""... $ac_c" 1>&6
-echo "configure:4941: checking for shl_load" >&5
-if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
+echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
+echo "configure:5137: checking for dlopen in -ldl" >&5
+ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
- cat > conftest.$ac_ext <<EOF
-#line 4946 "configure"
+ ac_save_LIBS="$LIBS"
+LIBS="-ldl $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 5145 "configure"
#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char shl_load(); below. */
-#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
-char shl_load();
+char dlopen();
int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_shl_load) || defined (__stub___shl_load)
-choke me
-#else
-shl_load();
-#endif
-
+dlopen()
; return 0; }
EOF
-if { (eval echo configure:4969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5156: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
- eval "ac_cv_func_shl_load=yes"
+ eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "ac_cv_func_shl_load=no"
+ eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
-fi
+LIBS="$ac_save_LIBS"
-if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
- lt_cv_dlopen="shl_load"
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for dlopen in -lsvld""... $ac_c" 1>&6
-echo "configure:4987: checking for dlopen in -lsvld" >&5
+echo "configure:5175: checking for dlopen in -lsvld" >&5
ac_lib_var=`echo svld'_'dlopen | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lsvld $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 4995 "configure"
+#line 5183 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dlopen()
; return 0; }
EOF
-if { (eval echo configure:5006: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
else
echo "$ac_t""no" 1>&6
-echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "configure:5025: checking for shl_load in -ldld" >&5
-ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
+echo "configure:5213: checking for dld_link in -ldld" >&5
+ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-ldld $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5033 "configure"
+#line 5221 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
-char shl_load();
+char dld_link();
int main() {
-shl_load()
+dld_link()
; return 0; }
EOF
-if { (eval echo configure:5044: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5232: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "$ac_t""no" 1>&6
fi
+
+fi
+
fi
-
+
fi
-
+
fi
LIBS="$lt_cv_dlopen_libs $LIBS"
echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
-echo "configure:5097: checking whether a program can dlopen itself" >&5
+echo "configure:5288: checking whether a program can dlopen itself" >&5
if eval "test \"`echo '$''{'lt_cv_dlopen_self'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 5107 "configure"
+#line 5298 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
exit (status);
}
EOF
- if { (eval echo configure:5168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ if { (eval echo configure:5359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) 2>/dev/null
lt_status=$?
case x$lt_status in
if test "x$lt_cv_dlopen_self" = xyes; then
LDFLAGS="$LDFLAGS $link_static_flag"
echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
-echo "configure:5191: checking whether a statically linked program can dlopen itself" >&5
+echo "configure:5382: checking whether a statically linked program can dlopen itself" >&5
if eval "test \"`echo '$''{'lt_cv_dlopen_self_static'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
-#line 5201 "configure"
+#line 5392 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
exit (status);
}
EOF
- if { (eval echo configure:5262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ if { (eval echo configure:5453: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) 2>/dev/null
lt_status=$?
case x$lt_status in
# systems, -lgcc has to come before -lc. If gcc already passes -lc
# to ld, don't add -lc before -lgcc.
echo $ac_n "checking whether -lc should be explicitly linked in""... $ac_c" 1>&6
-echo "configure:5311: checking whether -lc should be explicitly linked in" >&5
+echo "configure:5502: checking whether -lc should be explicitly linked in" >&5
if eval "test \"`echo '$''{'lt_cv_archive_cmds_need_lc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
$rm conftest*
echo 'static int dummy;' > conftest.$ac_ext
- if { (eval echo configure:5318: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ if { (eval echo configure:5509: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
soname=conftest
lib=conftest
libobjs=conftest.$ac_objext
libname=conftest
save_allow_undefined_flag=$allow_undefined_flag
allow_undefined_flag=
- if { (eval echo configure:5331: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\") 1>&5; (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5; }
+ if { (eval echo configure:5522: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\") 1>&5; (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5; }
then
lt_cv_archive_cmds_need_lc=no
else
old_striplib striplib file_magic_cmd export_symbols_cmds \
deplibs_check_method allow_undefined_flag no_undefined_flag \
finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
+ global_symbol_to_c_name_address \
hardcode_libdir_flag_spec hardcode_libdir_separator \
sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
# Whether or not to build shared libraries.
build_libtool_libs=$enable_shared
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$need_lc
-
# Whether or not to build static libraries.
build_old_libs=$enable_static
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$need_lc
+
# Whether or not to optimize for fast installation.
fast_install=$enable_fast_install
# Transform the output of nm in a proper C declaration
global_symbol_to_cdecl=$lt_global_symbol_to_cdecl
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address
+
# This is the shared library runtime path variable.
runpath_var=$runpath_var
# return TRUE;
# }
# /* ltdll.c ends here */
- # This is a source program that is used to create import libraries
- # on Windows for dlls which lack them. Don't remove nor modify the
- # starting and closing comments
+ # This is a source program that is used to create import libraries
+ # on Windows for dlls which lack them. Don't remove nor modify the
+ # starting and closing comments
# /* impgen.c starts here */
# /* Copyright (C) 1999-2000 Free Software Foundation, Inc.
#
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:5918: checking for ANSI C header files" >&5
+echo "configure:6113: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 5923 "configure"
+#line 6118 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5931: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 5948 "configure"
+#line 6143 "configure"
#include "confdefs.h"
#include <string.h>
EOF
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 5966 "configure"
+#line 6161 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
:
else
cat > conftest.$ac_ext <<EOF
-#line 5987 "configure"
+#line 6182 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
exit (0); }
EOF
-if { (eval echo configure:5998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6193: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6025: checking for $ac_hdr" >&5
+echo "configure:6220: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6030 "configure"
+#line 6225 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6035: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6230: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
done
echo $ac_n "checking for stdbool.h""... $ac_c" 1>&6
-echo "configure:6062: checking for stdbool.h" >&5
+echo "configure:6257: checking for stdbool.h" >&5
if eval "test \"`echo '$''{'gt_cv_header_stdbool_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6068 "configure"
+#line 6263 "configure"
#include "confdefs.h"
#include <stdbool.h>
#if false
; return 0; }
EOF
-if { (eval echo configure:6085: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6280: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gt_cv_header_stdbool_h=yes
else
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:6111: checking for working const" >&5
+echo "configure:6306: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6116 "configure"
+#line 6311 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:6165: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6360: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
fi
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:6186: checking for inline" >&5
+echo "configure:6381: checking for inline" >&5
if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 6193 "configure"
+#line 6388 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:6200: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6395: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
echo $ac_n "checking for signed""... $ac_c" 1>&6
-echo "configure:6227: checking for signed" >&5
+echo "configure:6422: checking for signed" >&5
if eval "test \"`echo '$''{'bh_cv_c_signed'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6232 "configure"
+#line 6427 "configure"
#include "confdefs.h"
int main() {
signed char x;
; return 0; }
EOF
-if { (eval echo configure:6239: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6434: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
bh_cv_c_signed=yes
else
echo $ac_n "checking whether backslash-a works in strings""... $ac_c" 1>&6
-echo "configure:6261: checking whether backslash-a works in strings" >&5
+echo "configure:6456: checking whether backslash-a works in strings" >&5
if eval "test \"`echo '$''{'ac_cv_c_backslash_a'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6266 "configure"
+#line 6461 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:6280: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6475: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_backslash_a=yes
else
echo $ac_n "checking for unsigned long long""... $ac_c" 1>&6
-echo "configure:6302: checking for unsigned long long" >&5
+echo "configure:6497: checking for unsigned long long" >&5
if eval "test \"`echo '$''{'ac_cv_type_unsigned_long_long'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6307 "configure"
+#line 6502 "configure"
#include "confdefs.h"
unsigned long long ull = 1; int i = 63;
int main() {
return ull << i | ull >> i | ullmax / ull | ullmax % ull;
; return 0; }
EOF
-if { (eval echo configure:6315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6510: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_type_unsigned_long_long=yes
else
fi
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:6336: checking for off_t" >&5
+echo "configure:6531: checking for off_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6341 "configure"
+#line 6536 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:6369: checking for size_t" >&5
+echo "configure:6564: checking for size_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6374 "configure"
+#line 6569 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for ptrdiff_t""... $ac_c" 1>&6
-echo "configure:6402: checking for ptrdiff_t" >&5
+echo "configure:6597: checking for ptrdiff_t" >&5
if eval "test \"`echo '$''{'am_cv_type_ptrdiff_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6407 "configure"
+#line 6602 "configure"
#include "confdefs.h"
#include <stddef.h>
int main() {
ptrdiff_t p
; return 0; }
EOF
-if { (eval echo configure:6414: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6609: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
am_cv_type_ptrdiff_t=yes
else
echo $ac_n "checking for inttypes.h""... $ac_c" 1>&6
-echo "configure:6436: checking for inttypes.h" >&5
+echo "configure:6631: checking for inttypes.h" >&5
if eval "test \"`echo '$''{'jm_ac_cv_header_inttypes_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6441 "configure"
+#line 6636 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <inttypes.h>
uintmax_t i = (uintmax_t) -1;
; return 0; }
EOF
-if { (eval echo configure:6449: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6644: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
jm_ac_cv_header_inttypes_h=yes
else
echo $ac_n "checking for stdint.h""... $ac_c" 1>&6
-echo "configure:6471: checking for stdint.h" >&5
+echo "configure:6666: checking for stdint.h" >&5
if eval "test \"`echo '$''{'jm_ac_cv_header_stdint_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6476 "configure"
+#line 6671 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <stdint.h>
uintmax_t i = (uintmax_t) -1;
; return 0; }
EOF
-if { (eval echo configure:6484: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6679: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
jm_ac_cv_header_stdint_h=yes
else
echo $ac_n "checking for ssize_t""... $ac_c" 1>&6
-echo "configure:6520: checking for ssize_t" >&5
+echo "configure:6715: checking for ssize_t" >&5
if eval "test \"`echo '$''{'gt_cv_ssize_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6525 "configure"
+#line 6720 "configure"
#include "confdefs.h"
#include <sys/types.h>
int x = sizeof (ssize_t *) + sizeof (ssize_t);
; return 0; }
EOF
-if { (eval echo configure:6536: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6731: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gt_cv_ssize_t=yes
else
fi
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:6557: checking for pid_t" >&5
+echo "configure:6752: checking for pid_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6562 "configure"
+#line 6757 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:6593: checking for working alloca.h" >&5
+echo "configure:6788: checking for working alloca.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6598 "configure"
+#line 6793 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:6605: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:6626: checking for alloca" >&5
+echo "configure:6821: checking for alloca" >&5
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6631 "configure"
+#line 6826 "configure"
#include "confdefs.h"
#ifdef __GNUC__
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:6659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6854: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_func_alloca_works=yes
else
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:6691: checking whether alloca needs Cray hooks" >&5
+echo "configure:6886: checking whether alloca needs Cray hooks" >&5
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6696 "configure"
+#line 6891 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
if test $ac_cv_os_cray = yes; then
for ac_func in _getb67 GETB67 getb67; do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6721: checking for $ac_func" >&5
+echo "configure:6916: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6726 "configure"
+#line 6921 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:6749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:6776: checking stack direction for C alloca" >&5
+echo "configure:6971: checking stack direction for C alloca" >&5
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
-#line 6784 "configure"
+#line 6979 "configure"
#include "confdefs.h"
find_stack_direction ()
{
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:6803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_c_stack_direction=1
else
fi
echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:6825: checking for vprintf" >&5
+echo "configure:7020: checking for vprintf" >&5
if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6830 "configure"
+#line 7025 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vprintf(); below. */
; return 0; }
EOF
-if { (eval echo configure:6853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7048: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_vprintf=yes"
else
if test "$ac_cv_func_vprintf" != yes; then
echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:6877: checking for _doprnt" >&5
+echo "configure:7072: checking for _doprnt" >&5
if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6882 "configure"
+#line 7077 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char _doprnt(); below. */
; return 0; }
EOF
-if { (eval echo configure:6905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func__doprnt=yes"
else
strerror strtoul uname utime utimes
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6933: checking for $ac_func" >&5
+echo "configure:7128: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6938 "configure"
+#line 7133 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:6961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7156: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
fi
done
-for ac_func in memset stpcpy stpncpy strcspn \
+for ac_func in memset stpcpy strcspn \
strcasecmp strncasecmp strpbrk strstr vasprintf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6989: checking for $ac_func" >&5
+echo "configure:7184: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 6994 "configure"
+#line 7189 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:7017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7212: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
am_getline_needs_run_time_check=no
echo $ac_n "checking for getline""... $ac_c" 1>&6
-echo "configure:7045: checking for getline" >&5
+echo "configure:7240: checking for getline" >&5
if eval "test \"`echo '$''{'ac_cv_func_getline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7050 "configure"
+#line 7245 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char getline(); below. */
; return 0; }
EOF
-if { (eval echo configure:7073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7268: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_getline=yes"
else
if test $am_getline_needs_run_time_check = yes; then
echo $ac_n "checking for working getline function""... $ac_c" 1>&6
-echo "configure:7095: checking for working getline function" >&5
+echo "configure:7290: checking for working getline function" >&5
if eval "test \"`echo '$''{'am_cv_func_working_getline'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
am_cv_func_working_getline=no
else
cat > conftest.$ac_ext <<EOF
-#line 7104 "configure"
+#line 7299 "configure"
#include "confdefs.h"
# include <stdio.h>
}
EOF
-if { (eval echo configure:7123: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
am_cv_func_working_getline=yes
else
for ac_func in getdelim
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7153: checking for $ac_func" >&5
+echo "configure:7348: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7158 "configure"
+#line 7353 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:7181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
fi
echo $ac_n "checking for working fnmatch function""... $ac_c" 1>&6
-echo "configure:7208: checking for working fnmatch function" >&5
+echo "configure:7403: checking for working fnmatch function" >&5
if eval "test \"`echo '$''{'gt_cv_func_fnmatch_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
gt_cv_func_fnmatch_works=no
else
cat > conftest.$ac_ext <<EOF
-#line 7217 "configure"
+#line 7412 "configure"
#include "confdefs.h"
# include <stdlib.h>
}
EOF
-if { (eval echo configure:7229: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
gt_cv_func_fnmatch_works=yes
else
if test $gt_cv_func_fnmatch_works = yes; then
rm -f lib/fnmatch.h
else
+ test -d lib || mkdir lib
echo '#include "pfnmatch.h"' > lib/fnmatch.h
cat >> confdefs.h <<\EOF
#define fnmatch posix_fnmatch
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7270: checking for $ac_hdr" >&5
+echo "configure:7466: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7275 "configure"
+#line 7471 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7280: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7476: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for ac_func in isascii iswcntrl iswprint mbsinit wcwidth
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7309: checking for $ac_func" >&5
+echo "configure:7505: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7314 "configure"
+#line 7510 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:7337: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7533: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
echo $ac_n "checking whether mbrtowc and mbstate_t are properly declared""... $ac_c" 1>&6
-echo "configure:7363: checking whether mbrtowc and mbstate_t are properly declared" >&5
+echo "configure:7559: checking whether mbrtowc and mbstate_t are properly declared" >&5
if eval "test \"`echo '$''{'jm_cv_func_mbrtowc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7368 "configure"
+#line 7564 "configure"
#include "confdefs.h"
#include <wchar.h>
int main() {
mbstate_t state; return ! (sizeof state && mbrtowc);
; return 0; }
EOF
-if { (eval echo configure:7375: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
jm_cv_func_mbrtowc=yes
else
echo $ac_n "checking whether wcwidth is declared""... $ac_c" 1>&6
-echo "configure:7397: checking whether wcwidth is declared" >&5
+echo "configure:7593: checking whether wcwidth is declared" >&5
if eval "test \"`echo '$''{'ac_cv_have_decl_wcwidth'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7402 "configure"
+#line 7598 "configure"
#include "confdefs.h"
/* AIX 3.2.5 declares wcwidth in <string.h>. */
; return 0; }
EOF
-if { (eval echo configure:7421: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7617: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_have_decl_wcwidth=yes
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7449: checking for $ac_hdr" >&5
+echo "configure:7645: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7454 "configure"
+#line 7650 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7459: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7655: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6
-echo "configure:7487: checking for mbstate_t" >&5
+echo "configure:7683: checking for mbstate_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_mbstate_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7492 "configure"
+#line 7688 "configure"
#include "confdefs.h"
#if HAVE_STDLIB_H
mbstate_t x; return sizeof x;
; return 0; }
EOF
-if { (eval echo configure:7503: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7699: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_mbstate_t=yes
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:7528: checking for $ac_hdr that defines DIR" >&5
+echo "configure:7724: checking for $ac_hdr that defines DIR" >&5
if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7533 "configure"
+#line 7729 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_hdr>
DIR *dirp = 0;
; return 0; }
EOF
-if { (eval echo configure:7541: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7737: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
eval "ac_cv_header_dirent_$ac_safe=yes"
else
# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
if test $ac_header_dirent = dirent.h; then
echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:7566: checking for opendir in -ldir" >&5
+echo "configure:7762: checking for opendir in -ldir" >&5
ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-ldir $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7574 "configure"
+#line 7770 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
opendir()
; return 0; }
EOF
-if { (eval echo configure:7585: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:7607: checking for opendir in -lx" >&5
+echo "configure:7803: checking for opendir in -lx" >&5
ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
ac_save_LIBS="$LIBS"
LIBS="-lx $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 7615 "configure"
+#line 7811 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
opendir()
; return 0; }
EOF
-if { (eval echo configure:7626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7822: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking whether closedir returns void""... $ac_c" 1>&6
-echo "configure:7651: checking whether closedir returns void" >&5
+echo "configure:7847: checking whether closedir returns void" >&5
if eval "test \"`echo '$''{'ac_cv_func_closedir_void'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_func_closedir_void=yes
else
cat > conftest.$ac_ext <<EOF
-#line 7659 "configure"
+#line 7855 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_header_dirent>
int closedir(); main() { exit(closedir(opendir(".")) != 0); }
EOF
-if { (eval echo configure:7665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_closedir_void=no
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7691: checking for $ac_hdr" >&5
+echo "configure:7887: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7696 "configure"
+#line 7892 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7701: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7897: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
done
echo $ac_n "checking for long file names""... $ac_c" 1>&6
-echo "configure:7728: checking for long file names" >&5
+echo "configure:7924: checking for long file names" >&5
if eval "test \"`echo '$''{'ac_cv_sys_long_file_names'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
for ac_func in pathconf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7774: checking for $ac_func" >&5
+echo "configure:7970: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7779 "configure"
+#line 7975 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:7802: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7830: checking for $ac_hdr" >&5
+echo "configure:8026: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7835 "configure"
+#line 8031 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7840: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8036: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:7869: checking for vfork.h" >&5
+echo "configure:8065: checking for vfork.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7874 "configure"
+#line 8070 "configure"
#include "confdefs.h"
#include <vfork.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7879: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8075: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
fi
echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:7904: checking for working vfork" >&5
+echo "configure:8100: checking for working vfork" >&5
if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
echo $ac_n "checking for vfork""... $ac_c" 1>&6
-echo "configure:7910: checking for vfork" >&5
+echo "configure:8106: checking for vfork" >&5
if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 7915 "configure"
+#line 8111 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char vfork(); below. */
; return 0; }
EOF
-if { (eval echo configure:7938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_vfork=yes"
else
ac_cv_func_vfork_works=$ac_cv_func_vfork
else
cat > conftest.$ac_ext <<EOF
-#line 7960 "configure"
+#line 8156 "configure"
#include "confdefs.h"
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
}
}
EOF
-if { (eval echo configure:8055: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8251: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_vfork_works=yes
else
for ac_func in waitpid
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8081: checking for $ac_func" >&5
+echo "configure:8277: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8086 "configure"
+#line 8282 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:8109: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
done
echo $ac_n "checking for union wait""... $ac_c" 1>&6
-echo "configure:8134: checking for union wait" >&5
+echo "configure:8330: checking for union wait" >&5
if eval "test \"`echo '$''{'gt_cv_union_wait'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8139 "configure"
+#line 8335 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
; return 0; }
EOF
-if { (eval echo configure:8162: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
gt_cv_union_wait=yes
else
echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6
-echo "configure:8184: checking whether stat file-mode macros are broken" >&5
+echo "configure:8380: checking whether stat file-mode macros are broken" >&5
if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8189 "configure"
+#line 8385 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>
for ac_func in __secure_getenv
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8242: checking for $ac_func" >&5
+echo "configure:8438: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8247 "configure"
+#line 8443 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:8270: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8466: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
for ac_func in mkdtemp
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8299: checking for $ac_func" >&5
+echo "configure:8495: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8304 "configure"
+#line 8500 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:8327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6
-echo "configure:8354: checking whether stat file-mode macros are broken" >&5
+echo "configure:8550: checking whether stat file-mode macros are broken" >&5
if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8359 "configure"
+#line 8555 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>
echo $ac_n "checking for inttypes.h""... $ac_c" 1>&6
-echo "configure:8411: checking for inttypes.h" >&5
+echo "configure:8607: checking for inttypes.h" >&5
if eval "test \"`echo '$''{'jm_ac_cv_header_inttypes_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8416 "configure"
+#line 8612 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <inttypes.h>
uintmax_t i = (uintmax_t) -1;
; return 0; }
EOF
-if { (eval echo configure:8424: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8620: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
jm_ac_cv_header_inttypes_h=yes
else
echo $ac_n "checking for stdint.h""... $ac_c" 1>&6
-echo "configure:8446: checking for stdint.h" >&5
+echo "configure:8642: checking for stdint.h" >&5
if eval "test \"`echo '$''{'jm_ac_cv_header_stdint_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8451 "configure"
+#line 8647 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <stdint.h>
uintmax_t i = (uintmax_t) -1;
; return 0; }
EOF
-if { (eval echo configure:8459: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8655: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
jm_ac_cv_header_stdint_h=yes
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8483: checking for $ac_hdr" >&5
+echo "configure:8679: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8488 "configure"
+#line 8684 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8493: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8689: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for ac_func in gettimeofday
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8522: checking for $ac_func" >&5
+echo "configure:8718: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8527 "configure"
+#line 8723 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:8550: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8746: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
signals_not_posix=
cat > conftest.$ac_ext <<EOF
-#line 8578 "configure"
+#line 8774 "configure"
#include "confdefs.h"
#include <signal.h>
EOF
if test -z "$signals_not_posix"; then
echo $ac_n "checking for sigprocmask""... $ac_c" 1>&6
-echo "configure:8593: checking for sigprocmask" >&5
+echo "configure:8789: checking for sigprocmask" >&5
if eval "test \"`echo '$''{'ac_cv_func_sigprocmask'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8598 "configure"
+#line 8794 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char sigprocmask(); below. */
; return 0; }
EOF
-if { (eval echo configure:8621: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8817: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_sigprocmask=yes"
else
echo $ac_n "checking for signal handlers with siginfo_t""... $ac_c" 1>&6
-echo "configure:8647: checking for signal handlers with siginfo_t" >&5
+echo "configure:8843: checking for signal handlers with siginfo_t" >&5
if eval "test \"`echo '$''{'gt_cv_siginfo_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8652 "configure"
+#line 8848 "configure"
#include "confdefs.h"
#include <signal.h>
; return 0; }
EOF
-if { (eval echo configure:8665: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8861: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gt_cv_siginfo_t=yes
else
fi
- for ac_func in setenv
+ for ac_func in setenv unsetenv
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8689: checking for $ac_func" >&5
+echo "configure:8885: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8694 "configure"
+#line 8890 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:8717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8913: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8747: checking for $ac_hdr" >&5
+echo "configure:8943: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8752 "configure"
+#line 8948 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8757: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8953: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for ac_func in tsearch
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8786: checking for $ac_func" >&5
+echo "configure:8982: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8791 "configure"
+#line 8987 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:8814: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9010: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
echo $ac_n "checking if errno is properly declared""... $ac_c" 1>&6
-echo "configure:8841: checking if errno is properly declared" >&5
+echo "configure:9037: checking if errno is properly declared" >&5
if eval "test \"`echo '$''{'gt_cv_var_errno_declaration'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8847 "configure"
+#line 9043 "configure"
#include "confdefs.h"
#include <errno.h>
extern struct { int foo; } errno;
errno.foo = 1;
; return 0; }
EOF
-if { (eval echo configure:8855: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9051: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gt_cv_var_errno_declaration=no
else
echo $ac_n "checking if environ is properly declared""... $ac_c" 1>&6
-echo "configure:8878: checking if environ is properly declared" >&5
+echo "configure:9074: checking if environ is properly declared" >&5
if eval "test \"`echo '$''{'gt_cv_var_environ_declaration'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8884 "configure"
+#line 9080 "configure"
#include "confdefs.h"
#include <unistd.h>
extern struct { int foo; } environ;
environ.foo = 1;
; return 0; }
EOF
-if { (eval echo configure:8892: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9088: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gt_cv_var_environ_declaration=no
else
echo $ac_n "checking for error_at_line""... $ac_c" 1>&6
-echo "configure:8915: checking for error_at_line" >&5
+echo "configure:9111: checking for error_at_line" >&5
if eval "test \"`echo '$''{'am_cv_lib_error_at_line'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8920 "configure"
+#line 9116 "configure"
#include "confdefs.h"
int main() {
error_at_line(0, 0, "", 0, "");
; return 0; }
EOF
-if { (eval echo configure:8927: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9123: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_lib_error_at_line=yes
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8952: checking for $ac_hdr" >&5
+echo "configure:9148: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8957 "configure"
+#line 9153 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8962: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9158: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
done
echo $ac_n "checking for setlocale declaration""... $ac_c" 1>&6
-echo "configure:8989: checking for setlocale declaration" >&5
+echo "configure:9185: checking for setlocale declaration" >&5
if eval "test \"`echo '$''{'gt_cv_proto_setlocale'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 8995 "configure"
+#line 9191 "configure"
#include "confdefs.h"
#include <stdlib.h>
; return 0; }
EOF
-if { (eval echo configure:9014: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9210: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gt_cv_proto_setlocale_arg1=""
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:9041: checking for $ac_hdr" >&5
+echo "configure:9237: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9046 "configure"
+#line 9242 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9051: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9247: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for ac_func in gethostname gethostbyname inet_ntop
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9080: checking for $ac_func" >&5
+echo "configure:9276: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9085 "configure"
+#line 9281 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:9108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9304: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
echo $ac_n "checking for IPv6 sockets""... $ac_c" 1>&6
-echo "configure:9134: checking for IPv6 sockets" >&5
+echo "configure:9330: checking for IPv6 sockets" >&5
if eval "test \"`echo '$''{'gt_cv_socket_ipv6'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9140 "configure"
+#line 9336 "configure"
#include "confdefs.h"
#include <sys/types.h>
int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z;
; return 0; }
EOF
-if { (eval echo configure:9150: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9346: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
gt_cv_socket_ipv6=yes
else
echo $ac_n "checking for shared library run path origin""... $ac_c" 1>&6
-echo "configure:9190: checking for shared library run path origin" >&5
+echo "configure:9386: checking for shared library run path origin" >&5
if eval "test \"`echo '$''{'acl_cv_rpath'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:9227: checking for $ac_word" >&5
+echo "configure:9423: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:9258: checking for $ac_hdr" >&5
+echo "configure:9454: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9263 "configure"
+#line 9459 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9268: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9464: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
for ac_func in getpagesize
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9297: checking for $ac_func" >&5
+echo "configure:9493: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9302 "configure"
+#line 9498 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:9325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
done
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:9350: checking for working mmap" >&5
+echo "configure:9546: checking for working mmap" >&5
if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_cv_func_mmap_fixed_mapped=no
else
cat > conftest.$ac_ext <<EOF
-#line 9358 "configure"
+#line 9554 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test.
}
EOF
-if { (eval echo configure:9498: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9694: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_mmap_fixed_mapped=yes
else
echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6
-echo "configure:9522: checking whether we are using the GNU C Library 2.1 or newer" >&5
+echo "configure:9718: checking whether we are using the GNU C Library 2.1 or newer" >&5
if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 9527 "configure"
+#line 9723 "configure"
#include "confdefs.h"
#include <features.h>
echo $ac_n "checking for iconv""... $ac_c" 1>&6
-echo "configure:9942: checking for iconv" >&5
+echo "configure:10138: checking for iconv" >&5
if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
am_cv_func_iconv="no, consider installing GNU libiconv"
am_cv_lib_iconv=no
cat > conftest.$ac_ext <<EOF
-#line 9950 "configure"
+#line 10146 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <iconv.h>
iconv_close(cd);
; return 0; }
EOF
-if { (eval echo configure:9960: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10156: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_func_iconv=yes
else
am_save_LIBS="$LIBS"
LIBS="$LIBS $LIBICONV"
cat > conftest.$ac_ext <<EOF
-#line 9972 "configure"
+#line 10168 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <iconv.h>
iconv_close(cd);
; return 0; }
EOF
-if { (eval echo configure:9982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10178: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_lib_iconv=yes
am_cv_func_iconv=yes
fi
if test "$am_cv_lib_iconv" = yes; then
echo $ac_n "checking how to link with libiconv""... $ac_c" 1>&6
-echo "configure:10005: checking how to link with libiconv" >&5
+echo "configure:10201: checking how to link with libiconv" >&5
echo "$ac_t""$LIBICONV" 1>&6
else
CPPFLAGS="$am_save_CPPFLAGS"
# Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:10021: checking for $ac_word" >&5
+echo "configure:10217: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:10056: checking for $ac_word" >&5
+echo "configure:10252: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:10093: checking for $ac_word" >&5
+echo "configure:10289: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "msgmerge", so it can be a program name with args.
set dummy msgmerge; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:10130: checking for $ac_word" >&5
+echo "configure:10326: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGMERGE'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10193: checking for $ac_hdr" >&5
+echo "configure:10389: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10198 "configure"
+#line 10394 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10203: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10399: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10234: checking for $ac_func" >&5
+echo "configure:10430: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10239 "configure"
+#line 10435 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:10262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
if test "$am_cv_func_iconv" = yes; then
echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6
-echo "configure:10291: checking for iconv declaration" >&5
+echo "configure:10487: checking for iconv declaration" >&5
if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10297 "configure"
+#line 10493 "configure"
#include "confdefs.h"
#include <stdlib.h>
; return 0; }
EOF
-if { (eval echo configure:10316: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10512: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
am_cv_proto_iconv_arg1=""
else
echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6
-echo "configure:10340: checking for nl_langinfo and CODESET" >&5
+echo "configure:10536: checking for nl_langinfo and CODESET" >&5
if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10345 "configure"
+#line 10541 "configure"
#include "confdefs.h"
#include <langinfo.h>
int main() {
char* cs = nl_langinfo(CODESET);
; return 0; }
EOF
-if { (eval echo configure:10352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10548: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_langinfo_codeset=yes
else
if test $ac_cv_header_locale_h = yes; then
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:10375: checking for LC_MESSAGES" >&5
+echo "configure:10571: checking for LC_MESSAGES" >&5
if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10380 "configure"
+#line 10576 "configure"
#include "confdefs.h"
#include <locale.h>
int main() {
return LC_MESSAGES
; return 0; }
EOF
-if { (eval echo configure:10387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
am_cv_val_LC_MESSAGES=yes
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:10413: checking for $ac_word" >&5
+echo "configure:10609: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_verc_fail=yes
else
echo $ac_n "checking version of bison""... $ac_c" 1>&6
-echo "configure:10446: checking version of bison" >&5
+echo "configure:10642: checking version of bison" >&5
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:10473: checking whether NLS is requested" >&5
+echo "configure:10669: checking whether NLS is requested" >&5
# Check whether --enable-nls or --disable-nls was given.
if test "${enable_nls+set}" = set; then
enableval="$enable_nls"
gt_use_preinstalled_gnugettext=no
echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:10497: checking whether included gettext is requested" >&5
+echo "configure:10693: checking whether included gettext is requested" >&5
# Check whether --with-included-gettext or --without-included-gettext was given.
if test "${with_included_gettext+set}" = set; then
withval="$with_included_gettext"
echo $ac_n "checking for GNU gettext in libc""... $ac_c" 1>&6
-echo "configure:10517: checking for GNU gettext in libc" >&5
+echo "configure:10713: checking for GNU gettext in libc" >&5
if eval "test \"`echo '$''{'gt_cv_func_gnugettext2_libc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 10522 "configure"
+#line 10718 "configure"
#include "confdefs.h"
#include <libintl.h>
extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
int main() {
bindtextdomain ("", "");
-return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr
+return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_domain_bindings
; return 0; }
EOF
-if { (eval echo configure:10531: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
gt_cv_func_gnugettext2_libc=yes
else
fi
echo $ac_n "checking for GNU gettext in libintl""... $ac_c" 1>&6
-echo "configure:10901: checking for GNU gettext in libintl" >&5
+echo "configure:11098: checking for GNU gettext in libintl" >&5
if eval "test \"`echo '$''{'gt_cv_func_gnugettext2_libintl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
gt_save_LIBS="$LIBS"
LIBS="$LIBS $LIBINTL"
cat > conftest.$ac_ext <<EOF
-#line 10910 "configure"
+#line 11107 "configure"
#include "confdefs.h"
#include <libintl.h>
extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias ();
int main() {
bindtextdomain ("", "");
-return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr
+return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_domain_bindings + *_nl_expand_alias (0)
; return 0; }
EOF
-if { (eval echo configure:10919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11122: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
gt_cv_func_gnugettext2_libintl=yes
else
if test "$gt_cv_func_gnugettext2_libintl" != yes && test -n "$LIBICONV"; then
LIBS="$LIBS $LIBICONV"
cat > conftest.$ac_ext <<EOF
-#line 10932 "configure"
+#line 11135 "configure"
#include "confdefs.h"
#include <libintl.h>
extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias ();
int main() {
bindtextdomain ("", "");
-return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr
+return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_domain_bindings + *_nl_expand_alias (0)
; return 0; }
EOF
-if { (eval echo configure:10941: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11150: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
LIBINTL="$LIBINTL $LIBICONV"
LTLIBINTL="$LTLIBINTL $LTLIBICONV"
|| { test "$gt_cv_func_gnugettext2_libintl" = "yes" \
&& test "$PACKAGE" != gettext; }; then
gt_use_preinstalled_gnugettext=yes
+ else
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
fi
if test "$gt_use_preinstalled_gnugettext" = "yes"; then
if test "$gt_cv_func_gnugettext2_libintl" = "yes"; then
echo $ac_n "checking how to link with libintl""... $ac_c" 1>&6
-echo "configure:11003: checking how to link with libintl" >&5
+echo "configure:11216: checking how to link with libintl" >&5
echo "$ac_t""$LIBINTL" 1>&6
for element in $INCINTL; do
+case "$host_os" in
+ linux*)
+ cat >> confdefs.h <<\EOF
+#define DYNLOAD_LIBEXPAT 1
+EOF
+
+ LIBEXPAT="-ldl"
+ LTLIBEXPAT="-ldl"
+
+
+ ;;
+ *)
+
+
+
+
+
+
+
+
+ use_additional=yes
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ # Check whether --with-libexpat-prefix or --without-libexpat-prefix was given.
+if test "${with_libexpat_prefix+set}" = set; then
+ withval="$with_libexpat_prefix"
+
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/lib"
+ fi
+ fi
+
+fi
+
+ LIBEXPAT=
+ LTLIBEXPAT=
+ INCEXPAT=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='expat '
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIBEXPAT="${LTLIBEXPAT}${LTLIBEXPAT:+ }$value"
+ else
+ :
+ fi
+ else
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ if test $use_additional = yes; then
+ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+ found_dir="$additional_libdir"
+ found_so="$additional_libdir/lib$name.$shlibext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
+ fi
+ else
+ if test -f "$additional_libdir/lib$name.$libext"; then
+ found_dir="$additional_libdir"
+ found_a="$additional_libdir/lib$name.$libext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
+ fi
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIBEXPAT; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+ found_dir="$dir"
+ found_so="$dir/lib$name.$shlibext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
+ fi
+ else
+ if test -f "$dir/lib$name.$libext"; then
+ found_dir="$dir"
+ found_a="$dir/lib$name.$libext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
+ fi
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ LTLIBEXPAT="${LTLIBEXPAT}${LTLIBEXPAT:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ if test "X$found_dir" = "X/usr/lib"; then
+ LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$found_so"
+ else
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ if test "$hardcode_direct" = yes; then
+ LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$found_so"
+ else
+ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$found_so"
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ haveit=
+ for x in $LDFLAGS $LIBEXPAT; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }-L$found_dir"
+ fi
+ if test "$hardcode_minus_L" != no; then
+ LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$found_so"
+ else
+ LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$found_a"
+ else
+ LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }-L$found_dir -l$name"
+ fi
+ fi
+ additional_includedir=
+ case "$found_dir" in
+ */lib | */lib/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INCEXPAT; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ INCEXPAT="${INCEXPAT}${INCEXPAT:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -n "$found_la"; then
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ if test "X$additional_libdir" != "X/usr/lib"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/lib"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIBEXPAT; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIBEXPAT; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LTLIBEXPAT="${LTLIBEXPAT}${LTLIBEXPAT:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -l*)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$dep"
+ LTLIBEXPAT="${LTLIBEXPAT}${LTLIBEXPAT:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }-l$name"
+ LTLIBEXPAT="${LTLIBEXPAT}${LTLIBEXPAT:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$hardcode_libdir_separator"; then
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$flag"
+ else
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBEXPAT="${LIBEXPAT}${LIBEXPAT:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ for found_dir in $ltrpathdirs; do
+ LTLIBEXPAT="${LTLIBEXPAT}${LTLIBEXPAT:+ }-R$found_dir"
+ done
+ fi
+
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+
+ for element in $INCEXPAT; do
+ haveit=
+ for x in $CPPFLAGS; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+ fi
+ done
+
+
+ echo $ac_n "checking for libexpat""... $ac_c" 1>&6
+echo "configure:11688: checking for libexpat" >&5
+if eval "test \"`echo '$''{'ac_cv_libexpat'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+ ac_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBEXPAT"
+ cat > conftest.$ac_ext <<EOF
+#line 11696 "configure"
+#include "confdefs.h"
+#include <expat.h>
+int main() {
+XML_ExpatVersion();
+; return 0; }
+EOF
+if { (eval echo configure:11703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_libexpat=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_libexpat=no
+fi
+rm -f conftest*
+ LIBS="$ac_save_LIBS"
+
+fi
+
+echo "$ac_t""$ac_cv_libexpat" 1>&6
+ if test "$ac_cv_libexpat" = yes; then
+ HAVE_LIBEXPAT=yes
+ cat >> confdefs.h <<\EOF
+#define HAVE_LIBEXPAT 1
+EOF
+
+ echo $ac_n "checking how to link with libexpat""... $ac_c" 1>&6
+echo "configure:11725: checking how to link with libexpat" >&5
+ echo "$ac_t""$LIBEXPAT" 1>&6
+ else
+ HAVE_LIBEXPAT=no
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ LIBEXPAT=
+ LTLIBEXPAT=
+ fi
+
+
+
+
+
+
+ ;;
+esac
+
# Check whether --with-lispdir or --without-lispdir was given.
if test "${with_lispdir+set}" = set; then
withval="$with_lispdir"
lispdir="$withval"
echo $ac_n "checking where .elc files should go""... $ac_c" 1>&6
-echo "configure:11082: checking where .elc files should go" >&5
+echo "configure:11747: checking where .elc files should go" >&5
echo "$ac_t""$lispdir" 1>&6
else
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:11094: checking for $ac_word" >&5
+echo "configure:11759: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_EMACS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test $EMACS != "no"; then
if test x${lispdir+set} != xset; then
echo $ac_n "checking where .elc files should go""... $ac_c" 1>&6
-echo "configure:11127: checking where .elc files should go" >&5
+echo "configure:11792: checking where .elc files should go" >&5
if eval "test \"`echo '$''{'am_cv_lispdir'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "dvips", so it can be a program name with args.
set dummy dvips; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:11154: checking for $ac_word" >&5
+echo "configure:11819: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_DVIPS'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "texi2pdf", so it can be a program name with args.
set dummy texi2pdf; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:11190: checking for $ac_word" >&5
+echo "configure:11855: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_TEXI2PDF'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:11226: checking for $ac_word" >&5
+echo "configure:11891: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
CROSS_COMPILING=$cross_compiling
-for ac_prog in $CCC c++ g++ gcc CC cxx cc++ cl
+for ac_prog in $CCC c++ g++ gpp gcc CC cxx cc++ cl
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:11268: checking for $ac_word" >&5
+echo "configure:11933: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$CXX" != ":"; then
echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:11300: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:11965: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
cat > conftest.$ac_ext << EOF
-#line 11311 "configure"
+#line 11976 "configure"
#include "confdefs.h"
int main(){return(0);}
EOF
-if { (eval echo configure:11316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11981: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cxx_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
trap 'rm -fr `echo "Makefile \
lib/Makefile lib/javacomp.sh lib/javaexec.sh \
intl/Makefile intl-java/Makefile \
+ libuniname/Makefile \
src/Makefile src/user-email \
po/Makefile.in \
doc/Makefile man/Makefile man/x-to-1 \
s%@LIBINTL@%$LIBINTL%g
s%@LTLIBINTL@%$LTLIBINTL%g
s%@POSUB@%$POSUB%g
+s%@LIBEXPAT@%$LIBEXPAT%g
+s%@LTLIBEXPAT@%$LTLIBEXPAT%g
+s%@HAVE_LIBEXPAT@%$HAVE_LIBEXPAT%g
s%@EMACS@%$EMACS%g
s%@lispdir@%$lispdir%g
s%@aclocaldir@%$aclocaldir%g
CONFIG_FILES=\${CONFIG_FILES-"Makefile \
lib/Makefile lib/javacomp.sh lib/javaexec.sh \
intl/Makefile intl-java/Makefile \
+ libuniname/Makefile \
src/Makefile src/user-email \
po/Makefile.in \
doc/Makefile man/Makefile man/x-to-1 \
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIB = @LIB@
+LIBEXPAT = @LIBEXPAT@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LN_S = @LN_S@
LTALLOCA = @LTALLOCA@
LTLIB = @LTLIB@
+LTLIBEXPAT = @LTLIBEXPAT@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
CLEANFILES = gettext.pdf gettext.html
# gettext.dvi and gettext.ps are already known to automake.
MAINTAINERCLEANFILES = gettext_*.html
+
+# Temporary index files. automake doesn't remove them reliably by itself.
+MOSTLYCLEANFILES = \
+ gettext.am gettext.ams \
+ gettext.cp gettext.cps \
+ gettext.ef gettext.efs \
+ gettext.em gettext.ems \
+ gettext.ev gettext.evs \
+ gettext.fn gettext.fns \
+ gettext.kw gettext.kws \
+ gettext.ky gettext.kys \
+ gettext.op gettext.ops \
+ gettext.pg gettext.pgs \
+ gettext.tp gettext.tps \
+ gettext.vr gettext.vrs
+
SUFFIXES = .pdf
done
mostlyclean-aminfo:
- -rm -f gettext.aux gettext.cp gettext.cps gettext.dvi gettext.fn gettext.fns \
- gettext.ky gettext.log gettext.pg gettext.ps gettext.toc \
- gettext.tp gettext.vr
+ -rm -f gettext.am gettext.aux gettext.cp gettext.cps gettext.dvi gettext.ef \
+ gettext.em gettext.ems gettext.ev gettext.fn gettext.kw \
+ gettext.ky gettext.log gettext.op gettext.pg gettext.pgs \
+ gettext.ps gettext.toc gettext.tp gettext.vr gettext.vrs
maintainer-clean-aminfo:
cd $(srcdir) && \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
\1f
Indirect:
gettext.info-1: 1417
-gettext.info-2: 46928
-gettext.info-3: 93218
-gettext.info-4: 142279
-gettext.info-5: 191750
-gettext.info-6: 240311
-gettext.info-7: 289557
+gettext.info-2: 47468
+gettext.info-3: 93845
+gettext.info-4: 142783
+gettext.info-5: 192140
+gettext.info-6: 241816
+gettext.info-7: 291614
+gettext.info-8: 340947
+gettext.info-9: 376830
\1f
Tag Table:
(Indirect)
Node: Top\7f1417
-Node: Introduction\7f10024
-Node: Why\7f11882
-Ref: Why-Footnote-1\7f14989
-Node: Concepts\7f15145
-Node: Aspects\7f18558
-Node: Files\7f24340
-Node: Overview\7f26235
-Node: Basics\7f37029
-Node: Installation\7f37859
-Node: PO Files\7f39801
-Ref: PO Files-Footnote-1\7f46801
-Node: Main PO Commands\7f46928
-Node: Entry Positioning\7f51998
-Node: Normalizing\7f57452
-Node: Sources\7f61905
-Node: Triggering\7f63175
-Node: Mark Keywords\7f66191
-Node: Marking\7f69739
-Node: c-format\7f77455
-Node: Special cases\7f81357
-Node: Template\7f84085
-Node: xgettext Invocation\7f84437
-Node: Creating\7f90707
-Node: msginit Invocation\7f91598
-Node: Header Entry\7f93218
-Node: Updating\7f99375
-Node: msgmerge Invocation\7f100130
-Node: Translated Entries\7f103982
-Node: Fuzzy Entries\7f105340
-Node: Untranslated Entries\7f108510
-Node: Obsolete Entries\7f110432
-Node: Modifying Translations\7f113647
-Node: Modifying Comments\7f121604
-Node: Subedit\7f126017
-Node: C Sources Context\7f129896
-Node: Auxiliary\7f134999
-Node: Compendium\7f138224
-Node: Creating Compendia\7f138834
-Node: Using Compendia\7f141391
-Node: Manipulating\7f142279
-Node: msgcat Invocation\7f145758
-Node: msgconv Invocation\7f148987
-Node: msggrep Invocation\7f151147
-Node: msgfilter Invocation\7f154715
-Node: msguniq Invocation\7f158563
-Node: msgcomm Invocation\7f161433
-Node: msgcmp Invocation\7f164457
-Node: msgattrib Invocation\7f165687
-Node: msgen Invocation\7f168802
-Node: msgexec Invocation\7f171152
-Node: Binaries\7f173203
-Node: msgfmt Invocation\7f173535
-Node: msgunfmt Invocation\7f178778
-Node: MO Files\7f180972
-Node: Users\7f189063
-Node: Matrix\7f190546
-Node: Installers\7f191750
-Node: End Users\7f192920
-Node: Programmers\7f193569
-Node: catgets\7f194742
-Node: Interface to catgets\7f196145
-Node: Problems with catgets\7f198149
-Node: gettext\7f199049
-Node: Interface to gettext\7f200507
-Node: Ambiguities\7f202849
-Node: Locating Catalogs\7f205542
-Ref: Locating Catalogs-Footnote-1\7f206689
-Ref: Locating Catalogs-Footnote-2\7f206914
-Node: Charset conversion\7f207063
-Node: Plural forms\7f209505
-Ref: Plural forms-Footnote-1\7f220098
-Node: GUI program problems\7f220190
-Node: Optimized gettext\7f225294
-Node: Comparison\7f226627
-Node: Using libintl.a\7f230897
-Node: gettext grok\7f231330
-Node: Temp Programmers\7f233962
-Node: Temp Implementations\7f234402
-Node: Temp catgets\7f235768
-Node: Temp WSI\7f237455
-Node: Temp Notes\7f239443
-Node: Translators\7f239932
-Node: Trans Intro 0\7f240311
-Node: Trans Intro 1\7f242960
-Node: Discussions\7f244824
-Node: Organization\7f248326
-Node: Central Coordination\7f250307
-Node: National Teams\7f251435
-Node: Sub-Cultures\7f253947
-Node: Organizational Ideas\7f254866
-Node: Mailing Lists\7f255869
-Node: Information Flow\7f257672
-Node: Maintainers\7f259805
-Node: Flat and Non-Flat\7f261649
-Node: Prerequisites\7f263132
-Node: gettextize Invocation\7f267271
-Node: Adjusting Files\7f271719
-Node: po/POTFILES.in\7f273321
-Node: po/LINGUAS\7f274263
-Node: po/Makevars\7f275045
-Node: configure.in\7f276631
-Node: config.guess\7f278606
-Node: aclocal\7f279719
-Node: acconfig\7f280998
-Node: Makefile\7f281481
-Node: src/Makefile\7f283869
-Node: lib/gettext.h\7f286852
-Node: autoconf macros\7f289077
-Node: AM_GNU_GETTEXT\7f289557
-Node: AM_ICONV\7f292859
-Node: Programming Languages\7f295045
-Node: Language Implementors\7f295866
-Node: Programmers for other Languages\7f300687
-Node: Translators for other Languages\7f301253
-Node: Maintainers for other Languages\7f301690
-Node: List of Programming Languages\7f302917
-Node: C\7f303978
-Node: sh\7f304959
-Node: bash\7f305585
-Node: Python\7f306270
-Node: Common Lisp\7f307334
-Node: clisp C\7f308048
-Node: Emacs Lisp\7f308770
-Node: librep\7f309476
-Node: Smalltalk\7f310127
-Node: Java\7f311200
-Node: gawk\7f313870
-Node: Pascal\7f314647
-Node: wxWindows\7f315863
-Node: YCP\7f316597
-Node: Perl\7f317257
-Node: PHP\7f317875
-Node: Pike\7f318578
-Node: List of Data Formats\7f319204
-Node: POT\7f319590
-Node: RST\7f319834
-Node: Conclusion\7f320032
-Node: History\7f320532
-Node: References\7f324634
-Node: Language Codes\7f326189
-Node: Country Codes\7f330092
+Node: Introduction\7f10502
+Node: Why\7f12360
+Ref: Why-Footnote-1\7f15467
+Node: Concepts\7f15623
+Node: Aspects\7f19036
+Node: Files\7f24874
+Node: Overview\7f26775
+Node: Basics\7f37569
+Node: Installation\7f38399
+Node: PO Files\7f40341
+Ref: PO Files-Footnote-1\7f47341
+Node: Main PO Commands\7f47468
+Node: Entry Positioning\7f52538
+Node: Normalizing\7f57992
+Node: Sources\7f62445
+Node: Triggering\7f63715
+Node: Mark Keywords\7f66742
+Node: Marking\7f70290
+Node: c-format\7f78006
+Node: Special cases\7f81908
+Node: Template\7f84636
+Node: xgettext Invocation\7f84988
+Node: Creating\7f91334
+Node: msginit Invocation\7f92225
+Node: Header Entry\7f93845
+Node: Updating\7f100002
+Node: msgmerge Invocation\7f100757
+Node: Translated Entries\7f104609
+Node: Fuzzy Entries\7f105963
+Node: Untranslated Entries\7f109133
+Node: Obsolete Entries\7f111053
+Node: Modifying Translations\7f114266
+Node: Modifying Comments\7f122223
+Node: Subedit\7f126636
+Node: C Sources Context\7f130518
+Node: Auxiliary\7f135621
+Node: Compendium\7f138846
+Node: Creating Compendia\7f139456
+Node: Using Compendia\7f141895
+Node: Manipulating\7f142783
+Node: msgcat Invocation\7f146263
+Node: msgconv Invocation\7f149492
+Node: msggrep Invocation\7f151652
+Node: msgfilter Invocation\7f155333
+Node: msguniq Invocation\7f159181
+Node: msgcomm Invocation\7f162051
+Node: msgcmp Invocation\7f165075
+Node: msgattrib Invocation\7f166305
+Node: msgen Invocation\7f169420
+Node: msgexec Invocation\7f171770
+Node: Binaries\7f173821
+Node: msgfmt Invocation\7f174153
+Node: msgunfmt Invocation\7f179885
+Node: MO Files\7f182566
+Node: Users\7f190657
+Node: Matrix\7f192140
+Node: Installers\7f193344
+Node: End Users\7f194514
+Node: Programmers\7f195163
+Node: catgets\7f196336
+Node: Interface to catgets\7f197739
+Node: Problems with catgets\7f199743
+Node: gettext\7f200644
+Node: Interface to gettext\7f202102
+Node: Ambiguities\7f204441
+Node: Locating Catalogs\7f207134
+Ref: Locating Catalogs-Footnote-1\7f208281
+Ref: Locating Catalogs-Footnote-2\7f208506
+Node: Charset conversion\7f208655
+Node: Plural forms\7f211097
+Ref: Plural forms-Footnote-1\7f221690
+Node: GUI program problems\7f221782
+Node: Optimized gettext\7f226886
+Node: Comparison\7f228219
+Node: Using libintl.a\7f232489
+Node: gettext grok\7f232922
+Node: Temp Programmers\7f235467
+Node: Temp Implementations\7f235907
+Node: Temp catgets\7f237273
+Node: Temp WSI\7f238960
+Node: Temp Notes\7f240948
+Node: Translators\7f241437
+Node: Trans Intro 0\7f241816
+Node: Trans Intro 1\7f244465
+Node: Discussions\7f246329
+Node: Organization\7f249831
+Node: Central Coordination\7f251812
+Node: National Teams\7f252940
+Node: Sub-Cultures\7f255452
+Node: Organizational Ideas\7f256371
+Node: Mailing Lists\7f257374
+Node: Information Flow\7f259177
+Node: Maintainers\7f261310
+Node: Flat and Non-Flat\7f263154
+Node: Prerequisites\7f264637
+Node: gettextize Invocation\7f268778
+Node: Adjusting Files\7f273226
+Node: po/POTFILES.in\7f274830
+Node: po/LINGUAS\7f275772
+Node: po/Makevars\7f276554
+Node: configure.in\7f278140
+Node: config.guess\7f280230
+Node: aclocal\7f281340
+Node: acconfig\7f282865
+Node: Makefile\7f283348
+Node: src/Makefile\7f285926
+Node: lib/gettext.h\7f288909
+Node: autoconf macros\7f291134
+Node: AM_GNU_GETTEXT\7f291614
+Node: AM_ICONV\7f294916
+Node: Programming Languages\7f297102
+Node: Language Implementors\7f297923
+Node: Programmers for other Languages\7f302744
+Node: Translators for other Languages\7f303310
+Node: Maintainers for other Languages\7f303747
+Node: List of Programming Languages\7f304974
+Node: C\7f306097
+Node: sh\7f307078
+Node: bash\7f307704
+Node: Python\7f308389
+Node: Common Lisp\7f309451
+Node: clisp C\7f310165
+Node: Emacs Lisp\7f310887
+Node: librep\7f311593
+Node: Smalltalk\7f312244
+Node: Java\7f313317
+Node: gawk\7f315987
+Node: Pascal\7f316814
+Node: wxWindows\7f318030
+Node: YCP\7f318764
+Node: Tcl\7f319423
+Node: Perl\7f320726
+Node: PHP\7f321344
+Node: Pike\7f322047
+Node: List of Data Formats\7f322673
+Node: POT\7f323132
+Node: RST\7f323376
+Node: Glade\7f323588
+Node: Conclusion\7f323866
+Node: History\7f324366
+Node: References\7f328468
+Node: Language Codes\7f330023
+Node: Country Codes\7f333926
+Node: Program Index\7f339646
+Node: Option Index\7f340947
+Node: Variable Index\7f366112
+Node: PO Mode Index\7f367214
+Node: Autoconf Macro Index\7f376572
+Node: Index\7f376830
\1f
End Tag Table
* Language Codes:: ISO 639 language codes
* Country Codes:: ISO 3166 country codes
+* Program Index:: Index of Programs
+* Option Index:: Index of Command-Line Options
+* Variable Index:: Index of Environment Variables
+* PO Mode Index:: Index of Emacs PO Mode Commands
+* Autoconf Macro Index:: Index of Autoconf Macros
+* Index:: General Index
+
--- The Detailed Node Listing ---
Introduction
* Pascal:: Pascal - Free Pascal Compiler
* wxWindows:: wxWindows library
* YCP:: YCP - YaST2 scripting language
+* Tcl:: Tcl - Tk's scripting language
* Perl:: Perl
* PHP:: PHP Hypertext Preprocessor
* Pike:: Pike
* POT:: POT - Portable Object Template
* RST:: Resource String Table
+* Glade:: Glade - GNOME user interface description
Concluding Remarks
within this codeset. The 8-bit ISO 8859-1 code set has most of
the special characters needed to handle the major European
languages. However, in many cases, the ISO 8859-1 font is not
- adequate. Hence each locale will need to specify which codeset
- they need to use and will need to have the appropriate character
- handling routines to cope with the codeset.
+ adequate: it doesn't even handle the major European currency.
+ Hence each locale will need to specify which codeset they need to
+ use and will need to have the appropriate character handling
+ routines to cope with the codeset.
_Currency_
The symbols used vary from country to country as does the position
The letters PO in `.po' files means Portable Object, to distinguish
it from `.mo' files, where MO stands for Machine Object. This
paradigm, as well as the PO file format, is inspired by the NLS
-standard developed by Uniforum, and implemented by Sun in their Solaris
-system.
+standard developed by Uniforum, and first implemented by Sun in their
+Solaris system.
PO files are meant to be read and edited by humans, and associate
each original, translatable string of a given package with its
}
PACKAGE and LOCALEDIR should be provided either by `config.h' or by
-the Makefile. For now consult the `gettext' sources for more
-information.
+the Makefile. For now consult the `gettext' or `hello' sources for
+more information.
The use of `LC_ALL' might not be appropriate for you. `LC_ALL'
includes all locale categories and especially `LC_CTYPE'. This later
`-L NAME'
`--language=NAME'
Specifies the language of the input files. The supported languages
- are `C', `C++', `ObjectiveC', `PO', `Java', `YCP'.
+ are `C', `C++', `ObjectiveC', `PO', `Python', `Lisp', `EmacsLisp',
+ `librep', `Java', `awk', `YCP', `Tcl', `RST', `Glade'.
`-C'
`--c++'
Each PO file entry for which the `msgstr' field has been filled with
a translation, and which is not marked as fuzzy (*note Fuzzy Entries::),
-is a said to be a "translated" entry. Only translated entries will
-later be compiled by GNU `msgfmt' and become usable in programs. Other
-entry types will be excluded; translation will not occur for them.
+is said to be a "translated" entry. Only translated entries will later
+be compiled by GNU `msgfmt' and become usable in programs. Other entry
+types will be excluded; translation will not occur for them.
Some commands are more specifically related to translated entry
processing.
Find the previous translated entry
(`po-previous-translated-entry').
- The commands `t' (`po-next-translated-entry') and `M-t'
+ The commands `t' (`po-next-translated-entry') and `T'
(`po-previous-translated-entry') move forwards or backwards, chasing
for an translated entry. If none is found, the search is extended and
wraps around in the PO file buffer.
`k'
Turn the current entry into an untranslated one (`po-kill-msgstr').
- The commands `u' (`po-next-untranslated-entry') and `M-u'
+ The commands `u' (`po-next-untranslated-entry') and `U'
(`po-previous-untransted-entry') move forwards or backwards, chasing
for an untranslated entry. If none is found, the search is extended
and wraps around in the PO file buffer.
Make an active entry obsolete, or zap out an obsolete entry
(`po-fade-out-entry').
- The commands `o' (`po-next-obsolete-entry') and `M-o'
+ The commands `o' (`po-next-obsolete-entry') and `O'
(`po-previous-obsolete-entry') move forwards or backwards, chasing for
an obsolete entry. If none is found, the search is extended and wraps
around in the PO file buffer.
The window's contents represents a translation for a given message,
or a translator comment. The translator may modify this window to her
-heart's content. Once this done, the command `C-c C-c'
+heart's content. Once this is done, the command `C-c C-c'
(`po-subedit-exit') may be used to return the edited translation into
the PO file, replacing the original translation, even if it moved out of
sight or if buffers were switched.
------------------
Basically every PO file consisting of translated entries only can be
-declared as a valid compendium. Often the translater wants to have
+declared as a valid compendium. Often the translator wants to have
special compendia; let's consider two cases: `concatenating PO files'
and `extracting a message subset from a PO file'.
msgcat --use-first -o compendium.po file1.po file2.po
A good compendium file must not contain `fuzzy' or untranslated
-entries. If input files are "dirty" you must use the
-`--translated-only' switch (FIXME: TBI) or a manual way to pre- or
-postprocess. (FIXME: Handling of obsolete entries at this point?
-Proposal: By default, make them valid entries.
-`--no-obsolete-entries'.)
+entries. If input files are "dirty" you must preprocess the input
+files or postprocess the result using `msgattrib --translated
+--no-fuzzy'.
Extract a Message Subset from a PO File
.......................................
that source file and use `msgmerge'.
When a translator wants to adjust some translation catalog for a
-special dialect or orthography - for example, German as written in
-Switzerland versus German as written in Germany -, she needs to apply
+special dialect or orthography -- for example, German as written in
+Switzerland versus German as written in Germany -- she needs to apply
some text processing to every message in the catalog. The tool for
doing this is `msgfilter'.
Message selection
-----------------
- [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]
+ [-N SOURCEFILE]... [-M DOMAINNAME]...
+ [-K MSGID-PATTERN] [-T MSGSTR-PATTERN] [-C COMMENT-PATTERN]
A message is selected if
* it comes from one of the specified source files,
MSGID-PATTERN,
* or if `-T' is given and its translation (msgstr) matches
- MSGSTR-PATTERN.
+ MSGSTR-PATTERN,
+
+ * or if `-C' is given and the translator's comment matches
+ COMMENT-PATTERN.
When more than one selection criterion is specified, the set of
selected messages is the union of the selected messages of each
`--java2'
Like -java, and assume Java2 (JDK 1.2 or higher).
+`--tcl'
+ Tcl mode: generate a tcl/msgcat `.msg' file.
+
Output file location
--------------------
resource name, separated with an underscore. The `-d' option is
mandatory. The class is written under the specified directory.
+Output file location in Tcl mode
+--------------------------------
+
+`-l LOCALE'
+`--locale=LOCALE'
+ Specify the locale name, either a language specification of the
+ form LL or a combined language and country specification of the
+ form LL_CC.
+
+`-d DIRECTORY'
+ Specify the base directory of `.msg' message catalogs.
+
+ The `-l' and `-d' options are mandatory. The `.msg' file is written
+in the specified directory.
+
Input file interpretation
-------------------------
`-j'
`--java'
- Java mode: generate a Java `ResourceBundle' class.
+ Java mode: input is a Java `ResourceBundle' class.
+
+`--tcl'
+ Tcl mode: input is a tcl/msgcat `.msg' file.
Input file location
-------------------
resource name, separated with an underscore. The class is located
using the `CLASSPATH'.
+Input file location in Tcl mode
+-------------------------------
+
+`-l LOCALE'
+`--locale=LOCALE'
+ Specify the locale name, either a language specification of the
+ form LL or a combined language and country specification of the
+ form LL_CC.
+
+`-d DIRECTORY'
+ Specify the base directory of `.msg' message catalogs.
+
+ The `-l' and `-d' options are mandatory. The `.msg' file is located
+in the specified directory.
+
Output file location
--------------------
* Installers:: Magic for Installers
* End Users:: Magic for End Users
-\1f
-File: gettext.info, Node: Matrix, Next: Installers, Prev: Users, Up: Users
-
-The Current `ABOUT-NLS' Matrix
-==============================
-
- Languages are not equally supported in all packages using GNU
-`gettext'. To know if some package uses GNU `gettext', one may check
-the distribution for the `ABOUT-NLS' information file, for some `LL.po'
-files, often kept together into some `po/' directory, or for an `intl/'
-directory. Internationalized packages have usually many `LL.po' files,
-where LL represents the language. *Note End Users:: for a complete
-description of the format for LL.
-
- More generally, a matrix is available for showing the current state
-of the Translation Project, listing which packages are prepared for
-multi-lingual messages, and which languages are supported by each.
-Because this information changes often, this matrix is not kept within
-this GNU `gettext' manual. This information is often found in file
-`ABOUT-NLS' from various distributions, but is also as old as the
-distribution itself. A recent copy of this `ABOUT-NLS' file,
-containing up-to-date information, should generally be found on the
-Translation Project sites, and also on most GNU archive sites.
-
versions, except that this permission notice may be stated in a
translation approved by the Foundation.
+\1f
+File: gettext.info, Node: Matrix, Next: Installers, Prev: Users, Up: Users
+
+The Current `ABOUT-NLS' Matrix
+==============================
+
+ Languages are not equally supported in all packages using GNU
+`gettext'. To know if some package uses GNU `gettext', one may check
+the distribution for the `ABOUT-NLS' information file, for some `LL.po'
+files, often kept together into some `po/' directory, or for an `intl/'
+directory. Internationalized packages have usually many `LL.po' files,
+where LL represents the language. *Note End Users:: for a complete
+description of the format for LL.
+
+ More generally, a matrix is available for showing the current state
+of the Translation Project, listing which packages are prepared for
+multi-lingual messages, and which languages are supported by each.
+Because this information changes often, this matrix is not kept within
+this GNU `gettext' manual. This information is often found in file
+`ABOUT-NLS' from various distributions, but is also as old as the
+distribution itself. A recent copy of this `ABOUT-NLS' file,
+containing up-to-date information, should generally be found on the
+Translation Project sites, and also on most GNU archive sites.
+
\1f
File: gettext.info, Node: Installers, Next: End Users, Prev: Matrix, Up: Users
---------------------------------------
Now that this description seemed to be really easy -- where are the
-problem we speak of? In fact the interface could be used in a
+problems we speak of? In fact the interface could be used in a
reasonable way, but constructing the message catalogs is a pain. The
reason for this lies in the third argument of `catgets': the unique
message ID. This has to be a numeric value for all messages in a single
char *gettext (const char *msgid);
- is to be used. This is the simplest reasonable form one can imagine.
+is to be used. This is the simplest reasonable form one can imagine.
The translation of the string MSGID is returned if it is available in
the current domain. If not available the argument itself is returned.
If the argument is `NULL' the result is undefined.
There are two things which can differ between languages (and even
inside language families);
- * The form how plural forms are build differs. This is a problem
+ * The form how plural forms are built differs. This is a problem
with languages which have many irregularities. German, for
instance, is a drastic case. Though English and German are part
of the same language family (Germanic), the almost regular forming
++_nl_msg_cat_cntr;
}
- The variable `_nl_msg_cat_cntr' is defined in `loadmsgcat.c'. The
- programmer will find himself in need for a construct like this only
- when developing programs which do run longer and provide the user
- to select the language at runtime. Non-interactive programs (like
- all these little Unix tools) should never need this.
+ The variable `_nl_msg_cat_cntr' is defined in `loadmsgcat.c'. You
+ don't need to know what this is for. But it can be used to detect
+ whether a `gettext' implementation is GNU gettext and not non-GNU
+ system's native gettext implementation.
\1f
* Before attempting to use `gettextize' you should install some
other packages first. Ensure that recent versions of GNU `m4',
GNU Autoconf and GNU `gettext' are already installed at your site,
- and if not, proceed to do this first. If you got to install these
+ and if not, proceed to do this first. If you get to install these
things, beware that GNU `m4' must be fully installed before GNU
Autoconf is even _configured_.
about all the goals necessary for using `automake' and `libintl'
in one project.
- Those four packages are only needed to you, as a maintainer; the
+ Those four packages are only needed by you, as a maintainer; the
installers of your own package and end users do not really need
any of GNU `m4', GNU Autoconf, GNU `gettext', or GNU `automake'
for successfully installing and running your package, with messages
It is worth adding here a few words about how the maintainer should
ideally behave with PO files submissions. As a maintainer, your role is
-to authentify the origin of the submission as being the representative
+to authenticate the origin of the submission as being the representative
of the appropriate translating teams of the Translation Project (forward
the submission to `translation@iro.umontreal.ca' in case of doubt), to
ensure that the PO file format is not severely broken and does not
with the files it contains, and only `Makefile.in.in' and the
auxiliary files will be overwritten.
- 3. Only of `--intl' has been specified: A `intl/' directory is
+ 3. Only if `--intl' has been specified: A `intl/' directory is
created and filled with most of the files originally in the
`intl/' directory of the GNU `gettext' distribution. Also, if
option `--force' (`-f') is given, the `intl/' directory is emptied
So, here comes a list of files, each one followed by a description of
all alterations it needs. Many examples are taken out from the GNU
-`gettext' 0.11 distribution itself, or from the GNU `hello'
+`gettext' 0.11.1 distribution itself, or from the GNU `hello'
distribution (`http://www.franken.de/users/gnu/ke/hello' or
`http://www.gnu.franken.de/ke/hello/') You may indeed refer to the
source code of the GNU `gettext' and GNU `hello' packages, as they are
This is done by a set of lines like these:
PACKAGE=gettext
- VERSION=0.11
+ VERSION=0.11.1
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
+ or, if you are using GNU `automake', by a line like this:
+
+ AM_INIT_AUTOMAKE(gettext, 0.11.1)
+
Of course, you replace `gettext' with the name of your package,
- and `0.11' by its version numbers, exactly as they should appear
+ and `0.11.1' by its version numbers, exactly as they should appear
in the packaged `tar' file name of your distribution
- (`gettext-0.11.tar.gz', here).
+ (`gettext-0.11.1.tar.gz', here).
2. Check for internationalization support.
`config.guess', `config.sub' at top level
-----------------------------------------
- If you don't have suppressed the `intl/' subdirectory, you need to
-add the GNU `config.guess' and `config.sub' files to your distribution.
+ If you haven't suppressed the `intl/' subdirectory, you need to add
+the GNU `config.guess' and `config.sub' files to your distribution.
They are needed because the `intl/' directory has platform dependent
support for determining the locale's character encoding and therefore
needs to identify the platform.
`glibc21.m4', `iconv.m4', `isc-posix.m4', `lcmessage.m4', `lib-ld.m4',
`lib-link.m4', `lib-prefix.m4', `progtest.m4' from GNU `gettext''s
`m4/' directory into a single file. If you have suppressed the `intl/'
-directory, only `gettext.m4', `iconv.m4', `progtest.m4' need to be
-concatenated.
+directory, only `gettext.m4', `iconv.m4', `lib-ld.m4', `lib-link.m4',
+`lib-prefix.m4', `progtest.m4' need to be concatenated.
If you already have an `aclocal.m4' file, then you will have to
merge the said macro files into your `aclocal.m4'. Note that if you
contents may vary as we get more experience with strange systems out
there.
+ If you are using GNU `automake' 1.5 or newer, it is enough to put
+these macro files into a subdirectory named `m4/' and add the line
+
+ ACLOCAL_AMFLAGS = -I m4
+
+to your top level `Makefile.am'.
+
These macros check for the internationalization support functions
and related informations. Hopefully, once stabilized, these macros
might be integrated in the standard Autoconf set, because this piece of
rm -fr $(distdir)
+ Note that if you are using GNU `automake', `Makefile.in' is
+automatically generated from `Makefile.am', and all needed changes to
+`Makefile.am' are already made by running `gettextize'.
+
\1f
File: gettext.info, Node: src/Makefile, Next: lib/gettext.h, Prev: Makefile, Up: Adjusting Files
* Pascal:: Pascal - Free Pascal Compiler
* wxWindows:: wxWindows library
* YCP:: YCP - YaST2 scripting language
+* Tcl:: Tcl - Tk's scripting language
* Perl:: Perl
* PHP:: PHP Hypertext Preprocessor
* Pike:: Pike
emulate. Bug: uses only the first found .mo file, not all of them
Extractor
- pygettext.py
+ `xgettext'
Formatting with positions
`'...%(ident)d...' % { 'ident': value }'
`_"abc"'
gettext/ngettext functions
- `dcgettext'
+ `dcgettext', missing `dcngettext' in gawk-3.1.0
textdomain
`TEXTDOMAIN' variable
use
Extractor
- `gawk --gen-po'
+ `xgettext'
Formatting with positions
`printf "%2$d %1$d"' (GNU awk only)
Portability
On platforms without gettext, no translation. On non-GNU awks,
- you must define `dcgettext' and `bindtextdomain' yourself.
+ you must define `dcgettext', `dcngettext' and `bindtextdomain'
+ yourself.
po-mode marking
--
yes
\1f
-File: gettext.info, Node: YCP, Next: Perl, Prev: wxWindows, Up: List of Programming Languages
+File: gettext.info, Node: YCP, Next: Tcl, Prev: wxWindows, Up: List of Programming Languages
YCP - YaST2 scripting language
------------------------------
--
\1f
-File: gettext.info, Node: Perl, Next: PHP, Prev: YCP, Up: List of Programming Languages
+File: gettext.info, Node: Tcl, Next: Perl, Prev: YCP, Up: List of Programming Languages
+
+Tcl - Tk's scripting language
+-----------------------------
+
+RPMs
+ tcl
+
+File extension
+ `tcl'
+
+String syntax
+ `"abc"'
+
+gettext shorthand
+ `[_ "abc"]'
+
+gettext/ngettext functions
+ `::msgcat::mc'
+
+textdomain
+ --
+
+bindtextdomain
+ --, use `::msgcat::mcload' instead
+
+setlocale
+ automatic, uses LANG, but ignores LC_MESSAGES and LC_ALL
+
+Prerequisite
+ `package require msgcat'
+ `proc _ {s} {return [::msgcat::mc $s]}'
+
+Use or emulate GNU gettext
+ --, uses a Tcl specific message catalog format
+
+Extractor
+ `xgettext -k_'
+
+Formatting with positions
+ `format "%2\$d %1\$d"'
+
+Portability
+ fully portable
+
+po-mode marking
+ --
+
+ Before marking strings as internationalizable, substitutions of
+variables into the string need to be converted to `format'
+applications. For example, `"file $filename not found"' becomes
+`[format "file %s not found" $filename]'. Only after this is done, can
+the strings be marked and extracted. After marking, this example
+becomes `[format [_ "file %s not found"] $filename]' or `[msgcat::mc
+"file %s not found" $filename]'. Note that the `msgcat::mc' function
+implicitly calls `format' when more than one argument is given.
+
+\1f
+File: gettext.info, Node: Perl, Next: PHP, Prev: Tcl, Up: List of Programming Languages
Perl
----
* POT:: POT - Portable Object Template
* RST:: Resource String Table
+* Glade:: Glade - GNOME user interface description
\1f
File: gettext.info, Node: POT, Next: RST, Prev: List of Data Formats, Up: List of Data Formats
`xgettext'
\1f
-File: gettext.info, Node: RST, Prev: POT, Up: List of Data Formats
+File: gettext.info, Node: RST, Next: Glade, Prev: POT, Up: List of Data Formats
Resource String Table
---------------------
Extractor
`xgettext', `rstconv'
+\1f
+File: gettext.info, Node: Glade, Prev: RST, Up: List of Data Formats
+
+Glade - GNOME user interface description
+----------------------------------------
+
+RPMs
+ glade, libglade, xml-i18n-tools
+
+File extension
+ `glade'
+
+Extractor
+ `xgettext', `libglade-xgettext'
+
\1f
File: gettext.info, Node: Conclusion, Next: Language Codes, Prev: Programming Languages, Up: Top
Zulu.
\1f
-File: gettext.info, Node: Country Codes, Prev: Language Codes, Up: Top
+File: gettext.info, Node: Country Codes, Next: Program Index, Prev: Language Codes, Up: Top
Country Codes
*************
`ZW'
Zimbabwe.
+\1f
+File: gettext.info, Node: Program Index, Next: Option Index, Prev: Country Codes, Up: Top
+
+Program Index
+*************
+
+* Menu:
+
+* gettext <1>: bash.
+* gettext: sh.
+* gettextize: gettextize Invocation.
+* msgattrib: msgattrib Invocation.
+* msgcat: msgcat Invocation.
+* msgcmp: msgcmp Invocation.
+* msgcomm: msgcomm Invocation.
+* msgconv: msgconv Invocation.
+* msgen: msgen Invocation.
+* msgexec: msgexec Invocation.
+* msgfilter: msgfilter Invocation.
+* msgfmt: msgfmt Invocation.
+* msggrep: msggrep Invocation.
+* msginit: msginit Invocation.
+* msgmerge: msgmerge Invocation.
+* msgunfmt: msgunfmt Invocation.
+* msguniq: msguniq Invocation.
+* ngettext <1>: bash.
+* ngettext: sh.
+* xgettext: xgettext Invocation.
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - 1 Introduction</TITLE>
</HEAD>
<BODY>
-Go to the first, previous, <A HREF="gettext_2.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the first, previous, <A HREF="gettext_2.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
</BLOCKQUOTE>
<P>
+<A NAME="IDX1"></A>
+<A NAME="IDX2"></A>
+<A NAME="IDX3"></A>
In this manual, we use <EM>he</EM> when speaking of the programmer or
maintainer, <EM>she</EM> when speaking of the translator, and <EM>they</EM>
when speaking of the installers or end users of the translated program.
</P>
<P>
+<A NAME="IDX4"></A>
Please send suggestions and corrections to:
</P>
</P>
<P>
+<A NAME="IDX5"></A>
However, to many people, this dream might appear so far fetched that
they may believe it is not even worth spending time thinking about
it. They have no confidence at all that the dream might ever
<H2><A NAME="SEC3" HREF="gettext_toc.html#TOC3">1.2 I18n, L10n, and Such</A></H2>
<P>
+<A NAME="IDX6"></A>
+<A NAME="IDX7"></A>
Two long words appear all the time when we discuss support of native
language in programs, and these words have a precise meaning, worth
being explained here, once and for all in this document. The words are
</P>
<P>
+<A NAME="IDX8"></A>
By <EM>internationalization</EM>, one refers to the operation by which a
program, or a set of programs turned into a package, is made aware of and
able to support multiple languages. This is a generalization process,
other English specific habits, and connected to generic ways of doing
the same, instead. Program developers may use various techniques to
internationalize their programs. Some of these have been standardized.
-GNU <CODE>gettext</CODE> offers one of these standards. See section <A HREF="gettext_10.html#SEC138">10 The Programmer's View</A>.
+GNU <CODE>gettext</CODE> offers one of these standards. See section <A HREF="gettext_10.html#SEC140">10 The Programmer's View</A>.
</P>
<P>
+<A NAME="IDX9"></A>
By <EM>localization</EM>, one means the operation by which, in a set
of programs already internationalized, one gives the program all
needed information so that it can adapt itself to handle its input
</P>
<P>
+<A NAME="IDX10"></A>
+<A NAME="IDX11"></A>
+<A NAME="IDX12"></A>
One uses the expression <EM>Native Language Support</EM>, or merely NLS,
for speaking of the overall activity or feature encompassing both
internationalization and localization, allowing for multi-lingual
<H2><A NAME="SEC4" HREF="gettext_toc.html#TOC4">1.3 Aspects in Native Language Support</A></H2>
<P>
+<A NAME="IDX13"></A>
For a totally multi-lingual distribution, there are many things to
translate beyond output messages.
</P>
<P>
+<A NAME="IDX14"></A>
There are a few major areas which may vary between countries and
hence, define what a locale must describe. The following list helps
putting multi-lingual messages into the proper context of other tasks
<DT><EM>Characters and Codesets</EM>
<DD>
+<A NAME="IDX15"></A>
+<A NAME="IDX16"></A>
+<A NAME="IDX17"></A>
+<A NAME="IDX18"></A>
+
The codeset most commonly used through out the USA and most English
speaking parts of the world is the ASCII codeset. However, there are
many characters needed by various locales that are not found within
this codeset. The 8-bit ISO 8859-1 code set has most of the special
characters needed to handle the major European languages. However, in
-many cases, the ISO 8859-1 font is not adequate. Hence each locale
+many cases, the ISO 8859-1 font is not adequate: it doesn't even
+handle the major European currency. Hence each locale
will need to specify which codeset they need to use and will need
to have the appropriate character handling routines to cope with
the codeset.
<DT><EM>Currency</EM>
<DD>
+<A NAME="IDX19"></A>
+<A NAME="IDX20"></A>
+
The symbols used vary from country to country as does the position
used by the symbol. Software needs to be able to transparently
display currency figures in the native mode for each locale.
<DT><EM>Dates</EM>
<DD>
+<A NAME="IDX21"></A>
+<A NAME="IDX22"></A>
+
The format of date varies between locales. For example, Christmas day
in 1994 is written as 12/25/94 in the USA and as 25/12/94 in Australia.
Other countries might use ISO 8061 dates, etc.
<DT><EM>Numbers</EM>
<DD>
+<A NAME="IDX23"></A>
+<A NAME="IDX24"></A>
+
Numbers can be represented differently in different locales.
For example, the following numbers are all written correctly for
their respective locales:
<DT><EM>Messages</EM>
<DD>
+<A NAME="IDX25"></A>
+<A NAME="IDX26"></A>
+
The most obvious area is the language support within a locale. This is
where GNU <CODE>gettext</CODE> provides the means for developers and users to
easily change the language that the software uses to communicate to
</DL>
<P>
+<A NAME="IDX27"></A>
Components of locale outside of message handling are standardized in
the ISO C standard and the SUSV2 specification. GNU <CODE>libc</CODE>
fully implements this, and most other modern systems provide a more
<H2><A NAME="SEC5" HREF="gettext_toc.html#TOC5">1.4 Files Conveying Translations</A></H2>
<P>
+<A NAME="IDX28"></A>
The letters PO in <TT>`.po´</TT> files means Portable Object, to
distinguish it from <TT>`.mo´</TT> files, where MO stands for Machine
Object. This paradigm, as well as the PO file format, is inspired
-by the NLS standard developed by Uniforum, and implemented by Sun
-in their Solaris system.
+by the NLS standard developed by Uniforum, and first implemented by
+Sun in their Solaris system.
</P>
<P>
<H2><A NAME="SEC6" HREF="gettext_toc.html#TOC6">1.5 Overview of GNU <CODE>gettext</CODE></A></H2>
<P>
+<A NAME="IDX29"></A>
+<A NAME="IDX30"></A>
+<A NAME="IDX31"></A>
The following diagram summarizes the relation between the files
handled by GNU <CODE>gettext</CODE> and the tools acting on these files.
It is followed by somewhat detailed explanations, which you should
</P>
<P>
+<A NAME="IDX32"></A>
As a programmer, the first step to bringing GNU <CODE>gettext</CODE>
into your package is identifying, right in the C sources, those strings
which are meant to be translatable, and those which are untranslatable.
simply replace these definitions by the following:
</P>
+<P>
+<A NAME="IDX33"></A>
<PRE>
#include <libintl.h>
</PRE>
<P>
+<A NAME="IDX34"></A>
+<A NAME="IDX35"></A>
and link against <TT>`libintl.a´</TT> or <TT>`libintl.so´</TT>. Note that on
GNU systems, you don't need to link with <CODE>libintl</CODE> because the
<CODE>gettext</CODE> library functions are already contained in GNU libc.
</P>
<P>
+<A NAME="IDX36"></A>
+<A NAME="IDX37"></A>
Once the C sources have been modified, the <CODE>xgettext</CODE> program
is used to find and extract all translatable strings, and create a
PO template file out of all these. This <TT>`<VAR>package</VAR>.pot´</TT> file
See section <A HREF="gettext_4.html#SEC20">4.1 Invoking the <CODE>xgettext</CODE> Program</A>, for more details about how one calls the
<CODE>xgettext</CODE> program. If you are <EM>really</EM> lazy, you might
be interested at working a lot more right away, and preparing the
-whole distribution setup (see section <A HREF="gettext_12.html#SEC169">12 The Maintainer's View</A>). By doing so, you
+whole distribution setup (see section <A HREF="gettext_12.html#SEC171">12 The Maintainer's View</A>). By doing so, you
spare yourself typing the <CODE>xgettext</CODE> command, as <CODE>make</CODE>
should now generate the proper things automatically for you!
itself is a whole matter, still exclusively meant for humans,
and whose complexity far overwhelms the level of this manual.
Nevertheless, a few hints are given in some other chapter of this
-manual (see section <A HREF="gettext_11.html#SEC158">11 The Translator's View</A>). You will also find there indications
+manual (see section <A HREF="gettext_11.html#SEC160">11 The Translator's View</A>). You will also find there indications
about how to contact translating teams, or becoming part of them,
for sharing your translating concerns with others who target the same
native language.
</P>
<P>
+<A NAME="IDX38"></A>
It is important for translators (and even maintainers) to understand
that package translation is a continuous process in the lifetime of a
package, and not something which is done once and for all at the start.
Once the PO file is complete and dependable, the <CODE>msgfmt</CODE> program
is used for turning the PO file into a machine-oriented format, which
may yield efficient retrieval of translations by the programs of the
-package, whenever needed at runtime (see section <A HREF="gettext_8.html#SEC133">8.3 The Format of GNU MO Files</A>). See section <A HREF="gettext_8.html#SEC118">8.1 Invoking the <CODE>msgfmt</CODE> Program</A>, for more information about all modes of execution
+package, whenever needed at runtime (see section <A HREF="gettext_8.html#SEC135">8.3 The Format of GNU MO Files</A>). See section <A HREF="gettext_8.html#SEC118">8.1 Invoking the <CODE>msgfmt</CODE> Program</A>, for more information about all modes of execution
for the <CODE>msgfmt</CODE> program.
</P>
<CODE>make</CODE>, given a suitable <TT>`Makefile´</TT> exists for the project,
and the resulting executable is installed somewhere users will find it.
The MO files themselves should also be properly installed. Given the
-appropriate environment variables are set (see section <A HREF="gettext_9.html#SEC137">9.3 Magic for End Users</A>), the
+appropriate environment variables are set (see section <A HREF="gettext_9.html#SEC139">9.3 Magic for End Users</A>), the
program should localize itself automatically, whenever it executes.
</P>
</P>
<P><HR><P>
-Go to the first, previous, <A HREF="gettext_2.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the first, previous, <A HREF="gettext_2.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - 10 The Programmer's View</TITLE>
</HEAD>
<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_9.html">previous</A>, <A HREF="gettext_11.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_9.html">previous</A>, <A HREF="gettext_11.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
-<H1><A NAME="SEC138" HREF="gettext_toc.html#TOC138">10 The Programmer's View</A></H1>
+<H1><A NAME="SEC140" HREF="gettext_toc.html#TOC140">10 The Programmer's View</A></H1>
<P>
One aim of the current message catalog implementation provided by
-<H2><A NAME="SEC139" HREF="gettext_toc.html#TOC139">10.1 About <CODE>catgets</CODE></A></H2>
+<H2><A NAME="SEC141" HREF="gettext_toc.html#TOC141">10.1 About <CODE>catgets</CODE></A></H2>
+<P>
+<A NAME="IDX798"></A>
+</P>
<P>
The <CODE>catgets</CODE> implementation is defined in the X/Open Portability
Guide, Volume 3, XSI Supplementary Definitions, Chapter 5. But the
-<H3><A NAME="SEC140" HREF="gettext_toc.html#TOC140">10.1.1 The Interface</A></H3>
+<H3><A NAME="SEC142" HREF="gettext_toc.html#TOC142">10.1.1 The Interface</A></H3>
+<P>
+<A NAME="IDX799"></A>
+</P>
<P>
The interface to the <CODE>catgets</CODE> implementation consists of three
functions which correspond to those used in file access: <CODE>catopen</CODE>
</P>
<P>
+<A NAME="IDX800"></A>
<CODE>catopen</CODE> is used like in this:
</P>
</P>
<P>
+<A NAME="IDX801"></A>
This handle is of course used in the <CODE>catgets</CODE> function which can
be used like this:
</P>
<P>
+<A NAME="IDX802"></A>
The last of these function functions is used and behaves as expected:
</P>
</P>
-<H3><A NAME="SEC141" HREF="gettext_toc.html#TOC141">10.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A></H3>
+<H3><A NAME="SEC143" HREF="gettext_toc.html#TOC143">10.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A></H3>
+<P>
+<A NAME="IDX803"></A>
+</P>
<P>
Now that this description seemed to be really easy -- where are the
-problem we speak of? In fact the interface could be used in a
+problems we speak of? In fact the interface could be used in a
reasonable way, but constructing the message catalogs is a pain. The
reason for this lies in the third argument of <CODE>catgets</CODE>: the unique
message ID. This has to be a numeric value for all messages in a single
</P>
-<H2><A NAME="SEC142" HREF="gettext_toc.html#TOC142">10.2 About <CODE>gettext</CODE></A></H2>
+<H2><A NAME="SEC144" HREF="gettext_toc.html#TOC144">10.2 About <CODE>gettext</CODE></A></H2>
+<P>
+<A NAME="IDX804"></A>
+</P>
<P>
The definition of the <CODE>gettext</CODE> interface comes from a Uniforum
proposal and it is followed by at least one major Unix vendor
method of normal file handling (open-use-close) and that it does not
burden the programmer so many task, especially the unique key handling.
Of course here also a unique key is needed, but this key is the message
-itself (how long or short it is). See section <A HREF="gettext_10.html#SEC150">10.3 Comparing the Two Interfaces</A> for a more
+itself (how long or short it is). See section <A HREF="gettext_10.html#SEC152">10.3 Comparing the Two Interfaces</A> for a more
detailed comparison of the two methods.
</P>
-<H3><A NAME="SEC143" HREF="gettext_toc.html#TOC143">10.2.1 The Interface</A></H3>
+<H3><A NAME="SEC145" HREF="gettext_toc.html#TOC145">10.2.1 The Interface</A></H3>
+<P>
+<A NAME="IDX805"></A>
+</P>
<P>
The minimal functionality an interface must have is a) to select a
domain the strings are coming from (a single domain for all programs is
</P>
-<H3><A NAME="SEC144" HREF="gettext_toc.html#TOC144">10.2.2 Solving Ambiguities</A></H3>
+<H3><A NAME="SEC146" HREF="gettext_toc.html#TOC146">10.2.2 Solving Ambiguities</A></H3>
+<P>
+<A NAME="IDX806"></A>
+<A NAME="IDX807"></A>
+<A NAME="IDX808"></A>
+</P>
<P>
While this single name domain works well for most applications there
might be the need to get translations from more than one domain. Of
</P>
-<H3><A NAME="SEC145" HREF="gettext_toc.html#TOC145">10.2.3 Locating Message Catalog Files</A></H3>
+<H3><A NAME="SEC147" HREF="gettext_toc.html#TOC147">10.2.3 Locating Message Catalog Files</A></H3>
+<P>
+<A NAME="IDX809"></A>
+</P>
<P>
Because many different languages for many different packages have to be
stored we need some way to add these information to file message catalog
</P>
-<H3><A NAME="SEC146" HREF="gettext_toc.html#TOC146">10.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A></H3>
+<H3><A NAME="SEC148" HREF="gettext_toc.html#TOC148">10.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A></H3>
+<P>
+<A NAME="IDX810"></A>
+<A NAME="IDX811"></A>
+</P>
<P>
<CODE>gettext</CODE> not only looks up a translation in a message catalog. It
also converts the translation on the fly to the desired output character
<P>
<DL>
<DT><U>Function:</U> char * <B>bind_textdomain_codeset</B> <I>(const char *<VAR>domainname</VAR>, const char *<VAR>codeset</VAR>)</I>
-<DD><A NAME="IDX1"></A>
+<DD><A NAME="IDX812"></A>
The <CODE>bind_textdomain_codeset</CODE> function can be used to specify the
output character set for message catalogs for domain <VAR>domainname</VAR>.
The <VAR>codeset</VAR> argument must be a valid codeset name which can be used
</P>
-<H3><A NAME="SEC147" HREF="gettext_toc.html#TOC147">10.2.5 Additional functions for plural forms</A></H3>
+<H3><A NAME="SEC149" HREF="gettext_toc.html#TOC149">10.2.5 Additional functions for plural forms</A></H3>
+<P>
+<A NAME="IDX813"></A>
+</P>
<P>
The functions of the <CODE>gettext</CODE> family described so far (and all the
<CODE>catgets</CODE> functions as well) have one problem in the real world
<UL>
<LI>
-The form how plural forms are build differs. This is a problem with
+The form how plural forms are built differs. This is a problem with
languages which have many irregularities. German, for instance, is a
drastic case. Though English and German are part of the same language
family (Germanic), the almost regular forming of plural noun forms
<P>
<DL>
<DT><U>Function:</U> char * <B>ngettext</B> <I>(const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>)</I>
-<DD><A NAME="IDX2"></A>
+<DD><A NAME="IDX814"></A>
The <CODE>ngettext</CODE> function is similar to the <CODE>gettext</CODE> function
as it finds the message catalogs in the same way. But it takes two
extra arguments. The <VAR>msgid1</VAR> parameter must contain the singular
<P>
<DL>
<DT><U>Function:</U> char * <B>dngettext</B> <I>(const char *<VAR>domain</VAR>, const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>)</I>
-<DD><A NAME="IDX3"></A>
+<DD><A NAME="IDX815"></A>
The <CODE>dngettext</CODE> is similar to the <CODE>dgettext</CODE> function in the
way the message catalog is selected. The difference is that it takes
two extra parameter to provide the correct plural form. These two
<P>
<DL>
<DT><U>Function:</U> char * <B>dcngettext</B> <I>(const char *<VAR>domain</VAR>, const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>, int <VAR>category</VAR>)</I>
-<DD><A NAME="IDX4"></A>
+<DD><A NAME="IDX816"></A>
The <CODE>dcngettext</CODE> is similar to the <CODE>dcgettext</CODE> function in the
way the message catalog is selected. The difference is that it takes
two extra parameter to provide the correct plural form. These two
</P>
<P>
+<A NAME="IDX817"></A>
+<A NAME="IDX818"></A>
+<A NAME="IDX819"></A>
The information about the plural form selection has to be stored in the
header entry of the PO file (the one with the empty <CODE>msgid</CODE> string).
The plural form information looks like this:
</P>
<P>
+<A NAME="IDX820"></A>
The following rules are known at this point. The language with families
are listed. But this does not necessarily mean the information can be
generalized for the whole family (as can be easily seen in the table
-<H3><A NAME="SEC148" HREF="gettext_toc.html#TOC148">10.2.6 How to use <CODE>gettext</CODE> in GUI programs</A></H3>
+<H3><A NAME="SEC150" HREF="gettext_toc.html#TOC150">10.2.6 How to use <CODE>gettext</CODE> in GUI programs</A></H3>
+<P>
+<A NAME="IDX821"></A>
+<A NAME="IDX822"></A>
+<A NAME="IDX823"></A>
+</P>
<P>
One place where the <CODE>gettext</CODE> functions, if used normally, have big
problems is within programs with graphical user interfaces (GUIs). The
</P>
<P>
-<A NAME="IDX5"></A>
+<A NAME="IDX824"></A>
<PRE>
char *
</P>
-<H3><A NAME="SEC149" HREF="gettext_toc.html#TOC149">10.2.7 Optimization of the *gettext functions</A></H3>
+<H3><A NAME="SEC151" HREF="gettext_toc.html#TOC151">10.2.7 Optimization of the *gettext functions</A></H3>
+<P>
+<A NAME="IDX825"></A>
+</P>
<P>
At this point of the discussion we should talk about an advantage of the
GNU <CODE>gettext</CODE> implementation. Some readers might have pointed out
</P>
-<H2><A NAME="SEC150" HREF="gettext_toc.html#TOC150">10.3 Comparing the Two Interfaces</A></H2>
+<H2><A NAME="SEC152" HREF="gettext_toc.html#TOC152">10.3 Comparing the Two Interfaces</A></H2>
+<P>
+<A NAME="IDX826"></A>
+<A NAME="IDX827"></A>
+
+</P>
<P>
The following discussion is perhaps a little bit colored. As said
by
</P>
+<P>
+<A NAME="IDX828"></A>
<PRE>
#include <libintl.h>
</P>
<P>
+<A NAME="IDX829"></A>
The same procedure can be done for the <CODE>gettext_noop</CODE> invocations
(see section <A HREF="gettext_3.html#SEC18">3.5 Special Cases of Translatable Strings</A>). One usually defines <CODE>gettext_noop</CODE> as a
no-op macro. So you should consider the following code for your project:
<P>
<CODE>catgets</CODE> allows same original entry to have different translations,
but <CODE>gettext</CODE> has another, scalable approach for solving ambiguities
-of this kind: See section <A HREF="gettext_10.html#SEC144">10.2.2 Solving Ambiguities</A>.
+of this kind: See section <A HREF="gettext_10.html#SEC146">10.2.2 Solving Ambiguities</A>.
</P>
-<H2><A NAME="SEC151" HREF="gettext_toc.html#TOC151">10.4 Using libintl.a in own programs</A></H2>
+<H2><A NAME="SEC153" HREF="gettext_toc.html#TOC153">10.4 Using libintl.a in own programs</A></H2>
<P>
Starting with version 0.9.4 the library <CODE>libintl.h</CODE> should be
</P>
-<H2><A NAME="SEC152" HREF="gettext_toc.html#TOC152">10.5 Being a <CODE>gettext</CODE> grok</A></H2>
+<H2><A NAME="SEC154" HREF="gettext_toc.html#TOC154">10.5 Being a <CODE>gettext</CODE> grok</A></H2>
<P>
To fully exploit the functionality of the GNU <CODE>gettext</CODE> library it
<UL>
<LI>Changing the language at runtime
+<A NAME="IDX830"></A>
+
For interactive programs it might be useful to offer a selection of the
used language at runtime. To understand how to do this one need to know
how the used language is determined while executing the <CODE>gettext</CODE>
<OL>
<LI><CODE>LANGUAGE</CODE>
+<A NAME="IDX831"></A>
+
+<A NAME="IDX832"></A>
<LI><CODE>LC_ALL</CODE>
+<A NAME="IDX833"></A>
+<A NAME="IDX834"></A>
+<A NAME="IDX835"></A>
+<A NAME="IDX836"></A>
+<A NAME="IDX837"></A>
+<A NAME="IDX838"></A>
<LI><CODE>LC_xxx</CODE>, according to selected locale
+<A NAME="IDX839"></A>
<LI><CODE>LANG</CODE>
</OL>
some optimization. This optimization normally prevents the calling of
the <CODE>dcgettext</CODE> function as long as no new catalog is loaded. But
if <CODE>dcgettext</CODE> is not called the program also cannot find the
-<CODE>LANGUAGE</CODE> variable be changed (see section <A HREF="gettext_10.html#SEC149">10.2.7 Optimization of the *gettext functions</A>). A
+<CODE>LANGUAGE</CODE> variable be changed (see section <A HREF="gettext_10.html#SEC151">10.2.7 Optimization of the *gettext functions</A>). A
solution for this is very easy. Include the following code in the
language switching function.
}
</PRE>
+<A NAME="IDX840"></A>
The variable <CODE>_nl_msg_cat_cntr</CODE> is defined in <TT>`loadmsgcat.c´</TT>.
-The programmer will find himself in need for a construct like this only
-when developing programs which do run longer and provide the user to
-select the language at runtime. Non-interactive programs (like all
-these little Unix tools) should never need this.
+You don't need to know what this is for. But it can be used to detect
+whether a <CODE>gettext</CODE> implementation is GNU gettext and not non-GNU
+system's native gettext implementation.
</UL>
-<H2><A NAME="SEC153" HREF="gettext_toc.html#TOC153">10.6 Temporary Notes for the Programmers Chapter</A></H2>
+<H2><A NAME="SEC155" HREF="gettext_toc.html#TOC155">10.6 Temporary Notes for the Programmers Chapter</A></H2>
-<H3><A NAME="SEC154" HREF="gettext_toc.html#TOC154">10.6.1 Temporary - Two Possible Implementations</A></H3>
+<H3><A NAME="SEC156" HREF="gettext_toc.html#TOC156">10.6.1 Temporary - Two Possible Implementations</A></H3>
<P>
There are two competing methods for language independent messages:
</P>
-<H3><A NAME="SEC155" HREF="gettext_toc.html#TOC155">10.6.2 Temporary - About <CODE>catgets</CODE></A></H3>
+<H3><A NAME="SEC157" HREF="gettext_toc.html#TOC157">10.6.2 Temporary - About <CODE>catgets</CODE></A></H3>
<P>
There have been a few discussions of late on the use of
</P>
-<H3><A NAME="SEC156" HREF="gettext_toc.html#TOC156">10.6.3 Temporary - Why a single implementation</A></H3>
+<H3><A NAME="SEC158" HREF="gettext_toc.html#TOC158">10.6.3 Temporary - Why a single implementation</A></H3>
<P>
Now it seems kind of wasteful to me to have two different systems
</P>
-<H3><A NAME="SEC157" HREF="gettext_toc.html#TOC157">10.6.4 Temporary - Notes</A></H3>
+<H3><A NAME="SEC159" HREF="gettext_toc.html#TOC159">10.6.4 Temporary - Notes</A></H3>
<P>
X/Open agreed very late on the standard form so that many
</P>
<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_9.html">previous</A>, <A HREF="gettext_11.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_9.html">previous</A>, <A HREF="gettext_11.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - 11 The Translator's View</TITLE>
</HEAD>
<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_10.html">previous</A>, <A HREF="gettext_12.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_10.html">previous</A>, <A HREF="gettext_12.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
-<H1><A NAME="SEC158" HREF="gettext_toc.html#TOC158">11 The Translator's View</A></H1>
+<H1><A NAME="SEC160" HREF="gettext_toc.html#TOC160">11 The Translator's View</A></H1>
-<H2><A NAME="SEC159" HREF="gettext_toc.html#TOC159">11.1 Introduction 0</A></H2>
+<H2><A NAME="SEC161" HREF="gettext_toc.html#TOC161">11.1 Introduction 0</A></H2>
<P>
Free software is going international! The Translation Project is a way
</P>
-<H2><A NAME="SEC160" HREF="gettext_toc.html#TOC160">11.2 Introduction 1</A></H2>
+<H2><A NAME="SEC162" HREF="gettext_toc.html#TOC162">11.2 Introduction 1</A></H2>
<P>
This is now official, GNU is going international! Here is the
</P>
-<H2><A NAME="SEC161" HREF="gettext_toc.html#TOC161">11.3 Discussions</A></H2>
+<H2><A NAME="SEC163" HREF="gettext_toc.html#TOC163">11.3 Discussions</A></H2>
<P>
Facing this internationalization effort, a few users expressed their
-<H2><A NAME="SEC162" HREF="gettext_toc.html#TOC162">11.4 Organization</A></H2>
+<H2><A NAME="SEC164" HREF="gettext_toc.html#TOC164">11.4 Organization</A></H2>
<P>
On a larger scale, the true solution would be to organize some kind of
-<H3><A NAME="SEC163" HREF="gettext_toc.html#TOC163">11.4.1 Central Coordination</A></H3>
+<H3><A NAME="SEC165" HREF="gettext_toc.html#TOC165">11.4.1 Central Coordination</A></H3>
<P>
I also think GNU will need sooner than it thinks, that someone setup
</P>
-<H3><A NAME="SEC164" HREF="gettext_toc.html#TOC164">11.4.2 National Teams</A></H3>
+<H3><A NAME="SEC166" HREF="gettext_toc.html#TOC166">11.4.2 National Teams</A></H3>
<P>
I suggest we look for volunteer coordinators/editors for individual
-<H4><A NAME="SEC165" HREF="gettext_toc.html#TOC165">11.4.2.1 Sub-Cultures</A></H4>
+<H4><A NAME="SEC167" HREF="gettext_toc.html#TOC167">11.4.2.1 Sub-Cultures</A></H4>
<P>
Taking French for example, there are a few sub-cultures around computers
</P>
-<H4><A NAME="SEC166" HREF="gettext_toc.html#TOC166">11.4.2.2 Organizational Ideas</A></H4>
+<H4><A NAME="SEC168" HREF="gettext_toc.html#TOC168">11.4.2.2 Organizational Ideas</A></H4>
<P>
I expect the next big changes after the official release. Please note
-<H3><A NAME="SEC167" HREF="gettext_toc.html#TOC167">11.4.3 Mailing Lists</A></H3>
+<H3><A NAME="SEC169" HREF="gettext_toc.html#TOC169">11.4.3 Mailing Lists</A></H3>
<P>
If we get any inquiries about GNU <CODE>gettext</CODE>, send them on to:
</P>
-<H2><A NAME="SEC168" HREF="gettext_toc.html#TOC168">11.5 Information Flow</A></H2>
+<H2><A NAME="SEC170" HREF="gettext_toc.html#TOC170">11.5 Information Flow</A></H2>
<P>
There will surely be some discussion about this messages after the
</P>
<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_10.html">previous</A>, <A HREF="gettext_12.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_10.html">previous</A>, <A HREF="gettext_12.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - 12 The Maintainer's View</TITLE>
</HEAD>
<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_11.html">previous</A>, <A HREF="gettext_13.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_11.html">previous</A>, <A HREF="gettext_13.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
-<H1><A NAME="SEC169" HREF="gettext_toc.html#TOC169">12 The Maintainer's View</A></H1>
+<H1><A NAME="SEC171" HREF="gettext_toc.html#TOC171">12 The Maintainer's View</A></H1>
+<P>
+<A NAME="IDX841"></A>
+</P>
<P>
The maintainer of a package has many responsibilities. One of them
is ensuring that the package will install easily on many platforms,
-and that the magic we described earlier (see section <A HREF="gettext_9.html#SEC134">9 The User's View</A>) will work
+and that the magic we described earlier (see section <A HREF="gettext_9.html#SEC136">9 The User's View</A>) will work
for installers and end users.
</P>
-<H2><A NAME="SEC170" HREF="gettext_toc.html#TOC170">12.1 Flat or Non-Flat Directory Structures</A></H2>
+<H2><A NAME="SEC172" HREF="gettext_toc.html#TOC172">12.1 Flat or Non-Flat Directory Structures</A></H2>
<P>
Some free software packages are distributed as <CODE>tar</CODE> files which unpack
</P>
-<H2><A NAME="SEC171" HREF="gettext_toc.html#TOC171">12.2 Prerequisite Works</A></H2>
+<H2><A NAME="SEC173" HREF="gettext_toc.html#TOC173">12.2 Prerequisite Works</A></H2>
+<P>
+<A NAME="IDX842"></A>
+<A NAME="IDX843"></A>
+<A NAME="IDX844"></A>
+</P>
<P>
There are some works which are required for using GNU <CODE>gettext</CODE>
in one of your package. These works have some kind of generality
other packages first.
Ensure that recent versions of GNU <CODE>m4</CODE>, GNU Autoconf and GNU
<CODE>gettext</CODE> are already installed at your site, and if not, proceed
-to do this first. If you got to install these things, beware that
+to do this first. If you get to install these things, beware that
GNU <CODE>m4</CODE> must be fully installed before GNU Autoconf is even
<EM>configured</EM>.
therefore know about all the goals necessary for using <CODE>automake</CODE>
and <TT>`libintl´</TT> in one project.
-Those four packages are only needed to you, as a maintainer; the
+Those four packages are only needed by you, as a maintainer; the
installers of your own package and end users do not really need any of
GNU <CODE>m4</CODE>, GNU Autoconf, GNU <CODE>gettext</CODE>, or GNU <CODE>automake</CODE>
for successfully installing and running your package, with messages
<P>
It is worth adding here a few words about how the maintainer should
ideally behave with PO files submissions. As a maintainer, your role is
-to authentify the origin of the submission as being the representative
+to authenticate the origin of the submission as being the representative
of the appropriate translating teams of the Translation Project (forward
the submission to <TT>`translation@iro.umontreal.ca´</TT> in case of doubt),
to ensure that the PO file format is not severely broken and does not
</P>
-<H2><A NAME="SEC172" HREF="gettext_toc.html#TOC172">12.3 Invoking the <CODE>gettextize</CODE> Program</A></H2>
+<H2><A NAME="SEC174" HREF="gettext_toc.html#TOC174">12.3 Invoking the <CODE>gettextize</CODE> Program</A></H2>
<P>
Some files are consistently and identically needed in every package
in your package. This program has the following synopsis:
</P>
+<P>
+<A NAME="IDX845"></A>
+<A NAME="IDX846"></A>
<PRE>
gettextize [ <VAR>option</VAR>... ] [ <VAR>directory</VAR> ]
<DD>
<DT><SAMP>`--copy´</SAMP>
<DD>
+<A NAME="IDX847"></A>
+<A NAME="IDX848"></A>
Copy the needed files instead of making symbolic links. Using links
would allow the package to always use the latest <CODE>gettext</CODE> code
available on the system, but it might disturb some mechanism the
<DD>
<DT><SAMP>`--force´</SAMP>
<DD>
+<A NAME="IDX849"></A>
+<A NAME="IDX850"></A>
Force replacement of files which already exist.
<DT><SAMP>`--intl´</SAMP>
<DD>
+<A NAME="IDX851"></A>
Install the libintl sources in a subdirectory named <TT>`intl/´</TT>.
This libintl will be used to provide internationalization on systems
that don't have GNU libintl installed. If this option is omitted,
<DT><SAMP>`--no-changelog´</SAMP>
<DD>
+<A NAME="IDX852"></A>
Don't update or create ChangeLog files. By default, <CODE>gettextize</CODE>
logs all changes (file additions, modifications ans removals) in a
file called <SAMP>`ChangeLog´</SAMP> in each affected directory.
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX853"></A>
Display this help and exit.
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX854"></A>
Output version information and exit.
</DL>
<LI>
-Only of <SAMP>`--intl´</SAMP> has been specified:
+Only if <SAMP>`--intl´</SAMP> has been specified:
A <TT>`intl/´</TT> directory is created and filled with most of the files
originally in the <TT>`intl/´</TT> directory of the GNU <CODE>gettext</CODE>
distribution. Also, if option <CODE>--force</CODE> (<CODE>-f</CODE>) is given,
</P>
-<H2><A NAME="SEC173" HREF="gettext_toc.html#TOC173">12.4 Files You Must Create or Alter</A></H2>
+<H2><A NAME="SEC175" HREF="gettext_toc.html#TOC175">12.4 Files You Must Create or Alter</A></H2>
+<P>
+<A NAME="IDX855"></A>
+</P>
<P>
Besides files which are automatically added through <CODE>gettextize</CODE>,
there are many files needing revision for properly interacting with
<P>
So, here comes a list of files, each one followed by a description of
all alterations it needs. Many examples are taken out from the GNU
-<CODE>gettext</CODE> 0.11 distribution itself, or from the GNU
+<CODE>gettext</CODE> 0.11.1 distribution itself, or from the GNU
<CODE>hello</CODE> distribution (<A HREF="http://www.franken.de/users/gnu/ke/hello">http://www.franken.de/users/gnu/ke/hello</A>
or <A HREF="http://www.gnu.franken.de/ke/hello/">http://www.gnu.franken.de/ke/hello/</A>) You may indeed
refer to the source code of the GNU <CODE>gettext</CODE> and GNU <CODE>hello</CODE>
-<H3><A NAME="SEC174" HREF="gettext_toc.html#TOC174">12.4.1 <TT>`POTFILES.in´</TT> in <TT>`po/´</TT></A></H3>
+<H3><A NAME="SEC176" HREF="gettext_toc.html#TOC176">12.4.1 <TT>`POTFILES.in´</TT> in <TT>`po/´</TT></A></H3>
+<P>
+<A NAME="IDX856"></A>
+</P>
<P>
The <TT>`po/´</TT> directory should receive a file named
<TT>`POTFILES.in´</TT>. This file tells which files, among all program
</P>
-<H3><A NAME="SEC175" HREF="gettext_toc.html#TOC175">12.4.2 <TT>`LINGUAS´</TT> in <TT>`po/´</TT></A></H3>
+<H3><A NAME="SEC177" HREF="gettext_toc.html#TOC177">12.4.2 <TT>`LINGUAS´</TT> in <TT>`po/´</TT></A></H3>
+<P>
+<A NAME="IDX857"></A>
+</P>
<P>
The <TT>`po/´</TT> directory should also receive a file named
<TT>`LINGUAS´</TT>. This file contains the list of available translations.
want to further restrict, at installation time, the set of installed
languages, this should not be done by modifying the <TT>`LINGUAS´</TT> file,
but rather by using the <CODE>LINGUAS</CODE> environment variable
-(see section <A HREF="gettext_9.html#SEC136">9.2 Magic for Installers</A>).
+(see section <A HREF="gettext_9.html#SEC138">9.2 Magic for Installers</A>).
</P>
-<H3><A NAME="SEC176" HREF="gettext_toc.html#TOC176">12.4.3 <TT>`Makefile´</TT> pieces in <TT>`po/´</TT></A></H3>
+<H3><A NAME="SEC178" HREF="gettext_toc.html#TOC178">12.4.3 <TT>`Makefile´</TT> pieces in <TT>`po/´</TT></A></H3>
+<P>
+<A NAME="IDX858"></A>
+</P>
<P>
The <TT>`po/´</TT> directory also has a file named <TT>`Makevars´</TT>.
It can be left unmodified if your package has a single message domain
</P>
<P>
+<A NAME="IDX859"></A>
+<A NAME="IDX860"></A>
GNU gettext comes with a <TT>`Rules-quot´</TT> file, containing rules for
building catalogs <TT>`en@quot.po´</TT> and <TT>`en@boldquot.po´</TT>. The
effect of <TT>`en@quot.po´</TT> is that people who set their <CODE>LANGUAGE</CODE>
</P>
-<H3><A NAME="SEC177" HREF="gettext_toc.html#TOC177">12.4.4 <TT>`configure.in´</TT> at top level</A></H3>
+<H3><A NAME="SEC179" HREF="gettext_toc.html#TOC179">12.4.4 <TT>`configure.in´</TT> at top level</A></H3>
<P>
<TT>`configure.in´</TT> or <TT>`configure.ac´</TT> - this is the source from which
<OL>
<LI>Declare the package and version.
+<A NAME="IDX861"></A>
+
This is done by a set of lines like these:
<PRE>
PACKAGE=gettext
-VERSION=0.11
+VERSION=0.11.1
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
</PRE>
+or, if you are using GNU <CODE>automake</CODE>, by a line like this:
+
+
+<PRE>
+AM_INIT_AUTOMAKE(gettext, 0.11.1)
+</PRE>
+
Of course, you replace <SAMP>`gettext´</SAMP> with the name of your package,
-and <SAMP>`0.11´</SAMP> by its version numbers, exactly as they
+and <SAMP>`0.11.1´</SAMP> by its version numbers, exactly as they
should appear in the packaged <CODE>tar</CODE> file name of your distribution
-(<TT>`gettext-0.11.tar.gz´</TT>, here).
+(<TT>`gettext-0.11.1.tar.gz´</TT>, here).
<LI>Check for internationalization support.
-<H3><A NAME="SEC178" HREF="gettext_toc.html#TOC178">12.4.5 <TT>`config.guess´</TT>, <TT>`config.sub´</TT> at top level</A></H3>
+<H3><A NAME="SEC180" HREF="gettext_toc.html#TOC180">12.4.5 <TT>`config.guess´</TT>, <TT>`config.sub´</TT> at top level</A></H3>
<P>
-If you don't have suppressed the <TT>`intl/´</TT> subdirectory,
+If you haven't suppressed the <TT>`intl/´</TT> subdirectory,
you need to add the GNU <TT>`config.guess´</TT> and <TT>`config.sub´</TT> files
to your distribution. They are needed because the <TT>`intl/´</TT> directory
has platform dependent support for determining the locale's character
-<H3><A NAME="SEC179" HREF="gettext_toc.html#TOC179">12.4.6 <TT>`aclocal.m4´</TT> at top level</A></H3>
+<H3><A NAME="SEC181" HREF="gettext_toc.html#TOC181">12.4.6 <TT>`aclocal.m4´</TT> at top level</A></H3>
+<P>
+<A NAME="IDX862"></A>
+</P>
<P>
If you do not have an <TT>`aclocal.m4´</TT> file in your distribution,
the simplest is to concatenate the files <TT>`codeset.m4´</TT>,
<TT>`lib-prefix.m4´</TT>, <TT>`progtest.m4´</TT> from GNU <CODE>gettext</CODE>'s
<TT>`m4/´</TT> directory into a single file. If you have suppressed the
<TT>`intl/´</TT> directory, only <TT>`gettext.m4´</TT>, <TT>`iconv.m4´</TT>,
+<TT>`lib-ld.m4´</TT>, <TT>`lib-link.m4´</TT>, <TT>`lib-prefix.m4´</TT>,
<TT>`progtest.m4´</TT> need to be concatenated.
</P>
Their contents may vary as we get more experience with strange systems
out there.
+</P>
+<P>
+If you are using GNU <CODE>automake</CODE> 1.5 or newer, it is enough to put
+these macro files into a subdirectory named <TT>`m4/´</TT> and add the line
+
+</P>
+
+<PRE>
+ACLOCAL_AMFLAGS = -I m4
+</PRE>
+
+<P>
+to your top level <TT>`Makefile.am´</TT>.
+
</P>
<P>
These macros check for the internationalization support functions
</P>
-<H3><A NAME="SEC180" HREF="gettext_toc.html#TOC180">12.4.7 <TT>`acconfig.h´</TT> at top level</A></H3>
+<H3><A NAME="SEC182" HREF="gettext_toc.html#TOC182">12.4.7 <TT>`acconfig.h´</TT> at top level</A></H3>
+<P>
+<A NAME="IDX863"></A>
+</P>
<P>
Earlier GNU <CODE>gettext</CODE> releases required to put definitions for
<CODE>ENABLE_NLS</CODE>, <CODE>HAVE_GETTEXT</CODE> and <CODE>HAVE_LC_MESSAGES</CODE>,
</P>
-<H3><A NAME="SEC181" HREF="gettext_toc.html#TOC181">12.4.8 <TT>`Makefile.in´</TT> at top level</A></H3>
+<H3><A NAME="SEC183" HREF="gettext_toc.html#TOC183">12.4.8 <TT>`Makefile.in´</TT> at top level</A></H3>
<P>
Here are a few modifications you need to make to your main, top-level
</OL>
+<P>
+Note that if you are using GNU <CODE>automake</CODE>, <TT>`Makefile.in´</TT> is
+automatically generated from <TT>`Makefile.am´</TT>, and all needed changes
+to <TT>`Makefile.am´</TT> are already made by running <SAMP>`gettextize´</SAMP>.
+
+</P>
-<H3><A NAME="SEC182" HREF="gettext_toc.html#TOC182">12.4.9 <TT>`Makefile.in´</TT> in <TT>`src/´</TT></A></H3>
+<H3><A NAME="SEC184" HREF="gettext_toc.html#TOC184">12.4.9 <TT>`Makefile.in´</TT> in <TT>`src/´</TT></A></H3>
<P>
Some of the modifications made in the main <TT>`Makefile.in´</TT> will
-<H3><A NAME="SEC183" HREF="gettext_toc.html#TOC183">12.4.10 <TT>`gettext.h´</TT> in <TT>`lib/´</TT></A></H3>
+<H3><A NAME="SEC185" HREF="gettext_toc.html#TOC185">12.4.10 <TT>`gettext.h´</TT> in <TT>`lib/´</TT></A></H3>
+<P>
+<A NAME="IDX864"></A>
+<A NAME="IDX865"></A>
+<A NAME="IDX866"></A>
+</P>
<P>
Internationalization of packages, as provided by GNU <CODE>gettext</CODE>, is
optional. It can be turned off in two situations:
</P>
<P>
+<A NAME="IDX867"></A>
<TT>`gettext.h´</TT> is a convenience header file for conditional use of
<TT>`<libintl.h>´</TT>, depending on the <CODE>ENABLE_NLS</CODE> macro. If
<CODE>ENABLE_NLS</CODE> is set, it includes <TT>`<libintl.h>´</TT>; otherwise it
</P>
-<H2><A NAME="SEC184" HREF="gettext_toc.html#TOC184">12.5 Autoconf macros for use in <TT>`configure.in´</TT></A></H2>
+<H2><A NAME="SEC186" HREF="gettext_toc.html#TOC186">12.5 Autoconf macros for use in <TT>`configure.in´</TT></A></H2>
+<P>
+<A NAME="IDX868"></A>
+</P>
<P>
GNU <CODE>gettext</CODE> installs macros for use in a package's
<TT>`configure.in´</TT> or <TT>`configure.ac´</TT>.
-<H3><A NAME="SEC185" HREF="gettext_toc.html#TOC185">12.5.1 AM_GNU_GETTEXT in <TT>`gettext.m4´</TT></A></H3>
+<H3><A NAME="SEC187" HREF="gettext_toc.html#TOC187">12.5.1 AM_GNU_GETTEXT in <TT>`gettext.m4´</TT></A></H3>
<P>
+<A NAME="IDX869"></A>
The <CODE>AM_GNU_GETTEXT</CODE> macro tests for the presence of the GNU gettext
function family in either the C library or a separate <CODE>libintl</CODE>
library (shared or static libraries are both supported) or in the package's
<UL>
<LI>
+<A NAME="IDX870"></A>
Some operating systems have <CODE>gettext</CODE> in the C library, for example
glibc. Some have it in a separate library <CODE>libintl</CODE>. GNU <CODE>libintl</CODE>
might have been installed as part of the GNU <CODE>gettext</CODE> package.
-<H3><A NAME="SEC186" HREF="gettext_toc.html#TOC186">12.5.2 AM_ICONV in <TT>`iconv.m4´</TT></A></H3>
+<H3><A NAME="SEC188" HREF="gettext_toc.html#TOC188">12.5.2 AM_ICONV in <TT>`iconv.m4´</TT></A></H3>
<P>
+<A NAME="IDX871"></A>
The <CODE>AM_ICONV</CODE> macro tests for the presence of the POSIX
<CODE>iconv</CODE> function family in either the C library or a separate
<CODE>libiconv</CODE> library. If found, it sets the <CODE>am_cv_func_iconv</CODE>
<UL>
<LI>
+<A NAME="IDX872"></A>
Some operating systems have <CODE>iconv</CODE> in the C library, for example
glibc. Some have it in a separate library <CODE>libiconv</CODE>, for example
OSF/1 or FreeBSD. Regardless of the operating system, GNU <CODE>libiconv</CODE>
</P>
<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_11.html">previous</A>, <A HREF="gettext_13.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_11.html">previous</A>, <A HREF="gettext_13.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - 13 Other Programming Languages</TITLE>
</HEAD>
<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_12.html">previous</A>, <A HREF="gettext_14.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_12.html">previous</A>, <A HREF="gettext_14.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
-<H1><A NAME="SEC187" HREF="gettext_toc.html#TOC187">13 Other Programming Languages</A></H1>
+<H1><A NAME="SEC189" HREF="gettext_toc.html#TOC189">13 Other Programming Languages</A></H1>
<P>
While the presentation of <CODE>gettext</CODE> focuses mostly on C and
-<H2><A NAME="SEC188" HREF="gettext_toc.html#TOC188">13.1 The Language Implementor's View</A></H2>
+<H2><A NAME="SEC190" HREF="gettext_toc.html#TOC190">13.1 The Language Implementor's View</A></H2>
+<P>
+<A NAME="IDX873"></A>
+<A NAME="IDX874"></A>
+</P>
<P>
All programming and scripting languages that have the notion of strings
are eligible to supporting <CODE>gettext</CODE>. Supporting <CODE>gettext</CODE>
<LI>
You may integrate the GNU <CODE>gettext</CODE>'s <TT>`intl/´</TT> directory in
-your package, as described in section <A HREF="gettext_12.html#SEC169">12 The Maintainer's View</A>. This allows you to
+your package, as described in section <A HREF="gettext_12.html#SEC171">12 The Maintainer's View</A>. This allows you to
have internationalization on all kinds of platforms. Note that when you
then distribute your package, it legally falls under the GNU General
Public License, and the GNU project will be glad about your contribution
-<H2><A NAME="SEC189" HREF="gettext_toc.html#TOC189">13.2 The Programmer's View</A></H2>
+<H2><A NAME="SEC191" HREF="gettext_toc.html#TOC191">13.2 The Programmer's View</A></H2>
<P>
For the programmer, the general procedure is the same as for the C
</P>
-<H2><A NAME="SEC190" HREF="gettext_toc.html#TOC190">13.3 The Translator's View</A></H2>
+<H2><A NAME="SEC192" HREF="gettext_toc.html#TOC192">13.3 The Translator's View</A></H2>
<P>
The translator works exactly as in the C language case. The only
</P>
-<H2><A NAME="SEC191" HREF="gettext_toc.html#TOC191">13.4 The Maintainer's View</A></H2>
+<H2><A NAME="SEC193" HREF="gettext_toc.html#TOC193">13.4 The Maintainer's View</A></H2>
<P>
For the maintainer, the general procedure differs from the C language
<LI>
If only a single programming language is used, the <CODE>XGETTEXT_OPTIONS</CODE>
-variable in <TT>`po/Makevars´</TT> (see section <A HREF="gettext_12.html#SEC176">12.4.3 <TT>`Makefile´</TT> pieces in <TT>`po/´</TT></A>) should be adjusted to
+variable in <TT>`po/Makevars´</TT> (see section <A HREF="gettext_12.html#SEC178">12.4.3 <TT>`Makefile´</TT> pieces in <TT>`po/´</TT></A>) should be adjusted to
match the <CODE>xgettext</CODE> options for that particular programming language.
If the package uses more than one programming language with <CODE>gettext</CODE>
support, it becomes necessary to change the POT file construction rule
-<H2><A NAME="SEC192" HREF="gettext_toc.html#TOC192">13.5 Individual Programming Languages</A></H2>
+<H2><A NAME="SEC194" HREF="gettext_toc.html#TOC194">13.5 Individual Programming Languages</A></H2>
-<H3><A NAME="SEC193" HREF="gettext_toc.html#TOC193">13.5.1 C, C++, Objective C</A></H3>
+<H3><A NAME="SEC195" HREF="gettext_toc.html#TOC195">13.5.1 C, C++, Objective C</A></H3>
+<P>
+<A NAME="IDX875"></A>
+</P>
<DL COMPACT>
<DT>RPMs
-<H3><A NAME="SEC194" HREF="gettext_toc.html#TOC194">13.5.2 sh - Shell Script</A></H3>
+<H3><A NAME="SEC196" HREF="gettext_toc.html#TOC196">13.5.2 sh - Shell Script</A></H3>
+<P>
+<A NAME="IDX876"></A>
+</P>
<DL COMPACT>
<DT>RPMs
<DT>gettext/ngettext functions
<DD>
+<A NAME="IDX877"></A>
+<A NAME="IDX878"></A>
<CODE>gettext</CODE>, <CODE>ngettext</CODE> programs
<DT>textdomain
<DD>
+<A NAME="IDX879"></A>
environment variable <CODE>TEXTDOMAIN</CODE>
<DT>bindtextdomain
<DD>
+<A NAME="IDX880"></A>
environment variable <CODE>TEXTDOMAINDIR</CODE>
<DT>setlocale
-<H3><A NAME="SEC195" HREF="gettext_toc.html#TOC195">13.5.3 bash - Bourne-Again Shell Script</A></H3>
+<H3><A NAME="SEC197" HREF="gettext_toc.html#TOC197">13.5.3 bash - Bourne-Again Shell Script</A></H3>
+<P>
+<A NAME="IDX881"></A>
+</P>
<DL COMPACT>
<DT>RPMs
<DT>gettext/ngettext functions
<DD>
+<A NAME="IDX882"></A>
+<A NAME="IDX883"></A>
<CODE>gettext</CODE>, <CODE>ngettext</CODE> programs
<DT>textdomain
<DD>
+<A NAME="IDX884"></A>
environment variable <CODE>TEXTDOMAIN</CODE>
<DT>bindtextdomain
<DD>
+<A NAME="IDX885"></A>
environment variable <CODE>TEXTDOMAINDIR</CODE>
<DT>setlocale
-<H3><A NAME="SEC196" HREF="gettext_toc.html#TOC196">13.5.4 Python</A></H3>
+<H3><A NAME="SEC198" HREF="gettext_toc.html#TOC198">13.5.4 Python</A></H3>
+<P>
+<A NAME="IDX886"></A>
+</P>
<DL COMPACT>
<DT>RPMs
<DT>Extractor
<DD>
-pygettext.py
+<CODE>xgettext</CODE>
<DT>Formatting with positions
<DD>
-<H3><A NAME="SEC197" HREF="gettext_toc.html#TOC197">13.5.5 GNU clisp - Common Lisp</A></H3>
+<H3><A NAME="SEC199" HREF="gettext_toc.html#TOC199">13.5.5 GNU clisp - Common Lisp</A></H3>
+<P>
+<A NAME="IDX887"></A>
+<A NAME="IDX888"></A>
+<A NAME="IDX889"></A>
+</P>
<DL COMPACT>
<DT>RPMs
-<H3><A NAME="SEC198" HREF="gettext_toc.html#TOC198">13.5.6 GNU clisp C sources</A></H3>
+<H3><A NAME="SEC200" HREF="gettext_toc.html#TOC200">13.5.6 GNU clisp C sources</A></H3>
+<P>
+<A NAME="IDX890"></A>
+</P>
<DL COMPACT>
<DT>RPMs
-<H3><A NAME="SEC199" HREF="gettext_toc.html#TOC199">13.5.7 Emacs Lisp</A></H3>
+<H3><A NAME="SEC201" HREF="gettext_toc.html#TOC201">13.5.7 Emacs Lisp</A></H3>
+<P>
+<A NAME="IDX891"></A>
+</P>
<DL COMPACT>
<DT>RPMs
-<H3><A NAME="SEC200" HREF="gettext_toc.html#TOC200">13.5.8 librep</A></H3>
+<H3><A NAME="SEC202" HREF="gettext_toc.html#TOC202">13.5.8 librep</A></H3>
+<P>
+<A NAME="IDX892"></A>
+</P>
<DL COMPACT>
<DT>RPMs
-<H3><A NAME="SEC201" HREF="gettext_toc.html#TOC201">13.5.9 GNU Smalltalk</A></H3>
+<H3><A NAME="SEC203" HREF="gettext_toc.html#TOC203">13.5.9 GNU Smalltalk</A></H3>
+<P>
+<A NAME="IDX893"></A>
+</P>
<DL COMPACT>
<DT>RPMs
-<H3><A NAME="SEC202" HREF="gettext_toc.html#TOC202">13.5.10 Java</A></H3>
+<H3><A NAME="SEC204" HREF="gettext_toc.html#TOC204">13.5.10 Java</A></H3>
+<P>
+<A NAME="IDX894"></A>
+</P>
<DL COMPACT>
<DT>RPMs
This has the advantage of having the <CODE>ngettext</CODE> function for plural
handling.
+<A NAME="IDX895"></A>
To use this API, one needs the <CODE>libintl.jar</CODE> file which is part of
the GNU gettext package and distributed under the LGPL.
</OL>
-<H3><A NAME="SEC203" HREF="gettext_toc.html#TOC203">13.5.11 GNU awk</A></H3>
+<H3><A NAME="SEC205" HREF="gettext_toc.html#TOC205">13.5.11 GNU awk</A></H3>
+<P>
+<A NAME="IDX896"></A>
+<A NAME="IDX897"></A>
+</P>
<DL COMPACT>
<DT>RPMs
<DT>gettext/ngettext functions
<DD>
-<CODE>dcgettext</CODE>
+<CODE>dcgettext</CODE>, missing <CODE>dcngettext</CODE> in gawk-3.1.0
<DT>textdomain
<DD>
<DT>Extractor
<DD>
-<CODE>gawk --gen-po</CODE>
+<CODE>xgettext</CODE>
<DT>Formatting with positions
<DD>
<DT>Portability
<DD>
On platforms without gettext, no translation. On non-GNU awks, you must
-define <CODE>dcgettext</CODE> and <CODE>bindtextdomain</CODE> yourself.
+define <CODE>dcgettext</CODE>, <CODE>dcngettext</CODE> and <CODE>bindtextdomain</CODE>
+yourself.
<DT>po-mode marking
<DD>
-<H3><A NAME="SEC204" HREF="gettext_toc.html#TOC204">13.5.12 Pascal - Free Pascal Compiler</A></H3>
+<H3><A NAME="SEC206" HREF="gettext_toc.html#TOC206">13.5.12 Pascal - Free Pascal Compiler</A></H3>
+<P>
+<A NAME="IDX898"></A>
+<A NAME="IDX899"></A>
+<A NAME="IDX900"></A>
+</P>
<DL COMPACT>
<DT>RPMs
</P>
-<H3><A NAME="SEC205" HREF="gettext_toc.html#TOC205">13.5.13 wxWindows library</A></H3>
+<H3><A NAME="SEC207" HREF="gettext_toc.html#TOC207">13.5.13 wxWindows library</A></H3>
+<P>
+<A NAME="IDX901"></A>
+</P>
<DL COMPACT>
<DT>RPMs
-<H3><A NAME="SEC206" HREF="gettext_toc.html#TOC206">13.5.14 YCP - YaST2 scripting language</A></H3>
+<H3><A NAME="SEC208" HREF="gettext_toc.html#TOC208">13.5.14 YCP - YaST2 scripting language</A></H3>
+<P>
+<A NAME="IDX902"></A>
+<A NAME="IDX903"></A>
+</P>
<DL COMPACT>
<DT>RPMs
-<H3><A NAME="SEC207" HREF="gettext_toc.html#TOC207">13.5.15 Perl</A></H3>
+<H3><A NAME="SEC209" HREF="gettext_toc.html#TOC209">13.5.15 Tcl - Tk's scripting language</A></H3>
+<P>
+<A NAME="IDX904"></A>
+<A NAME="IDX905"></A>
+
+</P>
+<DL COMPACT>
+
+<DT>RPMs
+<DD>
+tcl
+
+<DT>File extension
+<DD>
+<CODE>tcl</CODE>
+
+<DT>String syntax
+<DD>
+<CODE>"abc"</CODE>
+
+<DT>gettext shorthand
+<DD>
+<CODE>[_ "abc"]</CODE>
+
+<DT>gettext/ngettext functions
+<DD>
+<CODE>::msgcat::mc</CODE>
+
+<DT>textdomain
+<DD>
+---
+
+<DT>bindtextdomain
+<DD>
+---, use <CODE>::msgcat::mcload</CODE> instead
+
+<DT>setlocale
+<DD>
+automatic, uses LANG, but ignores LC_MESSAGES and LC_ALL
+
+<DT>Prerequisite
+<DD>
+<CODE>package require msgcat</CODE>
+<BR><CODE>proc _ {s} {return [::msgcat::mc $s]}</CODE>
+
+<DT>Use or emulate GNU gettext
+<DD>
+---, uses a Tcl specific message catalog format
+
+<DT>Extractor
+<DD>
+<CODE>xgettext -k_</CODE>
+
+<DT>Formatting with positions
+<DD>
+<CODE>format "%2\$d %1\$d"</CODE>
+
+<DT>Portability
+<DD>
+fully portable
+
+<DT>po-mode marking
+<DD>
+---
+</DL>
+
+<P>
+Before marking strings as internationalizable, substitutions of variables
+into the string need to be converted to <CODE>format</CODE> applications. For
+example, <CODE>"file $filename not found"</CODE> becomes
+<CODE>[format "file %s not found" $filename]</CODE>.
+Only after this is done, can the strings be marked and extracted.
+After marking, this example becomes
+<CODE>[format [_ "file %s not found"] $filename]</CODE> or
+<CODE>[msgcat::mc "file %s not found" $filename]</CODE>. Note that the
+<CODE>msgcat::mc</CODE> function implicitly calls <CODE>format</CODE> when more than one
+argument is given.
+
+</P>
+
+<H3><A NAME="SEC210" HREF="gettext_toc.html#TOC210">13.5.16 Perl</A></H3>
+<P>
+<A NAME="IDX906"></A>
+
+</P>
<DL COMPACT>
<DT>RPMs
-<H3><A NAME="SEC208" HREF="gettext_toc.html#TOC208">13.5.16 PHP Hypertext Preprocessor</A></H3>
+<H3><A NAME="SEC211" HREF="gettext_toc.html#TOC211">13.5.17 PHP Hypertext Preprocessor</A></H3>
+<P>
+<A NAME="IDX907"></A>
+</P>
<DL COMPACT>
<DT>RPMs
-<H3><A NAME="SEC209" HREF="gettext_toc.html#TOC209">13.5.17 Pike</A></H3>
+<H3><A NAME="SEC212" HREF="gettext_toc.html#TOC212">13.5.18 Pike</A></H3>
+<P>
+<A NAME="IDX908"></A>
+</P>
<DL COMPACT>
<DT>RPMs
-<H2><A NAME="SEC210" HREF="gettext_toc.html#TOC210">13.6 Internationalizable Data</A></H2>
+<H2><A NAME="SEC213" HREF="gettext_toc.html#TOC213">13.6 Internationalizable Data</A></H2>
<P>
Here is a list of other data formats which can be internationalized
-<H3><A NAME="SEC211" HREF="gettext_toc.html#TOC211">13.6.1 POT - Portable Object Template</A></H3>
+<H3><A NAME="SEC214" HREF="gettext_toc.html#TOC214">13.6.1 POT - Portable Object Template</A></H3>
<DL COMPACT>
-<H3><A NAME="SEC212" HREF="gettext_toc.html#TOC212">13.6.2 Resource String Table</A></H3>
+<H3><A NAME="SEC215" HREF="gettext_toc.html#TOC215">13.6.2 Resource String Table</A></H3>
+<P>
+<A NAME="IDX909"></A>
+</P>
<DL COMPACT>
<DT>RPMs
<CODE>xgettext</CODE>, <CODE>rstconv</CODE>
</DL>
+
+
+<H3><A NAME="SEC216" HREF="gettext_toc.html#TOC216">13.6.3 Glade - GNOME user interface description</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
+<DD>
+glade, libglade, xml-i18n-tools
+
+<DT>File extension
+<DD>
+<CODE>glade</CODE>
+
+<DT>Extractor
+<DD>
+<CODE>xgettext</CODE>, <CODE>libglade-xgettext</CODE>
+</DL>
+
<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_12.html">previous</A>, <A HREF="gettext_14.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_12.html">previous</A>, <A HREF="gettext_14.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - 14 Concluding Remarks</TITLE>
</HEAD>
<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_13.html">previous</A>, <A HREF="gettext_15.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_13.html">previous</A>, <A HREF="gettext_15.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
-<H1><A NAME="SEC213" HREF="gettext_toc.html#TOC213">14 Concluding Remarks</A></H1>
+<H1><A NAME="SEC217" HREF="gettext_toc.html#TOC217">14 Concluding Remarks</A></H1>
<P>
We would like to conclude this GNU <CODE>gettext</CODE> manual by presenting
-<H2><A NAME="SEC214" HREF="gettext_toc.html#TOC214">14.1 History of GNU <CODE>gettext</CODE></A></H2>
+<H2><A NAME="SEC218" HREF="gettext_toc.html#TOC218">14.1 History of GNU <CODE>gettext</CODE></A></H2>
+<P>
+<A NAME="IDX910"></A>
+</P>
<P>
Internationalization concerns and algorithms have been informally
and casually discussed for years in GNU, sometimes around GNU
</P>
-<H2><A NAME="SEC215" HREF="gettext_toc.html#TOC215">14.2 Related Readings</A></H2>
+<H2><A NAME="SEC219" HREF="gettext_toc.html#TOC219">14.2 Related Readings</A></H2>
+<P>
+<A NAME="IDX911"></A>
+<A NAME="IDX912"></A>
+</P>
<P>
Eugene H. Dorr (<TT>`dorre@well.com´</TT>) maintains an interesting
bibliography on internationalization matters, called
</P>
<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_13.html">previous</A>, <A HREF="gettext_15.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_13.html">previous</A>, <A HREF="gettext_15.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - A Language Codes</TITLE>
</HEAD>
<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_14.html">previous</A>, <A HREF="gettext_16.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_14.html">previous</A>, <A HREF="gettext_16.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
-<H1><A NAME="SEC216" HREF="gettext_toc.html#TOC216">A Language Codes</A></H1>
+<H1><A NAME="SEC220" HREF="gettext_toc.html#TOC220">A Language Codes</A></H1>
+<P>
+<A NAME="IDX913"></A>
+<A NAME="IDX914"></A>
+</P>
<P>
The ISO 639 standard defines two character codes for many languages.
All abbreviations for languages used in the Translation Project should
</DL>
<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_14.html">previous</A>, <A HREF="gettext_16.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_14.html">previous</A>, <A HREF="gettext_16.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - B Country Codes</TITLE>
</HEAD>
<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_15.html">previous</A>, next, last section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_15.html">previous</A>, <A HREF="gettext_17.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
-<H1><A NAME="SEC217" HREF="gettext_toc.html#TOC217">B Country Codes</A></H1>
+<H1><A NAME="SEC221" HREF="gettext_toc.html#TOC221">B Country Codes</A></H1>
+<P>
+<A NAME="IDX915"></A>
+<A NAME="IDX916"></A>
+</P>
<P>
The ISO 3166 standard defines two character codes for many countries
and territories. All abbreviations for countries used in the Translation
</DL>
<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_15.html">previous</A>, next, last section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_15.html">previous</A>, <A HREF="gettext_17.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - 2 PO Files and PO Mode Basics</TITLE>
</HEAD>
<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_1.html">previous</A>, <A HREF="gettext_3.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_1.html">previous</A>, <A HREF="gettext_3.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
<H2><A NAME="SEC8" HREF="gettext_toc.html#TOC8">2.1 Completing GNU <CODE>gettext</CODE> Installation</A></H2>
<P>
+<A NAME="IDX39"></A>
+<A NAME="IDX40"></A>
Once you have received, unpacked, configured and compiled the GNU
<CODE>gettext</CODE> distribution, the <SAMP>`make install´</SAMP> command puts in
place the programs <CODE>xgettext</CODE>, <CODE>msgfmt</CODE>, <CODE>gettext</CODE>, and
</P>
<P>
+<A NAME="IDX41"></A>
+<A NAME="IDX42"></A>
During the installation of the PO mode, you might want to modify your
file <TT>`.emacs´</TT>, once and for all, so it contains a few lines looking
like:
<H2><A NAME="SEC9" HREF="gettext_toc.html#TOC9">2.2 The Format of PO Files</A></H2>
+<P>
+<A NAME="IDX43"></A>
+<A NAME="IDX44"></A>
+</P>
<P>
A PO file is made up of many entries, each entry holding the relation
between an original untranslated string and its corresponding
</P>
<P>
+<A NAME="IDX45"></A>
+<A NAME="IDX46"></A>
After white space and comments, entries show two strings, namely
first the untranslated string as it appears in the original program
sources, and then, the translation of this string. The original
<DT><KBD>fuzzy</KBD>
<DD>
+<A NAME="IDX47"></A>
This flag can be generated by the <CODE>msgmerge</CODE> program or it can be
inserted by the translator herself. It shows that the <CODE>msgstr</CODE>
string might not be a correct translation (anymore). Only the translator
<DT><KBD>c-format</KBD>
<DD>
+<A NAME="IDX48"></A>
<DT><KBD>no-c-format</KBD>
<DD>
+<A NAME="IDX49"></A>
These flags should not be added by a human. Instead only the
<CODE>xgettext</CODE> program adds them. In an automated PO file processing
system as proposed here the user changes would be thrown away again as
</DL>
<P>
+<A NAME="IDX50"></A>
A different kind of entries is used for translations which involve
plural forms.
</PRE>
<P>
+<A NAME="IDX51"></A>
It happens that some lines, usually whitespace or comments, follow the
very last entry of a PO file. Such lines are not part of any entry,
and PO mode is unable to take action on those lines. By using the
</P>
<P>
+<A NAME="IDX52"></A>
One should carefully distinguish between end of lines marked as
<SAMP>`\n´</SAMP> <EM>inside</EM> quotes, which are part of the represented
string, and end of lines in the PO file itself, outside string quotes,
</P>
<P>
+<A NAME="IDX53"></A>
Outside strings, white lines and comments may be used freely.
Comments start at the beginning of a line with <SAMP>`#´</SAMP> and extend
until the end of the PO file line. Comments written by translators
<H2><A NAME="SEC10" HREF="gettext_toc.html#TOC10">2.3 Main PO mode Commands</A></H2>
<P>
+<A NAME="IDX54"></A>
+<A NAME="IDX55"></A>
After setting up Emacs with something similar to the lines in
section <A HREF="gettext_2.html#SEC8">2.1 Completing GNU <CODE>gettext</CODE> Installation</A>, PO mode is activated for a window when Emacs finds a
PO file in that window. This puts the window read-only and establishes a
<DT><KBD>_</KBD>
<DD>
+<A NAME="IDX56"></A>
Undo last modification to the PO file (<CODE>po-undo</CODE>).
<DT><KBD>Q</KBD>
<DD>
+<A NAME="IDX57"></A>
Quit processing and save the PO file (<CODE>po-quit</CODE>).
<DT><KBD>q</KBD>
<DD>
+<A NAME="IDX58"></A>
Quit processing, possibly after confirmation (<CODE>po-confirm-and-quit</CODE>).
<DT><KBD>0</KBD>
<DD>
+<A NAME="IDX59"></A>
Temporary leave the PO file window (<CODE>po-other-window</CODE>).
<DT><KBD>?</KBD>
<DD>
<DT><KBD>h</KBD>
<DD>
+<A NAME="IDX60"></A>
+<A NAME="IDX61"></A>
Show help about PO mode (<CODE>po-help</CODE>).
<DT><KBD>=</KBD>
<DD>
+<A NAME="IDX62"></A>
Give some PO file statistics (<CODE>po-statistics</CODE>).
<DT><KBD>V</KBD>
<DD>
+<A NAME="IDX63"></A>
Batch validate the format of the whole PO file (<CODE>po-validate</CODE>).
</DL>
<P>
+<A NAME="IDX64"></A>
+<A NAME="IDX65"></A>
The command <KBD>_</KBD> (<CODE>po-undo</CODE>) interfaces to the Emacs
<EM>undo</EM> facility. See section `Undoing Changes' in <CITE>The Emacs Editor</CITE>. Each time <KBD>U</KBD> is typed, modifications which the translator
did to the PO file are undone a little more. For the purpose of
</P>
<P>
+<A NAME="IDX66"></A>
+<A NAME="IDX67"></A>
+<A NAME="IDX68"></A>
+<A NAME="IDX69"></A>
The commands <KBD>Q</KBD> (<CODE>po-quit</CODE>) and <KBD>q</KBD>
(<CODE>po-confirm-and-quit</CODE>) are used when the translator is done with the
PO file. The former is a bit less verbose than the latter. If the file
</P>
<P>
+<A NAME="IDX70"></A>
+<A NAME="IDX71"></A>
The command <KBD>0</KBD> (<CODE>po-other-window</CODE>) is another, softer way,
to leave PO mode, temporarily. It just moves the cursor to some other
Emacs window, and pops one if necessary. For example, if the translator
</P>
<P>
+<A NAME="IDX72"></A>
+<A NAME="IDX73"></A>
+<A NAME="IDX74"></A>
The command <KBD>h</KBD> (<CODE>po-help</CODE>) displays a summary of all available PO
mode commands. The translator should then type any character to resume
normal PO mode operations. The command <KBD>?</KBD> has the same effect
</P>
<P>
+<A NAME="IDX75"></A>
+<A NAME="IDX76"></A>
The command <KBD>=</KBD> (<CODE>po-statistics</CODE>) computes the total number of
entries in the PO file, the ordinal of the current entry (counted from
1), the number of untranslated entries, the number of obsolete entries,
</P>
<P>
+<A NAME="IDX77"></A>
+<A NAME="IDX78"></A>
The command <KBD>V</KBD> (<CODE>po-validate</CODE>) launches <CODE>msgfmt</CODE> in
checking and verbose
mode over the current PO file. This command first offers to save the
</P>
<P>
+<A NAME="IDX79"></A>
The program <CODE>msgfmt</CODE> runs asynchronously with Emacs, so the
translator regains control immediately while her PO file is being studied.
Error output is collected in the Emacs <SAMP>`*compilation*´</SAMP> buffer,
<H2><A NAME="SEC11" HREF="gettext_toc.html#TOC11">2.4 Entry Positioning</A></H2>
<P>
+<A NAME="IDX80"></A>
The cursor in a PO file window is almost always part of
an entry. The only exceptions are the special case when the cursor
is after the last entry in the file, or when the PO file is
</P>
<P>
+<A NAME="IDX81"></A>
Some PO mode commands alter the position of the cursor in a specialized
way. A few of those special purpose positioning are described here,
the others are described in following sections (for a complete list try
<DT><KBD>.</KBD>
<DD>
+<A NAME="IDX82"></A>
Redisplay the current entry (<CODE>po-current-entry</CODE>).
<DT><KBD>n</KBD>
<DD>
+<A NAME="IDX83"></A>
Select the entry after the current one (<CODE>po-next-entry</CODE>).
<DT><KBD>p</KBD>
<DD>
+<A NAME="IDX84"></A>
Select the entry before the current one (<CODE>po-previous-entry</CODE>).
<DT><KBD><</KBD>
<DD>
+<A NAME="IDX85"></A>
Select the first entry in the PO file (<CODE>po-first-entry</CODE>).
<DT><KBD>></KBD>
<DD>
+<A NAME="IDX86"></A>
Select the last entry in the PO file (<CODE>po-last-entry</CODE>).
<DT><KBD>m</KBD>
<DD>
+<A NAME="IDX87"></A>
Record the location of the current entry for later use
(<CODE>po-push-location</CODE>).
<DT><KBD>r</KBD>
<DD>
+<A NAME="IDX88"></A>
Return to a previously saved entry location (<CODE>po-pop-location</CODE>).
<DT><KBD>x</KBD>
<DD>
+<A NAME="IDX89"></A>
Exchange the current entry location with the previously saved one
(<CODE>po-exchange-location</CODE>).
</DL>
<P>
+<A NAME="IDX90"></A>
+<A NAME="IDX91"></A>
Any Emacs command able to reposition the cursor may be used
to select the current entry in PO mode, including commands which
move by characters, lines, paragraphs, screens or pages, and search
</P>
<P>
+<A NAME="IDX92"></A>
+<A NAME="IDX93"></A>
+<A NAME="IDX94"></A>
+<A NAME="IDX95"></A>
The commands <KBD>n</KBD> (<CODE>po-next-entry</CODE>) and <KBD>p</KBD>
(<CODE>po-previous-entry</CODE>) move the cursor the entry following,
or preceding, the current one. If <KBD>n</KBD> is given while the
</P>
<P>
+<A NAME="IDX96"></A>
+<A NAME="IDX97"></A>
+<A NAME="IDX98"></A>
+<A NAME="IDX99"></A>
The commands <KBD><</KBD> (<CODE>po-first-entry</CODE>) and <KBD>></KBD>
(<CODE>po-last-entry</CODE>) move the cursor to the first entry, or last
entry, of the PO file. When the cursor is located past the last
</P>
<P>
+<A NAME="IDX100"></A>
+<A NAME="IDX101"></A>
+<A NAME="IDX102"></A>
+<A NAME="IDX103"></A>
PO mode offers another approach, by which cursor locations may be saved
onto a special stack. The command <KBD>m</KBD> (<CODE>po-push-location</CODE>)
merely adds the location of current entry to the stack, pushing
</P>
<P>
+<A NAME="IDX104"></A>
+<A NAME="IDX105"></A>
The command <KBD>x</KBD> (<CODE>po-exchange-location</CODE>) simultaneously
repositions the cursor to the entry associated with the top element of
the stack of saved locations, and replaces that top element with the
<H2><A NAME="SEC12" HREF="gettext_toc.html#TOC12">2.5 Normalizing Strings in Entries</A></H2>
+<P>
+<A NAME="IDX106"></A>
+</P>
<P>
There are many different ways for encoding a particular string into a
PO file entry, because there are so many different ways to split and
command is available:
</P>
+<P>
+<A NAME="IDX107"></A>
<DL COMPACT>
<DT><KBD>M-x po-normalize</KBD>
<DD>
+<A NAME="IDX108"></A>
Tidy the whole PO file by making entries more uniform.
</DL>
</P>
<P>
+<A NAME="IDX109"></A>
Having such an explicit normalizing command allows for importing PO
files from other sources, but also eases the evolution of the current
convention, evolution driven mostly by aesthetic concerns, as of now.
</P>
<P>
+<A NAME="IDX110"></A>
Right now, in PO mode, strings are single line or multi-line. A string
goes multi-line if and only if it has <EM>embedded</EM> newlines, that
is, if it matches <SAMP>`[^\n]\n+[^\n]´</SAMP>. So, we would have:
</P>
<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_1.html">previous</A>, <A HREF="gettext_3.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_1.html">previous</A>, <A HREF="gettext_3.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - 3 Preparing Program Sources</TITLE>
</HEAD>
<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_2.html">previous</A>, <A HREF="gettext_4.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_2.html">previous</A>, <A HREF="gettext_4.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
<H1><A NAME="SEC13" HREF="gettext_toc.html#TOC13">3 Preparing Program Sources</A></H1>
+<P>
+<A NAME="IDX111"></A>
+
+</P>
<P>
For the programmer, changes to the C source code fall into three
<P>
Presuming that your set of programs, or package, has been adjusted
so all needed GNU <CODE>gettext</CODE> files are available, and your
-<TT>`Makefile´</TT> files are adjusted (see section <A HREF="gettext_12.html#SEC169">12 The Maintainer's View</A>), each C module
+<TT>`Makefile´</TT> files are adjusted (see section <A HREF="gettext_12.html#SEC171">12 The Maintainer's View</A>), each C module
having translated C strings should contain the line:
</P>
+<P>
+<A NAME="IDX112"></A>
<PRE>
#include <libintl.h>
<H2><A NAME="SEC14" HREF="gettext_toc.html#TOC14">3.1 Triggering <CODE>gettext</CODE> Operations</A></H2>
<P>
+<A NAME="IDX113"></A>
The initialization of locale data should be done with more or less
the same code in every program, as demonstrated below:
<P>
<VAR>PACKAGE</VAR> and <VAR>LOCALEDIR</VAR> should be provided either by
<TT>`config.h´</TT> or by the Makefile. For now consult the <CODE>gettext</CODE>
-sources for more information.
+or <CODE>hello</CODE> sources for more information.
</P>
<P>
+<A NAME="IDX114"></A>
+<A NAME="IDX115"></A>
The use of <CODE>LC_ALL</CODE> might not be appropriate for you.
<CODE>LC_ALL</CODE> includes all locale categories and especially
<CODE>LC_CTYPE</CODE>. This later category is responsible for determining
</PRE>
<P>
+<A NAME="IDX116"></A>
+<A NAME="IDX117"></A>
+<A NAME="IDX118"></A>
+<A NAME="IDX119"></A>
+<A NAME="IDX120"></A>
+<A NAME="IDX121"></A>
+<A NAME="IDX122"></A>
On all POSIX conformant systems the locale categories <CODE>LC_CTYPE</CODE>,
<CODE>LC_COLLATE</CODE>, <CODE>LC_MONETARY</CODE>, <CODE>LC_NUMERIC</CODE>, and
<CODE>LC_TIME</CODE> are available. On some modern systems there is also a
<H2><A NAME="SEC15" HREF="gettext_toc.html#TOC15">3.2 How Marks Appear in Sources</A></H2>
+<P>
+<A NAME="IDX123"></A>
+</P>
<P>
All strings requiring translation should be marked in the C sources. Marking
is done in such a way that each translatable string appears to be
</P>
<P>
+<A NAME="IDX124"></A>
Many packages use <SAMP>`_´</SAMP> (a simple underline) as a keyword,
and write <SAMP>`_("Translatable string")´</SAMP> instead of <SAMP>`gettext
("Translatable string")´</SAMP>. Further, the coding rule, from GNU standards,
<H2><A NAME="SEC16" HREF="gettext_toc.html#TOC16">3.3 Marking Translatable Strings</A></H2>
+<P>
+<A NAME="IDX125"></A>
+</P>
<P>
In PO mode, one set of features is meant more for the programmer than
for the translator, and allows him to interactively mark which strings,
</P>
<P>
+<A NAME="IDX126"></A>
The set of program sources, targetted by the PO mode commands describe
here, should have an Emacs tags table constructed for your project,
prior to using these PO file commands. This is easy to do. In any
</P>
<P>
+<A NAME="IDX127"></A>
For packages following the GNU coding standards, there is
a make goal <CODE>tags</CODE> or <CODE>TAGS</CODE> which constructs the tag files in
all directories and for all files containing source code.
<DT><KBD>,</KBD>
<DD>
+<A NAME="IDX128"></A>
Search through program sources for a string which looks like a
candidate for translation (<CODE>po-tags-search</CODE>).
<DT><KBD>M-,</KBD>
<DD>
+<A NAME="IDX129"></A>
Mark the last string found with <SAMP>`_()´</SAMP> (<CODE>po-mark-translatable</CODE>).
<DT><KBD>M-.</KBD>
<DD>
+<A NAME="IDX130"></A>
Mark the last string found with a keyword taken from a set of possible
keywords. This command with a prefix allows some management of these
keywords (<CODE>po-select-mark-and-mark</CODE>).
</DL>
<P>
+<A NAME="IDX131"></A>
The <KBD>,</KBD> (<CODE>po-tags-search</CODE>) command searches for the next
occurrence of a string which looks like a possible candidate for
translation, and displays the program source in another Emacs window,
</P>
<P>
+<A NAME="IDX132"></A>
+<A NAME="IDX133"></A>
The <KBD>M-,</KBD> (<CODE>po-mark-translatable</CODE>) command will mark the
recently found string with the <SAMP>`_´</SAMP> keyword. The <KBD>M-.</KBD>
(<CODE>po-select-mark-and-mark</CODE>) command will request that you type
<H2><A NAME="SEC17" HREF="gettext_toc.html#TOC17">3.4 Special Comments preceding Keywords</A></H2>
<P>
+<A NAME="IDX134"></A>
In C programs strings are often used within calls of functions from the
<CODE>printf</CODE> family. The special thing about these format strings is
that they can contain format specifiers introduced with <KBD>%</KBD>. Assume
</P>
<P>
+<A NAME="IDX135"></A>
+<A NAME="IDX136"></A>
The careful reader now might say that this again can cause problems.
The heuristic might guess it wrong. This is true and therefore
<CODE>xgettext</CODE> knows about special kind of comment which lets
<H2><A NAME="SEC18" HREF="gettext_toc.html#TOC18">3.5 Special Cases of Translatable Strings</A></H2>
<P>
+<A NAME="IDX137"></A>
The attentive reader might now point out that it is not always possible
to mark translatable string with <CODE>gettext</CODE> or something like this.
Consider the following case:
</P>
<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_2.html">previous</A>, <A HREF="gettext_4.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_2.html">previous</A>, <A HREF="gettext_4.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - 4 Making the PO Template File</TITLE>
</HEAD>
<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_3.html">previous</A>, <A HREF="gettext_5.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_3.html">previous</A>, <A HREF="gettext_5.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
<H1><A NAME="SEC19" HREF="gettext_toc.html#TOC19">4 Making the PO Template File</A></H1>
+<P>
+<A NAME="IDX138"></A>
+</P>
<P>
After preparing the sources, the programmer creates a PO template file.
This section explains how to use <CODE>xgettext</CODE> for this purpose.
<H2><A NAME="SEC20" HREF="gettext_toc.html#TOC20">4.1 Invoking the <CODE>xgettext</CODE> Program</A></H2>
+<P>
+<A NAME="IDX139"></A>
+<A NAME="IDX140"></A>
<PRE>
xgettext [<VAR>option</VAR>] [<VAR>inputfile</VAR>] ...
<DD>
<DT><SAMP>`--files-from=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX141"></A>
+<A NAME="IDX142"></A>
Read the names of the input files from <VAR>file</VAR> instead of getting
them from the command line.
<DD>
<DT><SAMP>`--directory=<VAR>directory</VAR>´</SAMP>
<DD>
+<A NAME="IDX143"></A>
+<A NAME="IDX144"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>`.po´</TT>
file will be written relative to the current directory, though.
<DD>
<DT><SAMP>`--default-domain=<VAR>name</VAR>´</SAMP>
<DD>
+<A NAME="IDX145"></A>
+<A NAME="IDX146"></A>
Use <TT>`<VAR>name</VAR>.po´</TT> for output (instead of <TT>`messages.po´</TT>).
<DT><SAMP>`-o <VAR>file</VAR>´</SAMP>
<DD>
<DT><SAMP>`--output=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX147"></A>
+<A NAME="IDX148"></A>
Write output to specified file (instead of <TT>`<VAR>name</VAR>.po´</TT> or
<TT>`messages.po´</TT>).
<DD>
<DT><SAMP>`--output-dir=<VAR>dir</VAR>´</SAMP>
<DD>
+<A NAME="IDX149"></A>
+<A NAME="IDX150"></A>
Output files will be placed in directory <VAR>dir</VAR>.
</DL>
<P>
+<A NAME="IDX151"></A>
If the output <VAR>file</VAR> is <SAMP>`-´</SAMP> or <SAMP>`/dev/stdout´</SAMP>, the output
is written to standard output.
<DD>
<DT><SAMP>`--language=<VAR>name</VAR>´</SAMP>
<DD>
+<A NAME="IDX152"></A>
+<A NAME="IDX153"></A>
+<A NAME="IDX154"></A>
Specifies the language of the input files. The supported languages
-are <CODE>C</CODE>, <CODE>C++</CODE>, <CODE>ObjectiveC</CODE>, <CODE>PO</CODE>, <CODE>Java</CODE>,
-<CODE>YCP</CODE>.
+are <CODE>C</CODE>, <CODE>C++</CODE>, <CODE>ObjectiveC</CODE>, <CODE>PO</CODE>, <CODE>Python</CODE>,
+<CODE>Lisp</CODE>, <CODE>EmacsLisp</CODE>, <CODE>librep</CODE>, <CODE>Java</CODE>, <CODE>awk</CODE>,
+<CODE>YCP</CODE>, <CODE>Tcl</CODE>, <CODE>RST</CODE>, <CODE>Glade</CODE>.
<DT><SAMP>`-C´</SAMP>
<DD>
<DT><SAMP>`--c++´</SAMP>
<DD>
+<A NAME="IDX155"></A>
+<A NAME="IDX156"></A>
This is a shorthand for <CODE>--language=C++</CODE>.
</DL>
<DD>
<DT><SAMP>`--join-existing´</SAMP>
<DD>
+<A NAME="IDX157"></A>
+<A NAME="IDX158"></A>
Join messages with existing file.
<DT><SAMP>`-x <VAR>file</VAR>´</SAMP>
<DD>
<DT><SAMP>`--exclude-file=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX159"></A>
+<A NAME="IDX160"></A>
Entries from <VAR>file</VAR> are not extracted. <VAR>file</VAR> should be a PO or
POT file.
<DD>
<DT><SAMP>`--add-comments[=<VAR>tag</VAR>]´</SAMP>
<DD>
+<A NAME="IDX161"></A>
+<A NAME="IDX162"></A>
Place comment block with <VAR>tag</VAR> (or those preceding keyword lines)
in output file.
<DD>
<DT><SAMP>`--extract-all´</SAMP>
<DD>
+<A NAME="IDX163"></A>
+<A NAME="IDX164"></A>
Extract all strings.
<DT><SAMP>`-k <VAR>keywordspec</VAR>´</SAMP>
<DD>
<DT><SAMP>`--keyword[=<VAR>keywordspec</VAR>]´</SAMP>
<DD>
+<A NAME="IDX165"></A>
+<A NAME="IDX166"></A>
Additional keyword to be looked for (without <VAR>keywordspec</VAR> means not to
use default keywords).
+<A NAME="IDX167"></A>
If <VAR>keywordspec</VAR> is a C identifer <VAR>id</VAR>, <CODE>xgettext</CODE> looks
for strings in the first argument of each call to the function or macro
<VAR>id</VAR>. If <VAR>keywordspec</VAR> is of the form
<DD>
<DT><SAMP>`--trigraphs´</SAMP>
<DD>
+<A NAME="IDX168"></A>
+<A NAME="IDX169"></A>
+<A NAME="IDX170"></A>
Understand ANSI C trigraphs for input.
<DT><SAMP>`--debug´</SAMP>
<DD>
+<A NAME="IDX171"></A>
+<A NAME="IDX172"></A>
Use the flags <KBD>c-format</KBD> and <KBD>possible-c-format</KBD> to show who was
responsible for marking a message as a format string. The latter form is
used if the <CODE>xgettext</CODE> program decided, the format form is used if
<DT><SAMP>`--force-po´</SAMP>
<DD>
+<A NAME="IDX173"></A>
Always write an output file even if no message is defined.
<DT><SAMP>`-i´</SAMP>
<DD>
<DT><SAMP>`--indent´</SAMP>
<DD>
+<A NAME="IDX174"></A>
+<A NAME="IDX175"></A>
Write the .po file using indented style.
<DT><SAMP>`--no-location´</SAMP>
<DD>
+<A NAME="IDX176"></A>
Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines.
<DT><SAMP>`-n´</SAMP>
<DD>
<DT><SAMP>`--add-location´</SAMP>
<DD>
+<A NAME="IDX177"></A>
+<A NAME="IDX178"></A>
Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines (default).
<DT><SAMP>`--strict´</SAMP>
<DD>
+<A NAME="IDX179"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
<DD>
<DT><SAMP>`--width=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX180"></A>
+<A NAME="IDX181"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DD>
<DT><SAMP>`--sort-output´</SAMP>
<DD>
+<A NAME="IDX182"></A>
+<A NAME="IDX183"></A>
+<A NAME="IDX184"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
<DD>
<DT><SAMP>`--sort-by-file´</SAMP>
<DD>
+<A NAME="IDX185"></A>
+<A NAME="IDX186"></A>
Sort output by file location.
<DT><SAMP>`--omit-header´</SAMP>
<DD>
+<A NAME="IDX187"></A>
Don't write header with <SAMP>`msgid ""´</SAMP> entry.
+<A NAME="IDX188"></A>
This is useful for testing purposes because it eliminates a source
of variance for generated <CODE>.gmo</CODE> files. With <CODE>--omit-header</CODE>,
two invocations of <CODE>xgettext</CODE> on the same files with the same
<DT><SAMP>`--copyright-holder=<VAR>string</VAR>´</SAMP>
<DD>
+<A NAME="IDX189"></A>
Set the copyright holder in the output. <VAR>string</VAR> should be the
copyright holder of the surrounding package. (Note that the msgstr
strings, extracted from the package's sources, belong to the copyright
<DT><SAMP>`--foreign-user´</SAMP>
<DD>
+<A NAME="IDX190"></A>
Omit FSF copyright in output. This option is equivalent to
<SAMP>`--copyright-holder="´</SAMP>. It can be useful for packages outside the GNU
project that want their translations to be in the public domain.
<DD>
<DT><SAMP>`--msgstr-prefix[=<VAR>string</VAR>]´</SAMP>
<DD>
+<A NAME="IDX191"></A>
+<A NAME="IDX192"></A>
Use <VAR>string</VAR> (or "" if not specified) as prefix for msgstr entries.
<DT><SAMP>`-M [<VAR>string</VAR>]´</SAMP>
<DD>
<DT><SAMP>`--msgstr-suffix[=<VAR>string</VAR>]´</SAMP>
<DD>
+<A NAME="IDX193"></A>
+<A NAME="IDX194"></A>
Use <VAR>string</VAR> (or "" if not specified) as suffix for msgstr entries.
</DL>
<DD>
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX195"></A>
+<A NAME="IDX196"></A>
Display this help and exit.
<DT><SAMP>`-V´</SAMP>
<DD>
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX197"></A>
+<A NAME="IDX198"></A>
Output version information and exit.
</DL>
<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_3.html">previous</A>, <A HREF="gettext_5.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_3.html">previous</A>, <A HREF="gettext_5.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - 5 Creating a New PO File</TITLE>
</HEAD>
<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_4.html">previous</A>, <A HREF="gettext_6.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_4.html">previous</A>, <A HREF="gettext_6.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
<H1><A NAME="SEC28" HREF="gettext_toc.html#TOC28">5 Creating a New PO File</A></H1>
+<P>
+<A NAME="IDX199"></A>
+</P>
<P>
When starting a new translation, the translator creates a file called
<TT>`<VAR>LANG</VAR>.po´</TT>, as a copy of the <TT>`<VAR>package</VAR>.pot´</TT> template
<H2><A NAME="SEC29" HREF="gettext_toc.html#TOC29">5.1 Invoking the <CODE>msginit</CODE> Program</A></H2>
+<P>
+<A NAME="IDX200"></A>
+<A NAME="IDX201"></A>
<PRE>
msginit [<VAR>option</VAR>]
</PRE>
<P>
+<A NAME="IDX202"></A>
+<A NAME="IDX203"></A>
The <CODE>msginit</CODE> program creates a new PO file, initializing the meta
information with values from the user's environment.
<DD>
<DT><SAMP>`--input=<VAR>inputfile</VAR>´</SAMP>
<DD>
+<A NAME="IDX204"></A>
+<A NAME="IDX205"></A>
Input POT file.
</DL>
<DD>
<DT><SAMP>`--output-file=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX206"></A>
+<A NAME="IDX207"></A>
Write output to specified PO file.
</DL>
<DD>
<DT><SAMP>`--locale=<VAR>ll_CC</VAR>´</SAMP>
<DD>
+<A NAME="IDX208"></A>
+<A NAME="IDX209"></A>
Set target locale. <VAR>ll</VAR> should be a language code, and <VAR>CC</VAR> should
be a country code. The command <SAMP>`locale -a´</SAMP> can be used to output a list
of all installed locales. The default is the user's locale setting.
<DT><SAMP>`--no-translator´</SAMP>
<DD>
+<A NAME="IDX210"></A>
Declares that the PO file will not have a human translator and is instead
automatically generated.
<DD>
<DT><SAMP>`--width=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX211"></A>
+<A NAME="IDX212"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DD>
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX213"></A>
+<A NAME="IDX214"></A>
Display this help and exit.
<DT><SAMP>`-V´</SAMP>
<DD>
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX215"></A>
+<A NAME="IDX216"></A>
Output version information and exit.
</DL>
<H2><A NAME="SEC34" HREF="gettext_toc.html#TOC34">5.2 Filling in the Header Entry</A></H2>
+<P>
+<A NAME="IDX217"></A>
+</P>
<P>
The initial comments "SOME DESCRIPTIVE TITLE", "YEAR" and
"FIRST AUTHOR <EMAIL@ADDRESS>, YEAR" ought to be replaced by sensible
your translation team, not only to make sure you don't do duplicated work,
but also to coordinate difficult linguistic issues.
+<A NAME="IDX218"></A>
In the Free Translation Project, each translation team has its own mailing
list. The up-to-date list of teams can be found at the Free Translation
-Project's homepage, <TT>`http://www.iro.umontreal.ca/contrib/po/HTML/´</TT>,
+Project's homepage, <A HREF="http://www.iro.umontreal.ca/contrib/po/HTML/">http://www.iro.umontreal.ca/contrib/po/HTML/</A>,
in the "National teams" area.
<DT>Content-Type
<DD>
+<A NAME="IDX219"></A>
+<A NAME="IDX220"></A>
Replace <SAMP>`CHARSET´</SAMP> with the character encoding used for your language,
in your locale, or UTF-8. This field is needed for correct operation of the
<CODE>msgmerge</CODE> and <CODE>msgfmt</CODE> programs, as well as for users whose
-locale's character encoding differs from yours (see section <A HREF="gettext_10.html#SEC146">10.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A>).
+locale's character encoding differs from yours (see section <A HREF="gettext_10.html#SEC148">10.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A>).
+<A NAME="IDX221"></A>
You get the character encoding of your locale by running the shell command
<SAMP>`locale charmap´</SAMP>. If the result is <SAMP>`C´</SAMP> or <SAMP>`ANSI_X3.4-1968´</SAMP>,
which is equivalent to <SAMP>`ASCII´</SAMP> (= <SAMP>`US-ASCII´</SAMP>), it means that your
team which charset to use. <SAMP>`ASCII´</SAMP> is not usable for any language
except Latin.
+<A NAME="IDX222"></A>
Because the PO files must be portable to operating systems with less advanced
internationalization facilities, the character encodings that can be used
are limited to those supported by both GNU <CODE>libc</CODE> and GNU
<CODE>BIG5</CODE>, <CODE>BIG5-HKSCS</CODE>, <CODE>GBK</CODE>, <CODE>GB18030</CODE>, <CODE>SHIFT_JIS</CODE>,
<CODE>JOHAB</CODE>, <CODE>TIS-620</CODE>, <CODE>VISCII</CODE>, <CODE>UTF-8</CODE>.
+<A NAME="IDX223"></A>
In the GNU system, the following encodings are frequently used for the
corresponding languages.
+<A NAME="IDX224"></A>
<UL>
<LI><CODE>ISO-8859-1</CODE> for
</UL>
+<A NAME="IDX225"></A>
+<A NAME="IDX226"></A>
When single quote characters or double quote characters are used in
translations for your language, and your locale's encoding is one of the
ISO-8859-* charsets, it is best if you create your PO files in UTF-8
vertical apostrophe and the vertical double quote instead (because that's
what the character set conversion will transliterate them to).
+<A NAME="IDX227"></A>
To enter such quote characters under X11, you can change your keyboard
mapping using the <CODE>xmodmap</CODE> program. The X11 names of the quote
characters are "leftsinglequotemark", "rightsinglequotemark",
<DD>
This field is optional. It is only needed if the PO file has plural forms.
You can find them by searching for the <SAMP>`msgid_plural´</SAMP> keyword. The
-format of the plural forms field is described in section <A HREF="gettext_10.html#SEC147">10.2.5 Additional functions for plural forms</A>.
+format of the plural forms field is described in section <A HREF="gettext_10.html#SEC149">10.2.5 Additional functions for plural forms</A>.
</DL>
<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_4.html">previous</A>, <A HREF="gettext_6.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_4.html">previous</A>, <A HREF="gettext_6.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - 6 Updating Existing PO Files</TITLE>
</HEAD>
<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_5.html">previous</A>, <A HREF="gettext_7.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_5.html">previous</A>, <A HREF="gettext_7.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
<H2><A NAME="SEC36" HREF="gettext_toc.html#TOC36">6.1 Invoking the <CODE>msgmerge</CODE> Program</A></H2>
+<P>
+<A NAME="IDX228"></A>
+<A NAME="IDX229"></A>
<PRE>
msgmerge [<VAR>option</VAR>] <VAR>def</VAR>.po <VAR>ref</VAR>.pot
<DD>
<DT><SAMP>`--directory=<VAR>directory</VAR>´</SAMP>
<DD>
+<A NAME="IDX230"></A>
+<A NAME="IDX231"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>`.po´</TT>
file will be written relative to the current directory, though.
<DD>
<DT><SAMP>`--compendium=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX232"></A>
+<A NAME="IDX233"></A>
Specify an additional library of message translations. See section <A HREF="gettext_6.html#SEC53">6.11 Using Translation Compendia</A>.
This option may be specified more than once.
<DD>
<DT><SAMP>`--update´</SAMP>
<DD>
+<A NAME="IDX234"></A>
+<A NAME="IDX235"></A>
Update <VAR>def</VAR>.po. Do nothing if <VAR>def</VAR>.po is already up to date.
</DL>
<DD>
<DT><SAMP>`--output-file=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX236"></A>
+<A NAME="IDX237"></A>
Write output to specified file.
</DL>
<P>
+<A NAME="IDX238"></A>
The results are written to standard output if no output file is specified
or if it is <SAMP>`-´</SAMP>.
<DT><SAMP>`--backup=<VAR>control</VAR>´</SAMP>
<DD>
+<A NAME="IDX239"></A>
+<A NAME="IDX240"></A>
Make a backup of <VAR>def</VAR>.po
<DT><SAMP>`--suffix=<VAR>suffix</VAR>´</SAMP>
<DD>
+<A NAME="IDX241"></A>
Override the usual backup suffix.
</DL>
<P>
+<A NAME="IDX242"></A>
The version control method may be selected via the <CODE>--backup</CODE> option
or through the <CODE>VERSION_CONTROL</CODE> environment variable. Here are the
values:
<DD>
<DT><SAMP>`--multi-domain´</SAMP>
<DD>
+<A NAME="IDX243"></A>
+<A NAME="IDX244"></A>
Apply <VAR>ref</VAR>.pot to each of the domains in <VAR>def</VAR>.po.
</DL>
<DT><SAMP>`--force-po´</SAMP>
<DD>
+<A NAME="IDX245"></A>
Always write an output file even if it contains no message.
<DT><SAMP>`-i´</SAMP>
<DD>
<DT><SAMP>`--indent´</SAMP>
<DD>
+<A NAME="IDX246"></A>
+<A NAME="IDX247"></A>
Write the .po file using indented style.
<DT><SAMP>`--no-location´</SAMP>
<DD>
+<A NAME="IDX248"></A>
Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines.
<DT><SAMP>`--add-location´</SAMP>
<DD>
+<A NAME="IDX249"></A>
Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines (default).
<DT><SAMP>`--strict´</SAMP>
<DD>
+<A NAME="IDX250"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
<DD>
<DT><SAMP>`--width=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX251"></A>
+<A NAME="IDX252"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DD>
<DT><SAMP>`--sort-output´</SAMP>
<DD>
+<A NAME="IDX253"></A>
+<A NAME="IDX254"></A>
+<A NAME="IDX255"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
<DD>
<DT><SAMP>`--sort-by-file´</SAMP>
<DD>
+<A NAME="IDX256"></A>
+<A NAME="IDX257"></A>
Sort output by file location.
</DL>
<DD>
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX258"></A>
+<A NAME="IDX259"></A>
Display this help and exit.
<DT><SAMP>`-V´</SAMP>
<DD>
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX260"></A>
+<A NAME="IDX261"></A>
Output version information and exit.
<DT><SAMP>`-v´</SAMP>
<DD>
<DT><SAMP>`--verbose´</SAMP>
<DD>
+<A NAME="IDX262"></A>
+<A NAME="IDX263"></A>
Increase verbosity level.
<DT><SAMP>`-q´</SAMP>
<DD>
<DT><SAMP>`--silent´</SAMP>
<DD>
+<A NAME="IDX264"></A>
+<A NAME="IDX265"></A>
+<A NAME="IDX266"></A>
Suppress progress indicators.
</DL>
<H2><A NAME="SEC44" HREF="gettext_toc.html#TOC44">6.2 Translated Entries</A></H2>
+<P>
+<A NAME="IDX267"></A>
+</P>
<P>
Each PO file entry for which the <CODE>msgstr</CODE> field has been filled with
a translation, and which is not marked as fuzzy (see section <A HREF="gettext_6.html#SEC45">6.3 Fuzzy Entries</A>),
-is a said to be a <EM>translated</EM> entry. Only translated entries will
+is said to be a <EM>translated</EM> entry. Only translated entries will
later be compiled by GNU <CODE>msgfmt</CODE> and become usable in programs.
Other entry types will be excluded; translation will not occur for them.
</P>
<P>
+<A NAME="IDX268"></A>
Some commands are more specifically related to translated entry processing.
</P>
<DT><KBD>t</KBD>
<DD>
+<A NAME="IDX269"></A>
Find the next translated entry (<CODE>po-next-translated-entry</CODE>).
<DT><KBD>T</KBD>
<DD>
+<A NAME="IDX270"></A>
Find the previous translated entry (<CODE>po-previous-translated-entry</CODE>).
</DL>
<P>
-The commands <KBD>t</KBD> (<CODE>po-next-translated-entry</CODE>) and <KBD>M-t</KBD>
+<A NAME="IDX271"></A>
+<A NAME="IDX272"></A>
+<A NAME="IDX273"></A>
+<A NAME="IDX274"></A>
+The commands <KBD>t</KBD> (<CODE>po-next-translated-entry</CODE>) and <KBD>T</KBD>
(<CODE>po-previous-translated-entry</CODE>) move forwards or backwards, chasing
for an translated entry. If none is found, the search is extended and
wraps around in the PO file buffer.
</P>
<P>
+<A NAME="IDX275"></A>
Translated entries usually result from the translator having edited in
a translation for them, section <A HREF="gettext_6.html#SEC48">6.6 Modifying Translations</A>. However, if the
variable <CODE>po-auto-fuzzy-on-edit</CODE> is not <CODE>nil</CODE>, the entry having
<H2><A NAME="SEC45" HREF="gettext_toc.html#TOC45">6.3 Fuzzy Entries</A></H2>
+<P>
+<A NAME="IDX276"></A>
+</P>
<P>
+<A NAME="IDX277"></A>
+<A NAME="IDX278"></A>
Each PO file entry may have a set of <EM>attributes</EM>, which are
qualities given a name and explicitely associated with the translation,
using a special system comment. One of these attributes
</P>
<P>
+<A NAME="IDX279"></A>
Also, the translator may decide herself to mark an entry as fuzzy
for her own convenience, when she wants to remember that the entry
has to be later revisited. So, some commands are more specifically
<DT><KBD>z</KBD>
<DD>
+<A NAME="IDX280"></A>
Find the next fuzzy entry (<CODE>po-next-fuzzy-entry</CODE>).
<DT><KBD>Z</KBD>
<DD>
+<A NAME="IDX281"></A>
Find the previous fuzzy entry (<CODE>po-previous-fuzzy-entry</CODE>).
<DT><KBD><KBD>TAB</KBD></KBD>
<DD>
+<A NAME="IDX282"></A>
Remove the fuzzy attribute of the current entry (<CODE>po-unfuzzy</CODE>).
</DL>
<P>
+<A NAME="IDX283"></A>
+<A NAME="IDX284"></A>
+<A NAME="IDX285"></A>
+<A NAME="IDX286"></A>
The commands <KBD>z</KBD> (<CODE>po-next-fuzzy-entry</CODE>) and <KBD>Z</KBD>
(<CODE>po-previous-fuzzy-entry</CODE>) move forwards or backwards, chasing for
a fuzzy entry. If none is found, the search is extended and wraps
</P>
<P>
+<A NAME="IDX287"></A>
+<A NAME="IDX288"></A>
+<A NAME="IDX289"></A>
The command <KBD><KBD>TAB</KBD></KBD> (<CODE>po-unfuzzy</CODE>) removes the fuzzy
attribute associated with an entry, usually leaving it translated.
Further, if the variable <CODE>po-auto-select-on-unfuzzy</CODE> has not
</P>
<P>
+<A NAME="IDX290"></A>
+<A NAME="IDX291"></A>
The translator may also use the <KBD><KBD>DEL</KBD></KBD> command
(<CODE>po-fade-out-entry</CODE>) over any translated entry to mark it as being
fuzzy, when she wants to easily leave a trace she wants to later return
<H2><A NAME="SEC46" HREF="gettext_toc.html#TOC46">6.4 Untranslated Entries</A></H2>
+<P>
+<A NAME="IDX292"></A>
+</P>
<P>
When <CODE>xgettext</CODE> originally creates a PO file, unless told
otherwise, it initializes the <CODE>msgid</CODE> field with the untranslated
</P>
<P>
+<A NAME="IDX293"></A>
The work of the translator might be (quite naively) seen as the process
of seeking for an untranslated entry, editing a translation for
it, and repeating these actions until no untranslated entries remain.
<DT><KBD>u</KBD>
<DD>
+<A NAME="IDX294"></A>
Find the next untranslated entry (<CODE>po-next-untranslated-entry</CODE>).
<DT><KBD>U</KBD>
<DD>
+<A NAME="IDX295"></A>
Find the previous untranslated entry (<CODE>po-previous-untransted-entry</CODE>).
<DT><KBD>k</KBD>
<DD>
+<A NAME="IDX296"></A>
Turn the current entry into an untranslated one (<CODE>po-kill-msgstr</CODE>).
</DL>
<P>
-The commands <KBD>u</KBD> (<CODE>po-next-untranslated-entry</CODE>) and <KBD>M-u</KBD>
+<A NAME="IDX297"></A>
+<A NAME="IDX298"></A>
+<A NAME="IDX299"></A>
+<A NAME="IDX300"></A>
+The commands <KBD>u</KBD> (<CODE>po-next-untranslated-entry</CODE>) and <KBD>U</KBD>
(<CODE>po-previous-untransted-entry</CODE>) move forwards or backwards,
chasing for an untranslated entry. If none is found, the search is
extended and wraps around in the PO file buffer.
</P>
<P>
+<A NAME="IDX301"></A>
+<A NAME="IDX302"></A>
An entry can be turned back into an untranslated entry by
merely emptying its translation, using the command <KBD>k</KBD>
(<CODE>po-kill-msgstr</CODE>). See section <A HREF="gettext_6.html#SEC48">6.6 Modifying Translations</A>.
<H2><A NAME="SEC47" HREF="gettext_toc.html#TOC47">6.5 Obsolete Entries</A></H2>
+<P>
+<A NAME="IDX303"></A>
+</P>
<P>
By <EM>obsolete</EM> PO file entries, we mean those entries which are
commented out, usually by <CODE>msgmerge</CODE> when it found that the
</P>
<P>
+<A NAME="IDX304"></A>
Moreover, some commands are more specifically related to obsolete
entry processing.
<DT><KBD>o</KBD>
<DD>
+<A NAME="IDX305"></A>
Find the next obsolete entry (<CODE>po-next-obsolete-entry</CODE>).
<DT><KBD>O</KBD>
<DD>
+<A NAME="IDX306"></A>
Find the previous obsolete entry (<CODE>po-previous-obsolete-entry</CODE>).
<DT><KBD><KBD>DEL</KBD></KBD>
<DD>
+<A NAME="IDX307"></A>
Make an active entry obsolete, or zap out an obsolete entry
(<CODE>po-fade-out-entry</CODE>).
</DL>
<P>
-The commands <KBD>o</KBD> (<CODE>po-next-obsolete-entry</CODE>) and <KBD>M-o</KBD>
+<A NAME="IDX308"></A>
+<A NAME="IDX309"></A>
+<A NAME="IDX310"></A>
+<A NAME="IDX311"></A>
+The commands <KBD>o</KBD> (<CODE>po-next-obsolete-entry</CODE>) and <KBD>O</KBD>
(<CODE>po-previous-obsolete-entry</CODE>) move forwards or backwards,
chasing for an obsolete entry. If none is found, the search is
extended and wraps around in the PO file buffer.
</P>
<P>
+<A NAME="IDX312"></A>
+<A NAME="IDX313"></A>
+<A NAME="IDX314"></A>
+<A NAME="IDX315"></A>
However, it is possible to comment out an active entry, so making
it obsolete. GNU <CODE>gettext</CODE> utilities will later react to the
disappearance of a translation by using the untranslated string.
<H2><A NAME="SEC48" HREF="gettext_toc.html#TOC48">6.6 Modifying Translations</A></H2>
+<P>
+<A NAME="IDX316"></A>
+<A NAME="IDX317"></A>
+</P>
<P>
PO mode prevents direct modification of the PO file, by the usual
means Emacs gives for altering a buffer's contents. By doing so,
<DT><KBD><KBD>RET</KBD></KBD>
<DD>
+<A NAME="IDX318"></A>
Interactively edit the translation (<CODE>po-edit-msgstr</CODE>).
<DT><KBD><KBD>LFD</KBD></KBD>
<DD>
<DT><KBD>C-j</KBD>
<DD>
+<A NAME="IDX319"></A>
+<A NAME="IDX320"></A>
Reinitialize the translation with the original, untranslated string
(<CODE>po-msgid-to-msgstr</CODE>).
<DT><KBD>k</KBD>
<DD>
+<A NAME="IDX321"></A>
Save the translation on the kill ring, and delete it (<CODE>po-kill-msgstr</CODE>).
<DT><KBD>w</KBD>
<DD>
+<A NAME="IDX322"></A>
Save the translation on the kill ring, without deleting it
(<CODE>po-kill-ring-save-msgstr</CODE>).
<DT><KBD>y</KBD>
<DD>
+<A NAME="IDX323"></A>
Replace the translation, taking the new from the kill ring
(<CODE>po-yank-msgstr</CODE>).
</DL>
<P>
+<A NAME="IDX324"></A>
+<A NAME="IDX325"></A>
The command <KBD><KBD>RET</KBD></KBD> (<CODE>po-edit-msgstr</CODE>) opens a new Emacs
window meant to edit in a new translation, or to modify an already existing
translation. The new window contains a copy of the translation taken from
</P>
<P>
+<A NAME="IDX326"></A>
+<A NAME="IDX327"></A>
+<A NAME="IDX328"></A>
The command <KBD><KBD>LFD</KBD></KBD> (<CODE>po-msgid-to-msgstr</CODE>) initializes, or
reinitializes the translation with the original string. This command is
normally used when the translator wants to redo a fresh translation of
</P>
<P>
+<A NAME="IDX329"></A>
It is possible to arrange so, whenever editing an untranslated
entry, the <KBD><KBD>LFD</KBD></KBD> command be automatically executed. If you set
<CODE>po-auto-edit-with-msgid</CODE> to <CODE>t</CODE>, the translation gets
</P>
<P>
+<A NAME="IDX330"></A>
In fact, whether it is best to start a translation with an empty
string, or rather with a copy of the original string, is a matter of
taste or habit. Sometimes, the source language and the
</P>
<P>
+<A NAME="IDX331"></A>
+<A NAME="IDX332"></A>
+<A NAME="IDX333"></A>
+<A NAME="IDX334"></A>
+<A NAME="IDX335"></A>
The command <KBD>k</KBD> (<CODE>po-kill-msgstr</CODE>) merely empties the
translation string, so turning the entry into an untranslated
one. But while doing so, its previous contents is put apart in
</P>
<P>
+<A NAME="IDX336"></A>
+<A NAME="IDX337"></A>
The command <KBD>y</KBD> (<CODE>po-yank-msgstr</CODE>) completely replaces the
translation of the current entry by a string taken from the kill ring.
Following Emacs terminology, we then say that the replacement
</P>
<P>
+<A NAME="IDX338"></A>
To better illustrate the operation of killing and yanking, let's
use an actual example, taken from a common situation. When the
programmer slightly modifies some string right in the program, his
<H2><A NAME="SEC49" HREF="gettext_toc.html#TOC49">6.7 Modifying Comments</A></H2>
+<P>
+<A NAME="IDX339"></A>
+<A NAME="IDX340"></A>
+</P>
<P>
Any translation work done seriously will raise many linguistic
difficulties, for which decisions have to be made, and the choices
<DT><KBD>#</KBD>
<DD>
+<A NAME="IDX341"></A>
Interactively edit the translator comments (<CODE>po-edit-comment</CODE>).
<DT><KBD>K</KBD>
<DD>
+<A NAME="IDX342"></A>
Save the translator comments on the kill ring, and delete it
(<CODE>po-kill-comment</CODE>).
<DT><KBD>W</KBD>
<DD>
+<A NAME="IDX343"></A>
Save the translator comments on the kill ring, without deleting it
(<CODE>po-kill-ring-save-comment</CODE>).
<DT><KBD>Y</KBD>
<DD>
+<A NAME="IDX344"></A>
Replace the translator comments, taking the new from the kill ring
(<CODE>po-yank-comment</CODE>).
</P>
<P>
+<A NAME="IDX345"></A>
+<A NAME="IDX346"></A>
The command <KBD>#</KBD> (<CODE>po-edit-comment</CODE>) opens a new Emacs window
containing a copy of the translator comments on the current PO file entry.
If there are no such comments, PO mode understands that the translator wants
</P>
<P>
+<A NAME="IDX347"></A>
Functions found on <CODE>po-subedit-mode-hook</CODE>, if any, are executed after
the string has been inserted in the edit buffer.
</P>
<P>
+<A NAME="IDX348"></A>
+<A NAME="IDX349"></A>
+<A NAME="IDX350"></A>
+<A NAME="IDX351"></A>
+<A NAME="IDX352"></A>
+<A NAME="IDX353"></A>
The command <KBD>K</KBD> (<CODE>po-kill-comment</CODE>) gets rid of all
translator comments, while saving those comments on the kill ring.
The command <KBD>W</KBD> (<CODE>po-kill-ring-save-comment</CODE>) takes
<H2><A NAME="SEC50" HREF="gettext_toc.html#TOC50">6.8 Details of Sub Edition</A></H2>
+<P>
+<A NAME="IDX354"></A>
+</P>
<P>
The PO subedit minor mode has a few peculiarities worth being described
in fuller detail. It installs a few commands over the usual editing set
<DT><KBD>C-c C-c</KBD>
<DD>
+<A NAME="IDX355"></A>
Complete edition (<CODE>po-subedit-exit</CODE>).
<DT><KBD>C-c C-k</KBD>
<DD>
+<A NAME="IDX356"></A>
Abort edition (<CODE>po-subedit-abort</CODE>).
<DT><KBD>C-c C-a</KBD>
<DD>
+<A NAME="IDX357"></A>
Consult auxiliary PO files (<CODE>po-subedit-cycle-auxiliary</CODE>).
</DL>
<P>
+<A NAME="IDX358"></A>
+<A NAME="IDX359"></A>
+<A NAME="IDX360"></A>
The window's contents represents a translation for a given message,
or a translator comment. The translator may modify this window to
-her heart's content. Once this done, the command <KBD>C-c C-c</KBD>
+her heart's content. Once this is done, the command <KBD>C-c C-c</KBD>
(<CODE>po-subedit-exit</CODE>) may be used to return the edited translation into
the PO file, replacing the original translation, even if it moved out of
sight or if buffers were switched.
</P>
<P>
+<A NAME="IDX361"></A>
+<A NAME="IDX362"></A>
If the translator becomes unsatisfied with her translation or comment,
to the extent she prefers keeping what was existent prior to the
<KBD><KBD>RET</KBD></KBD> or <KBD>#</KBD> command, she may use the command <KBD>C-c C-k</KBD>
</P>
<P>
+<A NAME="IDX363"></A>
+<A NAME="IDX364"></A>
The command <KBD>C-c C-a</KBD> (<CODE>po-subedit-cycle-auxiliary</CODE>)
allows for glancing through translations
already achieved in other languages, directly while editing the current
</P>
<P>
+<A NAME="IDX365"></A>
When a translation (or a comment) is being edited, the translator may move
the cursor back into the PO file buffer and freely move to other entries,
browsing at will. If, with an edition pending, the translator wanders in the
</P>
<P>
+<A NAME="IDX366"></A>
Pending subedits may be completed or aborted in any order, regardless
of how or when they were started. When many subedits are pending and the
translator asks for quitting the PO file (with the <KBD>q</KBD> command), subedits
<H2><A NAME="SEC51" HREF="gettext_toc.html#TOC51">6.9 C Sources Context</A></H2>
+<P>
+<A NAME="IDX367"></A>
+<A NAME="IDX368"></A>
+<A NAME="IDX369"></A>
+</P>
<P>
PO mode is particularily powerful when used with PO files
created through GNU <CODE>gettext</CODE> utilities, as those utilities
</P>
<P>
+<A NAME="IDX370"></A>
The following commands are meant to help the translator at getting
program source context for a PO file entry.
<DT><KBD>s</KBD>
<DD>
+<A NAME="IDX371"></A>
Resume the display of a program source context, or cycle through them
(<CODE>po-cycle-source-reference</CODE>).
<DT><KBD>M-s</KBD>
<DD>
+<A NAME="IDX372"></A>
Display of a program source context selected by menu
(<CODE>po-select-source-reference</CODE>).
<DT><KBD>S</KBD>
<DD>
+<A NAME="IDX373"></A>
Add a directory to the search path for source files
(<CODE>po-consider-source-path</CODE>).
<DT><KBD>M-S</KBD>
<DD>
+<A NAME="IDX374"></A>
Delete a directory from the search path for source files
(<CODE>po-ignore-source-path</CODE>).
</DL>
<P>
+<A NAME="IDX375"></A>
+<A NAME="IDX376"></A>
+<A NAME="IDX377"></A>
+<A NAME="IDX378"></A>
The commands <KBD>s</KBD> (<CODE>po-cycle-source-reference</CODE>) and <KBD>M-s</KBD>
(<CODE>po-select-source-reference</CODE>) both open another window displaying
some source program file, and already positioned in such a way that
</P>
<P>
+<A NAME="IDX379"></A>
+<A NAME="IDX380"></A>
+<A NAME="IDX381"></A>
+<A NAME="IDX382"></A>
Program source files are usually found relative to where the PO
file stands. As a special provision, when this fails, the file is
also looked for, but relative to the directory immediately above it.
<H2><A NAME="SEC52" HREF="gettext_toc.html#TOC52">6.10 Consulting Auxiliary PO Files</A></H2>
+<P>
+<A NAME="IDX383"></A>
+</P>
<P>
PO mode is able to help the knowledgeable translator, being fluent in
many languages, at taking advantage of translations already achieved
</P>
<P>
+<A NAME="IDX384"></A>
+<A NAME="IDX385"></A>
An <EM>auxiliary</EM> PO file is an existing PO file meant for the same
package the translator is working on, but targeted to a different mother
tongue language. Commands exist for declaring and handling auxiliary
<DT><KBD>a</KBD>
<DD>
+<A NAME="IDX386"></A>
Seek auxiliary files for another translation for the same entry
(<CODE>po-cycle-auxiliary</CODE>).
<DT><KBD>C-c C-a</KBD>
<DD>
+<A NAME="IDX387"></A>
Switch to a particular auxiliary file (<CODE>po-select-auxiliary</CODE>).
<DT><KBD>A</KBD>
<DD>
+<A NAME="IDX388"></A>
Declare this PO file as an auxiliary file (<CODE>po-consider-as-auxiliary</CODE>).
<DT><KBD>M-A</KBD>
<DD>
+<A NAME="IDX389"></A>
Remove this PO file from the list of auxiliary files
(<CODE>po-ignore-as-auxiliary</CODE>).
</DL>
<P>
+<A NAME="IDX390"></A>
+<A NAME="IDX391"></A>
+<A NAME="IDX392"></A>
+<A NAME="IDX393"></A>
Command <KBD>A</KBD> (<CODE>po-consider-as-auxiliary</CODE>) adds the current
PO file to the list of auxiliary files, while command <KBD>M-A</KBD>
(<CODE>po-ignore-as-auxiliary</CODE> just removes it.
</P>
<P>
+<A NAME="IDX394"></A>
+<A NAME="IDX395"></A>
The command <KBD>a</KBD> (<CODE>po-cycle-auxiliary</CODE>) seeks all auxiliary PO
files, round-robin, searching for a translated entry in some other language
having an <CODE>msgid</CODE> field identical as the one for the current entry.
</P>
<P>
+<A NAME="IDX396"></A>
+<A NAME="IDX397"></A>
The command <KBD>C-c C-a</KBD> (<CODE>po-select-auxiliary</CODE>) asks the translator
for her choice of a particular auxiliary file, with completion, and
then switches to that selected PO file. The command also checks if
</P>
<P>
+<A NAME="IDX398"></A>
However, PO files initially created by PO mode itself, while marking
strings in source files, are normalised differently. So are PO
files resulting of the the <SAMP>`M-x normalize´</SAMP> command. Until these
<H2><A NAME="SEC53" HREF="gettext_toc.html#TOC53">6.11 Using Translation Compendia</A></H2>
+<P>
+<A NAME="IDX399"></A>
+</P>
<P>
+<A NAME="IDX400"></A>
A <EM>compendium</EM> is a special PO file containing a set of
translations recurring in many different packages. The translator can
use gettext tools to build a new compendium, to add entries to her
<H3><A NAME="SEC54" HREF="gettext_toc.html#TOC54">6.11.1 Creating Compendia</A></H3>
+<P>
+<A NAME="IDX401"></A>
+<A NAME="IDX402"></A>
+</P>
<P>
Basically every PO file consisting of translated entries only can be
-declared as a valid compendium. Often the translater wants to have
+declared as a valid compendium. Often the translator wants to have
special compendia; let's consider two cases: <CITE>concatenating PO
files</CITE> and <CITE>extracting a message subset from a PO file</CITE>.
<H4><A NAME="SEC55" HREF="gettext_toc.html#TOC55">6.11.1.1 Concatenate PO Files</A></H4>
<P>
+<A NAME="IDX403"></A>
+<A NAME="IDX404"></A>
To concatenate several valid PO files into one compendium file you can
-use @command{msgcomm} or @command{msgcat} (the latter preferred):
+use <SAMP>`msgcomm´</SAMP> or <SAMP>`msgcat´</SAMP> (the latter preferred):
</P>
</PRE>
<P>
-By default, @command{msgcat} will accumulate divergent translations
+By default, <CODE>msgcat</CODE> will accumulate divergent translations
for the same string. Those occurences will be marked as <CODE>fuzzy</CODE>
-and highly visible decorated; calling @command{msgcat} on
+and highly visible decorated; calling <CODE>msgcat</CODE> on
<TT>`file1.po´</TT>:
</P>
<P>
If the translator knows in advance the first found translation of a
message is always the best translation she can make use to the
-@option{--use-first} switch:
+<SAMP>`--use-first´</SAMP> switch:
</P>
<P>
A good compendium file must not contain <CODE>fuzzy</CODE> or untranslated
-entries. If input files are "dirty" you must use the
-@option{--translated-only} switch (FIXME: TBI) or a manual way to pre-
-or postprocess. (FIXME: Handling of obsolete entries at this point?
-Proposal: By default, make them valid entries.
-@option{--no-obsolete-entries}.)
+entries. If input files are "dirty" you must preprocess the input
+files or postprocess the result using <SAMP>`msgattrib --translated --no-fuzzy´</SAMP>.
</P>
<H4><A NAME="SEC56" HREF="gettext_toc.html#TOC56">6.11.1.2 Extract a Message Subset from a PO File</A></H4>
+<P>
+<A NAME="IDX405"></A>
+</P>
<P>
Nobody wants to translate the same messages again and again; thus you
may wish to have a compendium file containing <TT>`getopt.c´</TT> messages.
</P>
<P>
To extract a message subset (e.g., all <TT>`getopt.c´</TT> messages) from an
-existing PO file into one compendium file you can use
-@command{msggrep}:
+existing PO file into one compendium file you can use <SAMP>`msggrep´</SAMP>:
</P>
<H4><A NAME="SEC58" HREF="gettext_toc.html#TOC58">6.11.2.1 Initialize a New Translation File</A></H4>
+<P>
+<A NAME="IDX406"></A>
+</P>
<P>
Since a PO file with translations does not exist the translator can
merely use <TT>`/dev/null´</TT> to fake the "old" translation file.
<H4><A NAME="SEC59" HREF="gettext_toc.html#TOC59">6.11.2.2 Update an Existing Translation File</A></H4>
+<P>
+<A NAME="IDX407"></A>
+</P>
<P>
Concatenate the compendium file(s) and the existing PO, merge the
result with the POT file and remove the obsolete entries (optional,
-here done using @command{sed}):
+here done using <SAMP>`sed´</SAMP>):
</P>
</PRE>
<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_5.html">previous</A>, <A HREF="gettext_7.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_5.html">previous</A>, <A HREF="gettext_7.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - 7 Manipulating PO Files</TITLE>
</HEAD>
<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_6.html">previous</A>, <A HREF="gettext_8.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_6.html">previous</A>, <A HREF="gettext_8.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
<H1><A NAME="SEC60" HREF="gettext_toc.html#TOC60">7 Manipulating PO Files</A></H1>
+<P>
+<A NAME="IDX408"></A>
+</P>
<P>
Sometimes it is necessary to manipulate PO files in a way that is better
performed automatically than by hand. GNU <CODE>gettext</CODE> includes a
</P>
<P>
+<A NAME="IDX409"></A>
When merging two packages into a single package, the resulting POT file
will be the concatenation of the two packages' POT files. Thus the
maintainer must concatenate the two existing package translations into
</P>
<P>
+<A NAME="IDX410"></A>
When a translator takes over the translation job from another translator,
but she uses a different character encoding in her locale, she will
convert the catalog to her character encoding. This is best done through
</P>
<P>
+<A NAME="IDX411"></A>
+<A NAME="IDX412"></A>
When a translator wants to adjust some translation catalog for a special
-dialect or orthography - for example, German as written in Switzerland
-versus German as written in Germany -, she needs to apply some text
+dialect or orthography -- for example, German as written in Switzerland
+versus German as written in Germany -- she needs to apply some text
processing to every message in the catalog. The tool for doing this is
<SAMP>`msgfilter´</SAMP>.
</P>
<P>
+<A NAME="IDX413"></A>
When a translator wants to check her translations, for example according
to orthography rules or using a non-interactive spell checker, she can do
so using the <SAMP>`msgexec´</SAMP> program.
</P>
<P>
+<A NAME="IDX414"></A>
When third party tools create PO or POT files, sometimes duplicates cannot
be avoided. But the GNU <CODE>gettext</CODE> tools give an error when they
encounter duplicate msgids in the same file and in the same domain.
</P>
<P>
+<A NAME="IDX415"></A>
<SAMP>`msgattrib´</SAMP> can be used to select and extract only the fuzzy
or untranslated messages of a translation catalog.
<H2><A NAME="SEC61" HREF="gettext_toc.html#TOC61">7.1 Invoking the <CODE>msgcat</CODE> Program</A></H2>
+<P>
+<A NAME="IDX416"></A>
+<A NAME="IDX417"></A>
<PRE>
msgcat [<VAR>option</VAR>] [<VAR>inputfile</VAR>]...
</PRE>
<P>
+<A NAME="IDX418"></A>
+<A NAME="IDX419"></A>
The <CODE>msgcat</CODE> program concatenates and merges the specified PO files.
It finds messages which are common to two or more of the specified PO files.
By using the <CODE>--more-than</CODE> option, greater commonality may be requested
<DD>
<DT><SAMP>`--files-from=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX420"></A>
+<A NAME="IDX421"></A>
Read the names of the input files from <VAR>file</VAR> instead of getting
them from the command line.
<DD>
<DT><SAMP>`--directory=<VAR>directory</VAR>´</SAMP>
<DD>
+<A NAME="IDX422"></A>
+<A NAME="IDX423"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>`.po´</TT>
file will be written relative to the current directory, though.
<DD>
<DT><SAMP>`--output-file=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX424"></A>
+<A NAME="IDX425"></A>
Write output to specified file.
</DL>
<P>
+<A NAME="IDX426"></A>
The results are written to standard output if no output file is specified
or if it is <SAMP>`-´</SAMP>.
<DD>
<DT><SAMP>`--less-than=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX427"></A>
+<A NAME="IDX428"></A>
Print messages with less than <VAR>number</VAR> definitions, defaults to infinite
if not set.
<DD>
<DT><SAMP>`--more-than=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX429"></A>
+<A NAME="IDX430"></A>
Print messages with more than <VAR>number</VAR> definitions, defaults to 0 if not
set.
<DD>
<DT><SAMP>`--unique´</SAMP>
<DD>
+<A NAME="IDX431"></A>
+<A NAME="IDX432"></A>
Shorthand for <SAMP>`--less-than=2´</SAMP>. Requests that only unique messages be
printed.
<DD>
<DT><SAMP>`--to-code=<VAR>name</VAR>´</SAMP>
<DD>
+<A NAME="IDX433"></A>
+<A NAME="IDX434"></A>
Specify encoding for output.
<DT><SAMP>`--use-first´</SAMP>
<DD>
+<A NAME="IDX435"></A>
Use first available translation for each message. Don't merge several
translations into one.
<DT><SAMP>`--force-po´</SAMP>
<DD>
+<A NAME="IDX436"></A>
Always write an output file even if it contains no message.
<DT><SAMP>`-i´</SAMP>
<DD>
<DT><SAMP>`--indent´</SAMP>
<DD>
+<A NAME="IDX437"></A>
+<A NAME="IDX438"></A>
Write the .po file using indented style.
<DT><SAMP>`--no-location´</SAMP>
<DD>
+<A NAME="IDX439"></A>
Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines.
<DT><SAMP>`-n´</SAMP>
<DD>
<DT><SAMP>`--add-location´</SAMP>
<DD>
+<A NAME="IDX440"></A>
+<A NAME="IDX441"></A>
Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines (default).
<DT><SAMP>`--strict´</SAMP>
<DD>
+<A NAME="IDX442"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
<DD>
<DT><SAMP>`--width=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX443"></A>
+<A NAME="IDX444"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DD>
<DT><SAMP>`--sort-output´</SAMP>
<DD>
+<A NAME="IDX445"></A>
+<A NAME="IDX446"></A>
+<A NAME="IDX447"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
<DD>
<DT><SAMP>`--sort-by-file´</SAMP>
<DD>
+<A NAME="IDX448"></A>
+<A NAME="IDX449"></A>
Sort output by file location.
</DL>
<DD>
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX450"></A>
+<A NAME="IDX451"></A>
Display this help and exit.
<DT><SAMP>`-V´</SAMP>
<DD>
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX452"></A>
+<A NAME="IDX453"></A>
Output version information and exit.
</DL>
<H2><A NAME="SEC67" HREF="gettext_toc.html#TOC67">7.2 Invoking the <CODE>msgconv</CODE> Program</A></H2>
+<P>
+<A NAME="IDX454"></A>
+<A NAME="IDX455"></A>
<PRE>
msgconv [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
</PRE>
<P>
+<A NAME="IDX456"></A>
The <CODE>msgconv</CODE> program converts a translation catalog to a different
character encoding.
<DD>
<DT><SAMP>`--directory=<VAR>directory</VAR>´</SAMP>
<DD>
+<A NAME="IDX457"></A>
+<A NAME="IDX458"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>`.po´</TT>
file will be written relative to the current directory, though.
<DD>
<DT><SAMP>`--output-file=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX459"></A>
+<A NAME="IDX460"></A>
Write output to specified file.
</DL>
<DD>
<DT><SAMP>`--to-code=<VAR>name</VAR>´</SAMP>
<DD>
+<A NAME="IDX461"></A>
+<A NAME="IDX462"></A>
Specify encoding for output.
</DL>
<DT><SAMP>`--force-po´</SAMP>
<DD>
+<A NAME="IDX463"></A>
Always write an output file even if it contains no message.
<DT><SAMP>`-i´</SAMP>
<DD>
<DT><SAMP>`--indent´</SAMP>
<DD>
+<A NAME="IDX464"></A>
+<A NAME="IDX465"></A>
Write the .po file using indented style.
<DT><SAMP>`--no-location´</SAMP>
<DD>
+<A NAME="IDX466"></A>
Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines.
<DT><SAMP>`--add-location´</SAMP>
<DD>
+<A NAME="IDX467"></A>
Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines (default).
<DT><SAMP>`--strict´</SAMP>
<DD>
+<A NAME="IDX468"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
<DD>
<DT><SAMP>`--width=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX469"></A>
+<A NAME="IDX470"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DD>
<DT><SAMP>`--sort-output´</SAMP>
<DD>
+<A NAME="IDX471"></A>
+<A NAME="IDX472"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
<DD>
<DT><SAMP>`--sort-by-file´</SAMP>
<DD>
+<A NAME="IDX473"></A>
+<A NAME="IDX474"></A>
Sort output by file location.
</DL>
<DD>
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX475"></A>
+<A NAME="IDX476"></A>
Display this help and exit.
<DT><SAMP>`-V´</SAMP>
<DD>
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX477"></A>
+<A NAME="IDX478"></A>
Output version information and exit.
</DL>
<H2><A NAME="SEC73" HREF="gettext_toc.html#TOC73">7.3 Invoking the <CODE>msggrep</CODE> Program</A></H2>
+<P>
+<A NAME="IDX479"></A>
+<A NAME="IDX480"></A>
<PRE>
msggrep [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
</PRE>
<P>
+<A NAME="IDX481"></A>
The <CODE>msggrep</CODE> program extracts all messages of a translation catalog
that match a given pattern or belong to some given source files.
<DD>
<DT><SAMP>`--directory=<VAR>directory</VAR>´</SAMP>
<DD>
+<A NAME="IDX482"></A>
+<A NAME="IDX483"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>`.po´</TT>
file will be written relative to the current directory, though.
<DD>
<DT><SAMP>`--output-file=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX484"></A>
+<A NAME="IDX485"></A>
Write output to specified file.
</DL>
<PRE>
- [-N <VAR>sourcefile</VAR>]... [-M <VAR>domainname</VAR>]... [-K <VAR>msgid-pattern</VAR>] [-T <VAR>msgstr-pattern</VAR>]
+ [-N <VAR>sourcefile</VAR>]... [-M <VAR>domainname</VAR>]...
+ [-K <VAR>msgid-pattern</VAR>] [-T <VAR>msgstr-pattern</VAR>] [-C <VAR>comment-pattern</VAR>]
</PRE>
<P>
<VAR>msgid-pattern</VAR>,
<LI>or if <SAMP>`-T´</SAMP> is given and its translation (msgstr) matches
- <VAR>msgstr-pattern</VAR>.
+ <VAR>msgstr-pattern</VAR>,
+<LI>or if <SAMP>`-C´</SAMP> is given and the translator's comment matches
+
+ <VAR>comment-pattern</VAR>.
</UL>
<P>
<DD>
<DT><SAMP>`--location=<VAR>sourcefile</VAR>´</SAMP>
<DD>
+<A NAME="IDX486"></A>
+<A NAME="IDX487"></A>
Select messages extracted from <VAR>sourcefile</VAR>. <VAR>sourcefile</VAR> can be
either a literal file name or a wildcard pattern.
<DD>
<DT><SAMP>`--domain=<VAR>domainname</VAR>´</SAMP>
<DD>
+<A NAME="IDX488"></A>
+<A NAME="IDX489"></A>
Select messages belonging to domain <VAR>domainname</VAR>.
<DT><SAMP>`-K´</SAMP>
<DD>
<DT><SAMP>`--msgid´</SAMP>
<DD>
+<A NAME="IDX490"></A>
+<A NAME="IDX491"></A>
Start of patterns for the msgid.
<DT><SAMP>`-T´</SAMP>
<DD>
<DT><SAMP>`--msgstr´</SAMP>
<DD>
+<A NAME="IDX492"></A>
+<A NAME="IDX493"></A>
Start of patterns for the msgstr.
<DT><SAMP>`-E´</SAMP>
<DD>
<DT><SAMP>`--extended-regexp´</SAMP>
<DD>
+<A NAME="IDX494"></A>
+<A NAME="IDX495"></A>
Specify that <VAR>pattern</VAR> is an extended regular expression.
<DT><SAMP>`-F´</SAMP>
<DD>
<DT><SAMP>`--fixed-strings´</SAMP>
<DD>
+<A NAME="IDX496"></A>
+<A NAME="IDX497"></A>
Specify that <VAR>pattern</VAR> is a set of newline-separated strings.
<DT><SAMP>`-e <VAR>pattern</VAR>´</SAMP>
<DD>
<DT><SAMP>`--regexp=<VAR>pattern</VAR>´</SAMP>
<DD>
+<A NAME="IDX498"></A>
+<A NAME="IDX499"></A>
Use <VAR>pattern</VAR> as a regular expression.
<DT><SAMP>`-f <VAR>file</VAR>´</SAMP>
<DD>
<DT><SAMP>`--file=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX500"></A>
+<A NAME="IDX501"></A>
Obtain <VAR>pattern</VAR> from <VAR>file</VAR>.
<DT><SAMP>`-i´</SAMP>
<DD>
<DT><SAMP>`--ignore-case´</SAMP>
<DD>
+<A NAME="IDX502"></A>
+<A NAME="IDX503"></A>
Ignore case distinctions.
</DL>
<DT><SAMP>`--force-po´</SAMP>
<DD>
+<A NAME="IDX504"></A>
Always write an output file even if it contains no message.
<DT><SAMP>`--indent´</SAMP>
<DD>
+<A NAME="IDX505"></A>
Write the .po file using indented style.
<DT><SAMP>`--no-location´</SAMP>
<DD>
+<A NAME="IDX506"></A>
Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines.
<DT><SAMP>`--add-location´</SAMP>
<DD>
+<A NAME="IDX507"></A>
Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines (default).
<DT><SAMP>`--strict´</SAMP>
<DD>
+<A NAME="IDX508"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
<DD>
<DT><SAMP>`--width=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX509"></A>
+<A NAME="IDX510"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>`--sort-output´</SAMP>
<DD>
+<A NAME="IDX511"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
<DT><SAMP>`--sort-by-file´</SAMP>
<DD>
+<A NAME="IDX512"></A>
Sort output by file location.
</DL>
<DD>
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX513"></A>
+<A NAME="IDX514"></A>
Display this help and exit.
<DT><SAMP>`-V´</SAMP>
<DD>
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX515"></A>
+<A NAME="IDX516"></A>
Output version information and exit.
</DL>
<H2><A NAME="SEC79" HREF="gettext_toc.html#TOC79">7.4 Invoking the <CODE>msgfilter</CODE> Program</A></H2>
+<P>
+<A NAME="IDX517"></A>
+<A NAME="IDX518"></A>
<PRE>
msgfilter [<VAR>option</VAR>] <VAR>filter</VAR> [<VAR>filter-option</VAR>]
</PRE>
<P>
+<A NAME="IDX519"></A>
The <CODE>msgfilter</CODE> program applies a filter to all translations of a
translation catalog.
<DD>
<DT><SAMP>`--input=<VAR>inputfile</VAR>´</SAMP>
<DD>
+<A NAME="IDX520"></A>
+<A NAME="IDX521"></A>
Input PO file.
<DT><SAMP>`-D <VAR>directory</VAR>´</SAMP>
<DD>
<DT><SAMP>`--directory=<VAR>directory</VAR>´</SAMP>
<DD>
+<A NAME="IDX522"></A>
+<A NAME="IDX523"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>`.po´</TT>
file will be written relative to the current directory, though.
<DD>
<DT><SAMP>`--output-file=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX524"></A>
+<A NAME="IDX525"></A>
Write output to specified file.
</DL>
</P>
<P>
+<A NAME="IDX526"></A>
Note: It is your responsibility to ensure that the <VAR>filter</VAR> can cope
with input encoded in the translation catalog's encoding. If the
<VAR>filter</VAR> wants input in a particular encoding, you can in a first step
</P>
<P>
+<A NAME="IDX527"></A>
Note: Most translations in a translation catalog don't end with a newline
character. For this reason, it is important that the <VAR>filter</VAR>
recognizes its last input line even if it ends without a newline, and that
<DD>
<DT><SAMP>`--expression=<VAR>script</VAR>´</SAMP>
<DD>
+<A NAME="IDX528"></A>
+<A NAME="IDX529"></A>
Add <VAR>script</VAR> to the commands to be executed.
<DT><SAMP>`-f <VAR>scriptfile</VAR>´</SAMP>
<DD>
<DT><SAMP>`--file=<VAR>scriptfile</VAR>´</SAMP>
<DD>
+<A NAME="IDX530"></A>
+<A NAME="IDX531"></A>
Add the contents of <VAR>scriptfile</VAR> to the commands to be executed.
<DT><SAMP>`-n´</SAMP>
<DD>
<DT><SAMP>`--silent´</SAMP>
<DD>
+<A NAME="IDX532"></A>
+<A NAME="IDX533"></A>
+<A NAME="IDX534"></A>
Suppress automatic printing of pattern space.
</DL>
<DT><SAMP>`--force-po´</SAMP>
<DD>
+<A NAME="IDX535"></A>
Always write an output file even if it contains no message.
<DT><SAMP>`--indent´</SAMP>
<DD>
+<A NAME="IDX536"></A>
Write the .po file using indented style.
<DT><SAMP>`--keep-header´</SAMP>
<DD>
+<A NAME="IDX537"></A>
Keep the header entry, i.e. the message with <SAMP>`msgid ""´</SAMP>, unmodified,
instead of filtering it. By default, the header entry is subject to
filtering like any other message.
<DT><SAMP>`--no-location´</SAMP>
<DD>
+<A NAME="IDX538"></A>
Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines.
<DT><SAMP>`--add-location´</SAMP>
<DD>
+<A NAME="IDX539"></A>
Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines (default).
<DT><SAMP>`--strict´</SAMP>
<DD>
+<A NAME="IDX540"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
<DD>
<DT><SAMP>`--width=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX541"></A>
+<A NAME="IDX542"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DD>
<DT><SAMP>`--sort-output´</SAMP>
<DD>
+<A NAME="IDX543"></A>
+<A NAME="IDX544"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
<DD>
<DT><SAMP>`--sort-by-file´</SAMP>
<DD>
+<A NAME="IDX545"></A>
+<A NAME="IDX546"></A>
Sort output by file location.
</DL>
<DD>
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX547"></A>
+<A NAME="IDX548"></A>
Display this help and exit.
<DT><SAMP>`-V´</SAMP>
<DD>
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX549"></A>
+<A NAME="IDX550"></A>
Output version information and exit.
</DL>
<H2><A NAME="SEC86" HREF="gettext_toc.html#TOC86">7.5 Invoking the <CODE>msguniq</CODE> Program</A></H2>
+<P>
+<A NAME="IDX551"></A>
+<A NAME="IDX552"></A>
<PRE>
msguniq [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
</PRE>
<P>
+<A NAME="IDX553"></A>
+<A NAME="IDX554"></A>
The <CODE>msguniq</CODE> program unifies duplicate translations in a translation
catalog. It finds duplicate translations of the same message ID. Such
duplicates are invalid input for other programs like <CODE>msgfmt</CODE>,
<DD>
<DT><SAMP>`--directory=<VAR>directory</VAR>´</SAMP>
<DD>
+<A NAME="IDX555"></A>
+<A NAME="IDX556"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>`.po´</TT>
file will be written relative to the current directory, though.
<DD>
<DT><SAMP>`--output-file=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX557"></A>
+<A NAME="IDX558"></A>
Write output to specified file.
</DL>
<DD>
<DT><SAMP>`--repeated´</SAMP>
<DD>
+<A NAME="IDX559"></A>
+<A NAME="IDX560"></A>
Print only duplicates.
<DT><SAMP>`-u´</SAMP>
<DD>
<DT><SAMP>`--unique´</SAMP>
<DD>
+<A NAME="IDX561"></A>
+<A NAME="IDX562"></A>
Print only unique messages, discard duplicates.
</DL>
<DD>
<DT><SAMP>`--to-code=<VAR>name</VAR>´</SAMP>
<DD>
+<A NAME="IDX563"></A>
+<A NAME="IDX564"></A>
Specify encoding for output.
<DT><SAMP>`--use-first´</SAMP>
<DD>
+<A NAME="IDX565"></A>
Use first available translation for each message. Don't merge several
translations into one.
<DT><SAMP>`--force-po´</SAMP>
<DD>
+<A NAME="IDX566"></A>
Always write an output file even if it contains no message.
<DT><SAMP>`-i´</SAMP>
<DD>
<DT><SAMP>`--indent´</SAMP>
<DD>
+<A NAME="IDX567"></A>
+<A NAME="IDX568"></A>
Write the .po file using indented style.
<DT><SAMP>`--no-location´</SAMP>
<DD>
+<A NAME="IDX569"></A>
Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines.
<DT><SAMP>`-n´</SAMP>
<DD>
<DT><SAMP>`--add-location´</SAMP>
<DD>
+<A NAME="IDX570"></A>
+<A NAME="IDX571"></A>
Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines (default).
<DT><SAMP>`--strict´</SAMP>
<DD>
+<A NAME="IDX572"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
<DD>
<DT><SAMP>`--width=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX573"></A>
+<A NAME="IDX574"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DD>
<DT><SAMP>`--sort-output´</SAMP>
<DD>
+<A NAME="IDX575"></A>
+<A NAME="IDX576"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
<DD>
<DT><SAMP>`--sort-by-file´</SAMP>
<DD>
+<A NAME="IDX577"></A>
+<A NAME="IDX578"></A>
Sort output by file location.
</DL>
<DD>
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX579"></A>
+<A NAME="IDX580"></A>
Display this help and exit.
<DT><SAMP>`-V´</SAMP>
<DD>
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX581"></A>
+<A NAME="IDX582"></A>
Output version information and exit.
</DL>
<H2><A NAME="SEC92" HREF="gettext_toc.html#TOC92">7.6 Invoking the <CODE>msgcomm</CODE> Program</A></H2>
+<P>
+<A NAME="IDX583"></A>
+<A NAME="IDX584"></A>
<PRE>
msgcomm [<VAR>option</VAR>] [<VAR>inputfile</VAR>]...
</PRE>
<P>
+<A NAME="IDX585"></A>
The <CODE>msgcomm</CODE> program finds messages which are common to two or more
of the specified PO files.
By using the <CODE>--more-than</CODE> option, greater commonality may be requested
<DD>
<DT><SAMP>`--files-from=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX586"></A>
+<A NAME="IDX587"></A>
Read the names of the input files from <VAR>file</VAR> instead of getting
them from the command line.
<DD>
<DT><SAMP>`--directory=<VAR>directory</VAR>´</SAMP>
<DD>
+<A NAME="IDX588"></A>
+<A NAME="IDX589"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>`.po´</TT>
file will be written relative to the current directory, though.
<DD>
<DT><SAMP>`--output-file=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX590"></A>
+<A NAME="IDX591"></A>
Write output to specified file.
</DL>
<DD>
<DT><SAMP>`--less-than=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX592"></A>
+<A NAME="IDX593"></A>
Print messages with less than <VAR>number</VAR> definitions, defaults to infinite
if not set.
<DD>
<DT><SAMP>`--more-than=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX594"></A>
+<A NAME="IDX595"></A>
Print messages with more than <VAR>number</VAR> definitions, defaults to 1 if not
set.
<DD>
<DT><SAMP>`--unique´</SAMP>
<DD>
+<A NAME="IDX596"></A>
+<A NAME="IDX597"></A>
Shorthand for <SAMP>`--less-than=2´</SAMP>. Requests that only unique messages be
printed.
<DT><SAMP>`--force-po´</SAMP>
<DD>
+<A NAME="IDX598"></A>
Always write an output file even if it contains no message.
<DT><SAMP>`-i´</SAMP>
<DD>
<DT><SAMP>`--indent´</SAMP>
<DD>
+<A NAME="IDX599"></A>
+<A NAME="IDX600"></A>
Write the .po file using indented style.
<DT><SAMP>`--no-location´</SAMP>
<DD>
+<A NAME="IDX601"></A>
Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines.
<DT><SAMP>`-n´</SAMP>
<DD>
<DT><SAMP>`--add-location´</SAMP>
<DD>
+<A NAME="IDX602"></A>
+<A NAME="IDX603"></A>
Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines (default).
<DT><SAMP>`--strict´</SAMP>
<DD>
+<A NAME="IDX604"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
<DD>
<DT><SAMP>`--width=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX605"></A>
+<A NAME="IDX606"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DD>
<DT><SAMP>`--sort-output´</SAMP>
<DD>
+<A NAME="IDX607"></A>
+<A NAME="IDX608"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
<DD>
<DT><SAMP>`--sort-by-file´</SAMP>
<DD>
+<A NAME="IDX609"></A>
+<A NAME="IDX610"></A>
Sort output by file location.
<DT><SAMP>`--omit-header´</SAMP>
<DD>
+<A NAME="IDX611"></A>
Don't write header with <SAMP>`msgid ""´</SAMP> entry.
</DL>
<DD>
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX612"></A>
+<A NAME="IDX613"></A>
Display this help and exit.
<DT><SAMP>`-V´</SAMP>
<DD>
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX614"></A>
+<A NAME="IDX615"></A>
Output version information and exit.
</DL>
<H2><A NAME="SEC98" HREF="gettext_toc.html#TOC98">7.7 Invoking the <CODE>msgcmp</CODE> Program</A></H2>
+<P>
+<A NAME="IDX616"></A>
+<A NAME="IDX617"></A>
<PRE>
msgcmp [<VAR>option</VAR>] <VAR>def</VAR>.po <VAR>ref</VAR>.pot
</PRE>
<P>
+<A NAME="IDX618"></A>
The <CODE>msgcmp</CODE> program compares two Uniforum style .po files to check that
both contain the same set of msgid strings. The <VAR>def</VAR>.po file is an
existing PO file with the translations. The <VAR>ref</VAR>.pot file is the last
<DD>
<DT><SAMP>`--directory=<VAR>directory</VAR>´</SAMP>
<DD>
+<A NAME="IDX619"></A>
+<A NAME="IDX620"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories.
<DD>
<DT><SAMP>`--multi-domain´</SAMP>
<DD>
+<A NAME="IDX621"></A>
+<A NAME="IDX622"></A>
Apply <VAR>ref</VAR>.pot to each of the domains in <VAR>def</VAR>.po.
</DL>
<DD>
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX623"></A>
+<A NAME="IDX624"></A>
Display this help and exit.
<DT><SAMP>`-V´</SAMP>
<DD>
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX625"></A>
+<A NAME="IDX626"></A>
Output version information and exit.
</DL>
<H2><A NAME="SEC102" HREF="gettext_toc.html#TOC102">7.8 Invoking the <CODE>msgattrib</CODE> Program</A></H2>
+<P>
+<A NAME="IDX627"></A>
+<A NAME="IDX628"></A>
<PRE>
msgattrib [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
</PRE>
<P>
+<A NAME="IDX629"></A>
+<A NAME="IDX630"></A>
The <CODE>msgattrib</CODE> program filters the messages of a translation catalog
according to their attributes, and manipulates the attributes.
<DD>
<DT><SAMP>`--directory=<VAR>directory</VAR>´</SAMP>
<DD>
+<A NAME="IDX631"></A>
+<A NAME="IDX632"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>`.po´</TT>
file will be written relative to the current directory, though.
<DD>
<DT><SAMP>`--output-file=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX633"></A>
+<A NAME="IDX634"></A>
Write output to specified file.
</DL>
<DT><SAMP>`--translated´</SAMP>
<DD>
+<A NAME="IDX635"></A>
Keep translated messages, remove untranslated messages.
<DT><SAMP>`--untranslated´</SAMP>
<DD>
+<A NAME="IDX636"></A>
Keep untranslated messages, remove translated messages.
<DT><SAMP>`--no-fuzzy´</SAMP>
<DD>
+<A NAME="IDX637"></A>
Remove `fuzzy' marked messages.
<DT><SAMP>`--only-fuzzy´</SAMP>
<DD>
+<A NAME="IDX638"></A>
Keep `fuzzy' marked messages, remove all other messsages.
<DT><SAMP>`--no-obsolete´</SAMP>
<DD>
+<A NAME="IDX639"></A>
Remove obsolete #~ messages.
<DT><SAMP>`--only-obsolete´</SAMP>
<DD>
+<A NAME="IDX640"></A>
Keep obsolete #~ messages, remove all other messages.
</DL>
<H3><A NAME="SEC106" HREF="gettext_toc.html#TOC106">7.8.4 Attribute manipulation</A></H3>
<P>
+<A NAME="IDX641"></A>
Attributes are modified after the message selection/removal has been
performed.
<DT><SAMP>`--set-fuzzy´</SAMP>
<DD>
+<A NAME="IDX642"></A>
Set all messages `fuzzy'.
<DT><SAMP>`--clear-fuzzy´</SAMP>
<DD>
+<A NAME="IDX643"></A>
Set all messages non-`fuzzy'.
<DT><SAMP>`--set-obsolete´</SAMP>
<DD>
+<A NAME="IDX644"></A>
Set all messages obsolete.
<DT><SAMP>`--clear-obsolete´</SAMP>
<DD>
+<A NAME="IDX645"></A>
Set all messages non-obsolete.
<DT><SAMP>`--fuzzy´</SAMP>
<DD>
+<A NAME="IDX646"></A>
Synonym for <SAMP>`--only-fuzzy --clear-fuzzy´</SAMP>: It keeps only the fuzzy
messages and removes their `fuzzy' mark.
<DT><SAMP>`--obsolete´</SAMP>
<DD>
+<A NAME="IDX647"></A>
Synonym for <SAMP>`--only-obsolete --clear-obsolete´</SAMP>: It keeps only the
obsolete messages and makes them non-obsolete.
<DT><SAMP>`--force-po´</SAMP>
<DD>
+<A NAME="IDX648"></A>
Always write an output file even if it contains no message.
<DT><SAMP>`-i´</SAMP>
<DD>
<DT><SAMP>`--indent´</SAMP>
<DD>
+<A NAME="IDX649"></A>
+<A NAME="IDX650"></A>
Write the .po file using indented style.
<DT><SAMP>`--no-location´</SAMP>
<DD>
+<A NAME="IDX651"></A>
Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines.
<DT><SAMP>`-n´</SAMP>
<DD>
<DT><SAMP>`--add-location´</SAMP>
<DD>
+<A NAME="IDX652"></A>
+<A NAME="IDX653"></A>
Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines (default).
<DT><SAMP>`--strict´</SAMP>
<DD>
+<A NAME="IDX654"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
<DD>
<DT><SAMP>`--width=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX655"></A>
+<A NAME="IDX656"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DD>
<DT><SAMP>`--sort-output´</SAMP>
<DD>
+<A NAME="IDX657"></A>
+<A NAME="IDX658"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
<DD>
<DT><SAMP>`--sort-by-file´</SAMP>
<DD>
+<A NAME="IDX659"></A>
+<A NAME="IDX660"></A>
Sort output by file location.
</DL>
<DD>
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX661"></A>
+<A NAME="IDX662"></A>
Display this help and exit.
<DT><SAMP>`-V´</SAMP>
<DD>
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX663"></A>
+<A NAME="IDX664"></A>
Output version information and exit.
</DL>
<H2><A NAME="SEC109" HREF="gettext_toc.html#TOC109">7.9 Invoking the <CODE>msgen</CODE> Program</A></H2>
+<P>
+<A NAME="IDX665"></A>
+<A NAME="IDX666"></A>
<PRE>
msgen [<VAR>option</VAR>] <VAR>inputfile</VAR>
</PRE>
<P>
+<A NAME="IDX667"></A>
The <CODE>msgen</CODE> program creates an English translation catalog. The
input file is the last created English PO file, or a PO Template file
(generally created by xgettext). Untranslated entries are assigned a
<DD>
<DT><SAMP>`--directory=<VAR>directory</VAR>´</SAMP>
<DD>
+<A NAME="IDX668"></A>
+<A NAME="IDX669"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>`.po´</TT>
file will be written relative to the current directory, though.
<DD>
<DT><SAMP>`--output-file=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX670"></A>
+<A NAME="IDX671"></A>
Write output to specified file.
</DL>
<DT><SAMP>`--force-po´</SAMP>
<DD>
+<A NAME="IDX672"></A>
Always write an output file even if it contains no message.
<DT><SAMP>`-i´</SAMP>
<DD>
<DT><SAMP>`--indent´</SAMP>
<DD>
+<A NAME="IDX673"></A>
+<A NAME="IDX674"></A>
Write the .po file using indented style.
<DT><SAMP>`--no-location´</SAMP>
<DD>
+<A NAME="IDX675"></A>
Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines.
<DT><SAMP>`--add-location´</SAMP>
<DD>
+<A NAME="IDX676"></A>
Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>´</SAMP> lines (default).
<DT><SAMP>`--strict´</SAMP>
<DD>
+<A NAME="IDX677"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
<DD>
<DT><SAMP>`--width=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX678"></A>
+<A NAME="IDX679"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DD>
<DT><SAMP>`--sort-output´</SAMP>
<DD>
+<A NAME="IDX680"></A>
+<A NAME="IDX681"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
<DD>
<DT><SAMP>`--sort-by-file´</SAMP>
<DD>
+<A NAME="IDX682"></A>
+<A NAME="IDX683"></A>
Sort output by file location.
</DL>
<DD>
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX684"></A>
+<A NAME="IDX685"></A>
Display this help and exit.
<DT><SAMP>`-V´</SAMP>
<DD>
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX686"></A>
+<A NAME="IDX687"></A>
Output version information and exit.
</DL>
<H2><A NAME="SEC114" HREF="gettext_toc.html#TOC114">7.10 Invoking the <CODE>msgexec</CODE> Program</A></H2>
+<P>
+<A NAME="IDX688"></A>
+<A NAME="IDX689"></A>
<PRE>
msgexec [<VAR>option</VAR>] <VAR>command</VAR> [<VAR>command-option</VAR>]
</PRE>
<P>
+<A NAME="IDX690"></A>
The <CODE>msgexec</CODE> program applies a command to all translations of a
translation catalog.
The <VAR>command</VAR> can be any program that reads a translation from standard
</P>
<P>
+<A NAME="IDX691"></A>
A special builtin command called <SAMP>`0´</SAMP> outputs the translation, followed
by a null byte. The output of <SAMP>`msgexec 0´</SAMP> is suitable as input for
<SAMP>`xargs -0´</SAMP>.
</P>
<P>
+<A NAME="IDX692"></A>
+<A NAME="IDX693"></A>
During each <VAR>command</VAR> invocation, the environment variable
<CODE>MSGEXEC_MSGID</CODE> is bound to the message's msgid, and the environment
variable <CODE>MSGEXEC_LOCATION</CODE> is bound to the location in the PO file
</P>
<P>
+<A NAME="IDX694"></A>
Note: It is your responsibility to ensure that the <VAR>command</VAR> can cope
with input encoded in the translation catalog's encoding. If the
<VAR>command</VAR> wants input in a particular encoding, you can in a first step
<DD>
<DT><SAMP>`--input=<VAR>inputfile</VAR>´</SAMP>
<DD>
+<A NAME="IDX695"></A>
+<A NAME="IDX696"></A>
Input PO file.
<DT><SAMP>`-D <VAR>directory</VAR>´</SAMP>
<DD>
<DT><SAMP>`--directory=<VAR>directory</VAR>´</SAMP>
<DD>
+<A NAME="IDX697"></A>
+<A NAME="IDX698"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>`.po´</TT>
file will be written relative to the current directory, though.
<DD>
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX699"></A>
+<A NAME="IDX700"></A>
Display this help and exit.
<DT><SAMP>`-V´</SAMP>
<DD>
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX701"></A>
+<A NAME="IDX702"></A>
Output version information and exit.
</DL>
<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_6.html">previous</A>, <A HREF="gettext_8.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_6.html">previous</A>, <A HREF="gettext_8.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - 8 Producing Binary MO Files</TITLE>
</HEAD>
<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_7.html">previous</A>, <A HREF="gettext_9.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_7.html">previous</A>, <A HREF="gettext_9.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
<H2><A NAME="SEC118" HREF="gettext_toc.html#TOC118">8.1 Invoking the <CODE>msgfmt</CODE> Program</A></H2>
+<P>
+<A NAME="IDX703"></A>
+<A NAME="IDX704"></A>
<PRE>
msgfmt [<VAR>option</VAR>] <VAR>filename</VAR>.po ...
</PRE>
<P>
+<A NAME="IDX705"></A>
The <CODE>msgfmt</CODE> programs generates a binary message catalog from a textual
translation description.
<DD>
<DT><SAMP>`--directory=<VAR>directory</VAR>´</SAMP>
<DD>
+<A NAME="IDX706"></A>
+<A NAME="IDX707"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>`.po´</TT>
file will be written relative to the current directory, though.
<DD>
<DT><SAMP>`--java´</SAMP>
<DD>
+<A NAME="IDX708"></A>
+<A NAME="IDX709"></A>
+<A NAME="IDX710"></A>
Java mode: generate a Java <CODE>ResourceBundle</CODE> class.
<DT><SAMP>`--java2´</SAMP>
<DD>
+<A NAME="IDX711"></A>
Like --java, and assume Java2 (JDK 1.2 or higher).
+<DT><SAMP>`--tcl´</SAMP>
+<DD>
+<A NAME="IDX712"></A>
+<A NAME="IDX713"></A>
+Tcl mode: generate a tcl/msgcat <TT>`.msg´</TT> file.
+
</DL>
<DD>
<DT><SAMP>`--output-file=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX714"></A>
+<A NAME="IDX715"></A>
Write output to specified file.
<DT><SAMP>`--strict´</SAMP>
<DD>
+<A NAME="IDX716"></A>
Direct the program to work strictly following the Uniforum/Sun
implementation. Currently this only affects the naming of the output
file. If this option is not given the name of the output file is the
<DD>
<DT><SAMP>`--resource=<VAR>resource</VAR>´</SAMP>
<DD>
+<A NAME="IDX717"></A>
+<A NAME="IDX718"></A>
Specify the resource name.
<DT><SAMP>`-l <VAR>locale</VAR>´</SAMP>
<DD>
<DT><SAMP>`--locale=<VAR>locale</VAR>´</SAMP>
<DD>
+<A NAME="IDX719"></A>
+<A NAME="IDX720"></A>
Specify the locale name, either a language specification of the form <VAR>ll</VAR>
or a combined language and country specification of the form <VAR>ll_CC</VAR>.
<DT><SAMP>`-d <VAR>directory</VAR>´</SAMP>
<DD>
+<A NAME="IDX721"></A>
Specify the base directory of classes directory hierarchy.
</DL>
</P>
-<H3><A NAME="SEC123" HREF="gettext_toc.html#TOC123">8.1.5 Input file interpretation</A></H3>
+<H3><A NAME="SEC123" HREF="gettext_toc.html#TOC123">8.1.5 Output file location in Tcl mode</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-l <VAR>locale</VAR>´</SAMP>
+<DD>
+<DT><SAMP>`--locale=<VAR>locale</VAR>´</SAMP>
+<DD>
+<A NAME="IDX722"></A>
+<A NAME="IDX723"></A>
+Specify the locale name, either a language specification of the form <VAR>ll</VAR>
+or a combined language and country specification of the form <VAR>ll_CC</VAR>.
+
+<DT><SAMP>`-d <VAR>directory</VAR>´</SAMP>
+<DD>
+<A NAME="IDX724"></A>
+Specify the base directory of <TT>`.msg´</TT> message catalogs.
+
+</DL>
+
+<P>
+The <SAMP>`-l´</SAMP> and <SAMP>`-d´</SAMP> options are mandatory. The <TT>`.msg´</TT> file is
+written in the specified directory.
+
+</P>
+
+
+<H3><A NAME="SEC124" HREF="gettext_toc.html#TOC124">8.1.6 Input file interpretation</A></H3>
<DL COMPACT>
<DD>
<DT><SAMP>`--check´</SAMP>
<DD>
+<A NAME="IDX725"></A>
+<A NAME="IDX726"></A>
Perform all the checks implied by <CODE>--check-format</CODE>, <CODE>--check-header</CODE>,
<CODE>--check-domain</CODE>.
<DT><SAMP>`--check-format´</SAMP>
<DD>
+<A NAME="IDX727"></A>
+<A NAME="IDX728"></A>
Check language dependent format strings.
If the string represents a format string used in a
<DT><SAMP>`--check-header´</SAMP>
<DD>
+<A NAME="IDX729"></A>
Verify presence and contents of the header entry. See section <A HREF="gettext_5.html#SEC34">5.2 Filling in the Header Entry</A>,
for a description of the various fields in the header entry.
<DT><SAMP>`--check-domain´</SAMP>
<DD>
+<A NAME="IDX730"></A>
Check for conflicts between domain directives and the <CODE>--output-file</CODE>
option
<DD>
<DT><SAMP>`--check-compatibility´</SAMP>
<DD>
+<A NAME="IDX731"></A>
+<A NAME="IDX732"></A>
+<A NAME="IDX733"></A>
Check that GNU msgfmt behaves like X/Open msgfmt. This will give an error
when attempting to use the GNU extensions.
<DT><SAMP>`--check-accelerators[=<VAR>char</VAR>]´</SAMP>
<DD>
+<A NAME="IDX734"></A>
+<A NAME="IDX735"></A>
+<A NAME="IDX736"></A>
+<A NAME="IDX737"></A>
Check presence of keyboard accelerators for menu items. This is based on
the convention used in some GUIs that a keyboard accelerator in a menu
item string is designated by an immediately preceding <SAMP>`&´</SAMP> character.
<DD>
<DT><SAMP>`--use-fuzzy´</SAMP>
<DD>
+<A NAME="IDX738"></A>
+<A NAME="IDX739"></A>
+<A NAME="IDX740"></A>
Use fuzzy entries in output. Note that using this option is usually wrong,
because fuzzy messages are exactly those which have not been validated by
a human translator.
-<H3><A NAME="SEC124" HREF="gettext_toc.html#TOC124">8.1.6 Output details</A></H3>
+<H3><A NAME="SEC125" HREF="gettext_toc.html#TOC125">8.1.7 Output details</A></H3>
<DL COMPACT>
<DD>
<DT><SAMP>`--alignment=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX741"></A>
+<A NAME="IDX742"></A>
Align strings to <VAR>number</VAR> bytes (default: 1).
<DT><SAMP>`--no-hash´</SAMP>
<DD>
+<A NAME="IDX743"></A>
Don't include a hash table in the binary file. Lookup will be more expensive
at run time (binary search instead of hash table lookup).
-<H3><A NAME="SEC125" HREF="gettext_toc.html#TOC125">8.1.7 Informative output</A></H3>
+<H3><A NAME="SEC126" HREF="gettext_toc.html#TOC126">8.1.8 Informative output</A></H3>
<DL COMPACT>
<DD>
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX744"></A>
+<A NAME="IDX745"></A>
Display this help and exit.
<DT><SAMP>`-V´</SAMP>
<DD>
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX746"></A>
+<A NAME="IDX747"></A>
Output version information and exit.
<DT><SAMP>`--statistics´</SAMP>
<DD>
+<A NAME="IDX748"></A>
Print statistics about translations.
<DT><SAMP>`-v´</SAMP>
<DD>
<DT><SAMP>`--verbose´</SAMP>
<DD>
+<A NAME="IDX749"></A>
+<A NAME="IDX750"></A>
Increase verbosity level.
</DL>
-<H2><A NAME="SEC126" HREF="gettext_toc.html#TOC126">8.2 Invoking the <CODE>msgunfmt</CODE> Program</A></H2>
+<H2><A NAME="SEC127" HREF="gettext_toc.html#TOC127">8.2 Invoking the <CODE>msgunfmt</CODE> Program</A></H2>
+<P>
+<A NAME="IDX751"></A>
+<A NAME="IDX752"></A>
<PRE>
msgunfmt [<VAR>option</VAR>] [<VAR>file</VAR>]...
</PRE>
<P>
+<A NAME="IDX753"></A>
The <CODE>msgunfmt</CODE> program converts a binary message catalog to a
Uniforum style .po file.
</P>
-<H3><A NAME="SEC127" HREF="gettext_toc.html#TOC127">8.2.1 Operation mode</A></H3>
+<H3><A NAME="SEC128" HREF="gettext_toc.html#TOC128">8.2.1 Operation mode</A></H3>
<DL COMPACT>
<DD>
<DT><SAMP>`--java´</SAMP>
<DD>
-Java mode: generate a Java <CODE>ResourceBundle</CODE> class.
+<A NAME="IDX754"></A>
+<A NAME="IDX755"></A>
+<A NAME="IDX756"></A>
+Java mode: input is a Java <CODE>ResourceBundle</CODE> class.
+
+<DT><SAMP>`--tcl´</SAMP>
+<DD>
+<A NAME="IDX757"></A>
+<A NAME="IDX758"></A>
+Tcl mode: input is a tcl/msgcat <TT>`.msg´</TT> file.
</DL>
-<H3><A NAME="SEC128" HREF="gettext_toc.html#TOC128">8.2.2 Input file location</A></H3>
+<H3><A NAME="SEC129" HREF="gettext_toc.html#TOC129">8.2.2 Input file location</A></H3>
<DL COMPACT>
</P>
-<H3><A NAME="SEC129" HREF="gettext_toc.html#TOC129">8.2.3 Input file location in Java mode</A></H3>
+<H3><A NAME="SEC130" HREF="gettext_toc.html#TOC130">8.2.3 Input file location in Java mode</A></H3>
<DL COMPACT>
<DD>
<DT><SAMP>`--resource=<VAR>resource</VAR>´</SAMP>
<DD>
+<A NAME="IDX759"></A>
+<A NAME="IDX760"></A>
Specify the resource name.
<DT><SAMP>`-l <VAR>locale</VAR>´</SAMP>
<DD>
<DT><SAMP>`--locale=<VAR>locale</VAR>´</SAMP>
<DD>
+<A NAME="IDX761"></A>
+<A NAME="IDX762"></A>
Specify the locale name, either a language specification of the form <VAR>ll</VAR>
or a combined language and country specification of the form <VAR>ll_CC</VAR>.
</P>
-<H3><A NAME="SEC130" HREF="gettext_toc.html#TOC130">8.2.4 Output file location</A></H3>
+<H3><A NAME="SEC131" HREF="gettext_toc.html#TOC131">8.2.4 Input file location in Tcl mode</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-l <VAR>locale</VAR>´</SAMP>
+<DD>
+<DT><SAMP>`--locale=<VAR>locale</VAR>´</SAMP>
+<DD>
+<A NAME="IDX763"></A>
+<A NAME="IDX764"></A>
+Specify the locale name, either a language specification of the form <VAR>ll</VAR>
+or a combined language and country specification of the form <VAR>ll_CC</VAR>.
+
+<DT><SAMP>`-d <VAR>directory</VAR>´</SAMP>
+<DD>
+<A NAME="IDX765"></A>
+Specify the base directory of <TT>`.msg´</TT> message catalogs.
+
+</DL>
+
+<P>
+The <SAMP>`-l´</SAMP> and <SAMP>`-d´</SAMP> options are mandatory. The <TT>`.msg´</TT> file is
+located in the specified directory.
+
+</P>
+
+
+<H3><A NAME="SEC132" HREF="gettext_toc.html#TOC132">8.2.5 Output file location</A></H3>
<DL COMPACT>
<DD>
<DT><SAMP>`--output-file=<VAR>file</VAR>´</SAMP>
<DD>
+<A NAME="IDX766"></A>
+<A NAME="IDX767"></A>
Write output to specified file.
</DL>
</P>
-<H3><A NAME="SEC131" HREF="gettext_toc.html#TOC131">8.2.5 Output details</A></H3>
+<H3><A NAME="SEC133" HREF="gettext_toc.html#TOC133">8.2.6 Output details</A></H3>
<DL COMPACT>
<DT><SAMP>`--force-po´</SAMP>
<DD>
+<A NAME="IDX768"></A>
Always write an output file even if it contains no message.
<DT><SAMP>`-i´</SAMP>
<DD>
<DT><SAMP>`--indent´</SAMP>
<DD>
+<A NAME="IDX769"></A>
+<A NAME="IDX770"></A>
Write the .po file using indented style.
<DT><SAMP>`--strict´</SAMP>
<DD>
+<A NAME="IDX771"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
<DD>
<DT><SAMP>`--width=<VAR>number</VAR>´</SAMP>
<DD>
+<A NAME="IDX772"></A>
+<A NAME="IDX773"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DD>
<DT><SAMP>`--sort-output´</SAMP>
<DD>
+<A NAME="IDX774"></A>
+<A NAME="IDX775"></A>
+<A NAME="IDX776"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
-<H3><A NAME="SEC132" HREF="gettext_toc.html#TOC132">8.2.6 Informative output</A></H3>
+<H3><A NAME="SEC134" HREF="gettext_toc.html#TOC134">8.2.7 Informative output</A></H3>
<DL COMPACT>
<DD>
<DT><SAMP>`--help´</SAMP>
<DD>
+<A NAME="IDX777"></A>
+<A NAME="IDX778"></A>
Display this help and exit.
<DT><SAMP>`-V´</SAMP>
<DD>
<DT><SAMP>`--version´</SAMP>
<DD>
+<A NAME="IDX779"></A>
+<A NAME="IDX780"></A>
Output version information and exit.
<DT><SAMP>`-v´</SAMP>
<DD>
<DT><SAMP>`--verbose´</SAMP>
<DD>
+<A NAME="IDX781"></A>
+<A NAME="IDX782"></A>
Increase verbosity level.
</DL>
-<H2><A NAME="SEC133" HREF="gettext_toc.html#TOC133">8.3 The Format of GNU MO Files</A></H2>
+<H2><A NAME="SEC135" HREF="gettext_toc.html#TOC135">8.3 The Format of GNU MO Files</A></H2>
+<P>
+<A NAME="IDX783"></A>
+<A NAME="IDX784"></A>
+</P>
<P>
The format of the generated MO files is best described by a picture,
which appears below.
</P>
<P>
+<A NAME="IDX785"></A>
The first two words serve the identification of the file. The magic
number will always signal GNU MO files. The number is stored in the
byte order of the generating machine, so the magic number really is
</P>
<P>
+<A NAME="IDX786"></A>
The size <VAR>S</VAR> of the hash table can be zero. In this case, the
hash table itself is not contained in the MO file. Some people might
prefer this because a precomputed hashing table takes disk space, and
</P>
<P>
+<A NAME="IDX787"></A>
Plural forms are stored by letting the plural of the original string
follow the singular of the original string, separated through a
<KBD>NUL</KBD> byte. The length which appears in the string descriptor
</PRE>
<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_7.html">previous</A>, <A HREF="gettext_9.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_7.html">previous</A>, <A HREF="gettext_9.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - 9 The User's View</TITLE>
</HEAD>
<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous</A>, <A HREF="gettext_10.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous</A>, <A HREF="gettext_10.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
<P><HR><P>
-<H1><A NAME="SEC134" HREF="gettext_toc.html#TOC134">9 The User's View</A></H1>
+<H1><A NAME="SEC136" HREF="gettext_toc.html#TOC136">9 The User's View</A></H1>
<P>
When GNU <CODE>gettext</CODE> will truly have reached its goal, average users
-<H2><A NAME="SEC135" HREF="gettext_toc.html#TOC135">9.1 The Current <TT>`ABOUT-NLS´</TT> Matrix</A></H2>
+<H2><A NAME="SEC137" HREF="gettext_toc.html#TOC137">9.1 The Current <TT>`ABOUT-NLS´</TT> Matrix</A></H2>
+<P>
+<A NAME="IDX788"></A>
+<A NAME="IDX789"></A>
+<A NAME="IDX790"></A>
+</P>
<P>
Languages are not equally supported in all packages using GNU
<CODE>gettext</CODE>. To know if some package uses GNU <CODE>gettext</CODE>, one
some <TT>`<VAR>ll</VAR>.po´</TT> files, often kept together into some <TT>`po/´</TT>
directory, or for an <TT>`intl/´</TT> directory. Internationalized packages
have usually many <TT>`<VAR>ll</VAR>.po´</TT> files, where <VAR>ll</VAR> represents
-the language. section <A HREF="gettext_9.html#SEC137">9.3 Magic for End Users</A> for a complete description of the format
+the language. section <A HREF="gettext_9.html#SEC139">9.3 Magic for End Users</A> for a complete description of the format
for <VAR>ll</VAR>.
</P>
</P>
-<H2><A NAME="SEC136" HREF="gettext_toc.html#TOC136">9.2 Magic for Installers</A></H2>
+<H2><A NAME="SEC138" HREF="gettext_toc.html#TOC138">9.2 Magic for Installers</A></H2>
+<P>
+<A NAME="IDX791"></A>
+<A NAME="IDX792"></A>
+</P>
<P>
By default, packages fully using GNU <CODE>gettext</CODE>, internally,
are installed in such a way that they to allow translation of
</P>
<P>
+<A NAME="IDX793"></A>
Internationalized packages have usually many <TT>`<VAR>ll</VAR>.po´</TT>
files. Unless
translations are disabled, all those available are installed together
</P>
-<H2><A NAME="SEC137" HREF="gettext_toc.html#TOC137">9.3 Magic for End Users</A></H2>
+<H2><A NAME="SEC139" HREF="gettext_toc.html#TOC139">9.3 Magic for End Users</A></H2>
+<P>
+<A NAME="IDX794"></A>
+<A NAME="IDX795"></A>
+<A NAME="IDX796"></A>
+</P>
<P>
+<A NAME="IDX797"></A>
We consider here those packages using GNU <CODE>gettext</CODE> internally,
and for which the installers did not disable translation at
<EM>configure</EM> time. Then, users only have to set the <CODE>LANG</CODE>
environment variable to the appropriate <SAMP>`<VAR>ll</VAR>_<VAR>CC</VAR>´</SAMP>
-combination prior to using the programs in the package. See section <A HREF="gettext_9.html#SEC135">9.1 The Current <TT>`ABOUT-NLS´</TT> Matrix</A>.
+combination prior to using the programs in the package. See section <A HREF="gettext_9.html#SEC137">9.1 The Current <TT>`ABOUT-NLS´</TT> Matrix</A>.
For example, let's presume a German site. At the shell prompt, users
merely have to execute <SAMP>`setenv LANG de_DE´</SAMP> (in <CODE>csh</CODE>) or
<SAMP>`export LANG; LANG=de_DE´</SAMP> (in <CODE>sh</CODE>). They could even do
</P>
<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous</A>, <A HREF="gettext_10.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous</A>, <A HREF="gettext_10.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
</HTML>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - Footnotes</TITLE>
</HEAD>
<BODY>
-<H1>GNU gettext tools, version 0.11</H1>
+<H1>GNU gettext tools, version 0.11.1</H1>
<H2>Native Language Support Library and Tools</H2>
-<H2>Edition 0.11, 30 January 2002</H2>
+<H2>Edition 0.11.1, 5 March 2002</H2>
<ADDRESS>Ulrich Drepper</ADDRESS>
<ADDRESS>Jim Meyering</ADDRESS>
<ADDRESS>François Pinard</ADDRESS>
<P>Additions are welcome. Send appropriate information to
<A HREF="mailto:bug-glibc-manual@gnu.org">bug-glibc-manual@gnu.org</A>.
<P><HR><P>
-This document was generated on 31 January 2002 using the
+This document was generated on 7 March 2002 using the
<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
translator version 1.52a.</P>
</BODY>
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 31 January 2002 -->
+ from gettext.texi on 7 March 2002 -->
<TITLE>GNU gettext utilities - Table of Contents</TITLE>
</HEAD>
<BODY>
-<H1>GNU gettext tools, version 0.11</H1>
+<H1>GNU gettext tools, version 0.11.1</H1>
<H2>Native Language Support Library and Tools</H2>
-<H2>Edition 0.11, 30 January 2002</H2>
+<H2>Edition 0.11.1, 5 March 2002</H2>
<ADDRESS>Ulrich Drepper</ADDRESS>
<ADDRESS>Jim Meyering</ADDRESS>
<ADDRESS>François Pinard</ADDRESS>
<LI><A NAME="TOC120" HREF="gettext_8.html#SEC120">8.1.2 Operation mode</A>
<LI><A NAME="TOC121" HREF="gettext_8.html#SEC121">8.1.3 Output file location</A>
<LI><A NAME="TOC122" HREF="gettext_8.html#SEC122">8.1.4 Output file location in Java mode</A>
-<LI><A NAME="TOC123" HREF="gettext_8.html#SEC123">8.1.5 Input file interpretation</A>
-<LI><A NAME="TOC124" HREF="gettext_8.html#SEC124">8.1.6 Output details</A>
-<LI><A NAME="TOC125" HREF="gettext_8.html#SEC125">8.1.7 Informative output</A>
+<LI><A NAME="TOC123" HREF="gettext_8.html#SEC123">8.1.5 Output file location in Tcl mode</A>
+<LI><A NAME="TOC124" HREF="gettext_8.html#SEC124">8.1.6 Input file interpretation</A>
+<LI><A NAME="TOC125" HREF="gettext_8.html#SEC125">8.1.7 Output details</A>
+<LI><A NAME="TOC126" HREF="gettext_8.html#SEC126">8.1.8 Informative output</A>
</UL>
-<LI><A NAME="TOC126" HREF="gettext_8.html#SEC126">8.2 Invoking the <CODE>msgunfmt</CODE> Program</A>
+<LI><A NAME="TOC127" HREF="gettext_8.html#SEC127">8.2 Invoking the <CODE>msgunfmt</CODE> Program</A>
<UL>
-<LI><A NAME="TOC127" HREF="gettext_8.html#SEC127">8.2.1 Operation mode</A>
-<LI><A NAME="TOC128" HREF="gettext_8.html#SEC128">8.2.2 Input file location</A>
-<LI><A NAME="TOC129" HREF="gettext_8.html#SEC129">8.2.3 Input file location in Java mode</A>
-<LI><A NAME="TOC130" HREF="gettext_8.html#SEC130">8.2.4 Output file location</A>
-<LI><A NAME="TOC131" HREF="gettext_8.html#SEC131">8.2.5 Output details</A>
-<LI><A NAME="TOC132" HREF="gettext_8.html#SEC132">8.2.6 Informative output</A>
+<LI><A NAME="TOC128" HREF="gettext_8.html#SEC128">8.2.1 Operation mode</A>
+<LI><A NAME="TOC129" HREF="gettext_8.html#SEC129">8.2.2 Input file location</A>
+<LI><A NAME="TOC130" HREF="gettext_8.html#SEC130">8.2.3 Input file location in Java mode</A>
+<LI><A NAME="TOC131" HREF="gettext_8.html#SEC131">8.2.4 Input file location in Tcl mode</A>
+<LI><A NAME="TOC132" HREF="gettext_8.html#SEC132">8.2.5 Output file location</A>
+<LI><A NAME="TOC133" HREF="gettext_8.html#SEC133">8.2.6 Output details</A>
+<LI><A NAME="TOC134" HREF="gettext_8.html#SEC134">8.2.7 Informative output</A>
</UL>
-<LI><A NAME="TOC133" HREF="gettext_8.html#SEC133">8.3 The Format of GNU MO Files</A>
-</UL>
-<LI><A NAME="TOC134" HREF="gettext_9.html#SEC134">9 The User's View</A>
+<LI><A NAME="TOC135" HREF="gettext_8.html#SEC135">8.3 The Format of GNU MO Files</A>
+</UL>
+<LI><A NAME="TOC136" HREF="gettext_9.html#SEC136">9 The User's View</A>
<UL>
-<LI><A NAME="TOC135" HREF="gettext_9.html#SEC135">9.1 The Current <TT>`ABOUT-NLS´</TT> Matrix</A>
-<LI><A NAME="TOC136" HREF="gettext_9.html#SEC136">9.2 Magic for Installers</A>
-<LI><A NAME="TOC137" HREF="gettext_9.html#SEC137">9.3 Magic for End Users</A>
+<LI><A NAME="TOC137" HREF="gettext_9.html#SEC137">9.1 The Current <TT>`ABOUT-NLS´</TT> Matrix</A>
+<LI><A NAME="TOC138" HREF="gettext_9.html#SEC138">9.2 Magic for Installers</A>
+<LI><A NAME="TOC139" HREF="gettext_9.html#SEC139">9.3 Magic for End Users</A>
</UL>
-<LI><A NAME="TOC138" HREF="gettext_10.html#SEC138">10 The Programmer's View</A>
+<LI><A NAME="TOC140" HREF="gettext_10.html#SEC140">10 The Programmer's View</A>
<UL>
-<LI><A NAME="TOC139" HREF="gettext_10.html#SEC139">10.1 About <CODE>catgets</CODE></A>
+<LI><A NAME="TOC141" HREF="gettext_10.html#SEC141">10.1 About <CODE>catgets</CODE></A>
<UL>
-<LI><A NAME="TOC140" HREF="gettext_10.html#SEC140">10.1.1 The Interface</A>
-<LI><A NAME="TOC141" HREF="gettext_10.html#SEC141">10.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A>
+<LI><A NAME="TOC142" HREF="gettext_10.html#SEC142">10.1.1 The Interface</A>
+<LI><A NAME="TOC143" HREF="gettext_10.html#SEC143">10.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A>
</UL>
-<LI><A NAME="TOC142" HREF="gettext_10.html#SEC142">10.2 About <CODE>gettext</CODE></A>
+<LI><A NAME="TOC144" HREF="gettext_10.html#SEC144">10.2 About <CODE>gettext</CODE></A>
<UL>
-<LI><A NAME="TOC143" HREF="gettext_10.html#SEC143">10.2.1 The Interface</A>
-<LI><A NAME="TOC144" HREF="gettext_10.html#SEC144">10.2.2 Solving Ambiguities</A>
-<LI><A NAME="TOC145" HREF="gettext_10.html#SEC145">10.2.3 Locating Message Catalog Files</A>
-<LI><A NAME="TOC146" HREF="gettext_10.html#SEC146">10.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A>
-<LI><A NAME="TOC147" HREF="gettext_10.html#SEC147">10.2.5 Additional functions for plural forms</A>
-<LI><A NAME="TOC148" HREF="gettext_10.html#SEC148">10.2.6 How to use <CODE>gettext</CODE> in GUI programs</A>
-<LI><A NAME="TOC149" HREF="gettext_10.html#SEC149">10.2.7 Optimization of the *gettext functions</A>
+<LI><A NAME="TOC145" HREF="gettext_10.html#SEC145">10.2.1 The Interface</A>
+<LI><A NAME="TOC146" HREF="gettext_10.html#SEC146">10.2.2 Solving Ambiguities</A>
+<LI><A NAME="TOC147" HREF="gettext_10.html#SEC147">10.2.3 Locating Message Catalog Files</A>
+<LI><A NAME="TOC148" HREF="gettext_10.html#SEC148">10.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A>
+<LI><A NAME="TOC149" HREF="gettext_10.html#SEC149">10.2.5 Additional functions for plural forms</A>
+<LI><A NAME="TOC150" HREF="gettext_10.html#SEC150">10.2.6 How to use <CODE>gettext</CODE> in GUI programs</A>
+<LI><A NAME="TOC151" HREF="gettext_10.html#SEC151">10.2.7 Optimization of the *gettext functions</A>
</UL>
-<LI><A NAME="TOC150" HREF="gettext_10.html#SEC150">10.3 Comparing the Two Interfaces</A>
-<LI><A NAME="TOC151" HREF="gettext_10.html#SEC151">10.4 Using libintl.a in own programs</A>
-<LI><A NAME="TOC152" HREF="gettext_10.html#SEC152">10.5 Being a <CODE>gettext</CODE> grok</A>
-<LI><A NAME="TOC153" HREF="gettext_10.html#SEC153">10.6 Temporary Notes for the Programmers Chapter</A>
+<LI><A NAME="TOC152" HREF="gettext_10.html#SEC152">10.3 Comparing the Two Interfaces</A>
+<LI><A NAME="TOC153" HREF="gettext_10.html#SEC153">10.4 Using libintl.a in own programs</A>
+<LI><A NAME="TOC154" HREF="gettext_10.html#SEC154">10.5 Being a <CODE>gettext</CODE> grok</A>
+<LI><A NAME="TOC155" HREF="gettext_10.html#SEC155">10.6 Temporary Notes for the Programmers Chapter</A>
<UL>
-<LI><A NAME="TOC154" HREF="gettext_10.html#SEC154">10.6.1 Temporary - Two Possible Implementations</A>
-<LI><A NAME="TOC155" HREF="gettext_10.html#SEC155">10.6.2 Temporary - About <CODE>catgets</CODE></A>
-<LI><A NAME="TOC156" HREF="gettext_10.html#SEC156">10.6.3 Temporary - Why a single implementation</A>
-<LI><A NAME="TOC157" HREF="gettext_10.html#SEC157">10.6.4 Temporary - Notes</A>
+<LI><A NAME="TOC156" HREF="gettext_10.html#SEC156">10.6.1 Temporary - Two Possible Implementations</A>
+<LI><A NAME="TOC157" HREF="gettext_10.html#SEC157">10.6.2 Temporary - About <CODE>catgets</CODE></A>
+<LI><A NAME="TOC158" HREF="gettext_10.html#SEC158">10.6.3 Temporary - Why a single implementation</A>
+<LI><A NAME="TOC159" HREF="gettext_10.html#SEC159">10.6.4 Temporary - Notes</A>
</UL>
</UL>
-<LI><A NAME="TOC158" HREF="gettext_11.html#SEC158">11 The Translator's View</A>
+<LI><A NAME="TOC160" HREF="gettext_11.html#SEC160">11 The Translator's View</A>
<UL>
-<LI><A NAME="TOC159" HREF="gettext_11.html#SEC159">11.1 Introduction 0</A>
-<LI><A NAME="TOC160" HREF="gettext_11.html#SEC160">11.2 Introduction 1</A>
-<LI><A NAME="TOC161" HREF="gettext_11.html#SEC161">11.3 Discussions</A>
-<LI><A NAME="TOC162" HREF="gettext_11.html#SEC162">11.4 Organization</A>
+<LI><A NAME="TOC161" HREF="gettext_11.html#SEC161">11.1 Introduction 0</A>
+<LI><A NAME="TOC162" HREF="gettext_11.html#SEC162">11.2 Introduction 1</A>
+<LI><A NAME="TOC163" HREF="gettext_11.html#SEC163">11.3 Discussions</A>
+<LI><A NAME="TOC164" HREF="gettext_11.html#SEC164">11.4 Organization</A>
<UL>
-<LI><A NAME="TOC163" HREF="gettext_11.html#SEC163">11.4.1 Central Coordination</A>
-<LI><A NAME="TOC164" HREF="gettext_11.html#SEC164">11.4.2 National Teams</A>
+<LI><A NAME="TOC165" HREF="gettext_11.html#SEC165">11.4.1 Central Coordination</A>
+<LI><A NAME="TOC166" HREF="gettext_11.html#SEC166">11.4.2 National Teams</A>
<UL>
-<LI><A NAME="TOC165" HREF="gettext_11.html#SEC165">11.4.2.1 Sub-Cultures</A>
-<LI><A NAME="TOC166" HREF="gettext_11.html#SEC166">11.4.2.2 Organizational Ideas</A>
+<LI><A NAME="TOC167" HREF="gettext_11.html#SEC167">11.4.2.1 Sub-Cultures</A>
+<LI><A NAME="TOC168" HREF="gettext_11.html#SEC168">11.4.2.2 Organizational Ideas</A>
</UL>
-<LI><A NAME="TOC167" HREF="gettext_11.html#SEC167">11.4.3 Mailing Lists</A>
+<LI><A NAME="TOC169" HREF="gettext_11.html#SEC169">11.4.3 Mailing Lists</A>
</UL>
-<LI><A NAME="TOC168" HREF="gettext_11.html#SEC168">11.5 Information Flow</A>
+<LI><A NAME="TOC170" HREF="gettext_11.html#SEC170">11.5 Information Flow</A>
</UL>
-<LI><A NAME="TOC169" HREF="gettext_12.html#SEC169">12 The Maintainer's View</A>
+<LI><A NAME="TOC171" HREF="gettext_12.html#SEC171">12 The Maintainer's View</A>
<UL>
-<LI><A NAME="TOC170" HREF="gettext_12.html#SEC170">12.1 Flat or Non-Flat Directory Structures</A>
-<LI><A NAME="TOC171" HREF="gettext_12.html#SEC171">12.2 Prerequisite Works</A>
-<LI><A NAME="TOC172" HREF="gettext_12.html#SEC172">12.3 Invoking the <CODE>gettextize</CODE> Program</A>
-<LI><A NAME="TOC173" HREF="gettext_12.html#SEC173">12.4 Files You Must Create or Alter</A>
+<LI><A NAME="TOC172" HREF="gettext_12.html#SEC172">12.1 Flat or Non-Flat Directory Structures</A>
+<LI><A NAME="TOC173" HREF="gettext_12.html#SEC173">12.2 Prerequisite Works</A>
+<LI><A NAME="TOC174" HREF="gettext_12.html#SEC174">12.3 Invoking the <CODE>gettextize</CODE> Program</A>
+<LI><A NAME="TOC175" HREF="gettext_12.html#SEC175">12.4 Files You Must Create or Alter</A>
<UL>
-<LI><A NAME="TOC174" HREF="gettext_12.html#SEC174">12.4.1 <TT>`POTFILES.in´</TT> in <TT>`po/´</TT></A>
-<LI><A NAME="TOC175" HREF="gettext_12.html#SEC175">12.4.2 <TT>`LINGUAS´</TT> in <TT>`po/´</TT></A>
-<LI><A NAME="TOC176" HREF="gettext_12.html#SEC176">12.4.3 <TT>`Makefile´</TT> pieces in <TT>`po/´</TT></A>
-<LI><A NAME="TOC177" HREF="gettext_12.html#SEC177">12.4.4 <TT>`configure.in´</TT> at top level</A>
-<LI><A NAME="TOC178" HREF="gettext_12.html#SEC178">12.4.5 <TT>`config.guess´</TT>, <TT>`config.sub´</TT> at top level</A>
-<LI><A NAME="TOC179" HREF="gettext_12.html#SEC179">12.4.6 <TT>`aclocal.m4´</TT> at top level</A>
-<LI><A NAME="TOC180" HREF="gettext_12.html#SEC180">12.4.7 <TT>`acconfig.h´</TT> at top level</A>
-<LI><A NAME="TOC181" HREF="gettext_12.html#SEC181">12.4.8 <TT>`Makefile.in´</TT> at top level</A>
-<LI><A NAME="TOC182" HREF="gettext_12.html#SEC182">12.4.9 <TT>`Makefile.in´</TT> in <TT>`src/´</TT></A>
-<LI><A NAME="TOC183" HREF="gettext_12.html#SEC183">12.4.10 <TT>`gettext.h´</TT> in <TT>`lib/´</TT></A>
+<LI><A NAME="TOC176" HREF="gettext_12.html#SEC176">12.4.1 <TT>`POTFILES.in´</TT> in <TT>`po/´</TT></A>
+<LI><A NAME="TOC177" HREF="gettext_12.html#SEC177">12.4.2 <TT>`LINGUAS´</TT> in <TT>`po/´</TT></A>
+<LI><A NAME="TOC178" HREF="gettext_12.html#SEC178">12.4.3 <TT>`Makefile´</TT> pieces in <TT>`po/´</TT></A>
+<LI><A NAME="TOC179" HREF="gettext_12.html#SEC179">12.4.4 <TT>`configure.in´</TT> at top level</A>
+<LI><A NAME="TOC180" HREF="gettext_12.html#SEC180">12.4.5 <TT>`config.guess´</TT>, <TT>`config.sub´</TT> at top level</A>
+<LI><A NAME="TOC181" HREF="gettext_12.html#SEC181">12.4.6 <TT>`aclocal.m4´</TT> at top level</A>
+<LI><A NAME="TOC182" HREF="gettext_12.html#SEC182">12.4.7 <TT>`acconfig.h´</TT> at top level</A>
+<LI><A NAME="TOC183" HREF="gettext_12.html#SEC183">12.4.8 <TT>`Makefile.in´</TT> at top level</A>
+<LI><A NAME="TOC184" HREF="gettext_12.html#SEC184">12.4.9 <TT>`Makefile.in´</TT> in <TT>`src/´</TT></A>
+<LI><A NAME="TOC185" HREF="gettext_12.html#SEC185">12.4.10 <TT>`gettext.h´</TT> in <TT>`lib/´</TT></A>
</UL>
-<LI><A NAME="TOC184" HREF="gettext_12.html#SEC184">12.5 Autoconf macros for use in <TT>`configure.in´</TT></A>
+<LI><A NAME="TOC186" HREF="gettext_12.html#SEC186">12.5 Autoconf macros for use in <TT>`configure.in´</TT></A>
<UL>
-<LI><A NAME="TOC185" HREF="gettext_12.html#SEC185">12.5.1 AM_GNU_GETTEXT in <TT>`gettext.m4´</TT></A>
-<LI><A NAME="TOC186" HREF="gettext_12.html#SEC186">12.5.2 AM_ICONV in <TT>`iconv.m4´</TT></A>
+<LI><A NAME="TOC187" HREF="gettext_12.html#SEC187">12.5.1 AM_GNU_GETTEXT in <TT>`gettext.m4´</TT></A>
+<LI><A NAME="TOC188" HREF="gettext_12.html#SEC188">12.5.2 AM_ICONV in <TT>`iconv.m4´</TT></A>
</UL>
</UL>
-<LI><A NAME="TOC187" HREF="gettext_13.html#SEC187">13 Other Programming Languages</A>
+<LI><A NAME="TOC189" HREF="gettext_13.html#SEC189">13 Other Programming Languages</A>
<UL>
-<LI><A NAME="TOC188" HREF="gettext_13.html#SEC188">13.1 The Language Implementor's View</A>
-<LI><A NAME="TOC189" HREF="gettext_13.html#SEC189">13.2 The Programmer's View</A>
-<LI><A NAME="TOC190" HREF="gettext_13.html#SEC190">13.3 The Translator's View</A>
-<LI><A NAME="TOC191" HREF="gettext_13.html#SEC191">13.4 The Maintainer's View</A>
-<LI><A NAME="TOC192" HREF="gettext_13.html#SEC192">13.5 Individual Programming Languages</A>
+<LI><A NAME="TOC190" HREF="gettext_13.html#SEC190">13.1 The Language Implementor's View</A>
+<LI><A NAME="TOC191" HREF="gettext_13.html#SEC191">13.2 The Programmer's View</A>
+<LI><A NAME="TOC192" HREF="gettext_13.html#SEC192">13.3 The Translator's View</A>
+<LI><A NAME="TOC193" HREF="gettext_13.html#SEC193">13.4 The Maintainer's View</A>
+<LI><A NAME="TOC194" HREF="gettext_13.html#SEC194">13.5 Individual Programming Languages</A>
<UL>
-<LI><A NAME="TOC193" HREF="gettext_13.html#SEC193">13.5.1 C, C++, Objective C</A>
-<LI><A NAME="TOC194" HREF="gettext_13.html#SEC194">13.5.2 sh - Shell Script</A>
-<LI><A NAME="TOC195" HREF="gettext_13.html#SEC195">13.5.3 bash - Bourne-Again Shell Script</A>
-<LI><A NAME="TOC196" HREF="gettext_13.html#SEC196">13.5.4 Python</A>
-<LI><A NAME="TOC197" HREF="gettext_13.html#SEC197">13.5.5 GNU clisp - Common Lisp</A>
-<LI><A NAME="TOC198" HREF="gettext_13.html#SEC198">13.5.6 GNU clisp C sources</A>
-<LI><A NAME="TOC199" HREF="gettext_13.html#SEC199">13.5.7 Emacs Lisp</A>
-<LI><A NAME="TOC200" HREF="gettext_13.html#SEC200">13.5.8 librep</A>
-<LI><A NAME="TOC201" HREF="gettext_13.html#SEC201">13.5.9 GNU Smalltalk</A>
-<LI><A NAME="TOC202" HREF="gettext_13.html#SEC202">13.5.10 Java</A>
-<LI><A NAME="TOC203" HREF="gettext_13.html#SEC203">13.5.11 GNU awk</A>
-<LI><A NAME="TOC204" HREF="gettext_13.html#SEC204">13.5.12 Pascal - Free Pascal Compiler</A>
-<LI><A NAME="TOC205" HREF="gettext_13.html#SEC205">13.5.13 wxWindows library</A>
-<LI><A NAME="TOC206" HREF="gettext_13.html#SEC206">13.5.14 YCP - YaST2 scripting language</A>
-<LI><A NAME="TOC207" HREF="gettext_13.html#SEC207">13.5.15 Perl</A>
-<LI><A NAME="TOC208" HREF="gettext_13.html#SEC208">13.5.16 PHP Hypertext Preprocessor</A>
-<LI><A NAME="TOC209" HREF="gettext_13.html#SEC209">13.5.17 Pike</A>
+<LI><A NAME="TOC195" HREF="gettext_13.html#SEC195">13.5.1 C, C++, Objective C</A>
+<LI><A NAME="TOC196" HREF="gettext_13.html#SEC196">13.5.2 sh - Shell Script</A>
+<LI><A NAME="TOC197" HREF="gettext_13.html#SEC197">13.5.3 bash - Bourne-Again Shell Script</A>
+<LI><A NAME="TOC198" HREF="gettext_13.html#SEC198">13.5.4 Python</A>
+<LI><A NAME="TOC199" HREF="gettext_13.html#SEC199">13.5.5 GNU clisp - Common Lisp</A>
+<LI><A NAME="TOC200" HREF="gettext_13.html#SEC200">13.5.6 GNU clisp C sources</A>
+<LI><A NAME="TOC201" HREF="gettext_13.html#SEC201">13.5.7 Emacs Lisp</A>
+<LI><A NAME="TOC202" HREF="gettext_13.html#SEC202">13.5.8 librep</A>
+<LI><A NAME="TOC203" HREF="gettext_13.html#SEC203">13.5.9 GNU Smalltalk</A>
+<LI><A NAME="TOC204" HREF="gettext_13.html#SEC204">13.5.10 Java</A>
+<LI><A NAME="TOC205" HREF="gettext_13.html#SEC205">13.5.11 GNU awk</A>
+<LI><A NAME="TOC206" HREF="gettext_13.html#SEC206">13.5.12 Pascal - Free Pascal Compiler</A>
+<LI><A NAME="TOC207" HREF="gettext_13.html#SEC207">13.5.13 wxWindows library</A>
+<LI><A NAME="TOC208" HREF="gettext_13.html#SEC208">13.5.14 YCP - YaST2 scripting language</A>
+<LI><A NAME="TOC209" HREF="gettext_13.html#SEC209">13.5.15 Tcl - Tk's scripting language</A>
+<LI><A NAME="TOC210" HREF="gettext_13.html#SEC210">13.5.16 Perl</A>
+<LI><A NAME="TOC211" HREF="gettext_13.html#SEC211">13.5.17 PHP Hypertext Preprocessor</A>
+<LI><A NAME="TOC212" HREF="gettext_13.html#SEC212">13.5.18 Pike</A>
</UL>
-<LI><A NAME="TOC210" HREF="gettext_13.html#SEC210">13.6 Internationalizable Data</A>
+<LI><A NAME="TOC213" HREF="gettext_13.html#SEC213">13.6 Internationalizable Data</A>
<UL>
-<LI><A NAME="TOC211" HREF="gettext_13.html#SEC211">13.6.1 POT - Portable Object Template</A>
-<LI><A NAME="TOC212" HREF="gettext_13.html#SEC212">13.6.2 Resource String Table</A>
-</UL>
+<LI><A NAME="TOC214" HREF="gettext_13.html#SEC214">13.6.1 POT - Portable Object Template</A>
+<LI><A NAME="TOC215" HREF="gettext_13.html#SEC215">13.6.2 Resource String Table</A>
+<LI><A NAME="TOC216" HREF="gettext_13.html#SEC216">13.6.3 Glade - GNOME user interface description</A>
</UL>
-<LI><A NAME="TOC213" HREF="gettext_14.html#SEC213">14 Concluding Remarks</A>
-<UL>
-<LI><A NAME="TOC214" HREF="gettext_14.html#SEC214">14.1 History of GNU <CODE>gettext</CODE></A>
-<LI><A NAME="TOC215" HREF="gettext_14.html#SEC215">14.2 Related Readings</A>
</UL>
-<LI><A NAME="TOC216" HREF="gettext_15.html#SEC216">A Language Codes</A>
-<LI><A NAME="TOC217" HREF="gettext_16.html#SEC217">B Country Codes</A>
+<LI><A NAME="TOC217" HREF="gettext_14.html#SEC217">14 Concluding Remarks</A>
+<UL>
+<LI><A NAME="TOC218" HREF="gettext_14.html#SEC218">14.1 History of GNU <CODE>gettext</CODE></A>
+<LI><A NAME="TOC219" HREF="gettext_14.html#SEC219">14.2 Related Readings</A>
+</UL>
+<LI><A NAME="TOC220" HREF="gettext_15.html#SEC220">A Language Codes</A>
+<LI><A NAME="TOC221" HREF="gettext_16.html#SEC221">B Country Codes</A>
+<LI><A NAME="TOC222" HREF="gettext_17.html#SEC222">Program Index</A>
+<LI><A NAME="TOC223" HREF="gettext_18.html#SEC223">Option Index</A>
+<LI><A NAME="TOC224" HREF="gettext_19.html#SEC224">Variable Index</A>
+<LI><A NAME="TOC225" HREF="gettext_20.html#SEC225">PO Mode Index</A>
+<LI><A NAME="TOC226" HREF="gettext_21.html#SEC226">Autoconf Macro Index</A>
+<LI><A NAME="TOC227" HREF="gettext_22.html#SEC227">General Index</A>
</UL>
<P><HR><P>
-This document was generated on 31 January 2002 using the
+This document was generated on 7 March 2002 using the
<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
translator version 1.52a.</P>
</BODY>
-@set UPDATED 30 January 2002
-@set UPDATED-MONTH January 2002
-@set EDITION 0.11
-@set VERSION 0.11
+@set UPDATED 5 March 2002
+@set UPDATED-MONTH March 2002
+@set EDITION 0.11.1
+@set VERSION 0.11.1
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIB = @LIB@
+LIBEXPAT = @LIBEXPAT@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LN_S = @LN_S@
LTALLOCA = @LTALLOCA@
LTLIB = @LTLIB@
+LTLIBEXPAT = @LTLIBEXPAT@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIB = @LIB@
+LIBEXPAT = @LIBEXPAT@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LN_S = @LN_S@
LTALLOCA = @LTALLOCA@
LTLIB = @LTLIB@
+LTLIBEXPAT = @LTLIBEXPAT@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
progname.h progname.c \
safe-read.h safe-read.c \
sh-quote.h sh-quote.c \
+ stpncpy.h stpncpy.c \
strtoul.c \
tmpdir.h tmpdir.c \
+ ucs4-utf8.h ucs4-utf16.h \
wait-process.h wait-process.c \
xerror.h xerror.c \
xmalloc.h xmalloc.c xstrdup.c \
memset.c \
mkdtemp.h mkdtemp.c \
pfnmatch.h pfnmatch.c \
- setenv.h setenv.c \
+ setenv.h setenv.c unsetenv.c \
+ libstdarg.h \
stpcpy.h stpcpy.c \
- stpncpy.h stpncpy.c \
strcase.h strcasecmp.c strncasecmp.c \
strcspn.c \
strpbrk.h strpbrk.c \
strstr.h strstr.c \
strtol.c \
- vasprintf.c
+ vasprintf.h vasprintf.c
EXTRA_DIST = classpath.c config.charset ref-add.sin ref-del.sin \
$(LIBADD_SOURCE) $(UNUSED_SOURCE) \
stdbool.h.in \
-gen-lbrkprop.c 3level.h
+gen-lbrkprop.c 3level.h Combining.txt
DEFS = -DLIBDIR=\"$(libdir)\" @DEFS@
getopt1.lo hash.lo javacomp.lo javaexec.lo linebreak.lo \
localcharset.lo mbswidth.lo obstack.lo concatpath.lo \
pipe-bidi.lo pipe-in.lo pipe-out.lo progname.lo safe-read.lo \
- sh-quote.lo strtoul.lo tmpdir.lo wait-process.lo xerror.lo \
- xmalloc.lo xstrdup.lo xsetenv.lo
+ sh-quote.lo stpncpy.lo strtoul.lo tmpdir.lo wait-process.lo \
+ xerror.lo xmalloc.lo xstrdup.lo xsetenv.lo
libgettextlib_la_OBJECTS = $(am_libgettextlib_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
CPPFLAGS = @CPPFLAGS@
DIST_COMMON = $(noinst_HEADERS) ChangeLog Makefile.am Makefile.in \
alloca.c getline.c javacomp.sh.in javaexec.sh.in memset.c \
- mkdtemp.c pfnmatch.c setenv.c stpcpy.c stpncpy.c strcasecmp.c \
- strcspn.c strncasecmp.c strpbrk.c strstr.c vasprintf.c
+ mkdtemp.c pfnmatch.c setenv.c stpcpy.c strcasecmp.c strcspn.c \
+ strncasecmp.c strpbrk.c strstr.c unsetenv.c vasprintf.c
SOURCES = $(libgettextlib_la_SOURCES)
all: all-am
uninstall-libLTLIBRARIES uninstall-local
-all-local execute.lo javacomp.lo javaexec.lo pipe-bidi.lo pipe-in.lo pipe-out.lo progname.lo wait-process.lo xerror.lo: @STDBOOL_H@
+all-local c-ctype.lo execute.lo javacomp.lo javaexec.lo pipe-bidi.lo pipe-in.lo pipe-out.lo progname.lo tmpdir.lo wait-process.lo xerror.lo: @STDBOOL_H@
stdbool.h: stdbool.h.in
cp $(srcdir)/stdbool.h.in stdbool.h
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIB = @LIB@
+LIBEXPAT = @LIBEXPAT@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LN_S = @LN_S@
LTALLOCA = @LTALLOCA@
LTLIB = @LTLIB@
+LTLIBEXPAT = @LTLIBEXPAT@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
noinst_PROGRAMS = test-names
test_names_LDADD = libuniname.a ../lib/libgettextlib.la
-EXTRA_DIST = gen-uninames UnicodeDataNames.txt
+EXTRA_DIST = $(TESTS) gen-uninames UnicodeDataNames.txt
subdir = libuniname
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIB = @LIB@
+LIBEXPAT = @LIBEXPAT@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LN_S = @LN_S@
LTALLOCA = @LTALLOCA@
LTLIB = @LTLIB@
+LTLIBEXPAT = @LTLIBEXPAT@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIB = @LIB@
+LIBEXPAT = @LIBEXPAT@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LN_S = @LN_S@
LTALLOCA = @LTALLOCA@
LTLIB = @LTLIB@
+LTLIBEXPAT = @LTLIBEXPAT@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
.\" GNU gettext source code and manual
.\" LI18NUX 2000 Globalization Specification
.\"
-.TH BIND_TEXTDOMAIN_CODESET 3 "May 2001" "GNU gettext 0.11"
+.TH BIND_TEXTDOMAIN_CODESET 3 "May 2001" "GNU gettext 0.11.1"
.SH NAME
bind_textdomain_codeset \- set encoding of message translations
.SH SYNOPSIS
.\" GNU gettext source code and manual
.\" LI18NUX 2000 Globalization Specification
.\"
-.TH BINDTEXTDOMAIN 3 "May 2001" "GNU gettext 0.11"
+.TH BINDTEXTDOMAIN 3 "May 2001" "GNU gettext 0.11.1"
.SH NAME
bindtextdomain \- set directory containing message catalogs
.SH SYNOPSIS
.\" GNU gettext source code and manual
.\" LI18NUX 2000 Globalization Specification
.\"
-.TH GETTEXT 3 "May 2001" "GNU gettext 0.11"
+.TH GETTEXT 3 "May 2001" "GNU gettext 0.11.1"
.SH NAME
gettext, dgettext, dcgettext \- translate message
.SH SYNOPSIS
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGATTRIB "1" "January 2002" "GNU gettext 0.11" GNU
+.TH MSGATTRIB "1" "March 2002" "GNU gettext 0.11" GNU
.SH NAME
msgattrib \- attribute matching and manipulation on message catalog
.SH SYNOPSIS
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGCAT "1" "January 2002" "GNU gettext 0.11" GNU
+.TH MSGCAT "1" "March 2002" "GNU gettext 0.11" GNU
.SH NAME
msgcat \- combines several message catalogs
.SH SYNOPSIS
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGCMP "1" "January 2002" "GNU gettext 0.11" GNU
+.TH MSGCMP "1" "March 2002" "GNU gettext 0.11" GNU
.SH NAME
msgcmp \- compare message catalog and template
.SH SYNOPSIS
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGCOMM "1" "January 2002" "GNU gettext 0.11" GNU
+.TH MSGCOMM "1" "March 2002" "GNU gettext 0.11" GNU
.SH NAME
msgcomm \- match two message catalogs
.SH SYNOPSIS
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGCONV "1" "January 2002" "GNU gettext 0.11" GNU
+.TH MSGCONV "1" "March 2002" "GNU gettext 0.11" GNU
.SH NAME
msgconv \- character set conversion for message catalog
.SH SYNOPSIS
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGEN "1" "January 2002" "GNU gettext 0.11" GNU
+.TH MSGEN "1" "March 2002" "GNU gettext 0.11" GNU
.SH NAME
msgen \- create English message catalog
.SH SYNOPSIS
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGEXEC "1" "January 2002" "GNU gettext 0.11" GNU
+.TH MSGEXEC "1" "March 2002" "GNU gettext 0.11" GNU
.SH NAME
msgexec \- process translations of message catalog
.SH SYNOPSIS
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGFILTER "1" "January 2002" "GNU gettext 0.11" GNU
+.TH MSGFILTER "1" "March 2002" "GNU gettext 0.11" GNU
.SH NAME
msgfilter \- edit translations of message catalog
.SH SYNOPSIS
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGFMT "1" "January 2002" "GNU gettext 0.11" GNU
+.TH MSGFMT "1" "March 2002" "GNU gettext 0.11" GNU
.SH NAME
msgfmt \- compile message catalog to binary format
.SH SYNOPSIS
.TP
\fB\-\-java2\fR
like \fB\-\-java\fR, and assume Java2 (JDK 1.2 or higher)
+.TP
+\fB\-\-tcl\fR
+Tcl mode: generate a tcl/msgcat .msg file
.SS "Output file location:"
.TP
\fB\-o\fR, \fB\-\-output\-file\fR=\fIFILE\fR
The class name is determined by appending the locale name to the resource name,
separated with an underscore. The \fB\-d\fR option is mandatory. The class is
written under the specified directory.
+.SS "Output file location in Tcl mode:"
+.TP
+\fB\-l\fR, \fB\-\-locale\fR=\fILOCALE\fR
+locale name, either language or language_COUNTRY
+.TP
+\fB\-d\fR DIRECTORY
+base directory of .msg message catalogs
+.PP
+The \fB\-l\fR and \fB\-d\fR options are mandatory. The .msg file is written in the
+specified directory.
.SS "Input file interpretation:"
.TP
\fB\-c\fR, \fB\-\-check\fR
like <b>--java</b>, and assume Java2 (JDK 1.2 or
higher)</td></table>
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>--tcl</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+Tcl mode: generate a tcl/msgcat .msg file</td></table>
+
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<b>-d</b> option is mandatory. The class is written under
the specified directory.</td></table>
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="4%"></td><td width="96%">
+<b>Output file location in Tcl mode:</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>-l</b>, <b>--locale</b>=<i>LOCALE</i></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+locale name, either language or
+language_COUNTRY</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>-d</b> DIRECTORY</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+base directory of .msg message catalogs</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+The <b>-l</b> and <b>-d</b> options are mandatory. The .msg
+file is written in the specified directory.</td></table>
+
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGGREP "1" "January 2002" "GNU gettext 0.11" GNU
+.TH MSGGREP "1" "March 2002" "GNU gettext 0.11" GNU
.SH NAME
msggrep \- pattern matching on message catalog
.SH SYNOPSIS
or if it is -.
.SS "Message selection:"
.IP
-[-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]
+[-N SOURCEFILE]... [-M DOMAINNAME]...
+[-K MSGID-PATTERN] [-T MSGSTR-PATTERN] [-C COMMENT-PATTERN]
.PP
A message is selected if it comes from one of the specified source files,
or if it comes from one of the specified domains,
or if \fB\-K\fR is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,
-or if \fB\-T\fR is given and its translation (msgstr) matches MSGSTR-PATTERN.
+or if \fB\-T\fR is given and its translation (msgstr) matches MSGSTR-PATTERN,
+or if \fB\-C\fR is given and the translator's comment matches COMMENT-PATTERN.
.PP
When more than one selection criterion is specified, the set of selected
messages is the union of the selected messages of each criterion.
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
[-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T
-MSGSTR-PATTERN]</td></table>
+MSGSTR-PATTERN] [-C COMMENT-PATTERN]</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
source files, or if it comes from one of the specified
domains, or if <b>-K</b> is given and its key (msgid or
msgid_plural) matches MSGID-PATTERN, or if <b>-T</b> is
-given and its translation (msgstr) matches
-MSGSTR-PATTERN.</td></table>
+given and its translation (msgstr) matches MSGSTR-PATTERN,
+or if <b>-C</b> is given and the translator's comment
+matches COMMENT-PATTERN.</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGINIT "1" "January 2002" "GNU gettext 0.11" GNU
+.TH MSGINIT "1" "March 2002" "GNU gettext 0.11" GNU
.SH NAME
msginit \- initialize a message catalog
.SH SYNOPSIS
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGMERGE "1" "January 2002" "GNU gettext 0.11" GNU
+.TH MSGMERGE "1" "March 2002" "GNU gettext 0.11" GNU
.SH NAME
msgmerge \- merge message catalog and template
.SH SYNOPSIS
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGUNFMT "1" "January 2002" "GNU gettext 0.11" GNU
+.TH MSGUNFMT "1" "March 2002" "GNU gettext 0.11" GNU
.SH NAME
msgunfmt \- uncompile message catalog from binary format
.SH SYNOPSIS
.SS "Operation mode:"
.TP
\fB\-j\fR, \fB\-\-java\fR
-Java mode: generate a Java ResourceBundle class
+Java mode: input is a Java ResourceBundle class
+.TP
+\fB\-\-tcl\fR
+Tcl mode: input is a tcl/msgcat .msg file
.SS "Input file location:"
.TP
FILE ...
.PP
The class name is determined by appending the locale name to the resource name,
separated with an underscore. The class is located using the CLASSPATH.
+.SS "Input file location in Tcl mode:"
+.TP
+\fB\-l\fR, \fB\-\-locale\fR=\fILOCALE\fR
+locale name, either language or language_COUNTRY
+.TP
+\fB\-d\fR DIRECTORY
+base directory of .msg message catalogs
+.PP
+The \fB\-l\fR and \fB\-d\fR options are mandatory. The .msg file is located in the
+specified directory.
.SS "Output file location:"
.TP
\fB\-o\fR, \fB\-\-output\-file\fR=\fIFILE\fR
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
-Java mode: generate a Java ResourceBundle class</td></table>
+Java mode: input is a Java ResourceBundle class</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>--tcl</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+Tcl mode: input is a tcl/msgcat .msg file</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
the resource name, separated with an underscore. The class
is located using the CLASSPATH.</td></table>
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="4%"></td><td width="96%">
+<b>Input file location in Tcl mode:</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>-l</b>, <b>--locale</b>=<i>LOCALE</i></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+locale name, either language or
+language_COUNTRY</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>-d</b> DIRECTORY</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+base directory of .msg message catalogs</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+ cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+The <b>-l</b> and <b>-d</b> options are mandatory. The .msg
+file is located in the specified directory.</td></table>
+
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH MSGUNIQ "1" "January 2002" "GNU gettext 0.11" GNU
+.TH MSGUNIQ "1" "March 2002" "GNU gettext 0.11" GNU
.SH NAME
msguniq \- unify duplicate translations in message catalog
.SH SYNOPSIS
.\" GNU gettext source code and manual
.\" LI18NUX 2000 Globalization Specification
.\"
-.TH NGETTEXT 3 "May 2001" "GNU gettext 0.11"
+.TH NGETTEXT 3 "May 2001" "GNU gettext 0.11.1"
.SH NAME
ngettext, dngettext, dcngettext \- translate message and choose plural form
.SH SYNOPSIS
.\" GNU gettext source code and manual
.\" LI18NUX 2000 Globalization Specification
.\"
-.TH TEXTDOMAIN 3 "May 2001" "GNU gettext 0.11"
+.TH TEXTDOMAIN 3 "May 2001" "GNU gettext 0.11.1"
.SH NAME
textdomain \- set domain for future gettext() calls
.SH SYNOPSIS
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.24.
-.TH XGETTEXT "1" "January 2002" "GNU gettext 0.11" GNU
+.TH XGETTEXT "1" "March 2002" "GNU gettext 0.11" GNU
.SH NAME
xgettext \- extract gettext strings from source
.SH SYNOPSIS
.TP
\fB\-L\fR, \fB\-\-language\fR=\fINAME\fR
recognise the specified language
-(C, C++, ObjectiveC, PO, Lisp, EmacsLisp,
-librep, Java, YCP)
+(C, C++, ObjectiveC, PO, Python, Lisp,
+EmacsLisp, librep, Java, awk, YCP, Tcl,
+RST, Glade)
.TP
\fB\-C\fR, \fB\-\-c\fR++
shorthand for \fB\-\-language\fR=\fIC\fR++
<tr valign="top" align="left">
<td width="21%"></td><td width="79%">
recognise the specified language (C, C++, ObjectiveC, PO,
-Lisp, EmacsLisp, librep, Java, YCP)</td></table>
+Python, Lisp, EmacsLisp, librep, Java, awk, YCP, Tcl, RST,
+Glade)</td></table>
<table width="100%" border=0 rules="none" frame="void"
cols="2" cellspacing="0" cellpadding="0">
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIB = @LIB@
+LIBEXPAT = @LIBEXPAT@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LN_S = @LN_S@
LTALLOCA = @LTALLOCA@
LTLIB = @LTLIB@
+LTLIBEXPAT = @LTLIBEXPAT@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2002-01-31 15:34+0100\n"
+"POT-Creation-Date: 2002-03-06 15:21+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "Valid arguments are:"
msgstr ""
-#: lib/copy-file.c:61 src/file-list.c:57 src/po-lex.c:758 src/read-mo.c:171
-#: src/urlget.c:204 src/xgettext.c:805 src/xgettext.c:818 src/xgettext.c:828
+#: lib/copy-file.c:61 src/file-list.c:57 src/po-lex.c:726 src/read-mo.c:171
+#: src/urlget.c:204 src/xgettext.c:823 src/xgettext.c:836 src/xgettext.c:846
#, c-format
msgid "error while opening \"%s\" for reading"
msgstr ""
msgid "Java virtual machine not found, try installing gij or set $JAVA"
msgstr ""
-#: lib/obstack.c:474 lib/xerror.c:72 lib/xmalloc.c:53
+#: lib/obstack.c:474 lib/xerror.c:53 lib/xmalloc.c:53 src/po-lex.c:97
+#: src/po-lex.c:130
msgid "memory exhausted"
msgstr ""
msgid "%s subprocess got fatal signal %d"
msgstr ""
-#: src/format-c.c:587 src/format-python.c:506
+#: src/format-c.c:589 src/format-python.c:506
#, c-format
msgid "number of format specifications in 'msgid' and '%s' does not match"
msgstr ""
-#: src/format-c.c:601 src/format-elisp.c:389 src/format-librep.c:353
+#: src/format-c.c:603 src/format-elisp.c:389 src/format-librep.c:353
#: src/format-pascal.c:443 src/format-python.c:520
#, c-format
msgid ""
"format specifications in 'msgid' and '%s' for argument '%s' are not the same"
msgstr ""
-#: src/gettext.c:135 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/gettext.c:135 src/hostname.c:172 src/msgattrib.c:264 src/msgcat.c:229
#: src/msgcmp.c:133 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:170
-#: src/msgexec.c:165 src/msgfilter.c:248 src/msgfmt.c:338 src/msggrep.c:278
-#: src/msginit.c:250 src/msgmerge.c:265 src/msgunfmt.c:182 src/msguniq.c:207
-#: src/ngettext.c:126 src/urlget.c:135 src/xgettext.c:361
+#: src/msgexec.c:165 src/msgfilter.c:248 src/msgfmt.c:351 src/msggrep.c:286
+#: src/msginit.c:251 src/msgmerge.c:265 src/msgunfmt.c:199 src/msguniq.c:207
+#: src/ngettext.c:126 src/urlget.c:135 src/xgettext.c:374
#, c-format, no-wrap
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
msgstr ""
-#: src/gettext.c:140 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/gettext.c:140 src/hostname.c:177 src/msgattrib.c:269 src/msgcat.c:234
#: src/msgcmp.c:138 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:175
-#: src/msgexec.c:170 src/msgfilter.c:253 src/msgfmt.c:343 src/msggrep.c:283
-#: src/msginit.c:255 src/msgmerge.c:270 src/msgunfmt.c:187 src/msguniq.c:212
-#: src/ngettext.c:131 src/urlget.c:140 src/xgettext.c:366
+#: src/msgexec.c:170 src/msgfilter.c:253 src/msgfmt.c:356 src/msggrep.c:291
+#: src/msginit.c:256 src/msgmerge.c:270 src/msgunfmt.c:204 src/msguniq.c:212
+#: src/ngettext.c:131 src/urlget.c:140 src/xgettext.c:379
#, c-format
msgid "Written by %s.\n"
msgstr ""
-#: src/gettext.c:158 src/hostname.c:183 src/msginit.c:265 src/ngettext.c:143
+#: src/gettext.c:158 src/hostname.c:187 src/msginit.c:266 src/ngettext.c:143
msgid "too many arguments"
msgstr ""
msgid "missing arguments"
msgstr ""
-#: src/gettext.c:240 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/gettext.c:240 src/hostname.c:201 src/msgattrib.c:322 src/msgcat.c:290
#: src/msgcmp.c:170 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:226
-#: src/msgexec.c:223 src/msgfilter.c:346 src/msgfmt.c:484 src/msggrep.c:387
-#: src/msginit.c:341 src/msgmerge.c:380 src/msgunfmt.c:262 src/msguniq.c:269
-#: src/ngettext.c:210 src/urlget.c:164 src/xgettext.c:508
+#: src/msgexec.c:223 src/msgfilter.c:346 src/msgfmt.c:528 src/msggrep.c:397
+#: src/msginit.c:342 src/msgmerge.c:380 src/msgunfmt.c:309 src/msguniq.c:269
+#: src/ngettext.c:210 src/urlget.c:164 src/xgettext.c:525
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr ""
"Standard search directory: %s\n"
msgstr ""
-#: src/gettext.c:277 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/gettext.c:277 src/hostname.c:231 src/msgattrib.c:402 src/msgcat.c:371
#: src/msgcmp.c:215 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:286
-#: src/msgexec.c:267 src/msgfilter.c:419 src/msgfmt.c:568 src/msggrep.c:473
-#: src/msginit.c:392 src/msgmerge.c:478 src/msgunfmt.c:331 src/msguniq.c:343
-#: src/ngettext.c:244 src/urlget.c:186 src/xgettext.c:602
+#: src/msgexec.c:267 src/msgfilter.c:419 src/msgfmt.c:622 src/msggrep.c:485
+#: src/msginit.c:393 src/msgmerge.c:478 src/msgunfmt.c:388 src/msguniq.c:343
+#: src/ngettext.c:244 src/urlget.c:186 src/xgettext.c:620
msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
msgstr ""
-#: src/hostname.c:202 src/msginit.c:346
+#: src/hostname.c:206 src/msginit.c:347
#, c-format, no-wrap
msgid "Usage: %s [OPTION]\n"
msgstr ""
-#: src/hostname.c:207
+#: src/hostname.c:211
#, no-wrap
msgid "Print the machine's hostname.\n"
msgstr ""
-#: src/hostname.c:212
+#: src/hostname.c:216
#, no-wrap
msgid ""
"Output format:\n"
" -i, --ip-address addresses for the hostname\n"
msgstr ""
-#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:209 src/msgconv.c:299
-#: src/msgen.c:280 src/msgexec.c:261 src/msgfilter.c:413 src/msggrep.c:467
-#: src/msginit.c:386 src/urlget.c:180
+#: src/hostname.c:225 src/msgattrib.c:396 src/msgcmp.c:209 src/msgconv.c:299
+#: src/msgen.c:280 src/msgexec.c:261 src/msgfilter.c:413 src/msggrep.c:479
+#: src/msginit.c:387 src/urlget.c:180
#, no-wrap
msgid ""
"Informative output:\n"
" -V, --version output version information and exit\n"
msgstr ""
-#: src/hostname.c:242 src/hostname.c:249
+#: src/hostname.c:246 src/hostname.c:253
msgid "could not get host name"
msgstr ""
#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:145 src/msgfilter.c:198
-#: src/msggrep.c:298 src/msginit.c:208 src/msguniq.c:227
+#: src/msggrep.c:306 src/msginit.c:209 src/msguniq.c:227
msgid "at most one input file allowed"
msgstr ""
#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
#: src/msgen.c:197 src/msgen.c:201 src/msgfilter.c:268 src/msgfilter.c:272
-#: src/msgfmt.c:363 src/msggrep.c:304 src/msggrep.c:308 src/msgmerge.c:295
-#: src/msgmerge.c:316 src/msgmerge.c:320 src/msguniq.c:233 src/msguniq.c:237
-#: src/xgettext.c:376 src/xgettext.c:380
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:394 src/msggrep.c:312
+#: src/msggrep.c:316 src/msgmerge.c:295 src/msgmerge.c:316 src/msgmerge.c:320
+#: src/msgunfmt.c:214 src/msguniq.c:233 src/msguniq.c:237 src/xgettext.c:389
+#: src/xgettext.c:393
#, c-format
msgid "%s and %s are mutually exclusive"
msgstr ""
-#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:392 src/msguniq.c:274
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:402 src/msguniq.c:274
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [INPUTFILE]\n"
msgstr ""
#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:190 src/msgcomm.c:328
#: src/msgconv.c:256 src/msgen.c:244 src/msgexec.c:248 src/msgfilter.c:361
-#: src/msgfmt.c:499 src/msggrep.c:403 src/msginit.c:357 src/msgmerge.c:403
-#: src/msgunfmt.c:277 src/msguniq.c:291
+#: src/msgfmt.c:543 src/msggrep.c:413 src/msginit.c:358 src/msgmerge.c:403
+#: src/msgunfmt.c:324 src/msguniq.c:291
#, no-wrap
msgid "Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
-#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:408 src/msguniq.c:296
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:418 src/msguniq.c:296
#, no-wrap
msgid ""
"Input file location:\n"
msgstr ""
#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:257 src/msgfilter.c:374
-#: src/msggrep.c:416 src/msgmerge.c:425
+#: src/msggrep.c:426 src/msgmerge.c:425
#, no-wrap
msgid ""
"Output file location:\n"
msgid "impossible selection criteria specified (%d < n < %d)"
msgstr ""
-#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:513
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:530
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
msgstr ""
"File positions from all PO files will be cumulated.\n"
msgstr ""
-#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:529
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:546
#, no-wrap
msgid ""
"Input file location:\n"
" -F, --sort-by-file sort output by file location\n"
msgstr ""
-#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:596
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:614
#, no-wrap
msgid ""
"Informative output:\n"
msgid "warning: this message is not used"
msgstr ""
-#: src/msgcmp.c:338 src/po-lex.c:731
+#: src/msgcmp.c:338 src/po-lex.c:699
#, c-format
msgid "found %d fatal error"
msgid_plural "found %d fatal errors"
msgstr[0] ""
msgstr[1] ""
-#: src/msgcmp.c:419 src/msgfmt.c:1364 src/read-po.c:202 src/x-po.c:163
+#: src/msgcmp.c:419 src/msgfmt.c:1457 src/read-po.c:202 src/x-po.c:163
msgid "duplicate message definition"
msgstr ""
-#: src/msgcmp.c:420 src/msgfmt.c:1365 src/read-po.c:203 src/x-po.c:164
+#: src/msgcmp.c:420 src/msgfmt.c:1458 src/read-po.c:203 src/x-po.c:164
msgid "...this is the location of the first definition"
msgstr ""
" -F, --sort-by-file sort output by file location\n"
msgstr ""
-#: src/msgen.c:186 src/msgfmt.c:354 src/xgettext.c:397
+#: src/msgen.c:186 src/msgfmt.c:367 src/xgettext.c:410
msgid "no input file given"
msgstr ""
msgid "%s subprocess terminated with exit code %d"
msgstr ""
-#: src/msgfmt.c:308
+#: src/msgfmt.c:318
#, c-format
msgid "the argument to %s should be a single punctuation character"
msgstr ""
-#: src/msgfmt.c:369
+#: src/msgfmt.c:385 src/msgfmt.c:407 src/msgunfmt.c:243
#, c-format
msgid "%s requires a \"-d directory\" specification"
msgstr ""
-#: src/msgfmt.c:378 src/msgfmt.c:384 src/msgfmt.c:390 src/msgmerge.c:303
-#: src/msgmerge.c:309 src/msgunfmt.c:209 src/msgunfmt.c:215
+#: src/msgfmt.c:400 src/msgunfmt.c:236
+#, c-format
+msgid "%s requires a \"-l locale\" specification"
+msgstr ""
+
+#: src/msgfmt.c:416 src/msgmerge.c:303 src/msgmerge.c:309 src/msgunfmt.c:252
+#: src/msgunfmt.c:258
#, c-format
msgid "%s is only valid with %s"
msgstr ""
-#: src/msgfmt.c:457
+#: src/msgfmt.c:422 src/msgfmt.c:428
+#, c-format
+msgid "%s is only valid with %s or %s"
+msgstr ""
+
+#: src/msgfmt.c:501
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
msgstr[0] ""
msgstr[1] ""
-#: src/msgfmt.c:462
+#: src/msgfmt.c:506
#, c-format
msgid ", %d fuzzy translation"
msgid_plural ", %d fuzzy translations"
msgstr[0] ""
msgstr[1] ""
-#: src/msgfmt.c:467
+#: src/msgfmt.c:511
#, c-format
msgid ", %d untranslated message"
msgid_plural ", %d untranslated messages"
msgstr[0] ""
msgstr[1] ""
-#: src/msgfmt.c:489
+#: src/msgfmt.c:533
#, c-format, no-wrap
msgid "Usage: %s [OPTION] filename.po ...\n"
msgstr ""
-#: src/msgfmt.c:494
+#: src/msgfmt.c:538
#, no-wrap
msgid "Generate binary message catalog from textual translation description.\n"
msgstr ""
-#: src/msgfmt.c:504
+#: src/msgfmt.c:548
#, no-wrap
msgid ""
"Input file location:\n"
"If input file is -, standard input is read.\n"
msgstr ""
-#: src/msgfmt.c:512
+#: src/msgfmt.c:556
#, no-wrap
msgid ""
"Operation mode:\n"
" -j, --java Java mode: generate a Java ResourceBundle class\n"
" --java2 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgfmt.c:519
+#: src/msgfmt.c:564
#, no-wrap
msgid ""
"Output file location:\n"
"If output file is -, output is written to standard output.\n"
msgstr ""
-#: src/msgfmt.c:527
+#: src/msgfmt.c:572
#, no-wrap
msgid ""
"Output file location in Java mode:\n"
"written under the specified directory.\n"
msgstr ""
-#: src/msgfmt.c:538
+#: src/msgfmt.c:583
+#, no-wrap
+msgid ""
+"Output file location in Tcl mode:\n"
+" -l, --locale=LOCALE locale name, either language or language_COUNTRY\n"
+" -d DIRECTORY base directory of .msg message catalogs\n"
+"The -l and -d options are mandatory. The .msg file is written in the\n"
+"specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:592
#, no-wrap
msgid ""
"Input file interpretation:\n"
" -f, --use-fuzzy use fuzzy entries in output\n"
msgstr ""
-#: src/msgfmt.c:553
+#: src/msgfmt.c:607
#, c-format, no-wrap
msgid ""
"Output details:\n"
" --no-hash binary file will not include the hash table\n"
msgstr ""
-#: src/msgfmt.c:560
+#: src/msgfmt.c:614
#, no-wrap
msgid ""
"Informative output:\n"
" -v, --verbose increase verbosity level\n"
msgstr ""
-#: src/msgfmt.c:720
+#: src/msgfmt.c:774
msgid "plural expression can produce negative values"
msgstr ""
-#: src/msgfmt.c:733
+#: src/msgfmt.c:787
#, c-format
msgid "nplurals = %lu but plural expression can produce values as large as %lu"
msgstr ""
-#: src/msgfmt.c:759
+#: src/msgfmt.c:813
msgid "plural expression can produce division by zero"
msgstr ""
-#: src/msgfmt.c:764
+#: src/msgfmt.c:818
msgid "plural expression can produce integer overflow"
msgstr ""
-#: src/msgfmt.c:769
+#: src/msgfmt.c:823
msgid ""
"plural expression can produce arithmetic exceptions, possibly division by "
"zero"
msgstr ""
-#: src/msgfmt.c:843 src/msgfmt.c:854
+#: src/msgfmt.c:902 src/msgfmt.c:914
msgid "message catalog has plural form translations..."
msgstr ""
-#: src/msgfmt.c:846
+#: src/msgfmt.c:905
msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
msgstr ""
-#: src/msgfmt.c:857
+#: src/msgfmt.c:917
msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
msgstr ""
-#: src/msgfmt.c:881
+#: src/msgfmt.c:942
msgid "invalid nplurals value"
msgstr ""
-#: src/msgfmt.c:894
+#: src/msgfmt.c:956
msgid "invalid plural expression"
msgstr ""
-#: src/msgfmt.c:912 src/msgfmt.c:927
+#: src/msgfmt.c:975 src/msgfmt.c:990
#, c-format
msgid "nplurals = %lu..."
msgstr ""
-#: src/msgfmt.c:915
+#: src/msgfmt.c:978
#, c-format
msgid "...but some messages have only one plural form"
msgid_plural "...but some messages have only %lu plural forms"
msgstr[0] ""
msgstr[1] ""
-#: src/msgfmt.c:930
+#: src/msgfmt.c:993
#, c-format
msgid "...but some messages have one plural form"
msgid_plural "...but some messages have %lu plural forms"
msgstr[0] ""
msgstr[1] ""
-#: src/msgfmt.c:947
+#: src/msgfmt.c:1023
+#, c-format
+msgid "Try using the following, valid for %s:\n"
+msgstr ""
+
+#: src/msgfmt.c:1036
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
msgstr ""
-#: src/msgfmt.c:985
+#: src/msgfmt.c:1074
msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
msgstr ""
-#: src/msgfmt.c:995
+#: src/msgfmt.c:1084
#, c-format
msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
msgstr ""
-#: src/msgfmt.c:1007
+#: src/msgfmt.c:1096
msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
msgstr ""
-#: src/msgfmt.c:1024
+#: src/msgfmt.c:1113
msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
msgstr ""
-#: src/msgfmt.c:1034
+#: src/msgfmt.c:1123
#, c-format
msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
msgstr ""
-#: src/msgfmt.c:1046
+#: src/msgfmt.c:1135
msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
msgstr ""
-#: src/msgfmt.c:1058
+#: src/msgfmt.c:1147
msgid "plural handling is a GNU gettext extension"
msgstr ""
-#: src/msgfmt.c:1123
+#: src/msgfmt.c:1212
#, c-format
msgid "'%s' is not a valid %s format string, unlike 'msgid'"
msgstr ""
-#: src/msgfmt.c:1158
+#: src/msgfmt.c:1250
#, c-format
msgid "msgstr lacks the keyboard accelerator mark '%c'"
msgstr ""
-#: src/msgfmt.c:1166
+#: src/msgfmt.c:1258
#, c-format
msgid "msgstr has too many keyboard accelerator marks '%c'"
msgstr ""
-#: src/msgfmt.c:1201
+#: src/msgfmt.c:1293
#, c-format
-msgid "headerfield `%s' missing in header"
+msgid "headerfield `%s' missing in header\n"
msgstr ""
-#: src/msgfmt.c:1205
+#: src/msgfmt.c:1297
#, c-format
-msgid "header field `%s' should start at beginning of line"
+msgid "header field `%s' should start at beginning of line\n"
msgstr ""
-#: src/msgfmt.c:1216
-msgid "some header fields still have the initial default value"
+#: src/msgfmt.c:1308
+msgid "some header fields still have the initial default value\n"
msgstr ""
-#: src/msgfmt.c:1228
+#: src/msgfmt.c:1320
#, c-format
-msgid "field `%s' still has initial default value"
+msgid "field `%s' still has initial default value\n"
msgstr ""
-#: src/msgfmt.c:1269
+#: src/msgfmt.c:1362
msgid "warning: PO file header missing or invalid\n"
msgstr ""
-#: src/msgfmt.c:1272
+#: src/msgfmt.c:1365
msgid "warning: charset conversion will not work\n"
msgstr ""
-#: src/msgfmt.c:1282
+#: src/msgfmt.c:1375
msgid "warning: PO file header fuzzy\n"
msgstr ""
-#: src/msgfmt.c:1284
+#: src/msgfmt.c:1377
msgid "warning: older versions of msgfmt will give an error on this\n"
msgstr ""
-#: src/msgfmt.c:1309
+#: src/msgfmt.c:1402
#, c-format
msgid "domain name \"%s\" not suitable as file name"
msgstr ""
-#: src/msgfmt.c:1314
+#: src/msgfmt.c:1407
#, c-format
msgid "domain name \"%s\" not suitable as file name: will use prefix"
msgstr ""
-#: src/msgfmt.c:1325
+#: src/msgfmt.c:1418
#, c-format
msgid "`domain %s' directive ignored"
msgstr ""
-#: src/msgfmt.c:1397
+#: src/msgfmt.c:1490
msgid "empty `msgstr' entry ignored"
msgstr ""
-#: src/msgfmt.c:1398
+#: src/msgfmt.c:1491
msgid "fuzzy `msgstr' entry ignored"
msgstr ""
-#: src/msgfmt.c:1467
+#: src/msgfmt.c:1560
#, c-format
msgid "%s: warning: source file contains fuzzy translation"
msgstr ""
-#: src/msggrep.c:375
+#: src/msggrep.c:385
#, c-format
msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
msgstr ""
-#: src/msggrep.c:397
+#: src/msggrep.c:407
#, no-wrap
msgid ""
"Extracts all messages of a translation catalog that match a given pattern\n"
"or belong to some given source files.\n"
msgstr ""
-#: src/msggrep.c:424
+#: src/msggrep.c:434
#, no-wrap
msgid ""
"Message selection:\n"
-" [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+" [-N SOURCEFILE]... [-M DOMAINNAME]...\n"
+" [-K MSGID-PATTERN] [-T MSGSTR-PATTERN] [-C COMMENT-PATTERN]\n"
"A message is selected if it comes from one of the specified source files,\n"
"or if it comes from one of the specified domains,\n"
"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
-"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN,\n"
+"or if -C is given and the translator's comment matches COMMENT-PATTERN.\n"
"\n"
"When more than one selection criterion is specified, the set of selected\n"
"messages is the union of the selected messages of each criterion.\n"
" -i, --ignore-case ignore case distinctions\n"
msgstr ""
-#: src/msggrep.c:452
+#: src/msggrep.c:464
#, no-wrap
msgid ""
"Output details:\n"
" --sort-by-file sort output by file location\n"
msgstr ""
-#: src/msggrep.c:542
+#: src/msggrep.c:554
msgid "write to grep subprocess failed"
msgstr ""
-#: src/msginit.c:278
+#: src/msginit.c:279
msgid ""
"You are in a language indifferent environment. Please set\n"
"your LANG environment variable, as described in the ABOUT-NLS\n"
"file. This is necessary so you can test your translations.\n"
msgstr ""
-#: src/msginit.c:306
+#: src/msginit.c:307
#, c-format
msgid ""
"Output file %s already exists.\n"
"the output .po file through the --output-file option.\n"
msgstr ""
-#: src/msginit.c:329
+#: src/msginit.c:330
#, c-format
msgid "Created %s.\n"
msgstr ""
-#: src/msginit.c:351
+#: src/msginit.c:352
#, no-wrap
msgid ""
"Creates a new PO file, initializing the meta information with values from the\n"
"user's environment.\n"
msgstr ""
-#: src/msginit.c:362
+#: src/msginit.c:363
#, no-wrap
msgid ""
"Input file location:\n"
"If it is -, standard input is read.\n"
msgstr ""
-#: src/msginit.c:370
+#: src/msginit.c:371
#, no-wrap
msgid ""
"Output file location:\n"
"locale setting. If it is -, the results are written to standard output.\n"
msgstr ""
-#: src/msginit.c:378
+#: src/msginit.c:379
#, no-wrap
msgid ""
"Output details:\n"
" -w, --width=NUMBER set output page width\n"
msgstr ""
-#: src/msginit.c:429
+#: src/msginit.c:430
msgid ""
"Found more than one .pot file.\n"
"Please specify the input .pot file through the --input option.\n"
msgstr ""
-#: src/msginit.c:437 src/msginit.c:442
+#: src/msginit.c:438 src/msginit.c:443
msgid "error reading current directory"
msgstr ""
-#: src/msginit.c:450
+#: src/msginit.c:451
msgid ""
"Found no .pot file in the current directory.\n"
"Please specify the input .pot file through the --input option.\n"
msgstr ""
-#: src/msginit.c:897 src/msginit.c:949 src/msginit.c:1087 src/msginit.c:1154
+#: src/msginit.c:898 src/msginit.c:950 src/msginit.c:1088 src/msginit.c:1155
#: src/read-java.c:80
msgid "fdopen() failed"
msgstr ""
-#: src/msginit.c:902 src/msginit.c:954 src/msginit.c:1092
+#: src/msginit.c:903 src/msginit.c:955 src/msginit.c:1093
#, c-format
msgid "%s subprocess I/O error"
msgstr ""
-#: src/msginit.c:911 src/msginit.c:963 src/msginit.c:1101 src/msginit.c:1168
+#: src/msginit.c:912 src/msginit.c:964 src/msginit.c:1102 src/msginit.c:1169
#: src/read-java.c:90
#, c-format
msgid "%s subprocess failed with exit code %d"
msgstr ""
-#: src/msginit.c:1077
+#: src/msginit.c:1078
msgid ""
"The new message catalog should contain your email address, so that users "
"can\n"
#. TRANSLATORS: "English" needs to be replaced by your language.
#. For example in it.po write "Traduzioni italiani ...",
#. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1457
+#: src/msginit.c:1422
#, c-format
msgid "English translations for %s package"
msgstr ""
msgid " done.\n"
msgstr ""
-#: src/msgunfmt.c:201
+#: src/msgunfmt.c:221 src/msgunfmt.c:230
#, c-format
msgid "%s and explicit file names are mutually exclusive"
msgstr ""
-#: src/msgunfmt.c:267
+#: src/msgunfmt.c:314
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [FILE]...\n"
msgstr ""
-#: src/msgunfmt.c:272
+#: src/msgunfmt.c:319
#, no-wrap
msgid "Convert binary message catalog to Uniforum style .po file.\n"
msgstr ""
-#: src/msgunfmt.c:282
+#: src/msgunfmt.c:329
#, no-wrap
msgid ""
"Operation mode:\n"
-" -j, --java Java mode: generate a Java ResourceBundle class\n"
+" -j, --java Java mode: input is a Java ResourceBundle class\n"
+" --tcl Tcl mode: input is a tcl/msgcat .msg file\n"
msgstr ""
-#: src/msgunfmt.c:288
+#: src/msgunfmt.c:336
#, no-wrap
msgid ""
"Input file location:\n"
"If no input file is given or if it is -, standard input is read.\n"
msgstr ""
-#: src/msgunfmt.c:295
+#: src/msgunfmt.c:343
#, no-wrap
msgid ""
"Input file location in Java mode:\n"
"separated with an underscore. The class is located using the CLASSPATH.\n"
msgstr ""
-#: src/msgunfmt.c:304
+#: src/msgunfmt.c:352
+#, no-wrap
+msgid ""
+"Input file location in Tcl mode:\n"
+" -l, --locale=LOCALE locale name, either language or language_COUNTRY\n"
+" -d DIRECTORY base directory of .msg message catalogs\n"
+"The -l and -d options are mandatory. The .msg file is located in the\n"
+"specified directory.\n"
+msgstr ""
+
+#: src/msgunfmt.c:361
#, no-wrap
msgid ""
"Output file location:\n"
"or if it is -.\n"
msgstr ""
-#: src/msgunfmt.c:312
+#: src/msgunfmt.c:369
#, no-wrap
msgid ""
"Output details:\n"
" -s, --sort-output generate sorted output\n"
msgstr ""
-#: src/msgunfmt.c:324
+#: src/msgunfmt.c:381
#, no-wrap
msgid ""
"Informative output:\n"
msgstr ""
#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
-#: src/po-lex.c:135 src/po-lex.c:176
+#: src/po-lex.c:111 src/po-lex.c:144
msgid "too many errors, aborting"
msgstr ""
-#: src/po-lex.c:547 src/write-po.c:339 src/write-po.c:441
+#: src/po-lex.c:515 src/write-po.c:339 src/write-po.c:441
msgid "invalid multibyte sequence"
msgstr ""
-#: src/po-lex.c:573
+#: src/po-lex.c:541
msgid "incomplete multibyte sequence at end of file"
msgstr ""
-#: src/po-lex.c:583
+#: src/po-lex.c:551
msgid "incomplete multibyte sequence at end of line"
msgstr ""
-#: src/po-lex.c:591
+#: src/po-lex.c:559
msgid "iconv failure"
msgstr ""
-#: src/po-lex.c:789 src/read-mo.c:71 src/read-mo.c:136 src/x-c.c:296
+#: src/po-lex.c:757 src/read-mo.c:71 src/read-mo.c:136 src/x-c.c:296
#: src/x-elisp.c:172 src/x-librep.c:171 src/x-lisp.c:236 src/x-rst.c:227
#: src/x-ycp.c:104
#, c-format
msgid "error while reading \"%s\""
msgstr ""
-#: src/po-lex.c:855
+#: src/po-lex.c:823
#, c-format
msgid "keyword \"%s\" unknown"
msgstr ""
-#: src/po-lex.c:965
+#: src/po-lex.c:933
msgid "invalid control sequence"
msgstr ""
-#: src/po-lex.c:1073
+#: src/po-lex.c:1041
msgid "end-of-file within string"
msgstr ""
-#: src/po-lex.c:1079
+#: src/po-lex.c:1047
msgid "end-of-line within string"
msgstr ""
msgid "%s:%d: warning: unterminated string literal"
msgstr ""
-#: src/x-po.c:106 src/xgettext.c:616
+#: src/x-po.c:106 src/xgettext.c:634
msgid "this file may not contain domain directives"
msgstr ""
msgid "%s:%d: invalid string expression"
msgstr ""
-#: src/xgettext.c:384
+#: src/xgettext.c:397
msgid "--join-existing cannot be used when output is written to stdout"
msgstr ""
-#: src/xgettext.c:389
+#: src/xgettext.c:402
msgid "xgettext cannot work without keywords to look for"
msgstr ""
-#: src/xgettext.c:477
+#: src/xgettext.c:490
#, c-format
msgid "warning: file `%s' extension `%s' is unknown; will try C"
msgstr ""
-#: src/xgettext.c:518
+#: src/xgettext.c:535
#, no-wrap
msgid "Extract translatable strings from given input files.\n"
msgstr ""
-#: src/xgettext.c:523
+#: src/xgettext.c:540
#, no-wrap
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
"Similarly for optional arguments.\n"
msgstr ""
-#: src/xgettext.c:538
+#: src/xgettext.c:555
#, no-wrap
msgid ""
"Output file location:\n"
"If output file is -, output is written to standard output.\n"
msgstr ""
-#: src/xgettext.c:547
+#: src/xgettext.c:564
#, no-wrap
msgid ""
"Choice of input file language:\n"
" -L, --language=NAME recognise the specified language\n"
-" (C, C++, ObjectiveC, PO, Lisp, EmacsLisp,\n"
-" librep, Java, YCP)\n"
+" (C, C++, ObjectiveC, PO, Python, Lisp,\n"
+" EmacsLisp, librep, Java, awk, YCP, Tcl,\n"
+" RST, Glade)\n"
" -C, --c++ shorthand for --language=C++\n"
"By default the language is guessed depending on the input file name extension.\n"
msgstr ""
-#: src/xgettext.c:557
+#: src/xgettext.c:575
#, no-wrap
msgid ""
"Operation mode:\n"
" preceding keyword lines) in output file\n"
msgstr ""
-#: src/xgettext.c:566
+#: src/xgettext.c:584
#, no-wrap
msgid ""
"Language=C/C++ specific options:\n"
" --debug more detailed formatstring recognition result\n"
msgstr ""
-#: src/xgettext.c:576
+#: src/xgettext.c:594
#, no-wrap
msgid ""
"Output details:\n"
" -M, --msgstr-suffix[=STRING] use STRING or \"\" as suffix for msgstr entries\n"
msgstr ""
-#: src/xgettext.c:796
+#: src/xgettext.c:814
msgid "standard input"
msgstr ""
-#: src/xgettext.c:911
+#: src/xgettext.c:929
msgid ""
"Empty msgid. It is reserved by GNU gettext:\n"
"gettext(\"\") returns the header entry with\n"
"meta information, not the empty string.\n"
msgstr ""
-#: src/xgettext.c:1209
+#: src/xgettext.c:1285
#, c-format
msgid "language `%s' unknown"
msgstr ""
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIB = @LIB@
+LIBEXPAT = @LIBEXPAT@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LN_S = @LN_S@
LTALLOCA = @LTALLOCA@
LTLIB = @LTLIB@
+LTLIBEXPAT = @LTLIBEXPAT@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIB = @LIB@
+LIBEXPAT = @LIBEXPAT@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LN_S = @LN_S@
LTALLOCA = @LTALLOCA@
LTLIB = @LTLIB@
+LTLIBEXPAT = @LTLIBEXPAT@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
po.h open-po.h read-po.h str-list.h write-po.h dir-list.h file-list.h \
po-gram-gen.h po-hash-gen.h msgl-charset.h msgl-equal.h msgl-iconv.h \
msgl-ascii.h msgl-cat.h msgl-english.h msgfmt.h msgunfmt.h read-mo.h \
-write-mo.h read-java.h write-java.h po-time.h format.h xgettext.h x-c.h \
-x-po.h x-lisp.h x-elisp.h x-librep.h x-java.h x-ycp.h x-rst.h
+write-mo.h read-java.h write-java.h read-tcl.h write-tcl.h po-time.h \
+plural-table.h format.h xgettext.h x-c.h x-po.h x-python.h x-lisp.h \
+x-elisp.h x-librep.h x-java.h x-awk.h x-ycp.h x-tcl.h x-rst.h x-glade.h
-EXTRA_DIST = FILES project-id \
+EXTRA_DIST = FILES project-id msgunfmt.tcl \
gnu/gettext/DumpResource.java gnu/gettext/GetURL.java
jardir = $(datadir)/gettext
projectsdir = $(pkgdatadir)/projects
-INCLUDES = -I. -I$(srcdir) -I.. -I$(top_srcdir)/lib -I../intl \
--I$(top_srcdir)/intl
+INCLUDES = -I. -I$(srcdir) -I.. -I$(top_srcdir)/libuniname \
+-I../lib -I$(top_srcdir)/lib -I../intl -I$(top_srcdir)/intl
DEFS = -DLOCALEDIR=\"$(localedir)\" -DGETTEXTJAR=\"$(jardir)/gettext.jar\" \
--DLIBDIR=\"$(libdir)\" -DPROJECTSDIR=\"$(projectsdir)\" @DEFS@
+-DLIBDIR=\"$(libdir)\" -DGETTEXTDATADIR=\"$(pkgdatadir)\" \
+-DPROJECTSDIR=\"$(projectsdir)\" @DEFS@
LDADD = ../lib/libgettextlib.la @LTLIBINTL@
# xgettext and msgfmt deal with format strings.
FORMAT_SOURCE = format.c \
-format-c.c format-java.c format-lisp.c format-elisp.c format-librep.c \
-format-python.c format-pascal.c format-ycp.c
+format-c.c format-python.c format-lisp.c format-elisp.c format-librep.c \
+format-java.c format-awk.c format-pascal.c format-ycp.c format-tcl.c
# libgettextsrc contains all code that is needed by at least two programs.
libgettextsrc_la_SOURCES = \
$(COMMON_SOURCE) read-po.c write-po.c msgl-ascii.c msgl-iconv.c msgl-equal.c \
msgl-cat.c msgl-english.c file-list.c msgl-charset.c po-time.c plural.c \
-$(FORMAT_SOURCE)
+plural-table.c $(FORMAT_SOURCE)
+# x-python needs table of Unicode character names.
+LIBUNINAME = ../libuniname/libuniname.a
+
# Source dependencies.
gettext_SOURCES = gettext.c
ngettext_SOURCES = ngettext.c
msgcmp_SOURCES = msgcmp.c
-msgfmt_SOURCES = msgfmt.c write-mo.c write-java.c plural-eval.c
+msgfmt_SOURCES = msgfmt.c write-mo.c write-java.c write-tcl.c plural-eval.c
msgmerge_SOURCES = msgmerge.c
-msgunfmt_SOURCES = msgunfmt.c read-mo.c read-java.c
+msgunfmt_SOURCES = msgunfmt.c read-mo.c read-java.c read-tcl.c
xgettext_SOURCES = xgettext.c \
- x-c.c x-po.c x-lisp.c x-elisp.c x-librep.c x-java.l x-ycp.c x-rst.c
+ x-c.c x-po.c x-python.c x-lisp.c x-elisp.c x-librep.c x-java.l x-awk.c \
+ x-ycp.c x-tcl.c x-rst.c x-glade.c
msgattrib_SOURCES = msgattrib.c
msgcat_SOURCES = msgcat.c
msgfmt_LDADD = libgettextsrc.la
msgmerge_LDADD = libgettextsrc.la
msgunfmt_LDADD = libgettextsrc.la
-xgettext_LDADD = libgettextsrc.la
+xgettext_LDADD = libgettextsrc.la $(LIBUNINAME) @LTLIBEXPAT@
msgattrib_LDADD = libgettextsrc.la
msgcat_LDADD = libgettextsrc.la
msgcomm_LDADD = libgettextsrc.la
msgexec_LDADD = libgettextsrc.la
msgfilter_LDADD = libgettextsrc.la
msggrep_LDADD = libgettextsrc.la
-msginit_LDADD = ../intl/localealias.$(OBJEXT) ../intl/localename.$(OBJEXT) \
+msginit_LDADD = ../intl/localealias.@INTL_LIBTOOL_SUFFIX_PREFIX@o \
+ ../intl/localename.@INTL_LIBTOOL_SUFFIX_PREFIX@o \
libgettextsrc.la
msguniq_LDADD = libgettextsrc.la
po-hash-gen.lo po-charset.lo open-po.lo dir-list.lo str-list.lo \
read-po.lo write-po.lo msgl-ascii.lo msgl-iconv.lo \
msgl-equal.lo msgl-cat.lo msgl-english.lo file-list.lo \
- msgl-charset.lo po-time.lo plural.lo format.lo format-c.lo \
- format-java.lo format-lisp.lo format-elisp.lo format-librep.lo \
- format-python.lo format-pascal.lo format-ycp.lo
+ msgl-charset.lo po-time.lo plural.lo plural-table.lo format.lo \
+ format-c.lo format-python.lo format-lisp.lo format-elisp.lo \
+ format-librep.lo format-java.lo format-awk.lo format-pascal.lo \
+ format-ycp.lo format-tcl.lo
libgettextsrc_la_OBJECTS = $(am_libgettextsrc_la_OBJECTS)
bin_PROGRAMS = gettext$(EXEEXT) ngettext$(EXEEXT) msgcmp$(EXEEXT) \
msgfmt$(EXEEXT) msgmerge$(EXEEXT) msgunfmt$(EXEEXT) \
msgfilter_DEPENDENCIES = libgettextsrc.la
msgfilter_LDFLAGS =
am_msgfmt_OBJECTS = msgfmt.$(OBJEXT) write-mo.$(OBJEXT) \
- write-java.$(OBJEXT) plural-eval.$(OBJEXT)
+ write-java.$(OBJEXT) write-tcl.$(OBJEXT) plural-eval.$(OBJEXT)
msgfmt_OBJECTS = $(am_msgfmt_OBJECTS)
msgfmt_DEPENDENCIES = libgettextsrc.la
msgfmt_LDFLAGS =
msggrep_LDFLAGS =
am_msginit_OBJECTS = msginit.$(OBJEXT)
msginit_OBJECTS = $(am_msginit_OBJECTS)
-msginit_DEPENDENCIES = ../intl/localealias.$(OBJEXT) \
- ../intl/localename.$(OBJEXT) libgettextsrc.la
+msginit_DEPENDENCIES = ../intl/localealias.@INTL_LIBTOOL_SUFFIX_PREFIX@o \
+ ../intl/localename.@INTL_LIBTOOL_SUFFIX_PREFIX@o \
+ libgettextsrc.la
msginit_LDFLAGS =
am_msgmerge_OBJECTS = msgmerge.$(OBJEXT)
msgmerge_OBJECTS = $(am_msgmerge_OBJECTS)
msgmerge_DEPENDENCIES = libgettextsrc.la
msgmerge_LDFLAGS =
am_msgunfmt_OBJECTS = msgunfmt.$(OBJEXT) read-mo.$(OBJEXT) \
- read-java.$(OBJEXT)
+ read-java.$(OBJEXT) read-tcl.$(OBJEXT)
msgunfmt_OBJECTS = $(am_msgunfmt_OBJECTS)
msgunfmt_DEPENDENCIES = libgettextsrc.la
msgunfmt_LDFLAGS =
urlget_DEPENDENCIES = ../lib/libgettextlib.la
urlget_LDFLAGS =
am_xgettext_OBJECTS = xgettext.$(OBJEXT) x-c.$(OBJEXT) x-po.$(OBJEXT) \
- x-lisp.$(OBJEXT) x-elisp.$(OBJEXT) x-librep.$(OBJEXT) \
- x-java.$(OBJEXT) x-ycp.$(OBJEXT) x-rst.$(OBJEXT)
+ x-python.$(OBJEXT) x-lisp.$(OBJEXT) x-elisp.$(OBJEXT) \
+ x-librep.$(OBJEXT) x-java.$(OBJEXT) x-awk.$(OBJEXT) \
+ x-ycp.$(OBJEXT) x-tcl.$(OBJEXT) x-rst.$(OBJEXT) \
+ x-glade.$(OBJEXT)
xgettext_OBJECTS = $(am_xgettext_OBJECTS)
-xgettext_DEPENDENCIES = libgettextsrc.la
+xgettext_DEPENDENCIES = libgettextsrc.la ../libuniname/libuniname.a
xgettext_LDFLAGS =
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
CPPFLAGS = @CPPFLAGS@
uninstall-java-yes:
$(RM) $(DESTDIR)$(jardir)/gettext.jar
+# Special rules for Tcl auxiliary program.
+
+install-data-local: install-tcl
+install-tcl:
+ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
+ $(INSTALL_DATA) $(srcdir)/msgunfmt.tcl $(DESTDIR)$(pkgdatadir)/msgunfmt.tcl
+
+installdirs-local: installdirs-tcl
+installdirs-tcl:
+ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
+
+uninstall-local: uninstall-tcl
+uninstall-tcl:
+ $(RM) $(DESTDIR)$(pkgdatadir)/msgunfmt.tcl
+
# One more automake bug.
installdirs: installdirs-local
# Tell versions [3.59,3.63) of GNU make to not export all variables.
char *str;
char_buf *charbuf = create_char_buf ();
- while (1)
+ for (;;)
{
c = input ();
last = input ();
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIB = @LIB@
+LIBEXPAT = @LIBEXPAT@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LN_S = @LN_S@
LTALLOCA = @LTALLOCA@
LTLIB = @LTLIB@
+LTLIBEXPAT = @LTLIBEXPAT@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
msgfilter-1 msgfilter-2 \
msgfmt-1 msgfmt-2 msgfmt-3 msgfmt-4 msgfmt-5 msgfmt-6 msgfmt-7 \
msgfmt-8 msgfmt-9 msgfmt-10 \
- msggrep-1 msggrep-2 msggrep-3 msggrep-4 \
+ msggrep-1 msggrep-2 msggrep-3 msggrep-4 msggrep-5 \
msgmerge-1 msgmerge-2 msgmerge-3 msgmerge-4 msgmerge-5 msgmerge-6 \
msgmerge-7 msgmerge-8 msgmerge-9 msgmerge-10 msgmerge-11 msgmerge-12 \
msgmerge-13 msgmerge-14 msgmerge-15 msgmerge-16 msgmerge-17 \
msgmerge-18 msgmerge-19 msgmerge-20 \
- msgunfmt-1 \
+ msgunfmt-1 msgunfmt-2 msgunfmt-3 \
msguniq-1 msguniq-2 msguniq-3 \
xgettext-1 xgettext-2 xgettext-3 xgettext-4 xgettext-5 xgettext-6 \
xgettext-7 xgettext-8 xgettext-9 xgettext-10 xgettext-11 xgettext-12 \
xgettext-13 xgettext-14 xgettext-15 xgettext-16 xgettext-17 \
+ xgettext-18 xgettext-19 xgettext-20 xgettext-21 \
+ format-awk-1 format-awk-2 \
format-c-1 format-c-2 \
format-elisp-1 format-elisp-2 \
format-java-1 format-java-2 \
format-lisp-1 format-lisp-2 \
format-python-1 format-python-2 \
format-pascal-1 format-pascal-2 \
+ format-tcl-1 format-tcl-2 \
format-ycp-1 format-ycp-2 \
plural-1 plural-2 \
- lang-c lang-c++ lang-objc lang-clisp lang-elisp lang-librep lang-java lang-pascal lang-ycp lang-po lang-rst \
+ lang-c lang-c++ lang-objc lang-python lang-clisp lang-elisp lang-librep lang-java lang-gawk lang-pascal lang-ycp lang-tcl lang-po lang-rst \
rpath-1a rpath-1b \
rpath-2aaa rpath-2aab rpath-2aac rpath-2aad \
rpath-2aba rpath-2abb rpath-2abc rpath-2abd \
# Three auxiliary programs used by the tests.
-INCLUDES = -I.. -I$(top_srcdir)/lib -I$(top_srcdir)/intl
+INCLUDES = -I.. -I../lib -I$(top_srcdir)/lib -I$(top_srcdir)/intl
DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
LDADD = $(LDADD_@USE_INCLUDED_LIBINTL@)
LDADD_yes = ../intl/libintl.la
msgid ""
"Choice of input file language:\n"
" -L, --language=NAME recognise the specified language\n"
-" (C, C++, ObjectiveC, PO, Lisp, EmacsLisp,\n"
-" librep, Java, YCP)\n"
+" (C, C++, ObjectiveC, PO, Python, Lisp,\n"
+" EmacsLisp, librep, Java, awk, YCP, Tcl,\n"
+" RST, Glade)\n"
" -C, --c++ shorthand for --language=C++\n"
"By default the language is guessed depending on the input file name extension.\n"
msgstr ""
msgid "%s requires a \"-d directory\" specification"
msgstr ""
+#, c-format
+msgid "%s requires a \"-l locale\" specification"
+msgstr ""
+
#, c-format
msgid "%s is only valid with %s"
msgstr ""
+#, c-format
+msgid "%s is only valid with %s or %s"
+msgstr ""
+
#, c-format
msgid "%d translated message"
msgid_plural "%d translated messages"
"Operation mode:\n"
" -j, --java Java mode: generate a Java ResourceBundle class\n"
" --java2 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+" --tcl Tcl mode: generate a tcl/msgcat .msg file\n"
msgstr ""
#, no-wrap
"written under the specified directory.\n"
msgstr ""
+#, no-wrap
+msgid ""
+"Output file location in Tcl mode:\n"
+" -l, --locale=LOCALE locale name, either language or language_COUNTRY\n"
+" -d DIRECTORY base directory of .msg message catalogs\n"
+"The -l and -d options are mandatory. The .msg file is written in the\n"
+"specified directory.\n"
+msgstr ""
+
#, no-wrap
msgid ""
"Input file interpretation:\n"
msgstr[0] ""
msgstr[1] ""
+#, c-format
+msgid "Try using the following, valid for %s:\n"
+msgstr ""
+
msgid ""
"message catalog has plural form translations, but lacks a header entry with "
"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
msgstr ""
#, c-format
-msgid "headerfield `%s' missing in header"
+msgid "headerfield `%s' missing in header\n"
msgstr ""
#, c-format
-msgid "header field `%s' should start at beginning of line"
+msgid "header field `%s' should start at beginning of line\n"
msgstr ""
-msgid "some header fields still have the initial default value"
+msgid "some header fields still have the initial default value\n"
msgstr ""
#, c-format
-msgid "field `%s' still has initial default value"
+msgid "field `%s' still has initial default value\n"
msgstr ""
msgid "warning: PO file header missing or invalid\n"