summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Makholm <henning@makholm.net>2006-02-19 18:00:00 (EST)
committer Julien Jorge <julien.jorge@stuff-o-matic.com>2013-01-10 16:05:04 (EST)
commit4877693228e5f942db451c5f2b0ccabb5b050813 (patch)
tree72b1f863eaa746e6aac955172e7081e40ee0418c
parent00a8b13b5bf8cf2c367a0db3ae09086e45230968 (diff)
downloadxcftools-4877693228e5f942db451c5f2b0ccabb5b050813.zip
xcftools-4877693228e5f942db451c5f2b0ccabb5b050813.tar.gz
xcftools-4877693228e5f942db451c5f2b0ccabb5b050813.tar.bz2
Import of release 1.0.0
-rw-r--r--.cvsignore10
-rw-r--r--ChangeLog11
-rw-r--r--Makefile.in120
-rw-r--r--TODO8
-rw-r--r--TRANSLATION25
-rw-r--r--aclocal.m41917
-rw-r--r--config.hin19
-rwxr-xr-x[-rw-r--r--]config.rpath573
-rwxr-xr-xconfigure1669
-rw-r--r--configure.ac9
-rw-r--r--exit.1i83
-rw-r--r--flatspec.c14
-rw-r--r--flatten.c22
-rw-r--r--flatten.h1
-rw-r--r--io-unix.c12
-rw-r--r--mancombine.pl67
-rw-r--r--manpo/.cvsignore2
-rw-r--r--manpo/da.po844
-rw-r--r--manpo/manpages.pot654
-rw-r--r--manpo/mantranslate.pl227
-rw-r--r--manpo/optipot.pl46
-rw-r--r--mkenumsc.pl7
-rw-r--r--mkopti.pl9
-rw-r--r--options.i60
-rw-r--r--pixels.c9
-rw-r--r--po/.cvsignore3
-rw-r--r--po/da.po606
-rw-r--r--po/xcftools.pot596
-rwxr-xr-xtest/dotest21
-rw-r--r--xcf2png.1098
-rw-r--r--xcf2png.c1
-rw-r--r--xcf2pnm.10114
-rw-r--r--xcf2pnm.c11
-rw-r--r--xcfinfo.1080
-rw-r--r--xcfinfo.c9
-rw-r--r--xcftools.h8
-rw-r--r--xcfview.1063
-rwxr-xr-xxcfview.in163
38 files changed, 7738 insertions, 453 deletions
diff --git a/.cvsignore b/.cvsignore
index 420576e..9afa753 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -4,14 +4,18 @@ config.h
config.hin
config.log
config.status
+config.guess
+config.sub
aclocal.m4
configure
enums.[ch]
table.c
+nlsini.c
xcfinfo
xcf2pnm
xcf2png
-*.1i
-*.1il
+xcf**.1i
+xcf*.1il
*.1
-*.oi
+xcf*.oi
+options.mi
diff --git a/ChangeLog b/ChangeLog
index 1fe89f1..ee5cbe6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2006-02-20 Henning Makholm <henning@makholm.net>
+
+ * Version 1.0
+ * xcfview added
+ * Support for translated manpages added
+
+2006-02-13 Henning Makholm <henning@makholm.net>
+
+ * Version 0.9.1
+ * Experimental l10n support added
+
2006-02-12 Henning Makholm <henning@makholm.net>
* Version 0.9
diff --git a/Makefile.in b/Makefile.in
index 0967124..8c61d46 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -21,7 +21,9 @@ prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
mandir = @mandir@
+datadir = @datadir@
sysconfdir = @sysconfdir@
+localedir = $(datadir)/locale
VERSION = @PACKAGE_VERSION@
APPNAME = @PACKAGE_TARNAME@
@@ -52,31 +54,42 @@ endif
FILEIO = io-unix
-BINARIES = xcfinfo$e xcf2pnm$e xcf2png$e
-MANPAGES = $(patsubst %$e,%.1,$(BINARIES))
+BINARIES = xcfinfo$e xcf2pnm$e xcf2png$e xcfview
+COMMANDS = $(patsubst %$e,%,$(BINARIES))
+MANPAGES = $(patsubst %,%.1,$(COMMANDS))
+
+ifeq (@USE_NLS@,yes)
+LINGUAS = da
+MANLINGUAS = da
+endif
%.$o: %.c
$(CC) $(CFLAGS) -o $@ -c $<
-all: $(BINARIES) $(MANPAGES)
-xcfinfo$e: xcfinfo.$o $(FILEIO).$o enums.$o xcf-general.$o utils.$o
+all: $(BINARIES) $(SCRIPTS) $(MANPAGES) po/stamp manpo/stamp
+
+xcfinfo$e: xcfinfo.$o $(FILEIO).$o enums.$o xcf-general.$o utils.$o nlsini.$o
$(CC) $(LDFLAGS) $(LIBS) $^ -o $@
-xcf2pnm$e: xcf2pnm.$o $(FILEIO).$o enums.$o xcf-general.$o utils.$o \
- pixels.$o flatten.$o flatspec.$o scaletab.$o table.$o
+xcf2pnm$e: xcf2pnm.$o $(FILEIO).$o enums.$o xcf-general.$o utils.$o nlsini.$o \
+ pixels.$o flatten.$o flatspec.$o scaletab.$o table.$o
$(CC) $(LDFLAGS) $(LIBS) $^ -o $@
-xcf2png$e: xcf2png.$o $(FILEIO).$o enums.$o xcf-general.$o utils.$o \
+xcf2png$e: xcf2png.$o $(FILEIO).$o enums.$o xcf-general.$o utils.$o nlsini.$o \
pixels.$o flatten.$o flatspec.$o scaletab.$o table.$o palette.$o
$(CC) $(LDFLAGS) $(LIBS) -lpng $^ -o $@
+xcfview: xcfview.in Makefile
+ sed '1s,/usr/bin/perl,@PERL@,' < $< > $@
+
testscale$e: testscale.$o
$(CC) $(LDFLAGS) $(LIBS) $^ -o $@
install: all
for p in $(BINARIES) ; do \
- $(INSTALL_PROGRAM) -s $$p \
+ case $$p in xcfview) strip= ;; *) strip=-s ;; esac ; \
+ $(INSTALL_PROGRAM) $$strip $$p \
$(bindir)/`echo $$p | $(SED) $(program_transform_name)` \
|| exit 1 ;\
done
@@ -85,6 +98,19 @@ install: all
$(mandir)/man1/`echo $$m | $(SED) $(program_transform_name)` \
|| exit 1 ; \
done
+ for lang in $(LINGUAS) ; do \
+ $(srcdir)/install-sh -d $(localedir)/$$lang/LC_MESSAGES ; \
+ $(INSTALL_DATA) po/$$lang.mo \
+ $(localedir)/$$lang/LC_MESSAGES/$(APPNAME).mo \
+ || exit 1 ; \
+ done
+ for L in $(MANLINGUAS) ; do \
+ $(srcdir)/install-sh -d $(mandir)/$$L/man1 || exit 1 ; \
+ for P in $(patsubst %.1,%,$(MANPAGES)) ; do \
+ $(INSTALL_DATA) manpo/$$P.$$L.1 $(mandir)/$$L/man1/$$P.1 \
+ || exit 1; done ; done ;
+
+C_GENERATED = enums.c table.c nlsini.c
ENUMSOURCES = gimp/base-enums.h gimp/gimpbaseenums.h gimp/xcf-private.h
enums.h: mkenumsh.pl $(ENUMSOURCES)
@@ -93,6 +119,13 @@ enums.c: mkenumsc.pl enums.h
$(PERL) $< enums.h > $@
table.c: mktablec.pl config.h
$(PERL) $< > $@
+nlsini.c: Makefile
+ echo >$@ "#include \"xcftools.h\""
+ echo >>$@ "#ifndef nls_init"
+ echo >>$@ "void nls_init(void) {"
+ echo >>$@ " bindtextdomain(\"$(APPNAME)\",\"$(localedir)\");"
+ echo >>$@ " textdomain(\"$(APPNAME)\"); }"
+ echo >>$@ "#endif"
%.oi: options.i mkopti.pl config.h
$(PERL) mkopti.pl $*
@@ -102,10 +135,73 @@ table.c: mktablec.pl config.h
#############################################################################
#
+# Localization stuff
+
+POTFILES_NONC = $(patsubst %$e,%.oi,$(BINARIES)) options.i
+
+po/$(APPNAME).pot$(SUPPRESS_AUTOFOO): $(POTFILES_NONC) \
+ $(filter-out table.c nlsini.c, $(C_GENERATED) $(wildcard *.c))
+ xgettext -o $@.tmp -C -k_ -kN_ \
+ --foreign-user --msgid-bugs-address=henning@makholm.net \
+ --flag=FatalGeneric:2:c-format \
+ --flag=FatalUnexpected:1:c-format \
+ --flag=FatalBadXCF:1:c-format \
+ --flag=FatalUnsupportedXCF:1:c-format \
+ $^
+ if diff $@ $@.tmp | \
+ grep -v '^\([^<>]\|. \?"POT-Creation-Date:\)' > /dev/null; \
+ then mv -f $@.tmp $@ ; \
+ else echo OK, $@ is unchanged ; rm $@.tmp ; fi
+
+po/%.po: po/$(APPNAME).pot
+ test -f $@
+ msgmerge -U $@ $<
+ touch $@
+
+po/%.mo: po/%.po
+ msgfmt -c -o$@ $<
+
+po/stamp: $(patsubst %,po/%.mo,$(LINGUAS))
+ if ! make -q po/$(APPNAME).pot ; then \
+ touch po/$(APPNAME).pot ; touch po/*.po ; touch po/*.mo ; fi
+ touch $@
+
+# Manpage localization stuff
+
+POTFILES_MAN = options.mi $(patsubst %.1,%.10,$(MANPAGES)) \
+ exit.1i
+
+manpo/%.po: manpo/manpages.pot
+ test -f $@
+ msgmerge -U $@ $<
+ touch $@
+
+manpo/stamp: $(patsubst %,manpo/%.po,$(MANLINGUAS)) $(MANPAGES)
+ touch manpo/manpages.pot
+ touch $^
+ for L in $(MANLINGUAS) ; do \
+ for P in $(patsubst %.1,%,$(MANPAGES)) ; do \
+ $(PERL) manpo/mantranslate.pl manpo/$$L.po $$P.1 \
+ > manpo/$$P.$$L.1 || exit 1; done ; done ;
+ touch $@
+
+
+options.mi: manpo/optipot.pl options.i
+ $(PERL) manpo/optipot.pl > $@
+manpo/manpages.pot$(SUPPORESS_AUTOFOO): manpo/mantranslate.pl $(POTFILES_MAN)
+ $(PERL) manpo/mantranslate.pl -x $(POTFILES_MAN) > $@.tmp
+ if diff $@ $@.tmp | \
+ grep -v '^\([^<>]\|. \?"POT-Creation-Date:\)' > /dev/null; \
+ then mv -f $@.tmp $@ ; \
+ else echo OK, $@ is unchanged ; rm $@.tmp ; fi
+
+#############################################################################
+#
# Dependency tracking, by hand
COMMON_HEADERS = xcftools.h config.h enums.h
enums.$o: enums.h
+nlsini.$o: $(COMMON_HEADERS)
table.$o: $(COMMON_HEADERS) pixels.h
scaletab.$o: $(COMMON_HEADERS) pixels.h
io-unix.$o: $(COMMON_HEADERS)
@@ -127,8 +223,9 @@ check: $(BINARIES)
cd test && $(MAKE) check
clean:
- $(RM) *.$o */*~ *~ .*~ *.1i *.1il *.1 *.oi
- $(RM) enums.h enums.c table.c $(BINARIES)
+ $(RM) *.$o */*~ *~ .*~ xcf*.1i xcf*.1il *.1 *.oi *.mi
+ $(RM) enums.h $(C_GENERATED) $(BINARIES)
+ $(RM) po/*.mo */stamp manpo/*.1
cd test && $(MAKE) clean
distclean: clean
@@ -147,7 +244,8 @@ realclean: distclean
# Tarball-making rule
ifeq (,$(findstring @,$o))
-dist: ajour distclean
+dist: ajour $(patsubst %,po/%.po,$(LINGUAS))
+ $(MAKE) distclean
noncvs > notcvsfiles || cp dist-generated notcvsfiles
diff -u dist-generated notcvsfiles
$(RM) notcvsfiles
diff --git a/TODO b/TODO
deleted file mode 100644
index edc4c5d..0000000
--- a/TODO
+++ /dev/null
@@ -1,8 +0,0 @@
-These are things I want to do before bumping the version
-number of Xcftools to 1.0:
-
-- Finish localization infrastucture (some work has been done
- but is not completely systematic).
-
-
-
diff --git a/TRANSLATION b/TRANSLATION
new file mode 100644
index 0000000..6bc420d
--- /dev/null
+++ b/TRANSLATION
@@ -0,0 +1,25 @@
+The run-time messages from the program can be localized using standard
+GNU gettext tools in the po/ directory. There is no Makefile in po/;
+the processing is governed by the main Makefile in the top
+directory. Simply use
+ make po/xcftools.pot
+to update the pot file if necessary.
+
+After creating a po file, add the language code to the definition of
+LINGUAS in the master Makefile.in.
+
+The manpo/ directory contains some experimental support for
+translating the manpages. Because much text is shared between the
+various manpages, the translation is done by po files, a few sentences
+at a time, and finished translated manpages are collected at build
+time.
+
+Note that the manpo/*.po files are parsed by a very ad-hoc parser in
+manpo/mantranslate.pl rather than by the standard gettext support
+programs. In particular, the "fuzzy" flag does not prevent an entry
+from being used. Also there is no charset handling, so the po files
+should be written with the same character set as should be used in the
+roff source of the combined man page.
+
+After writing a po file, add the language code to the definition
+of MANLINGUAS in the master Makefile.in.
diff --git a/aclocal.m4 b/aclocal.m4
index 354f591..5d4b5b7 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -11,106 +11,1129 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-# iconv.m4 serial AM4 (gettext-0.11.3)
-dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
+# gettext.m4 serial 37 (gettext-0.14.4)
+dnl Copyright (C) 1995-2005 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
-dnl From Bruno Haible.
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+dnl Macro to add for using GNU gettext.
+
+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
+dnl default (if it is not specified or empty) is 'no-libtool'.
+dnl INTLSYMBOL should be 'external' for packages with no intl directory,
+dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
+dnl If INTLSYMBOL is 'use-libtool', then a libtool library
+dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
+dnl depending on --{enable,disable}-{shared,static} and on the presence of
+dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
+dnl $(top_builddir)/intl/libintl.a will be created.
+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
+dnl implementations (in libc or libintl) without the ngettext() function
+dnl will be ignored. If NEEDSYMBOL is specified and is
+dnl 'need-formatstring-macros', then GNU gettext implementations that don't
+dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
+dnl INTLDIR is used to find the intl libraries. If empty,
+dnl the value `$(top_builddir)/intl/' is used.
+dnl
+dnl The result of the configuration is one of three cases:
+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
+dnl and used.
+dnl Catalog format: GNU --> install in $(datadir)
+dnl Catalog extension: .mo after installation, .gmo in source tree
+dnl 2) GNU gettext has been found in the system's C library.
+dnl Catalog format: GNU --> install in $(datadir)
+dnl Catalog extension: .mo after installation, .gmo in source tree
+dnl 3) No internationalization, always use English msgid.
+dnl Catalog format: none
+dnl Catalog extension: none
+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
+dnl The use of .gmo is historical (it was needed to avoid overwriting the
+dnl GNU format catalogs when building on a platform with an X/Open gettext),
+dnl but we keep it in order not to force irrelevant filename changes on the
+dnl maintainers.
+dnl
+AC_DEFUN([AM_GNU_GETTEXT],
[
+ dnl Argument checking.
+ ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
+ [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
+])])])])])
+ ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
+ [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
+])])])])
+ define([gt_included_intl], ifelse([$1], [external], [no], [yes]))
+ define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
+
+ AC_REQUIRE([AM_PO_SUBDIRS])dnl
+ ifelse(gt_included_intl, yes, [
+ AC_REQUIRE([AM_INTL_SUBDIR])dnl
+ ])
+
dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
AC_REQUIRE([AC_LIB_RPATH])
- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
- dnl accordingly.
- AC_LIB_LINKFLAGS_BODY([iconv])
-])
+ dnl Sometimes libintl requires libiconv, so first search for libiconv.
+ dnl Ideally we would do this search only after the
+ dnl if test "$USE_NLS" = "yes"; then
+ dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
+ dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
+ dnl the configure script would need to contain the same shell code
+ dnl again, outside any 'if'. There are two solutions:
+ dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
+ dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
+ dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
+ dnl documented, we avoid it.
+ ifelse(gt_included_intl, yes, , [
+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+ ])
-AC_DEFUN([AM_ICONV_LINK],
-[
- dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
- dnl those with the standalone portable GNU libiconv installed).
+ dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
+ gt_INTL_MACOSX
- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
- dnl accordingly.
- AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+ dnl Set USE_NLS.
+ AM_NLS
- dnl Add $INCICONV to CPPFLAGS before performing the following checks,
- dnl because if the user has installed libiconv and not disabled its use
- dnl via --without-libiconv-prefix, he wants to use it. The first
- dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
- am_save_CPPFLAGS="$CPPFLAGS"
- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+ ifelse(gt_included_intl, yes, [
+ BUILD_INCLUDED_LIBINTL=no
+ USE_INCLUDED_LIBINTL=no
+ ])
+ LIBINTL=
+ LTLIBINTL=
+ POSUB=
- AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
- am_cv_func_iconv="no, consider installing GNU libiconv"
- am_cv_lib_iconv=no
- AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);],
- am_cv_func_iconv=yes)
- if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
- AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
- [iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);],
- am_cv_lib_iconv=yes
- am_cv_func_iconv=yes)
- LIBS="$am_save_LIBS"
+ dnl If we use NLS figure out what method
+ if test "$USE_NLS" = "yes"; then
+ gt_use_preinstalled_gnugettext=no
+ ifelse(gt_included_intl, yes, [
+ AC_MSG_CHECKING([whether included gettext is requested])
+ AC_ARG_WITH(included-gettext,
+ [ --with-included-gettext use the GNU gettext library included here],
+ nls_cv_force_use_gnu_gettext=$withval,
+ nls_cv_force_use_gnu_gettext=no)
+ AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+
+ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+ ])
+ dnl User does not insist on using GNU NLS library. Figure out what
+ dnl to use. If GNU gettext is available we use this. Else we have
+ dnl to fall back to GNU NLS library.
+
+ dnl Add a version number to the cache macros.
+ define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
+ define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
+ define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
+
+ AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
+ [AC_TRY_LINK([#include <libintl.h>
+]ifelse([$2], [need-formatstring-macros],
+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+], [])[extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;],
+ [bindtextdomain ("", "");
+return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
+ gt_cv_func_gnugettext_libc=yes,
+ gt_cv_func_gnugettext_libc=no)])
+
+ if test "$gt_cv_func_gnugettext_libc" != "yes"; then
+ dnl Sometimes libintl requires libiconv, so first search for libiconv.
+ ifelse(gt_included_intl, yes, , [
+ AM_ICONV_LINK
+ ])
+ dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
+ dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
+ dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
+ dnl even if libiconv doesn't exist.
+ AC_LIB_LINKFLAGS_BODY([intl])
+ AC_CACHE_CHECK([for GNU gettext in libintl],
+ gt_cv_func_gnugettext_libintl,
+ [gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $INCINTL"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBINTL"
+ dnl Now see whether libintl exists and does not depend on libiconv.
+ AC_TRY_LINK([#include <libintl.h>
+]ifelse([$2], [need-formatstring-macros],
+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+], [])[extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);],
+ [bindtextdomain ("", "");
+return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+ 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>
+]ifelse([$2], [need-formatstring-macros],
+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+], [])[extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);],
+ [bindtextdomain ("", "");
+return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")],
+ [LIBINTL="$LIBINTL $LIBICONV"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ gt_cv_func_gnugettext_libintl=yes
+ ])
+ fi
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"])
+ fi
+
+ dnl If an already present or preinstalled GNU gettext() is found,
+ dnl use it. But if this macro is used in GNU gettext, and GNU
+ dnl gettext is already preinstalled in libintl, we update this
+ dnl libintl. (Cf. the install rule in intl/Makefile.in.)
+ if test "$gt_cv_func_gnugettext_libc" = "yes" \
+ || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
+ && test "$PACKAGE" != gettext-runtime \
+ && test "$PACKAGE" != gettext-tools; }; 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, [
+ if test "$gt_use_preinstalled_gnugettext" != "yes"; then
+ dnl GNU gettext is not found in the C library.
+ dnl Fall back on included GNU gettext library.
+ nls_cv_use_gnu_gettext=yes
+ fi
+ fi
+
+ if test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Mark actions used to generate GNU NLS library.
+ BUILD_INCLUDED_LIBINTL=yes
+ USE_INCLUDED_LIBINTL=yes
+ LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
+ LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
+ LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+ fi
+
+ CATOBJEXT=
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Mark actions to use GNU gettext tools.
+ CATOBJEXT=.gmo
+ fi
+ ])
+
+ if test -n "$INTL_MACOSX_LIBS"; then
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Some extra flags are needed during linking.
+ LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+ LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+ fi
+ fi
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ AC_DEFINE(ENABLE_NLS, 1,
+ [Define to 1 if translation of program messages to the user's native language
+ is requested.])
+ else
+ USE_NLS=no
fi
+ fi
+
+ AC_MSG_CHECKING([whether to use NLS])
+ AC_MSG_RESULT([$USE_NLS])
+ if test "$USE_NLS" = "yes"; then
+ AC_MSG_CHECKING([where the gettext function comes from])
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
+ gt_source="external libintl"
+ else
+ gt_source="libc"
+ fi
+ else
+ gt_source="included intl directory"
+ fi
+ AC_MSG_RESULT([$gt_source])
+ fi
+
+ if test "$USE_NLS" = "yes"; then
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
+ AC_MSG_CHECKING([how to link with libintl])
+ AC_MSG_RESULT([$LIBINTL])
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
+ fi
+
+ dnl For backward compatibility. Some packages may be using this.
+ AC_DEFINE(HAVE_GETTEXT, 1,
+ [Define if the GNU gettext() function is already present or preinstalled.])
+ AC_DEFINE(HAVE_DCGETTEXT, 1,
+ [Define if the GNU dcgettext() function is already present or preinstalled.])
+ fi
+
+ dnl We need to process the po/ directory.
+ POSUB=po
+ fi
+
+ ifelse(gt_included_intl, yes, [
+ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
+ dnl to 'yes' because some of the testsuite requires it.
+ if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
+ BUILD_INCLUDED_LIBINTL=yes
+ fi
+
+ dnl Make all variables we use known to autoconf.
+ AC_SUBST(BUILD_INCLUDED_LIBINTL)
+ AC_SUBST(USE_INCLUDED_LIBINTL)
+ AC_SUBST(CATOBJEXT)
+
+ dnl For backward compatibility. Some configure.ins may be using this.
+ nls_cv_header_intl=
+ nls_cv_header_libgt=
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ DATADIRNAME=share
+ AC_SUBST(DATADIRNAME)
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ INSTOBJEXT=.mo
+ AC_SUBST(INSTOBJEXT)
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ GENCAT=gencat
+ AC_SUBST(GENCAT)
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ INTLOBJS=
+ if test "$USE_INCLUDED_LIBINTL" = yes; then
+ INTLOBJS="\$(GETTOBJS)"
+ fi
+ AC_SUBST(INTLOBJS)
+
+ dnl Enable libtool support if the surrounding package wishes it.
+ INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
+ AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
])
- if test "$am_cv_func_iconv" = yes; then
- AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ INTLLIBS="$LIBINTL"
+ AC_SUBST(INTLLIBS)
+
+ dnl Make all documented variables known to autoconf.
+ AC_SUBST(LIBINTL)
+ AC_SUBST(LTLIBINTL)
+ AC_SUBST(POSUB)
+])
+
+
+dnl Checks for all prerequisites of the intl subdirectory,
+dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
+dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
+AC_DEFUN([AM_INTL_SUBDIR],
+[
+ AC_REQUIRE([AC_PROG_INSTALL])dnl
+ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
+ AC_REQUIRE([AC_PROG_CC])dnl
+ AC_REQUIRE([AC_CANONICAL_HOST])dnl
+ AC_REQUIRE([gt_GLIBC2])dnl
+ AC_REQUIRE([AC_PROG_RANLIB])dnl
+ AC_REQUIRE([AC_ISC_POSIX])dnl
+ AC_REQUIRE([AC_HEADER_STDC])dnl
+ AC_REQUIRE([AC_C_CONST])dnl
+ AC_REQUIRE([bh_C_SIGNED])dnl
+ AC_REQUIRE([AC_C_INLINE])dnl
+ AC_REQUIRE([AC_TYPE_OFF_T])dnl
+ AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+ AC_REQUIRE([gl_AC_TYPE_LONG_LONG])dnl
+ AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
+ AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
+ AC_REQUIRE([gt_TYPE_WINT_T])dnl
+ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
+ AC_REQUIRE([gl_AC_HEADER_STDINT_H])
+ AC_REQUIRE([gt_TYPE_INTMAX_T])
+ AC_REQUIRE([gt_PRINTF_POSIX])
+ AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+ AC_REQUIRE([AC_FUNC_MMAP])dnl
+ AC_REQUIRE([gl_GLIBC21])dnl
+ AC_REQUIRE([gt_INTDIV0])dnl
+ AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl
+ AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
+ AC_REQUIRE([gt_INTTYPES_PRI])dnl
+ AC_REQUIRE([gl_XSIZE])dnl
+ AC_REQUIRE([gt_INTL_MACOSX])dnl
+
+ AC_CHECK_TYPE([ptrdiff_t], ,
+ [AC_DEFINE([ptrdiff_t], [long],
+ [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
+ ])
+ AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
+stdlib.h string.h unistd.h sys/param.h])
+ AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \
+mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \
+strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \
+__fsetlocking])
+
+ dnl Use the _snprintf function only if it is declared (because on NetBSD it
+ dnl is defined as a weak alias of snprintf; we prefer to use the latter).
+ gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
+ gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
+
+ dnl Use the *_unlocked functions only if they are declared.
+ dnl (because some of them were defined without being declared in Solaris
+ dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
+ dnl on Solaris 2.5.1 to run on Solaris 2.6).
+ dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
+ gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
+ gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
+ gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
+
+ case $gt_cv_func_printf_posix in
+ *yes) HAVE_POSIX_PRINTF=1 ;;
+ *) HAVE_POSIX_PRINTF=0 ;;
+ esac
+ AC_SUBST([HAVE_POSIX_PRINTF])
+ if test "$ac_cv_func_asprintf" = yes; then
+ HAVE_ASPRINTF=1
+ else
+ HAVE_ASPRINTF=0
fi
- if test "$am_cv_lib_iconv" = yes; then
- AC_MSG_CHECKING([how to link with libiconv])
- AC_MSG_RESULT([$LIBICONV])
+ AC_SUBST([HAVE_ASPRINTF])
+ if test "$ac_cv_func_snprintf" = yes; then
+ HAVE_SNPRINTF=1
else
- dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
- dnl either.
- CPPFLAGS="$am_save_CPPFLAGS"
- LIBICONV=
- LTLIBICONV=
+ HAVE_SNPRINTF=0
+ fi
+ AC_SUBST([HAVE_SNPRINTF])
+ if test "$ac_cv_func_wprintf" = yes; then
+ HAVE_WPRINTF=1
+ else
+ HAVE_WPRINTF=0
+ fi
+ AC_SUBST([HAVE_WPRINTF])
+
+ AM_ICONV
+ AM_LANGINFO_CODESET
+ if test $ac_cv_header_locale_h = yes; then
+ gt_LC_MESSAGES
+ fi
+
+ if test -n "$INTL_MACOSX_LIBS"; then
+ CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
+ fi
+
+ dnl intl/plural.c is generated from intl/plural.y. It requires bison,
+ dnl because plural.y uses bison specific features. It requires at least
+ dnl bison-1.26 because earlier versions generate a plural.c that doesn't
+ dnl compile.
+ dnl bison is only needed for the maintainer (who touches plural.y). But in
+ dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
+ dnl the rule in general Makefile. Now, some people carelessly touch the
+ dnl files or have a broken "make" program, hence the plural.c rule will
+ dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
+ dnl present or too old.
+ AC_CHECK_PROGS([INTLBISON], [bison])
+ if test -z "$INTLBISON"; then
+ ac_verc_fail=yes
+ else
+ dnl Found it, now check the version.
+ AC_MSG_CHECKING([version of bison])
+changequote(<<,>>)dnl
+ 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;;
+ 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
+changequote([,])dnl
+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+ esac
+ AC_MSG_RESULT([$ac_prog_version])
+ fi
+ if test $ac_verc_fail = yes; then
+ INTLBISON=:
fi
- AC_SUBST(LIBICONV)
- AC_SUBST(LTLIBICONV)
])
-AC_DEFUN([AM_ICONV],
+
+dnl Checks for special options needed on MacOS X.
+dnl Defines INTL_MACOSX_LIBS.
+AC_DEFUN([gt_INTL_MACOSX],
[
- AM_ICONV_LINK
- if test "$am_cv_func_iconv" = yes; then
- AC_MSG_CHECKING([for iconv declaration])
- AC_CACHE_VAL(am_cv_proto_iconv, [
- AC_TRY_COMPILE([
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
+ dnl Check for API introduced in MacOS X 10.2.
+ AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
+ gt_cv_func_CFPreferencesCopyAppValue,
+ [gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -framework CoreFoundation"
+ AC_TRY_LINK([#include <CFPreferences.h>],
+ [CFPreferencesCopyAppValue(NULL, NULL)],
+ [gt_cv_func_CFPreferencesCopyAppValue=yes],
+ [gt_cv_func_CFPreferencesCopyAppValue=no])
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"])
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+ AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
+ [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+ fi
+ dnl Check for API introduced in MacOS X 10.3.
+ AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
+ [gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -framework CoreFoundation"
+ AC_TRY_LINK([#include <CFLocale.h>], [CFLocaleCopyCurrent();],
+ [gt_cv_func_CFLocaleCopyCurrent=yes],
+ [gt_cv_func_CFLocaleCopyCurrent=no])
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"])
+ if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
+ [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+ fi
+ INTL_MACOSX_LIBS=
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+ fi
+ AC_SUBST([INTL_MACOSX_LIBS])
+])
+
+
+dnl gt_CHECK_DECL(FUNC, INCLUDES)
+dnl Check whether a function is declared.
+AC_DEFUN([gt_CHECK_DECL],
+[
+ AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,
+ [AC_TRY_COMPILE([$2], [
+#ifndef $1
+ char *p = (char *) $1;
#endif
-], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
- am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
- am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
- AC_MSG_RESULT([$]{ac_t:-
- }[$]am_cv_proto_iconv)
- AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
- [Define as const if the declaration of iconv() needs const.])
+], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
+ if test $ac_cv_have_decl_$1 = yes; then
+ gt_value=1
+ else
+ gt_value=0
+ fi
+ AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
+ [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
+
+# po.m4 serial 7 (gettext-0.14.3)
+dnl Copyright (C) 1995-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+dnl Checks for all prerequisites of the po subdirectory.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+ AC_REQUIRE([AC_PROG_INSTALL])dnl
+ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
+ AC_REQUIRE([AM_NLS])dnl
+
+ dnl Perform the following tests also if --disable-nls has been given,
+ dnl because they are needed for "make dist" to work.
+
+ dnl Search for GNU msgfmt in the PATH.
+ dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
+ dnl The second test excludes FreeBSD msgfmt.
+ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+ [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+ dnl Search for GNU xgettext 0.12 or newer in the PATH.
+ dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
+ dnl The second test excludes FreeBSD xgettext.
+ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+ [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+ dnl Remove leftover from FreeBSD xgettext call.
+ rm -f messages.po
+
+ dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+ AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+ [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
+
+ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+ dnl Test whether we really found GNU msgfmt.
+ if test "$GMSGFMT" != ":"; then
+ dnl If it is no GNU msgfmt we define it as : so that the
+ dnl Makefiles still can work.
+ if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
+ (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ : ;
+ else
+ GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
+ AC_MSG_RESULT(
+ [found $GMSGFMT program is not GNU msgfmt; ignore it])
+ GMSGFMT=":"
+ fi
+ fi
+
+ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+ dnl Test whether we really found GNU xgettext.
+ if test "$XGETTEXT" != ":"; then
+ dnl If it is no GNU xgettext we define it as : so that the
+ dnl Makefiles still can work.
+ if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
+ (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ : ;
+ else
+ AC_MSG_RESULT(
+ [found xgettext program is not GNU xgettext; ignore it])
+ XGETTEXT=":"
+ fi
+ dnl Remove leftover from FreeBSD xgettext call.
+ rm -f messages.po
+ fi
+
+ AC_OUTPUT_COMMANDS([
+ for ac_file in $CONFIG_FILES; do
+ # Support "outfile[:infile[:infile...]]"
+ case "$ac_file" in
+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ esac
+ # PO directories have a Makefile.in generated from Makefile.in.in.
+ case "$ac_file" in */Makefile.in)
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+ # Treat a directory as a PO directory if and only if it has a
+ # POTFILES.in file. This allows packages to have multiple PO
+ # directories under different names or in different locations.
+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+ rm -f "$ac_dir/POTFILES"
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+ POMAKEFILEDEPS="POTFILES.in"
+ # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+ # on $ac_dir but don't depend on user-specified configuration
+ # parameters.
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ # Hide the ALL_LINGUAS assigment from automake.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # The set of available languages was given in configure.in.
+ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+ fi
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ done
+ fi
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+ if test -f "$f"; then
+ case "$f" in
+ *.orig | *.bak | *~) ;;
+ *) cat "$f" >> "$ac_dir/Makefile" ;;
+ esac
+ fi
+ done
+ fi
+ ;;
+ esac
+ done],
+ [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+ # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+ # from automake.
+ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+ # Capture the value of LINGUAS because we need it to compute CATALOGS.
+ LINGUAS="${LINGUAS-%UNSET%}"
+ ])
+])
+
+dnl Postprocesses a Makefile in a directory containing PO files.
+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
+[
+ # When this code is run, in config.status, two variables have already been
+ # set:
+ # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
+ # - LINGUAS is the value of the environment variable LINGUAS at configure
+ # time.
+
+changequote(,)dnl
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ # Find a way to echo strings without interpreting backslash.
+ if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
+ gt_echo='echo'
+ else
+ if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
+ gt_echo='printf %s\n'
+ else
+ echo_func () {
+ cat <<EOT
+$*
+EOT
+ }
+ gt_echo='echo_func'
+ fi
+ fi
+
+ # A sed script that extracts the value of VARIABLE from a Makefile.
+ sed_x_variable='
+# Test if the hold space is empty.
+x
+s/P/P/
+x
+ta
+# Yes it was empty. Look if we have the expected variable definition.
+/^[ ]*VARIABLE[ ]*=/{
+ # Seen the first line of the variable definition.
+ s/^[ ]*VARIABLE[ ]*=//
+ ba
+}
+bd
+:a
+# Here we are processing a line from the variable definition.
+# Remove comment, more precisely replace it with a space.
+s/#.*$/ /
+# See if the line ends in a backslash.
+tb
+:b
+s/\\$//
+# Print the line, without the trailing backslash.
+p
+tc
+# There was no trailing backslash. The end of the variable definition is
+# reached. Clear the hold space.
+s/^.*$//
+x
+bd
+:c
+# A trailing backslash means that the variable definition continues in the
+# next line. Put a nonempty string into the hold space to indicate this.
+s/^.*$/P/
+x
+:d
+'
+changequote([,])dnl
+
+ # Set POTFILES to the value of the Makefile variable POTFILES.
+ sed_x_POTFILES="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`"
+ POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
+ # Compute POTFILES_DEPS as
+ # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+ POTFILES_DEPS=
+ for file in $POTFILES; do
+ POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
+ done
+ POMAKEFILEDEPS=""
+
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
+ sed_x_LINGUAS="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`"
+ ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
+ fi
+ # Hide the ALL_LINGUAS assigment from automake.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ # Compute PROPERTIESFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
+ # Compute CLASSFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
+ # Compute QMFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
+ # Compute MSGFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
+ # Compute RESOURCESDLLFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ PROPERTIESFILES=
+ CLASSFILES=
+ QMFILES=
+ MSGFILES=
+ RESOURCESDLLFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
+ CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
+ QMFILES="$QMFILES $srcdirpre$lang.qm"
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ JAVACATALOGS=
+ QTCATALOGS=
+ TCLCATALOGS=
+ CSHARPCATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
+ QTCATALOGS="$QTCATALOGS $lang.qm"
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
+ done
+ fi
+
+ sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+ if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
+ # Add dependencies that cannot be formulated as a simple suffix rule.
+ for lang in $ALL_LINGUAS; do
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ cat >> "$ac_file.tmp" <<EOF
+$frobbedlang.msg: $lang.po
+ @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+ \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+ done
+ fi
+ if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
+ # Add dependencies that cannot be formulated as a simple suffix rule.
+ for lang in $ALL_LINGUAS; do
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ cat >> "$ac_file.tmp" <<EOF
+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
+ @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+ \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+ done
+ fi
+ if test -n "$POMAKEFILEDEPS"; then
+ cat >> "$ac_file.tmp" <<EOF
+Makefile: $POMAKEFILEDEPS
+EOF
+ fi
+ mv "$ac_file.tmp" "$ac_file"
+])
+
+# nls.m4 serial 2 (gettext-0.14.3)
+dnl Copyright (C) 1995-2003, 2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+AC_DEFUN([AM_NLS],
+[
+ AC_MSG_CHECKING([whether NLS is requested])
+ dnl Default is enabled NLS
+ AC_ARG_ENABLE(nls,
+ [ --disable-nls do not use Native Language Support],
+ USE_NLS=$enableval, USE_NLS=yes)
+ AC_MSG_RESULT($USE_NLS)
+ AC_SUBST(USE_NLS)
+])
+
+AC_DEFUN([AM_MKINSTALLDIRS],
+[
+ dnl Tell automake >= 1.10 to complain if mkinstalldirs is missing.
+ m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([mkinstalldirs])])
+ dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
+ dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
+ dnl Try to locate it.
+ MKINSTALLDIRS=
+ if test -n "$ac_aux_dir"; then
+ case "$ac_aux_dir" in
+ /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
+ *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
+ esac
+ fi
+ if test -z "$MKINSTALLDIRS"; then
+ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
fi
+ AC_SUBST(MKINSTALLDIRS)
+])
+
+# progtest.m4 serial 4 (gettext-0.14.2)
+dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+AC_PREREQ(2.50)
+
+# Search path for a program which passes the given test.
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
+[
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+ [[\\/]]* | ?:[[\\/]]*)
+ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in ifelse([$5], , $PATH, [$5]); do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
+ if [$3]; then
+ ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+ ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+ AC_MSG_RESULT([$]$1)
+else
+ AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
])
# lib-prefix.m4 serial 4 (gettext-0.14.2)
@@ -932,3 +1955,745 @@ test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
AC_LIB_PROG_LD_GNU
])
+# iconv.m4 serial AM4 (gettext-0.11.3)
+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+
+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+ dnl accordingly.
+ AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+ dnl those with the standalone portable GNU libiconv installed).
+
+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+ dnl accordingly.
+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+ dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+ dnl because if the user has installed libiconv and not disabled its use
+ dnl via --without-libiconv-prefix, he wants to use it. The first
+ dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+ am_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+ AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
+ am_cv_func_iconv="no, consider installing GNU libiconv"
+ am_cv_lib_iconv=no
+ AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+ [iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);],
+ am_cv_func_iconv=yes)
+ if test "$am_cv_func_iconv" != yes; then
+ am_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+ AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+ [iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);],
+ am_cv_lib_iconv=yes
+ am_cv_func_iconv=yes)
+ LIBS="$am_save_LIBS"
+ fi
+ ])
+ if test "$am_cv_func_iconv" = yes; then
+ AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
+ fi
+ if test "$am_cv_lib_iconv" = yes; then
+ AC_MSG_CHECKING([how to link with libiconv])
+ AC_MSG_RESULT([$LIBICONV])
+ else
+ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+ dnl either.
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBICONV=
+ LTLIBICONV=
+ fi
+ AC_SUBST(LIBICONV)
+ AC_SUBST(LTLIBICONV)
+])
+
+AC_DEFUN([AM_ICONV],
+[
+ AM_ICONV_LINK
+ if test "$am_cv_func_iconv" = yes; then
+ AC_MSG_CHECKING([for iconv declaration])
+ AC_CACHE_VAL(am_cv_proto_iconv, [
+ AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
+ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+ AC_MSG_RESULT([$]{ac_t:-
+ }[$]am_cv_proto_iconv)
+ AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+ [Define as const if the declaration of iconv() needs const.])
+ fi
+])
+
+# glibc2.m4 serial 1
+dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Test for the GNU C Library, version 2.0 or newer.
+# From Bruno Haible.
+
+AC_DEFUN([gt_GLIBC2],
+ [
+ AC_CACHE_CHECK(whether we are using the GNU C Library 2 or newer,
+ ac_cv_gnu_library_2,
+ [AC_EGREP_CPP([Lucky GNU user],
+ [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ >= 2)
+ Lucky GNU user
+ #endif
+#endif
+ ],
+ ac_cv_gnu_library_2=yes,
+ ac_cv_gnu_library_2=no)
+ ]
+ )
+ AC_SUBST(GLIBC2)
+ GLIBC2="$ac_cv_gnu_library_2"
+ ]
+)
+
+# isc-posix.m4 serial 2 (gettext-0.11.2)
+dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
+
+# This test replaces the one in autoconf.
+# Currently this macro should have the same name as the autoconf macro
+# because gettext's gettext.m4 (distributed in the automake package)
+# still uses it. Otherwise, the use in gettext.m4 makes autoheader
+# give these diagnostics:
+# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
+# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
+
+undefine([AC_ISC_POSIX])
+
+AC_DEFUN([AC_ISC_POSIX],
+ [
+ dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
+ AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
+ ]
+)
+
+# signed.m4 serial 1 (gettext-0.10.40)
+dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([bh_C_SIGNED],
+[
+ AC_CACHE_CHECK([for signed], bh_cv_c_signed,
+ [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)])
+ if test $bh_cv_c_signed = no; then
+ AC_DEFINE(signed, ,
+ [Define to empty if the C compiler doesn't support this keyword.])
+ fi
+])
+
+# longlong.m4 serial 5
+dnl Copyright (C) 1999-2004 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert.
+
+# Define HAVE_LONG_LONG if 'long long' works.
+
+AC_DEFUN([gl_AC_TYPE_LONG_LONG],
+[
+ AC_CACHE_CHECK([for long long], ac_cv_type_long_long,
+ [AC_TRY_LINK([long long ll = 1LL; int i = 63;],
+ [long long llmax = (long long) -1;
+ return ll << i | ll >> i | llmax / ll | llmax % ll;],
+ ac_cv_type_long_long=yes,
+ ac_cv_type_long_long=no)])
+ if test $ac_cv_type_long_long = yes; then
+ AC_DEFINE(HAVE_LONG_LONG, 1,
+ [Define if you have the 'long long' type.])
+ fi
+])
+
+# longdouble.m4 serial 1 (gettext-0.12)
+dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+dnl Test whether the compiler supports the 'long double' type.
+dnl Prerequisite: AC_PROG_CC
+
+AC_DEFUN([gt_TYPE_LONGDOUBLE],
+[
+ AC_CACHE_CHECK([for long double], gt_cv_c_long_double,
+ [if test "$GCC" = yes; then
+ gt_cv_c_long_double=yes
+ else
+ AC_TRY_COMPILE([
+ /* The Stardent Vistra knows sizeof(long double), but does not support it. */
+ long double foo = 0.0;
+ /* On Ultrix 4.3 cc, long double is 4 and double is 8. */
+ int array [2*(sizeof(long double) >= sizeof(double)) - 1];
+ ], ,
+ gt_cv_c_long_double=yes, gt_cv_c_long_double=no)
+ fi])
+ if test $gt_cv_c_long_double = yes; then
+ AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.])
+ fi
+])
+
+# wchar_t.m4 serial 1 (gettext-0.12)
+dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+dnl Test whether <stddef.h> has the 'wchar_t' type.
+dnl Prerequisite: AC_PROG_CC
+
+AC_DEFUN([gt_TYPE_WCHAR_T],
+[
+ AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t,
+ [AC_TRY_COMPILE([#include <stddef.h>
+ wchar_t foo = (wchar_t)'\0';], ,
+ gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)])
+ if test $gt_cv_c_wchar_t = yes; then
+ AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.])
+ fi
+])
+
+# wint_t.m4 serial 1 (gettext-0.12)
+dnl Copyright (C) 2003 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+dnl Test whether <wchar.h> has the 'wint_t' type.
+dnl Prerequisite: AC_PROG_CC
+
+AC_DEFUN([gt_TYPE_WINT_T],
+[
+ AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t,
+ [AC_TRY_COMPILE([#include <wchar.h>
+ wint_t foo = (wchar_t)'\0';], ,
+ gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)])
+ if test $gt_cv_c_wint_t = yes; then
+ AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.])
+ fi
+])
+
+# inttypes_h.m4 serial 6
+dnl Copyright (C) 1997-2004 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert.
+
+# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
+# doesn't clash with <sys/types.h>, and declares uintmax_t.
+
+AC_DEFUN([gl_AC_HEADER_INTTYPES_H],
+[
+ AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h,
+ [AC_TRY_COMPILE(
+ [#include <sys/types.h>
+#include <inttypes.h>],
+ [uintmax_t i = (uintmax_t) -1;],
+ gl_cv_header_inttypes_h=yes,
+ gl_cv_header_inttypes_h=no)])
+ if test $gl_cv_header_inttypes_h = yes; then
+ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
+ [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
+ and declares uintmax_t. ])
+ fi
+])
+
+# stdint_h.m4 serial 5
+dnl Copyright (C) 1997-2004 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert.
+
+# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
+# doesn't clash with <sys/types.h>, and declares uintmax_t.
+
+AC_DEFUN([gl_AC_HEADER_STDINT_H],
+[
+ AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h,
+ [AC_TRY_COMPILE(
+ [#include <sys/types.h>
+#include <stdint.h>],
+ [uintmax_t i = (uintmax_t) -1;],
+ gl_cv_header_stdint_h=yes,
+ gl_cv_header_stdint_h=no)])
+ if test $gl_cv_header_stdint_h = yes; then
+ AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
+ [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
+ and declares uintmax_t. ])
+ fi
+])
+
+# intmax.m4 serial 2 (gettext-0.14.2)
+dnl Copyright (C) 2002-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+dnl Test whether the system has the 'intmax_t' type, but don't attempt to
+dnl find a replacement if it is lacking.
+
+AC_DEFUN([gt_TYPE_INTMAX_T],
+[
+ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
+ AC_REQUIRE([gl_AC_HEADER_STDINT_H])
+ AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,
+ [AC_TRY_COMPILE([
+#include <stddef.h>
+#include <stdlib.h>
+#if HAVE_STDINT_H_WITH_UINTMAX
+#include <stdint.h>
+#endif
+#if HAVE_INTTYPES_H_WITH_UINTMAX
+#include <inttypes.h>
+#endif
+], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)])
+ if test $gt_cv_c_intmax_t = yes; then
+ AC_DEFINE(HAVE_INTMAX_T, 1,
+ [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
+ fi
+])
+
+# printf-posix.m4 serial 2 (gettext-0.13.1)
+dnl Copyright (C) 2003 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+dnl Test whether the printf() function supports POSIX/XSI format strings with
+dnl positions.
+
+AC_DEFUN([gt_PRINTF_POSIX],
+[
+ AC_REQUIRE([AC_PROG_CC])
+ AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings],
+ gt_cv_func_printf_posix,
+ [
+ AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+/* The string "%2$d %1$d", with dollar characters protected from the shell's
+ dollar expansion (possibly an autoconf bug). */
+static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' };
+static char buf[100];
+int main ()
+{
+ sprintf (buf, format, 33, 55);
+ return (strcmp (buf, "55 33") != 0);
+}], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no,
+ [
+ AC_EGREP_CPP(notposix, [
+#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__
+ notposix
+#endif
+ ], gt_cv_func_printf_posix="guessing no",
+ gt_cv_func_printf_posix="guessing yes")
+ ])
+ ])
+ case $gt_cv_func_printf_posix in
+ *yes)
+ AC_DEFINE(HAVE_POSIX_PRINTF, 1,
+ [Define if your printf() function supports format strings with positions.])
+ ;;
+ esac
+])
+
+# glibc21.m4 serial 3
+dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# Test for the GNU C Library, version 2.1 or newer.
+# From Bruno Haible.
+
+AC_DEFUN([gl_GLIBC21],
+ [
+ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
+ ac_cv_gnu_library_2_1,
+ [AC_EGREP_CPP([Lucky GNU user],
+ [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
+ Lucky GNU user
+ #endif
+#endif
+ ],
+ ac_cv_gnu_library_2_1=yes,
+ ac_cv_gnu_library_2_1=no)
+ ]
+ )
+ AC_SUBST(GLIBC21)
+ GLIBC21="$ac_cv_gnu_library_2_1"
+ ]
+)
+
+# intdiv0.m4 serial 1 (gettext-0.11.3)
+dnl Copyright (C) 2002 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([gt_INTDIV0],
+[
+ AC_REQUIRE([AC_PROG_CC])dnl
+ AC_REQUIRE([AC_CANONICAL_HOST])dnl
+
+ AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
+ gt_cv_int_divbyzero_sigfpe,
+ [
+ AC_TRY_RUN([
+#include <stdlib.h>
+#include <signal.h>
+
+static void
+#ifdef __cplusplus
+sigfpe_handler (int sig)
+#else
+sigfpe_handler (sig) int sig;
+#endif
+{
+ /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
+ exit (sig != SIGFPE);
+}
+
+int x = 1;
+int y = 0;
+int z;
+int nan;
+
+int main ()
+{
+ signal (SIGFPE, sigfpe_handler);
+/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
+#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
+ signal (SIGTRAP, sigfpe_handler);
+#endif
+/* Linux/SPARC yields signal SIGILL. */
+#if defined (__sparc__) && defined (__linux__)
+ signal (SIGILL, sigfpe_handler);
+#endif
+
+ z = x / y;
+ nan = y / y;
+ exit (1);
+}
+], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
+ [
+ # Guess based on the CPU.
+ case "$host_cpu" in
+ alpha* | i[34567]86 | m68k | s390*)
+ gt_cv_int_divbyzero_sigfpe="guessing yes";;
+ *)
+ gt_cv_int_divbyzero_sigfpe="guessing no";;
+ esac
+ ])
+ ])
+ case "$gt_cv_int_divbyzero_sigfpe" in
+ *yes) value=1;;
+ *) value=0;;
+ esac
+ AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
+ [Define if integer division by zero raises signal SIGFPE.])
+])
+
+# uintmax_t.m4 serial 9
+dnl Copyright (C) 1997-2004 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert.
+
+AC_PREREQ(2.13)
+
+# Define uintmax_t to 'unsigned long' or 'unsigned long long'
+# if it is not already defined in <stdint.h> or <inttypes.h>.
+
+AC_DEFUN([gl_AC_TYPE_UINTMAX_T],
+[
+ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
+ AC_REQUIRE([gl_AC_HEADER_STDINT_H])
+ if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then
+ AC_REQUIRE([gl_AC_TYPE_UNSIGNED_LONG_LONG])
+ test $ac_cv_type_unsigned_long_long = yes \
+ && ac_type='unsigned long long' \
+ || ac_type='unsigned long'
+ AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
+ [Define to unsigned long or unsigned long long
+ if <stdint.h> and <inttypes.h> don't define.])
+ else
+ AC_DEFINE(HAVE_UINTMAX_T, 1,
+ [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
+ fi
+])
+
+# ulonglong.m4 serial 4
+dnl Copyright (C) 1999-2004 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert.
+
+# Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works.
+
+AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG],
+[
+ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
+ [AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;],
+ [unsigned long long ullmax = (unsigned long long) -1;
+ return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
+ ac_cv_type_unsigned_long_long=yes,
+ ac_cv_type_unsigned_long_long=no)])
+ if test $ac_cv_type_unsigned_long_long = yes; then
+ AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
+ [Define if you have the 'unsigned long long' type.])
+ fi
+])
+
+# inttypes.m4 serial 1 (gettext-0.11.4)
+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Paul Eggert.
+
+# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
+# <sys/types.h>.
+
+AC_DEFUN([gt_HEADER_INTTYPES_H],
+[
+ AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
+ [
+ AC_TRY_COMPILE(
+ [#include <sys/types.h>
+#include <inttypes.h>],
+ [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
+ ])
+ if test $gt_cv_header_inttypes_h = yes; then
+ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
+ [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
+ fi
+])
+
+# inttypes-pri.m4 serial 1 (gettext-0.11.4)
+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
+# macros to non-string values. This is the case on AIX 4.3.3.
+
+AC_DEFUN([gt_INTTYPES_PRI],
+[
+ AC_REQUIRE([gt_HEADER_INTTYPES_H])
+ if test $gt_cv_header_inttypes_h = yes; then
+ AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
+ gt_cv_inttypes_pri_broken,
+ [
+ AC_TRY_COMPILE([#include <inttypes.h>
+#ifdef PRId32
+char *p = PRId32;
+#endif
+], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
+ ])
+ fi
+ if test "$gt_cv_inttypes_pri_broken" = yes; then
+ AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
+ [Define if <inttypes.h> exists and defines unusable PRI* macros.])
+ fi
+])
+
+# xsize.m4 serial 3
+dnl Copyright (C) 2003-2004 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_XSIZE],
+[
+ dnl Prerequisites of lib/xsize.h.
+ AC_REQUIRE([gl_SIZE_MAX])
+ AC_REQUIRE([AC_C_INLINE])
+ AC_CHECK_HEADERS(stdint.h)
+])
+
+# size_max.m4 serial 2
+dnl Copyright (C) 2003 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([gl_SIZE_MAX],
+[
+ AC_CHECK_HEADERS(stdint.h)
+ dnl First test whether the system already has SIZE_MAX.
+ AC_MSG_CHECKING([for SIZE_MAX])
+ result=
+ AC_EGREP_CPP([Found it], [
+#include <limits.h>
+#if HAVE_STDINT_H
+#include <stdint.h>
+#endif
+#ifdef SIZE_MAX
+Found it
+#endif
+], result=yes)
+ if test -z "$result"; then
+ dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
+ dnl than the type 'unsigned long'.
+ dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr',
+ dnl which is guaranteed to work from LONG_MIN to LONG_MAX.
+ _AC_COMPUTE_INT([~(size_t)0 / 10], res_hi,
+ [#include <stddef.h>], result=?)
+ _AC_COMPUTE_INT([~(size_t)0 % 10], res_lo,
+ [#include <stddef.h>], result=?)
+ _AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
+ [#include <stddef.h>], result=?)
+ if test "$fits_in_uint" = 1; then
+ dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
+ dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
+ AC_TRY_COMPILE([#include <stddef.h>
+ extern size_t foo;
+ extern unsigned long foo;
+ ], [], fits_in_uint=0)
+ fi
+ if test -z "$result"; then
+ if test "$fits_in_uint" = 1; then
+ result="$res_hi$res_lo"U
+ else
+ result="$res_hi$res_lo"UL
+ fi
+ else
+ dnl Shouldn't happen, but who knows...
+ result='~(size_t)0'
+ fi
+ fi
+ AC_MSG_RESULT([$result])
+ if test "$result" != yes; then
+ AC_DEFINE_UNQUOTED([SIZE_MAX], [$result],
+ [Define as the maximum value of type 'size_t', if the system doesn't define it.])
+ fi
+])
+
+# codeset.m4 serial AM1 (gettext-0.10.40)
+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_LANGINFO_CODESET],
+[
+ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
+ [AC_TRY_LINK([#include <langinfo.h>],
+ [char* cs = nl_langinfo(CODESET);],
+ am_cv_langinfo_codeset=yes,
+ am_cv_langinfo_codeset=no)
+ ])
+ if test $am_cv_langinfo_codeset = yes; then
+ AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
+ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
+ fi
+])
+
+# lcmessage.m4 serial 4 (gettext-0.14.2)
+dnl Copyright (C) 1995-2002, 2004-2005 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
+
+# Check whether LC_MESSAGES is available in <locale.h>.
+
+AC_DEFUN([gt_LC_MESSAGES],
+[
+ AC_CACHE_CHECK([for LC_MESSAGES], gt_cv_val_LC_MESSAGES,
+ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+ gt_cv_val_LC_MESSAGES=yes, gt_cv_val_LC_MESSAGES=no)])
+ if test $gt_cv_val_LC_MESSAGES = yes; then
+ AC_DEFINE(HAVE_LC_MESSAGES, 1,
+ [Define if your <locale.h> file defines LC_MESSAGES.])
+ fi
+])
+
diff --git a/config.hin b/config.hin
index fcafcf1..e34f64e 100644
--- a/config.hin
+++ b/config.hin
@@ -3,9 +3,25 @@
/* Define for CPUs that can read unaligned words without traps or faults */
#undef CAN_DO_UNALIGNED_WORDS
+/* Define to 1 if translation of program messages to the user's native
+ language is requested. */
+#undef ENABLE_NLS
+
/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H
+/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
+ CoreFoundation framework. */
+#undef HAVE_CFLOCALECOPYCURRENT
+
+/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
+ the CoreFoundation framework. */
+#undef HAVE_CFPREFERENCESCOPYAPPVALUE
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+ */
+#undef HAVE_DCGETTEXT
+
/* Define to 1 if you have the <getopt.h> header file. */
#undef HAVE_GETOPT_H
@@ -15,6 +31,9 @@
/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#undef HAVE_GETTEXT
+
/* Define if you have the iconv() function. */
#undef HAVE_ICONV
diff --git a/config.rpath b/config.rpath
index 39fef94..3f1bef3 100644..100755
--- a/config.rpath
+++ b/config.rpath
@@ -1,2 +1,571 @@
-# I don't think this is actually used, but the configure script
-# bitches if it is not found. Sigh.
+#! /bin/sh
+# Output a system dependent set of variables, describing how to set the
+# run time search path of shared libraries in an executable.
+#
+# Copyright 1996-2005 Free Software Foundation, Inc.
+# Taken from GNU libtool, 2001
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# The first argument passed to this file is the canonical host specification,
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
+# should be set by the caller.
+#
+# The set of defined variables is at the end of this script.
+
+# Known limitations:
+# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
+# than 256 bytes, otherwise the compiler driver will dump core. The only
+# known workaround is to choose shorter directory names for the build
+# directory and/or the installation directory.
+
+# All known linkers require a `.a' archive for static linking (except M$VC,
+# which needs '.lib').
+libext=a
+shrext=.so
+
+host="$1"
+host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+cc_basename=`echo "$CC" | sed -e 's%^.*/%%'`
+
+# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
+
+wl=
+if test "$GCC" = yes; then
+ wl='-Wl,'
+else
+ case "$host_os" in
+ aix*)
+ wl='-Wl,'
+ ;;
+ darwin*)
+ case "$cc_basename" in
+ xlc*)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
+ mingw* | pw32* | os2*)
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ wl='-Wl,'
+ ;;
+ irix5* | irix6* | nonstopux*)
+ wl='-Wl,'
+ ;;
+ newsos6)
+ ;;
+ linux*)
+ case $cc_basename in
+ icc* | ecc*)
+ wl='-Wl,'
+ ;;
+ pgcc | pgf77 | pgf90)
+ wl='-Wl,'
+ ;;
+ ccc*)
+ wl='-Wl,'
+ ;;
+ como)
+ wl='-lopt='
+ ;;
+ esac
+ ;;
+ osf3* | osf4* | osf5*)
+ wl='-Wl,'
+ ;;
+ sco3.2v5*)
+ ;;
+ solaris*)
+ wl='-Wl,'
+ ;;
+ sunos4*)
+ wl='-Qoption ld '
+ ;;
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ wl='-Wl,'
+ ;;
+ sysv4*MP*)
+ ;;
+ unicos*)
+ wl='-Wl,'
+ ;;
+ uts4*)
+ ;;
+ esac
+fi
+
+# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
+
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+
+case "$host_os" in
+ 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++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+ case "$host_os" in
+ aix3* | aix4* | aix5*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ fi
+ ;;
+ amigaos*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
+ # that the semantics of dynamic libraries on AmigaOS, at least up
+ # to version 4, is to share data among multiple programs linked
+ # with the same dynamic library. Since this doesn't match the
+ # behavior of shared libraries on other platforms, we cannot use
+ # them.
+ ld_shlibs=no
+ ;;
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ cygwin* | mingw* | pw32*)
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ netbsd*)
+ ;;
+ solaris* | sysv5*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ sunos4*)
+ hardcode_direct=yes
+ ;;
+ linux*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ if test "$ld_shlibs" = yes; then
+ # Unlike libtool, we use -rpath here, not --rpath, since the documented
+ # option of GNU ld is called -rpath, not --rpath.
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ fi
+else
+ case "$host_os" in
+ aix3*)
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+ 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
+ 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
+ fi
+ hardcode_direct=yes
+ hardcode_libdir_separator=':'
+ if test "$GCC" = yes; then
+ 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
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ esac
+ fi
+ # Begin _LT_AC_SYS_LIBPATH_AIX.
+ echo 'int main () { return 0; }' > conftest.c
+ ${CC} ${LDFLAGS} conftest.c -o conftest
+ aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ fi
+ if test -z "$aix_libpath"; then
+ aix_libpath="/usr/lib:/lib"
+ fi
+ rm -f conftest.c conftest
+ # End _LT_AC_SYS_LIBPATH_AIX.
+ if test "$aix_use_runtimelinking" = yes; then
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ else
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ fi
+ fi
+ ;;
+ amigaos*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # see comment about different semantics on the GNU ld section
+ ld_shlibs=no
+ ;;
+ bsdi[45]*)
+ ;;
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ libext=lib
+ ;;
+ darwin* | rhapsody*)
+ hardcode_direct=no
+ if test "$GCC" = yes ; then
+ :
+ else
+ case "$cc_basename" in
+ xlc*)
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+ fi
+ ;;
+ dgux*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ freebsd1*)
+ ld_shlibs=no
+ ;;
+ freebsd2.2*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ freebsd2*)
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ freebsd* | kfreebsd*-gnu | dragonfly*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ hpux9*)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ hpux10* | hpux11*)
+ if test "$with_gnu_ld" = no; then
+ case "$host_cpu" in
+ hppa*64*)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=no
+ ;;
+ ia64*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=no
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ *)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+ irix5* | irix6* | nonstopux*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ netbsd*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ newsos6)
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ openbsd*)
+ hardcode_direct=yes
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ else
+ case "$host_os" in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ ;;
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ osf3*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ osf4* | osf5*)
+ if test "$GCC" = yes; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ # Both cc and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ ;;
+ sco3.2v5*)
+ ;;
+ solaris*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ sunos4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ sysv4)
+ case $host_vendor in
+ sni)
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ hardcode_direct=no
+ ;;
+ motorola)
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ ;;
+ sysv4.3*)
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ ld_shlibs=yes
+ fi
+ ;;
+ sysv4.2uw2*)
+ hardcode_direct=yes
+ hardcode_minus_L=no
+ ;;
+ sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
+ ;;
+ sysv5*)
+ hardcode_libdir_flag_spec=
+ ;;
+ uts4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+fi
+
+# Check dynamic linker characteristics
+# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
+libname_spec='lib$name'
+case "$host_os" in
+ aix3*)
+ ;;
+ aix4* | aix5*)
+ ;;
+ amigaos*)
+ ;;
+ beos*)
+ ;;
+ bsdi[45]*)
+ ;;
+ cygwin* | mingw* | pw32*)
+ shrext=.dll
+ ;;
+ darwin* | rhapsody*)
+ shrext=.dylib
+ ;;
+ dgux*)
+ ;;
+ freebsd1*)
+ ;;
+ kfreebsd*-gnu)
+ ;;
+ freebsd*)
+ ;;
+ gnu*)
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case "$host_cpu" in
+ ia64*)
+ shrext=.so
+ ;;
+ hppa*64*)
+ shrext=.sl
+ ;;
+ *)
+ shrext=.sl
+ ;;
+ esac
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case "$host_os" in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
+ *) libsuff= shlibsuff= ;;
+ esac
+ ;;
+ esac
+ ;;
+ linux*oldld* | linux*aout* | linux*coff*)
+ ;;
+ linux*)
+ ;;
+ knetbsd*-gnu)
+ ;;
+ netbsd*)
+ ;;
+ newsos6)
+ ;;
+ nto-qnx*)
+ ;;
+ openbsd*)
+ ;;
+ os2*)
+ libname_spec='$name'
+ shrext=.dll
+ ;;
+ osf3* | osf4* | osf5*)
+ ;;
+ sco3.2v5*)
+ ;;
+ solaris*)
+ ;;
+ sunos4*)
+ ;;
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ ;;
+ sysv4*MP*)
+ ;;
+ uts4*)
+ ;;
+esac
+
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
+shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
+escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+
+LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
+
+# How to pass a linker flag through the compiler.
+wl="$escaped_wl"
+
+# Static library suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally "so").
+shlibext="$shlibext"
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator="$hardcode_libdir_separator"
+
+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct="$hardcode_direct"
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L="$hardcode_minus_L"
+
+EOF
diff --git a/configure b/configure
index d743794..28e7b82 100755
--- a/configure
+++ b/configure
@@ -1,16 +1,12 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for Xcftools 0.9.
+# Generated by GNU Autoconf 2.59 for Xcftools 1.0.
#
# Report bugs to <henning@makholm.net>.
#
# Copyright (C) 2003 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
-#
-# General copyright notice for Xcftools:
-# @COPYRIGHT@ Henning Makholm
-#
## --------------------- ##
## M4sh Initialization. ##
## --------------------- ##
@@ -273,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='Xcftools'
PACKAGE_TARNAME='xcftools'
-PACKAGE_VERSION='0.9'
-PACKAGE_STRING='Xcftools 0.9'
+PACKAGE_VERSION='1.0'
+PACKAGE_STRING='Xcftools 1.0'
PACKAGE_BUGREPORT='henning@makholm.net'
ac_unique_file="xcfinfo.c"
@@ -315,7 +311,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPP EGREP LIBICONV LTLIBICONV PERL LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPP EGREP SET_MAKE MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE INTL_MACOSX_LIBS LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB PERL LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -784,7 +780,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Xcftools 0.9 to adapt to many kinds of systems.
+\`configure' configures Xcftools 1.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -850,7 +846,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Xcftools 0.9:";;
+ short | recursive ) echo "Configuration of Xcftools 1.0:";;
esac
cat <<\_ACEOF
@@ -860,6 +856,7 @@ Optional Features:
--enable-precomputed-scaletable
Use precomputed multiplication table (adds 64 KB per
binary)
+ --disable-nls do not use Native Language Support
--disable-rpath do not hardcode runtime library paths
Optional Packages:
@@ -868,6 +865,8 @@ Optional Packages:
--with-gnu-ld assume the C compiler uses GNU ld default=no
--with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
--without-libiconv-prefix don't search for libiconv in includedir and libdir
+ --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
Some influential environment variables:
CC C compiler command
@@ -977,16 +976,12 @@ fi
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-Xcftools configure 0.9
+Xcftools configure 1.0
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
-
-General copyright notice for Xcftools:
- @COPYRIGHT@ Henning Makholm
-
_ACEOF
exit 0
fi
@@ -995,7 +990,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Xcftools $as_me 0.9, which was
+It was created by Xcftools $as_me 1.0, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@@ -1333,7 +1328,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
ac_aux_dir=
for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
if test -f $ac_dir/install-sh; then
@@ -3919,6 +3913,346 @@ _ACEOF
fi
rm -f conftest.mmap
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.make <<\_ACEOF
+all:
+ @echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+
+ MKINSTALLDIRS=
+ if test -n "$ac_aux_dir"; then
+ case "$ac_aux_dir" in
+ /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
+ *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
+ esac
+ fi
+ if test -z "$MKINSTALLDIRS"; then
+ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+ fi
+
+
+
+ echo "$as_me:$LINENO: checking whether NLS is requested" >&5
+echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6
+ # Check whether --enable-nls or --disable-nls was given.
+if test "${enable_nls+set}" = set; then
+ enableval="$enable_nls"
+ USE_NLS=$enableval
+else
+ USE_NLS=yes
+fi;
+ echo "$as_me:$LINENO: result: $USE_NLS" >&5
+echo "${ECHO_T}$USE_NLS" >&6
+
+
+
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_MSGFMT+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case "$MSGFMT" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&5
+ if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 &&
+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
+ ;;
+esac
+fi
+MSGFMT="$ac_cv_path_MSGFMT"
+if test "$MSGFMT" != ":"; then
+ echo "$as_me:$LINENO: result: $MSGFMT" >&5
+echo "${ECHO_T}$MSGFMT" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ # Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_GMSGFMT+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $GMSGFMT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+ test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+ ;;
+esac
+fi
+GMSGFMT=$ac_cv_path_GMSGFMT
+
+if test -n "$GMSGFMT"; then
+ echo "$as_me:$LINENO: result: $GMSGFMT" >&5
+echo "${ECHO_T}$GMSGFMT" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_XGETTEXT+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case "$XGETTEXT" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&5
+ if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 &&
+ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
+ ;;
+esac
+fi
+XGETTEXT="$ac_cv_path_XGETTEXT"
+if test "$XGETTEXT" != ":"; then
+ echo "$as_me:$LINENO: result: $XGETTEXT" >&5
+echo "${ECHO_T}$XGETTEXT" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ rm -f messages.po
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_MSGMERGE+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case "$MSGMERGE" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&5
+ if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then
+ ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
+ ;;
+esac
+fi
+MSGMERGE="$ac_cv_path_MSGMERGE"
+if test "$MSGMERGE" != ":"; then
+ echo "$as_me:$LINENO: result: $MSGMERGE" >&5
+echo "${ECHO_T}$MSGMERGE" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+
+ if test "$GMSGFMT" != ":"; then
+ if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
+ (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ : ;
+ else
+ GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
+ echo "$as_me:$LINENO: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5
+echo "${ECHO_T}found $GMSGFMT program is not GNU msgfmt; ignore it" >&6
+ GMSGFMT=":"
+ fi
+ fi
+
+ if test "$XGETTEXT" != ":"; then
+ if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
+ (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ : ;
+ else
+ echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5
+echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6
+ XGETTEXT=":"
+ fi
+ rm -f messages.po
+ fi
+
+ ac_config_commands="$ac_config_commands default-1"
+
+
if test "X$prefix" = "XNONE"; then
acl_final_prefix="$ac_default_prefix"
@@ -4470,6 +4804,1023 @@ fi;
+
+
+
+
+
+
+
+
+
+
+
+ echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5
+echo $ECHO_N "checking for CFPreferencesCopyAppValue... $ECHO_C" >&6
+if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -framework CoreFoundation"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <CFPreferences.h>
+int
+main ()
+{
+CFPreferencesCopyAppValue(NULL, NULL)
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gt_cv_func_CFPreferencesCopyAppValue=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+gt_cv_func_CFPreferencesCopyAppValue=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"
+fi
+echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
+echo "${ECHO_T}$gt_cv_func_CFPreferencesCopyAppValue" >&6
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_CFPREFERENCESCOPYAPPVALUE 1
+_ACEOF
+
+ fi
+ echo "$as_me:$LINENO: checking for CFLocaleCopyCurrent" >&5
+echo $ECHO_N "checking for CFLocaleCopyCurrent... $ECHO_C" >&6
+if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -framework CoreFoundation"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <CFLocale.h>
+int
+main ()
+{
+CFLocaleCopyCurrent();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gt_cv_func_CFLocaleCopyCurrent=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+gt_cv_func_CFLocaleCopyCurrent=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"
+fi
+echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
+echo "${ECHO_T}$gt_cv_func_CFLocaleCopyCurrent" >&6
+ if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_CFLOCALECOPYCURRENT 1
+_ACEOF
+
+ fi
+ INTL_MACOSX_LIBS=
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+ fi
+
+
+
+
+ echo "$as_me:$LINENO: checking whether NLS is requested" >&5
+echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6
+ # Check whether --enable-nls or --disable-nls was given.
+if test "${enable_nls+set}" = set; then
+ enableval="$enable_nls"
+ USE_NLS=$enableval
+else
+ USE_NLS=yes
+fi;
+ echo "$as_me:$LINENO: result: $USE_NLS" >&5
+echo "${ECHO_T}$USE_NLS" >&6
+
+
+
+
+ LIBINTL=
+ LTLIBINTL=
+ POSUB=
+
+ if test "$USE_NLS" = "yes"; then
+ gt_use_preinstalled_gnugettext=no
+
+
+
+
+
+
+ echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5
+echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6
+if test "${gt_cv_func_gnugettext1_libc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <libintl.h>
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+int
+main ()
+{
+bindtextdomain ("", "");
+return * gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gt_cv_func_gnugettext1_libc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+gt_cv_func_gnugettext1_libc=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libc" >&5
+echo "${ECHO_T}$gt_cv_func_gnugettext1_libc" >&6
+
+ if test "$gt_cv_func_gnugettext1_libc" != "yes"; then
+
+
+
+
+
+ am_save_CPPFLAGS="$CPPFLAGS"
+
+ for element in $INCICONV; 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 "$as_me:$LINENO: checking for iconv" >&5
+echo $ECHO_N "checking for iconv... $ECHO_C" >&6
+if test "${am_cv_func_iconv+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ am_cv_func_iconv="no, consider installing GNU libiconv"
+ am_cv_lib_iconv=no
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <iconv.h>
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ am_cv_func_iconv=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$am_cv_func_iconv" != yes; then
+ am_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <iconv.h>
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ am_cv_lib_iconv=yes
+ am_cv_func_iconv=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$am_save_LIBS"
+ fi
+
+fi
+echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5
+echo "${ECHO_T}$am_cv_func_iconv" >&6
+ if test "$am_cv_func_iconv" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_ICONV 1
+_ACEOF
+
+ fi
+ if test "$am_cv_lib_iconv" = yes; then
+ echo "$as_me:$LINENO: checking how to link with libiconv" >&5
+echo $ECHO_N "checking how to link with libiconv... $ECHO_C" >&6
+ echo "$as_me:$LINENO: result: $LIBICONV" >&5
+echo "${ECHO_T}$LIBICONV" >&6
+ else
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBICONV=
+ LTLIBICONV=
+ fi
+
+
+
+
+
+
+ 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-libintl-prefix or --without-libintl-prefix was given.
+if test "${with_libintl_prefix+set}" = set; then
+ withval="$with_libintl_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;
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='intl '
+ 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" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$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 $LTLIBINTL; 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
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$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
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$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 $LIBINTL; 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
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
+ fi
+ if test "$hardcode_minus_L" != no; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-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* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INCINTL; 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
+ INCINTL="${INCINTL}${INCINTL:+ }-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* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIBINTL; 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
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIBINTL; 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
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ 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$,,'`
+ ;;
+ *)
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-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"
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$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"
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ for found_dir in $ltrpathdirs; do
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
+ done
+ fi
+
+ echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5
+echo $ECHO_N "checking for GNU gettext in libintl... $ECHO_C" >&6
+if test "${gt_cv_func_gnugettext1_libintl+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $INCINTL"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBINTL"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <libintl.h>
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+int
+main ()
+{
+bindtextdomain ("", "");
+return * gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gt_cv_func_gnugettext1_libintl=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+gt_cv_func_gnugettext1_libintl=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then
+ LIBS="$LIBS $LIBICONV"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <libintl.h>
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+int
+main ()
+{
+bindtextdomain ("", "");
+return * gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ LIBINTL="$LIBINTL $LIBICONV"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ gt_cv_func_gnugettext1_libintl=yes
+
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ fi
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"
+fi
+echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libintl" >&5
+echo "${ECHO_T}$gt_cv_func_gnugettext1_libintl" >&6
+ fi
+
+ if test "$gt_cv_func_gnugettext1_libc" = "yes" \
+ || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \
+ && test "$PACKAGE" != gettext-runtime \
+ && test "$PACKAGE" != gettext-tools; }; then
+ gt_use_preinstalled_gnugettext=yes
+ else
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ fi
+
+
+
+ if test -n "$INTL_MACOSX_LIBS"; then
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+ LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+ fi
+ fi
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define ENABLE_NLS 1
+_ACEOF
+
+ else
+ USE_NLS=no
+ fi
+ fi
+
+ echo "$as_me:$LINENO: checking whether to use NLS" >&5
+echo $ECHO_N "checking whether to use NLS... $ECHO_C" >&6
+ echo "$as_me:$LINENO: result: $USE_NLS" >&5
+echo "${ECHO_T}$USE_NLS" >&6
+ if test "$USE_NLS" = "yes"; then
+ echo "$as_me:$LINENO: checking where the gettext function comes from" >&5
+echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then
+ gt_source="external libintl"
+ else
+ gt_source="libc"
+ fi
+ else
+ gt_source="included intl directory"
+ fi
+ echo "$as_me:$LINENO: result: $gt_source" >&5
+echo "${ECHO_T}$gt_source" >&6
+ fi
+
+ if test "$USE_NLS" = "yes"; then
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then
+ echo "$as_me:$LINENO: checking how to link with libintl" >&5
+echo $ECHO_N "checking how to link with libintl... $ECHO_C" >&6
+ echo "$as_me:$LINENO: result: $LIBINTL" >&5
+echo "${ECHO_T}$LIBINTL" >&6
+
+ for element in $INCINTL; 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
+
+ fi
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GETTEXT 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_DCGETTEXT 1
+_ACEOF
+
+ fi
+
+ POSUB=po
+ fi
+
+
+
+ INTLLIBS="$LIBINTL"
+
+
+
+
+
+
+
+
+
+
+
am_save_CPPFLAGS="$CPPFLAGS"
for element in $INCICONV; do
@@ -4710,29 +6061,34 @@ _ACEOF
set dummy perl; ac_word=$2
echo "$as_me:$LINENO: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_PERL+set}" = set; then
+if test "${ac_cv_path_PERL+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
- if test -n "$PERL"; then
- ac_cv_prog_PERL="$PERL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ case $PERL in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_PERL="perl"
+ ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
+ test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="perl"
+ ;;
+esac
fi
-fi
-PERL=$ac_cv_prog_PERL
+PERL=$ac_cv_path_PERL
+
if test -n "$PERL"; then
echo "$as_me:$LINENO: result: $PERL" >&5
echo "${ECHO_T}$PERL" >&6
@@ -5108,7 +6464,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
-This file was extended by Xcftools $as_me 0.9, which was
+This file was extended by Xcftools $as_me 1.0, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5163,12 +6519,15 @@ $config_files
Configuration headers:
$config_headers
+Configuration commands:
+$config_commands
+
Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-Xcftools config.status 0.9
+Xcftools config.status 1.0
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
@@ -5262,8 +6621,21 @@ fi
_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS section.
+#
+
+# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+ # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+ # from automake.
+ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+ # Capture the value of LINGUAS because we need it to compute CATALOGS.
+ LINGUAS="${LINGUAS-%UNSET%}"
+_ACEOF
+
cat >>$CONFIG_STATUS <<\_ACEOF
@@ -5272,6 +6644,7 @@ do
case "$ac_config_target" in
# Handling of arguments.
"Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile:Makefile.in" ;;
+ "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
"config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.hin" ;;
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
@@ -5286,6 +6659,7 @@ done
if $ac_need_defaults; then
test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
fi
# Have a temporary directory for convenience. Make it in the build tree
@@ -5377,8 +6751,20 @@ s,@host_vendor@,$host_vendor,;t t
s,@host_os@,$host_os,;t t
s,@CPP@,$CPP,;t t
s,@EGREP@,$EGREP,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@MKINSTALLDIRS@,$MKINSTALLDIRS,;t t
+s,@USE_NLS@,$USE_NLS,;t t
+s,@MSGFMT@,$MSGFMT,;t t
+s,@GMSGFMT@,$GMSGFMT,;t t
+s,@XGETTEXT@,$XGETTEXT,;t t
+s,@MSGMERGE@,$MSGMERGE,;t t
+s,@INTL_MACOSX_LIBS@,$INTL_MACOSX_LIBS,;t t
s,@LIBICONV@,$LIBICONV,;t t
s,@LTLIBICONV@,$LTLIBICONV,;t t
+s,@INTLLIBS@,$INTLLIBS,;t t
+s,@LIBINTL@,$LIBINTL,;t t
+s,@LTLIBINTL@,$LTLIBINTL,;t t
+s,@POSUB@,$POSUB,;t t
s,@PERL@,$PERL,;t t
s,@LIBOBJS@,$LIBOBJS,;t t
s,@LTLIBOBJS@,$LTLIBOBJS,;t t
@@ -5844,6 +7230,235 @@ echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
fi
done
_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+ ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+ ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
+$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_dest" : 'X\(//\)[^/]' \| \
+ X"$ac_dest" : 'X\(//\)$' \| \
+ X"$ac_dest" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_dest" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+
+ { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
+echo "$as_me: executing $ac_dest commands" >&6;}
+ case $ac_dest in
+ default-1 )
+ for ac_file in $CONFIG_FILES; do
+ # Support "outfile[:infile[:infile...]]"
+ case "$ac_file" in
+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ esac
+ # PO directories have a Makefile.in generated from Makefile.in.in.
+ case "$ac_file" in */Makefile.in)
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+ # Treat a directory as a PO directory if and only if it has a
+ # POTFILES.in file. This allows packages to have multiple PO
+ # directories under different names or in different locations.
+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+ rm -f "$ac_dir/POTFILES"
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+ POMAKEFILEDEPS="POTFILES.in"
+ # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+ # on $ac_dir but don't depend on user-specified configuration
+ # parameters.
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ # Hide the ALL_LINGUAS assigment from automake.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # The set of available languages was given in configure.in.
+ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+ fi
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ done
+ fi
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+ if test -f "$f"; then
+ case "$f" in
+ *.orig | *.bak | *~) ;;
+ *) cat "$f" >> "$ac_dir/Makefile" ;;
+ esac
+ fi
+ done
+ fi
+ ;;
+ esac
+ done ;;
+ esac
+done
+_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
diff --git a/configure.ac b/configure.ac
index 952c429..0e44927 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,10 +17,7 @@ dnl Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
dnl
dnl ------------------------
dnl The following line is the MASTER SOURCE for the version number
-AC_INIT(Xcftools,0.9,henning@makholm.net,xcftools)
-AC_COPYRIGHT(General copyright notice for AC_PACKAGE_NAME:
- [@COPYRIGHT@ Henning Makholm]
-)
+AC_INIT(Xcftools,1.0,henning@makholm.net,xcftools)
AC_CONFIG_SRCDIR(xcfinfo.c)
AC_PROG_INSTALL
@@ -52,10 +49,10 @@ AC_CHECK_HEADERS(inttypes.h netinet/in.h arpa/inet.h getopt.h)
AC_CHECK_FUNCS(getopt_long strcasecmp)
AC_FUNC_MMAP
-dnl AM_GNU_GETTEXT(external)
+AM_GNU_GETTEXT(external)
AM_ICONV
-AC_CHECK_PROG(PERL,perl,perl)
+AC_PATH_PROG(PERL,perl,perl)
AC_CONFIG_HEADERS(config.h:config.hin)
AC_CONFIG_FILES(Makefile:Makefile.in)
diff --git a/exit.1i b/exit.1i
new file mode 100644
index 0000000..2e3f9c6
--- /dev/null
+++ b/exit.1i
@@ -0,0 +1,83 @@
+.SH EXIT STATUS
+The exit status of
+.B \*p
+is
+.TP 5
+0
+Success
+.TP
+20
+#ifdef XCF2FOO
+Problems parsing the command line, including unknown color names
+(or missing color name directory) for
+.BR \-b .
+#else
+Problems parsing the command line.
+#endif
+.TP
+21
+The specified XCF file does not exist or cannot be read.
+#ifdef XCF2FOO
+.TP
+22
+A layer named on the command line was not found, or the
+.B --mask
+option was used for a layer that has no layer mask.
+#ifdef XCF2PNM
+.TP
+100
+Transparent pixels were found, but neither
+.B \-a
+nor
+.B \-b
+was given.
+.TP
+101
+The
+.B \-a
+option was given yet the image has no transparency.
+(Use
+.B \-A
+to go on anyway).
+#endif
+.TP
+102
+The
+.B \-G
+option was given, yet partial transparency was found.
+.TP
+103
+#ifdef XCF2PNM
+.B \-g
+(or
+.BR \-m )
+was given, yet colored (or gray) pixels were found.
+#else
+.B \-g
+was given, yet colored pixels were found.
+#endif
+#endif
+.TP
+123
+The XCF file contains presumably valid features that
+.B xcftools
+does not support.
+(As of this writing there is no known way of getting the Gimp to write
+an XCF file that will provoke this return. Please notify the author if you
+discover one).
+.TP
+125
+The XCF file is malformed.
+.TP
+126
+An uncompression program could not be executed, or terminated
+abnormally.
+.TP
+127
+Unexpected I/O error, internal errors, or other "this can't happen"
+situations.
+.P
+If an uncompression program returns an error exit status, this will
+be returned from
+.B \*p
+too.
diff --git a/flatspec.c b/flatspec.c
index ca2b22c..c702a2a 100644
--- a/flatspec.c
+++ b/flatspec.c
@@ -83,8 +83,10 @@ color_by_layers(struct FlattenSpec *spec)
int colormap_is_colored = 0 ;
enum out_color_mode grayish = COLOR_MONO ;
int i ;
-
- if( degrayPixel(spec->default_pixel) < 0 )
+
+ if( spec->default_pixel == CHECKERED_BACKGROUND )
+ grayish = COLOR_GRAY ;
+ else if( degrayPixel(spec->default_pixel) < 0 )
return COLOR_RGB ;
for( i=0; i<colormapLength; i++ ) {
if( colormap[i] == NEWALPHA(0,0) || colormap[i] == NEWALPHA(-1,0) )
@@ -211,7 +213,7 @@ complete_flatspec(struct FlattenSpec *spec, guesser guess_callback)
}
}
if( spec->partial_transparency_mode == ALLOW_PARTIAL_TRANSPARENCY &&
- (!anyPartial || FULLALPHA(spec->default_pixel)) )
+ (!anyPartial || ALPHA(spec->default_pixel) >= 128) )
spec->partial_transparency_mode = PARTIAL_TRANSPARENCY_IMPOSSIBLE ;
/* Initialize layers and print overview if we're verbose */
@@ -223,8 +225,8 @@ complete_flatspec(struct FlattenSpec *spec, guesser guess_callback)
spec->layers[i].dim.width, spec->layers[i].dim.height,
spec->layers[i].dim.c.l - spec->dim.c.l,
spec->layers[i].dim.c.t - spec->dim.c.t,
- showGimpImageType(spec->layers[i].type),
- showGimpLayerModeEffects(spec->layers[i].mode));
+ _(showGimpImageType(spec->layers[i].type)),
+ _(showGimpLayerModeEffects(spec->layers[i].mode)));
if( spec->layers[i].opacity < 255 )
fprintf(stderr,"/%02d%%",spec->layers[i].opacity * 100 / 255);
if( XCF.layers[i].hasMask )
@@ -271,7 +273,7 @@ analyse_colormode(struct FlattenSpec *spec,rgba **allPixels,
if( spec->partial_transparency_mode == DISSOLVE_PARTIAL_TRANSPARENCY ||
spec->partial_transparency_mode == PARTIAL_TRANSPARENCY_IMPOSSIBLE )
known_absent |= 4 ;
- if( FULLALPHA(spec->default_pixel) ) known_absent |= 12 ;
+ if( ALPHA(spec->default_pixel) >= 128 ) known_absent |= 12 ;
else if( spec->default_pixel == FORCE_ALPHA_CHANNEL ) assume_present |= 8 ;
status = 15 - (known_absent | assume_present) ;
diff --git a/flatten.c b/flatten.c
index 45ce005..e4a1382 100644
--- a/flatten.c
+++ b/flatten.c
@@ -379,7 +379,8 @@ merge_exotic(struct Tile *bot, const struct Tile *top,
break ;
}
default:
- FatalUnsupportedXCF(_("'%s' layer mode"),showGimpLayerModeEffects(mode));
+ FatalUnsupportedXCF(_("'%s' layer mode"),
+ _(showGimpLayerModeEffects(mode)));
}
if( FULLALPHA(bot->pixels[i] & top->pixels[i]) )
bot->pixels[i] = (bot->pixels[i] & (255 << ALPHA_SHIFT)) +
@@ -548,7 +549,7 @@ flattenTopdown(struct FlattenSpec *spec, struct Tile *top,
}
static void
-addBackground(struct FlattenSpec *spec, struct Tile *tile)
+addBackground(struct FlattenSpec *spec, struct Tile *tile, unsigned ncols)
{
unsigned i ;
@@ -568,6 +569,21 @@ addBackground(struct FlattenSpec *spec, struct Tile *tile)
break ;
}
+ if( spec->default_pixel == CHECKERED_BACKGROUND ) {
+ INIT_SCALETABLE_IF( !(tile->summary & TILESUMMARY_CRISP ) );
+ for( i=0; i<tile->count; i++ )
+ if( !FULLALPHA(tile->pixels[i]) ) {
+ rgba fillwith = ((i/ncols)^(i%ncols))&8 ? 0x66 : 0x99 ;
+ fillwith = graytable[fillwith] + (255 << ALPHA_SHIFT) ;
+ if( NULLALPHA(tile->pixels[i]) )
+ tile->pixels[i] = fillwith ;
+ else
+ tile->pixels[i] = composite_one(fillwith,tile->pixels[i]);
+ }
+ tile->summary = TILESUMMARY_UPTODATE +
+ TILESUMMARY_ALLFULL + TILESUMMARY_CRISP ;
+ return ;
+ }
if( !FULLALPHA(spec->default_pixel) ) return ;
if( tileSummary(tile) & TILESUMMARY_ALLNULL ) {
fillTile(tile,spec->default_pixel);
@@ -616,7 +632,7 @@ flattenIncrementally(struct FlattenSpec *spec,lineCallback callback)
TILESUMMARY_ALLNULL + TILESUMMARY_CRISP );
tile = flattenTopdown(spec,&toptile,spec->numLayers,&where) ;
toptile.refcount-- ; /* addBackground may change destructively */
- addBackground(spec,tile);
+ addBackground(spec,tile,ncols);
for( i = 0 ; i < tile->count ; i++ )
if( NULLALPHA(tile->pixels[i]) )
diff --git a/flatten.h b/flatten.h
index bee17e2..dc9c595 100644
--- a/flatten.h
+++ b/flatten.h
@@ -24,6 +24,7 @@
#define PERHAPS_ALPHA_CHANNEL (NEWALPHA(0,1))
#define FORCE_ALPHA_CHANNEL (NEWALPHA(0,2))
+#define CHECKERED_BACKGROUND (NEWALPHA(0,200))
struct FlattenSpec {
struct tileDimensions dim ;
rgba default_pixel ;
diff --git a/io-unix.c b/io-unix.c
index 7d1d4c5..38dc4e4 100644
--- a/io-unix.c
+++ b/io-unix.c
@@ -80,16 +80,16 @@ read_or_mmap_xcf(const char *filename,const char *unzipper)
#else
int fh[2] ;
if( pipe(fh) < 0 )
- FatalUnexpected(_("!Cannot create pipe for %s"),unzipper);
+ FatalUnexpected("!Cannot create pipe for %s",unzipper);
xcfstream = fdopen(fh[1],"rb") ;
if( !xcfstream )
- FatalUnexpected(_("!Cannot fdopen() unzipper pipe"));
+ FatalUnexpected("!Cannot fdopen() unzipper pipe");
outfd = fh[0] ;
#endif
if( (pid = fork()) == 0 ) {
/* We're the child */
if( dup2(outfd,1) < 0 ) {
- perror(_("Cannot dup2 in unzip process"));
+ perror("Cannot dup2 in unzip process");
exit(127) ;
}
fclose(xcfstream) ;
@@ -119,7 +119,7 @@ read_or_mmap_xcf(const char *filename,const char *unzipper)
} else if( strcmp(filename,"-") == 0 ) {
xcfstream = fdopen(dup(0),"rb") ;
if( !xcfstream )
- FatalUnexpected(_("!Cannot dup stdin for input")) ;
+ FatalUnexpected("!Cannot dup stdin for input") ;
} else {
xcfstream = fopen(filename,"rb") ;
if( !xcfstream )
@@ -138,7 +138,7 @@ read_or_mmap_xcf(const char *filename,const char *unzipper)
fclose(xcfstream) ;
xcf_file = 0 ;
errno = saved ;
- FatalUnexpected(_("!Could not mmap input"));
+ FatalUnexpected("!Could not mmap input");
}
#endif
xcf_file = malloc(xcf_length);
@@ -166,7 +166,7 @@ read_or_mmap_xcf(const char *filename,const char *unzipper)
if( feof(xcfstream) )
break ;
if( xcf_length < blocksize ) {
- FatalUnexpected(_("Could not read xcf data")) ;
+ FatalUnexpected(_("!Could not read xcf data")) ;
}
blocksize += (blocksize >> 1) & ~(size_t)0x3FFF ; /* 16 KB granularity */
}
diff --git a/mancombine.pl b/mancombine.pl
index 25f377e..602ff17 100644
--- a/mancombine.pl
+++ b/mancombine.pl
@@ -17,8 +17,45 @@
use strict ; use warnings ;
+if( @ARGV != 1 ) {
+ print STDERR "Usage: $0 infile.10\n" ;
+ exit 1 ;
+}
+
my %defs ;
+sub copyfile($);
+sub copyfile($) {
+ my ($fn) = @_ ;
+ local *FILE ;
+ open FILE, "<", $fn or die "Cannot read $fn" ;
+ my $ignore = 0 ;
+ while( <FILE> ) {
+ if( /^\#else/ ) {
+ if( $ignore ) {
+ $ignore-- ;
+ } else {
+ $ignore = 1 ;
+ }
+ } elsif( /^\#endif/ ) {
+ $ignore-- if $ignore ;
+ print ".\\\"---\n" unless $ignore ;
+ } elsif( $ignore ) {
+ if( /^\#if/ ) {
+ $ignore++ ;
+ }
+ } elsif( /^\#ifdef\s+(\S+)/ ) {
+ print ".\\\"---\n" ;
+ $ignore = 1 unless $defs{$1} ;
+ } elsif( /^\s*.so\s*(.*)/ ) {
+ copyfile($1) ;
+ } else {
+ print ;
+ }
+ }
+}
+
+
if( open CONFIG, "<", "config.h" ) {
while( <CONFIG> ) {
if( /^#define\s+(\S*)/ ) {
@@ -28,29 +65,9 @@ if( open CONFIG, "<", "config.h" ) {
close CONFIG ;
}
-my $ignore = 0 ;
+my $fn0 = $ARGV[0] ;
+$fn0 =~ s/\.\d*$// ;
+$defs{"\U$fn0"} = 1 ;
+$defs{"XCF2FOO"} = 1 if $fn0 =~ /^xcf2/ ;
-while( <> ) {
- if( /^\#else/ ) {
- if( $ignore ) {
- $ignore-- ;
- } else {
- $ignore = 1 ;
- }
- } elsif( /^\#endif/ ) {
- $ignore-- if $ignore ;
- } elsif( $ignore ) {
- if( /^\#if/ ) {
- $ignore++ ;
- }
- } elsif( /^\#ifdef\s+(\S+)/ ) {
- $ignore = 1 unless $defs{$1} ;
- } elsif( /^\s*.so\s*(.*)/ ) {
- my $filename = $1 ;
- open IN, "<", $filename or die "Cannot read $filename" ;
- print <IN> ;
- close IN ;
- } else {
- print ;
- }
-}
+copyfile($ARGV[0]) ;
diff --git a/manpo/.cvsignore b/manpo/.cvsignore
new file mode 100644
index 0000000..c413eba
--- /dev/null
+++ b/manpo/.cvsignore
@@ -0,0 +1,2 @@
+*.1
+stamp
diff --git a/manpo/da.po b/manpo/da.po
new file mode 100644
index 0000000..f703d7d
--- /dev/null
+++ b/manpo/da.po
@@ -0,0 +1,844 @@
+# Danish translations for Xcftools manpages
+# This file is put in the public domain.
+# Henning Makholm <henning@makholm.net>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Xcftools 0.9.1a\n"
+"Report-Msgid-Bugs-To: henning@makholm.net\n"
+"POT-Creation-Date: 2006-02-20 01:59+0100\n"
+"PO-Revision-Date: 2006-02-20 02:01+0100\n"
+"Last-Translator: Henning Makholm <henning@makholm.net>\n"
+"Language-Team: None; proof-of-concept translation by upstream author\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: options.i:22
+msgid ""
+"Print an option summery to standard output and exit with a return\n"
+"code of 0."
+msgstr ""
+"Udskriv en oversigt over flag og kommandolinjesyntaks,\n"
+"og afslut med kode 0."
+
+#: options.i:29
+msgid ""
+"Print the version numer of B{xcftools} to standard output and\n"
+"exit with a return code of 0."
+msgstr ""
+"Skriv versionsnummeret for B{xcftools} til standarduddata,\n"
+"og afslut med kode 0."
+
+#: options.i:37
+msgid "Print progress messages about the conversion to standard error."
+msgstr "Giv fremgangsbeskeder til standardfejl undervejs."
+
+#: options.i:43
+msgid "Equivalent to B{-Z bzcat}."
+msgstr "Gør det samme som B{-Z bzcat}."
+
+#: options.i:45
+msgid "Default if the filename ends with B{bz2}."
+msgstr "Vælges automatisk hvis filnavnet slutter med B{bz2}."
+
+#: options.i:52
+msgid "Equivalent to B{-Z zcat}."
+msgstr "Gør det samme som B{-Z zcat}."
+
+#: options.i:54
+msgid "Default if the filename ends with B{gz}."
+msgstr "Vælges automatisk hvis filnavnet slutter med B{gz}."
+
+#: options.i:61
+msgid "cmd"
+msgstr "kommando"
+
+#: options.i:61
+msgid ""
+"Specify a command that the input file is filtered through before\n"
+"being interpreted as an XCF file. The command is invoked as\n"
+"I{command filename} and must produce output to its standard\n"
+"output."
+msgstr ""
+"Angiv en kommando som inddatafilen skal behandles af før den kan\n"
+"fortolkes som XCF-fil. Kommandoen bliver startet som I{kommando\n"
+"filnavn}, og skal skrive sit resultat til standarduddata."
+
+#: options.i:65
+msgid ""
+"Note that it is not possible to specify arguments as part of\n"
+"I{command}."
+msgstr "Bemærk at I{kommando} ikke kan indeholde argumenter."
+
+#: options.i:67
+msgid ""
+"An uncompressor is selected automatically if the filename ends\n"
+"with B{gz} or B{bz2}; to suppress this, use B{-Z cat} (which is\n"
+"implemented without actually starting a B{cat}(1) process)."
+msgstr ""
+"Hvis filnavnet ender på B{gz} eller B{bz2}, vil et udpakkeprogram\n"
+"blive valgt automatisk; dette kan slås fra ved at angive\n"
+"B{-Z cat} (hvilket bliver optimeret så der ikke faktisk bliver\n"
+"startet end B{cat}(1)-proces)."
+
+#: options.i:84 options.i:93
+msgid "filename"
+msgstr "filnavn"
+
+#: options.i:84
+msgid ""
+"Write the converted picture to I{filename} instead of to standard\n"
+"output."
+msgstr ""
+"Skriv det konverterede billede til I{filnavn} i stedet for\n"
+"til standarduddata."
+
+#: options.i:93
+msgid ""
+"Output a transparency mask for the flattened image to I{filename}\n"
+"as a B{pgm}(5) file, in addition to the ordinary output."
+msgstr ""
+"Skriv en gennemsigtighedsmaske til I{filnavn} som en\n"
+"B{pgm}(5)-fil, udover det normale uddata."
+
+#: options.i:98
+msgid ""
+"If the flattened image is completely opaque, this will produce an\n"
+"error message and exit status 101; use B{-A} to suppress this."
+msgstr ""
+"Hvis det fladgjorte billede slet ikke har (helt eller delvist)\n"
+"gennemsigtige partier, vil der fremkomme en fejlbesked og\n"
+"afslutningskode 101; dette kan undertrykkes med B{-A}-flaget."
+
+#: options.i:109
+msgid "color"
+msgstr "farve"
+
+#: options.i:109
+msgid "Use this color for transparent pixels in the image."
+msgstr "Giv gennemsigtige partier af billedet denne farve."
+
+#: options.i:110
+msgid ""
+"The color can be given as B{#rrggbb} or B{#rgb} hexadecimal\n"
+"values, or as an X11 color name that will be looked up in\n"
+"B{/usr/lib/X11/rgb.txt}."
+msgstr ""
+"Baggrundsfarven kan angives hexadecimalt som B{#rrggbb} eller\n"
+"B{#rgb}, eller med et X11-farvenavn som slås op i\n"
+"B{/usr/lib/X11/rgb.txt}."
+
+#: options.i:168
+msgid ""
+"Invent a trivial alpha channel even if the flattened image is\n"
+"completely opaque."
+msgstr ""
+"Konstruér en triviel gennemsigtighedskanal selvom billedet er\n"
+"fuldstændig ugennemsigtigt."
+
+#: options.i:175
+msgid ""
+"Force the output to use RGB color space even if it there are more\n"
+"compact alternatives."
+msgstr ""
+"Brug RGB-format for uddata selvom der er mere kompakte\n"
+"alternative formater."
+
+#: options.i:178
+msgid ""
+"This will be selected automatically if the output file's name\n"
+"ends with B{.ppm}."
+msgstr ""
+"Dette bliver valgt automatisk hvis uddatafilens navn ender\n"
+"på B{.ppm}."
+
+#: options.i:187
+msgid ""
+"Force the output to be a grayscale image even if it may be\n"
+"monochrome."
+msgstr "Repræsentér uddata som gråtoner selv hvis det er rent sort/hvidt."
+
+#: options.i:188
+msgid "If any colored pixels are encountered, exit with status 103."
+msgstr "Stop med afslutningskode 103 hvis der mødes nogen farvede pixels."
+
+#: options.i:189
+msgid ""
+"This will be selected automatically if the output file's name\n"
+"ends with B{.pgm}."
+msgstr "Dette bliver valgt automatisk hvis uddatafilens navn ender på B{.pgm}."
+
+#: options.i:198
+msgid "Force the output to be a monochrome image."
+msgstr "Repræsentér uddata som et rent sort/hvidt billede."
+
+#: options.i:199
+msgid ""
+"If any colors except black and white are encountered, exit with\n"
+"status 103."
+msgstr ""
+"Stop med afslutningskode 103 hvis ikke alle pixels er enten sorte\n"
+"eller hvide."
+
+#: options.i:201
+msgid ""
+"This will be selected automatically if the output file's name\n"
+"ends with B{.pbm}."
+msgstr "Dette bliver valgt automatisk hvis uddatafilens navn ender på B{.pbm}."
+
+#: options.i:211
+msgid ""
+"Suppress the automatic choice of B{-c}, B{-g}, or B{-m} based on\n"
+"output filename, and instead select the output format based on\n"
+"image contents."
+msgstr ""
+"Lad være med at bruge uddatafilnavnet til at vælge mellem\n"
+"B{-c}, B{-g} og B{-m}, og vælg i stedet et uddataformat på\n"
+"grundlag af billedets indhold."
+
+#: options.i:218
+msgid ""
+"This is the default if the filename is not recognized, and when\n"
+"writing to stdout."
+msgstr ""
+"Dette er standardfremgangsmåden hvis filnavnet ikke kan genkendes,\n"
+"og når billedet bliver skrevet til standarduddata."
+
+#: options.i:226
+msgid "Use standard RGB compositing for flattening indexed layers."
+msgstr "Brug fuldt RGB-farverum til at fladgøre indekserede billeder."
+
+#: options.i:227
+msgid ""
+"Without this option, B{%s} will mimic the Gimp's current strategy\n"
+"of rounding each alpha value to either full transparency or full\n"
+"opacity, and interpret all layer modes as B{Normal}."
+msgstr ""
+"Hvis dette flag I{ikke} gives, vil B{%s} efterligne Gimps nuværende\n"
+"princip, hvor gennemsigtigheden af hver pixel afrundes til enten\n"
+"\"helt gennemsigtig\" eller \"helt ugennemsigtig\", og fortolke alle\n"
+"lagtilstande som B{Normal}."
+
+#: options.i:238
+msgid ""
+"Assert that the flattened image will have no partial transparency\n"
+"(allowing a more compact representation of the alpha output)."
+msgstr ""
+"Påstå at der ikke er nogen delvist gennemsigtige pixels i uddata\n"
+"(hvilket muliggør en effektivere repræsentation af gennemsigtighed\n"
+"i uddata)."
+
+#: options.i:240
+msgid ""
+"Exit with status 102 if the flattened image has any partial\n"
+"transparency."
+msgstr ""
+"Stop med afslutningskode 102 hvis der alligevel findes nogen\n"
+"delvist gennemsigtige pixels."
+
+#: options.i:242
+msgid ""
+"If B{-b} is also given, this tests whether there there is partial\n"
+"transparency before applying the background color."
+msgstr ""
+"Hvis B{-b}-flaget også gives, handler denne test om om der er\n"
+"delvist gennemsigtige pixels I{over} den angivne baggrund."
+
+#: options.i:251
+msgid ""
+"Do a \"dissolve\" step to eliminate partial transparency after\n"
+"flattening."
+msgstr ""
+"Foretag et \"opløs\"-skridt for at udrydde delvis gennemsigtighed\n"
+"i det fladgjorte billede."
+
+#: options.i:253
+msgid ""
+"If B{-b} is also given, this happens before the background color\n"
+"is applied."
+msgstr "Hvis B{-b}-flaget også gives, sker dette før baggrundsfarven påføres."
+
+#: options.i:261
+msgid ""
+"First flatten the entire image to a memory buffer before writing\n"
+"output. Then analyse the image to decide on the details of the\n"
+"output format (e.g., whether a grayscale output is sufficient)."
+msgstr ""
+"Start med at fladgøre hele billedet til RAM, og analysér så billedet\n"
+"før detaljerne i uddataformatet bliver besluttet (fx om gråtoner\n"
+"er tilstrækkeligt til at repræsentere billeder)."
+
+#: options.i:264
+msgid ""
+"Without this option, the program flattens only a singe row of\n"
+"\"tiles\" (height 64) at a time."
+msgstr ""
+"Hvis dette flag ikke gives, vil programmet nøjes med at fladgøre\n"
+"en enkelt række \"fliser\" (af højden 64 pixels) ad gangen."
+
+#: options.i:271
+msgid "wB{x}h"
+msgstr "bB{x}h"
+
+#: options.i:271
+msgid "Crop the converted image to width I{w} and height I{h}."
+msgstr "Beskær det konverterede billede til bredde I{b} og højde I{b}."
+
+#: options.i:286
+msgid "xB{,}y"
+msgstr "xB{,}y"
+
+#: options.i:286
+msgid ""
+"Offset the converted part of the image from the top-left corner\n"
+"of the XCF canvas. Usually used with B{-S}."
+msgstr ""
+"Forskyd det konverterede billede fra det øverste venstre\n"
+"hjørne af XCF-lærredet. Bruges normalt sammen med B{-S}."
+
+#: options.i:307
+msgid "mode"
+msgstr "tilstand"
+
+#: options.i:307
+msgid "Set the layer mode (e.g., B{Normal} or B{Multiply})."
+msgstr "Vælg lagtilstanden (fx B{Normal} eller B{LægTil})."
+
+#: options.i:330 options.i:344
+msgid "n"
+msgstr "n"
+
+#: options.i:330
+msgid ""
+"Set the opacity on a scale from 0 to 100 (as in the Gimp user\n"
+"interface)."
+msgstr ""
+"Vælg gennemsigtighed på en skala fra 0 (helt gennemsigtigt)\n"
+"til 100 (helt ugennemsigtig)."
+
+#: options.i:344
+msgid "Set the opacity on a scale from 0 to 255 (as used internally)"
+msgstr ""
+"Vælg gennemsigtighed på en skala fra 0 (helt gennemsigtigt)\n"
+"til 255 (helt ugennemsigtig)."
+
+#: options.i:358
+msgid "Enable the layer mask."
+msgstr "Aktivér lagmasken."
+
+#: options.i:364
+msgid "Disable the layer mask."
+msgstr "Deaktivér lagmasken."
+
+#: options.i:374
+msgid ""
+"Use the raw UTF-8 representation from the XCF file to compare and\n"
+"display layer names."
+msgstr ""
+"Brug den rå UTF-8-repræsentation fra XCF-filen til at sammenligne\n"
+"og vise lagnavne."
+
+#: options.i:376
+msgid ""
+"Ordinarily, layer names will be converted to the character set of\n"
+"the current locale."
+msgstr ""
+"Normalt forsøger programmet at transkribere lagnavnene til det\n"
+"tegnsæt der angives af lokalitetsinstillingen."
+
+#: xcfinfo.10:17 xcf2pnm.10:17 xcf2png.10:17 xcfview.10:17
+msgid "NAME"
+msgstr "NAVN"
+
+#: xcfinfo.10:18
+msgid "xcfinfo \\- display information about GIMP xcf files"
+msgstr "xcfinfo \\- vis oplysninger om xcf-filer fra GIMP"
+
+#: xcfinfo.10:20 xcf2pnm.10:20 xcf2png.10:20 xcfview.10:20
+msgid "SYNOPSIS"
+msgstr "OVERBLIK"
+
+#: xcfinfo.10:21
+msgid "B{%s} [ I{options} ] I{filename}"
+msgstr "B{%s} [ I{flag} ] I{filnavn}"
+
+#: xcfinfo.10:26 xcf2pnm.10:29 xcf2png.10:29 xcfview.10:29
+msgid "DESCRIPTION"
+msgstr "BESKRIVELSE"
+
+#: xcfinfo.10:27
+msgid ""
+"B{xcfinfo} is a command-line tool that displays information about\n"
+"the contents of image files in the XCF format used by B{gimp}(1),\n"
+"particularly about the layers in the image."
+msgstr ""
+"B{xcfinfo} er et kommandolinjeværktøj til at vise oplysninger om\n"
+"indholdet af billedfiler i XCF-formatet som bruges af B{gimp}(1),\n"
+"især vedførende billedets lag."
+
+#: xcfinfo.10:32 xcfview.10:39
+msgid "OPTIONS"
+msgstr "FLAG"
+
+#: xcfinfo.10:34
+msgid "OUTPUT"
+msgstr "UDDATA"
+
+#: xcfinfo.10:35
+msgid ""
+"Information about the image is displayed on standard output in a\n"
+"fixed format."
+msgstr ""
+"Oplysninger om billedet bliver udskrevet til standarduddata i et\n"
+"fast format."
+
+#: xcfinfo.10:36
+msgid "The first line contains general information about the XCF file:"
+msgstr "Første linje indeholder generelle oplysninger om XCF-filen:"
+
+#: xcfinfo.10:38 xcfinfo.10:41 xcfinfo.10:44 xcfinfo.10:47 xcfinfo.10:50
+msgid "\\-"
+msgstr "\\-"
+
+#: xcfinfo.10:39
+msgid "The file format version"
+msgstr "Versionen af filformatet"
+
+#: xcfinfo.10:42
+msgid "The canvas size"
+msgstr "Størrelsen af lærredet"
+
+#: xcfinfo.10:45
+msgid "The image mode (color, grayscale, or indexed)"
+msgstr "Billedtilstanden (farver, gråtoner eller indekseret)"
+
+#: xcfinfo.10:48
+msgid "The numer of layers"
+msgstr "Antal lag"
+
+#: xcfinfo.10:51
+msgid "The internal compression algorithm"
+msgstr "Den interne komprimeringsalgoritme"
+
+#: xcfinfo.10:53
+msgid "Following this line there is a line for each layer:"
+msgstr "Efter denne linje følger én linje for hvert lag:"
+
+#: xcfinfo.10:55 xcf2pnm.10:46 xcf2png.10:43
+msgid "1)"
+msgstr "1)"
+
+#: xcfinfo.10:56
+msgid "The character B{+} if the layer is visible and B{\\-} if it is not"
+msgstr "Tegnet B{+} hvis laget er synligt, B{\\-} ellers"
+
+#: xcfinfo.10:62 xcf2pnm.10:51 xcf2png.10:48
+msgid "2)"
+msgstr "2)"
+
+#: xcfinfo.10:63
+msgid "The size and offset of the layer"
+msgstr "Lagets størrelse og position"
+
+#: xcfinfo.10:65 xcf2pnm.10:58 xcf2png.10:52
+msgid "3)"
+msgstr "3)"
+
+#: xcfinfo.10:66
+msgid ""
+"The pixel format of the layer, including whether the layer has an\n"
+"alpha channel."
+msgstr "Lagets pixelformat, herunder om laget har en alfakanal."
+
+#: xcfinfo.10:69 xcf2pnm.10:63 xcf2png.10:57
+msgid "4)"
+msgstr "4)"
+
+#: xcfinfo.10:70
+msgid ""
+"The layer mode, as well as the opacity if not 100%, and B{/mask}\n"
+"if the layer has an active layer mask."
+msgstr ""
+"Lagtilstanden, samt ugennemsigtigheden (hvis den ikke er 100%), og\n"
+"B{/mask} hvis laget har en aktiv lagmaske."
+
+#: xcfinfo.10:74
+msgid "5)"
+msgstr "5)"
+
+#: xcfinfo.10:75
+msgid "The name of the layer."
+msgstr "Lagets navn."
+
+#: xcfinfo.10:77 xcf2pnm.10:122 xcf2png.10:101 xcfview.10:54
+msgid "AUTHOR"
+msgstr "FORFATTER"
+
+#: xcfinfo.10:78 xcf2pnm.10:123 xcf2png.10:102 xcfview.10:55
+msgid "B{%s} was written by Henning Makholm <henning@makholm.net>."
+msgstr ""
+"B{%s} og denne manualside\n"
+"er skrevet af Henning Makholm <henning@makholm>."
+
+#: xcfinfo.10:81 xcf2pnm.10:126 xcf2png.10:105 xcfview.10:61
+msgid "SEE ALSO"
+msgstr "SE OGSÅ"
+
+#: xcfinfo.10:81 xcfview.10:61
+msgid "B{xcf2pnm}(1), B{xcf2png}(1)"
+msgstr "B{xcf2pnm}(1), B{xcf2png}(1)"
+
+#: xcf2pnm.10:18
+msgid "xcf2pnm \\- convert from GIMP xcf files to ppm/pgm/pbm format"
+msgstr "xcf2pnm \\- konverter xcf-filer til ppm/pgm/pbm-format"
+
+#: xcf2pnm.10:21 xcf2png.10:21 xcfview.10:21
+msgid "B{%s} [ I{options} ] I{filename} [ I{layer names} ]"
+msgstr "B{%s} [ I{flag} ] I{filnavn} [ I{lagnavne} ]"
+
+#: xcf2pnm.10:30
+msgid ""
+"B{xcf2pnm} is a command-line tool that converts image files in\n"
+"the XCF format used by B{gimp}(1) to the generic image formats\n"
+"B{pbm}(5), B{pgm}(5), and B{ppm}(5), flattening layers if\n"
+"necessary. It does not need to have the Gimp engine itself\n"
+"available."
+msgstr ""
+"B{xcf2pnm} er et kommandolinjeværktøj til at fladgøre og\n"
+"konvertere billedfiler i B{gimp}(1)s interne format XCF til de\n"
+"generelle billedformater B{pbm}(5), B{pgm}(5) og B{ppm}(5).\n"
+"Det kræver ikke at Gimp selv er installeret.\n"
+
+#: xcf2pnm.10:40 xcf2png.10:37
+msgid "GENERAL OPTIONS"
+msgstr "ALMINDELIGE FLAG"
+
+#: xcf2pnm.10:43 xcf2png.10:40
+msgid ""
+"Several groups of options are mutually incompatible; in each\n"
+"group the one given last will win:"
+msgstr ""
+"Visse grupper af flag udelukker gensidigt hinanden.\n"
+"I hver af de følgende grupper vil det sidst givne flag vinde:"
+
+#: xcf2pnm.10:47 xcf2png.10:44
+msgid "B{-A} and B{-b}."
+msgstr "B{-A} og B{-b}."
+
+#: xcf2pnm.10:52
+msgid "B{-c}, B{-g}, B{-m}, and B{-n}."
+msgstr "B{-c}, B{-g}, B{-m} og B{-n}."
+
+#: xcf2pnm.10:59 xcf2png.10:53
+msgid "B{-D} and B{-G}."
+msgstr "B{-D} og B{-G}."
+
+#: xcf2pnm.10:64 xcf2png.10:58
+msgid "B{-j}, B{-z}, and B{-Z}."
+msgstr "B{-j}, B{-z} og B{-Z}."
+
+#: xcf2pnm.10:68 xcf2png.10:62
+msgid "LAYER SPECIFICATIONS"
+msgstr "VALG AF LAG"
+
+#: xcf2pnm.10:69 xcf2png.10:63
+msgid ""
+"If no I{layer name} is given on the command line, all of the\n"
+"visible layers in the XCF file are merged to produce the output\n"
+"image."
+msgstr ""
+"Hvis kommandolinjen ikke indeholder noget I{lagnavn}, bliver\n"
+"alle de synlige lag i XCF-filen fladgjort til et enkelt\n"
+"uddatabillede."
+
+#: xcf2pnm.10:73 xcf2png.10:67
+msgid ""
+"It is also possible to specify the layers to merge explicitly, by\n"
+"giving their names as separate arguments after the input\n"
+"filename. In that case, the output will contain I{only} the named\n"
+"layers. The layers will be merged in the order they appear on the\n"
+"command line, with the leftmost being \"at the bottom\" \\- that is,\n"
+"the layer ordering in the XCF file will be ignored."
+msgstr ""
+"Man kan også vælge de lag der skal kombineres, udtrykkeligt ved\n"
+"at angive deres navne som selvstændige kommandolinjeargumenter\n"
+"efter navnet på inddatafilen. I det tilfælde vil uddata\n"
+"I{kun} indeholde de angivne lag. Lagene vil blive kombineret i den\n"
+"rækkefølge de står på kommandolinjen, med det lag der står længst\n"
+"til venstre, som det \"nederste\" \\- det vil sige at den indbyrdes\n"
+"position i XCF filen ikke betyder noget."
+
+#: xcf2pnm.10:82 xcf2png.10:76
+msgid ""
+"The following options can be given I{after} a layer name to\n"
+"override the global properties of the layer:"
+msgstr ""
+"De følgende flag kan gives I{efter} et lagnavn for at tilsidesætte\n"
+"lagets globale egenskaber:"
+
+#: xcf2pnm.10:87
+msgid "EXAMPLES"
+msgstr "EKSEMPLER"
+
+#: xcf2pnm.10:89
+msgid "B{xcf2pnm -b white foo.xcf > foo.ppm}"
+msgstr "B{xcf2pnm -b white noget.xcf > noget.ppm}"
+
+#: xcf2pnm.10:91
+msgid "B{xcf2pnm -a footrans.pgm -o foo.ppm foo.xcf Layer1 Layer2}"
+msgstr "B{xcf2pnm -a noget-gnms.pgm -o noget.pgm noget.xcf Lag1 Lag2}"
+
+#: xcf2pnm.10:93
+msgid "To test whether the flattened image has any transparency, use"
+msgstr ""
+"Følgende kommando tjekker om det fladgjorte billede indeholder\n"
+"nogen gennemsigtighed:"
+
+#: xcf2pnm.10:95
+msgid "B{xcf2pnm foo.xcf > /dev/null}"
+msgstr "B{xcf2pnm noget.xcf /dev/null}"
+
+#: xcf2pnm.10:97
+msgid ""
+"To test whether the flattened image has I{partially} transparent\n"
+"pixels, use"
+msgstr ""
+"For at tjekke om det fladgjorte indeholder nogen\n"
+"I{delvis} gennemsigtighed kan man bruge"
+
+#: xcf2pnm.10:101
+msgid "B{xcf2pnm -b white -G > /dev/null}"
+msgstr "B{xcf2pnm -b white -G > /dev/null}"
+
+#: xcf2pnm.10:102 xcf2png.10:81
+msgid "BUGS AND LIMITATIONS"
+msgstr "FEJL OG BEGRÆNSNINGER"
+
+#: xcf2pnm.10:104 xcf2png.10:83
+msgid ""
+"When several partially transparent layers are merged, the pixel\n"
+"values are interpolated without gamma correction. (The Gimp also\n"
+"does it this way). Some slight rounding errors in the\n"
+"interpolation are inevitable; B{%s} sometimes has different\n"
+"rounding errors than the Gimp itself, especially when more than\n"
+"two layers are involved, or in case of some of the more exotic\n"
+"layer modes."
+msgstr ""
+"Når flere delvist gennemsigtige lag skal kombineres, bliver\n"
+"pixelværdierne kombineret uden gammakorrektion. (Sådan gør Gimp\n"
+"det også). Ved kombinationen vil der uvægerligt opstå mindre\n"
+"afrundingsfejl \\- nogen gange giver B{%s} andre fejl ind\n"
+"Gimp self, især når der er tale om mere end to lag, eller\n"
+"ved nogen af de mere eksotiske lagtilstande."
+
+#: xcf2pnm.10:112 xcf2png.10:91
+msgid "These differences are usually not visible to the eye."
+msgstr "Disse forskelle er normalt ikke synlige."
+
+#: xcf2pnm.10:114 xcf2png.10:93
+msgid ""
+"There are probably other bugs lurking in corner cases. If you\n"
+"discover one, please notify the author."
+msgstr ""
+"Der er sikkert også andre fejl som viser sig i særlige situationer.\n"
+"Hvis du finder en, så vær rar at fortælle forfatteren om den."
+
+#: xcf2pnm.10:117 xcf2png.10:96
+msgid "FILES"
+msgstr "FILER"
+
+#: xcf2pnm.10:119 xcf2png.10:98
+msgid "B{/usr/lib/X11/rgb.txt}"
+msgstr "B{/usr/lib/X11/rgb.txt}"
+
+#: xcf2pnm.10:120 xcf2png.10:99
+msgid "Color name database for B{-b}."
+msgstr "Database med farvenavne der forstås af B{-b}."
+
+#: xcf2pnm.10:126
+msgid "B{xcfinfo}(1), B{xcf2png}(1)"
+msgstr "B{xcfinfo}(1), B{xcf2png}(1)"
+
+#: xcf2png.10:18
+msgid "xcf2png \\- convert from GIMP xcf files to png format"
+msgstr "xcf2png \\- oversæt xcf-filer til png-format"
+
+#: xcf2png.10:30
+msgid ""
+"B{xcf2png} is a command-line tool that converts image files in\n"
+"the XCF format used by B{gimp}(1) to the generic image format\n"
+"B{png}, flattening layers if necessary. It does not need to have\n"
+"the Gimp engine itself available."
+msgstr ""
+"B{xcf2png} er et kommandolinjeværktøj til at fladgøre og\n"
+"konvertere billedfiler i B{gimp}(1)s interne format XCF til\n"
+"det generelle billedformat B{png}.\n"
+"Det kræver ikke at Gimp selv er installeret."
+
+#: xcf2png.10:49
+msgid "B{-g}and B{-c}."
+msgstr "B{-g} og B{-c}."
+
+#: xcf2png.10:105
+msgid "B{xcfinfo}(1), B{xcf2pnm}(1)"
+msgstr "B{xcfinfo}(1), B{xcf2pnm}(1)"
+
+#: xcfview.10:18
+msgid "xcfview \\- display GIMP xcf files"
+msgstr "xcfview \\- fremvis xcf-filer fra GIMP"
+
+#: xcfview.10:30
+msgid ""
+"B{xcfview} is a wrapper script that uses B{xcf2png}(1) or\n"
+"B{xcf2pnm}(1) (q.v.) to flatten an XCF image and then displays\n"
+"the flattened image using a PNG or PPM viewer found using the\n"
+"B{mailcap}(5) database."
+msgstr ""
+"B{xcfview} er et omslagsprogram som bruger B{xcf2png}(1) eller\n"
+"B{xcf2pnm}(1) (se disse) til at fladgøre et XCF-billede, og dernæst\n"
+"viser det med et PNG- eller PPM-fremviserprogram, som findes gennem\n"
+"B{mailcap}(5)-databasen."
+
+#: xcfview.10:40
+msgid ""
+"Every command-line parameter to B{xcfview} will be passed through\n"
+"to the underlying B{xcf2png} or B{xcf2pnm} command. Because it is\n"
+"not certain which converter will be used, the options given\n"
+"should be ones that make sense for both of these:"
+msgstr ""
+"Alle kommandolinjeargumenter til B{xcfview} bliver videregivet direkte\n"
+"til den B{xcf2png}- eller B{xcf2pnm}-kommando som konverterer XCF-billedet.\n"
+"Det er ikke helt forudsigeligt hvilket konverteringsprogram der bliver\n"
+"brugt, så man bør holde sig til flag der forstås af begge disse programmer:"
+
+#: xcfview.10:49 exit.1i:1
+msgid "EXIT STATUS"
+msgstr "AFSLUTNINGSKODER"
+
+#: xcfview.10:50
+msgid ""
+"The exit status is 0 in case of success. A nonzero exit status\n"
+"may either be that of the \\fBxcf2I{foo} converter or that of the\n"
+"image viewer."
+msgstr ""
+"Afslutningskoden er 0 hvis alt gik godt. Opstår der fejl, vil\n"
+"afslutningskoden være forskellig fra 0; den præcise værdi kan\n"
+"enten komme fra konverteringsprogrammet eller fra\n"
+"fremviserprogrammet."
+
+#: xcfview.10:58
+msgid ""
+"Parts of the script originate from the B{run-mailcap}(1) script\n"
+"by Brian White <bcwhite@pobox.com>."
+msgstr ""
+"Dele af programmet stammer fra skripte B{run-mailcap}(1) af\n"
+"Brian White <bcwhite@pobox.com>."
+
+#: exit.1i:2
+msgid "The exit status of B{%s} is"
+msgstr "Her er de mulige afslutningskoder fra B{%s}:"
+
+#: exit.1i:7
+msgid "Success"
+msgstr "Alt OK"
+
+#: exit.1i:11
+msgid ""
+"Problems parsing the command line, including unknown color names\n"
+"(or missing color name directory) for B{-b}."
+msgstr ""
+"Gal kommandolinjesyntaks, herunder ukendte farvenavne i\n"
+"B{-B} (eller farvenavnsdatabasen mangler)."
+
+#: exit.1i:15
+msgid "Problems parsing the command line."
+msgstr "Gal kommandolinjesyntaks."
+
+#: exit.1i:19
+msgid "The specified XCF file does not exist or cannot be read."
+msgstr "Den angivne XCF-fil findes ikke eller kan ikke læses."
+
+#: exit.1i:23
+msgid ""
+"A layer named on the command line was not found, or the B{--mask}\n"
+"option was used for a layer that has no layer mask."
+msgstr ""
+"Et lag der angives på kommandolinjen findes ikke, eller\n"
+"B{--mask}-flaget er anvendt på et lag der ikke har nogen lagmaske."
+
+#: exit.1i:29
+msgid ""
+"Transparent pixels were found, but neither B{-a} nor B{-b} was\n"
+"given."
+msgstr ""
+"Der er fundet gennemsigtige pixels, men hverken B{-a} eller B{-b}\n"
+"er specificeret."
+
+#: exit.1i:36
+msgid "The B{-a} option was given yet the image has no transparency."
+msgstr "B{-a}-flaget er givet, men billedet er fuldstændig ugennemsigtigt."
+
+#: exit.1i:39
+msgid "(Use B{-A} to go on anyway)."
+msgstr "(Brug B{-A} for at ignorere dette)."
+
+#: exit.1i:45
+msgid "The B{-G} option was given, yet partial transparency was found."
+msgstr ""
+"B{-G}-flaget er givet, men billedet indeholder delvist gennemsigtige\n"
+"pixels."
+
+#: exit.1i:51
+msgid ""
+"B{-g} (or B{-m}) was given, yet colored (or gray) pixels were\n"
+"found."
+msgstr ""
+"B{-g}- (eller B{-m}-)flaget er givet, men billedet indeholder\n"
+"farvede (eller mellemgrå) pixels."
+
+#: exit.1i:56
+msgid "B{-g} was given, yet colored pixels were found."
+msgstr "B{-g}-flaget er givet, men billedet indeholder farvede pixels."
+
+#: exit.1i:62
+msgid ""
+"The XCF file contains presumably valid features that B{xcftools}\n"
+"does not support."
+msgstr "XCF-filen indeholder egenskaber som B{xcftools} ikke forstår."
+
+#: exit.1i:65
+msgid ""
+"(As of this writing there is no known way of getting the Gimp to\n"
+"write an XCF file that will provoke this return. Please notify\n"
+"the author if you discover one)."
+msgstr ""
+"(Der er så vidt vides ingen måde at få Gimp til at skrive\n"
+"en XCF-fil som medfører denne aflutningskode. Lad venligst\n"
+"forfatteren vide det hvis du opdager én)."
+
+#: exit.1i:70
+msgid "The XCF file is malformed."
+msgstr "XCF-filen er beskadiget eller ugyldig."
+
+#: exit.1i:73
+msgid ""
+"An uncompression program could not be executed, or terminated\n"
+"abnormally."
+msgstr ""
+"Det lykkedes ikke at udføre udpakkeprogrammet (eller det blev dræbt\n"
+"undervejs)."
+
+#: exit.1i:77
+msgid ""
+"Unexpected I/O error, internal errors, or other \"this can't\n"
+"happen\" situations."
+msgstr "Uventet I/O-fejl, interne fejl og lignede \"umulige\" situationer."
+
+#: exit.1i:79
+msgid ""
+"If an uncompression program returns an error exit status, this\n"
+"will be returned from B{%s} too."
+msgstr ""
+"Hvis et udpakkeprogram stopper med en fejlkode, bliver denne\n"
+"kode også B{%s}s afslutningskode."
diff --git a/manpo/manpages.pot b/manpo/manpages.pot
new file mode 100644
index 0000000..5c1b994
--- /dev/null
+++ b/manpo/manpages.pot
@@ -0,0 +1,654 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Xcftools-manpages VERSION\n"
+"Report-Msgid-Bugs-To: henning@makholm.net\n"
+"POT-Creation-Date: 2006-02-20 01:59+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: options.i:22
+msgid "Print an option summery to standard output and exit with a return\n"
+ "code of 0."
+msgstr ""
+
+#: options.i:29
+msgid "Print the version numer of B{xcftools} to standard output and\n"
+ "exit with a return code of 0."
+msgstr ""
+
+#: options.i:37
+msgid "Print progress messages about the conversion to standard error."
+msgstr ""
+
+#: options.i:43
+msgid "Equivalent to B{-Z bzcat}."
+msgstr ""
+
+#: options.i:45
+msgid "Default if the filename ends with B{bz2}."
+msgstr ""
+
+#: options.i:52
+msgid "Equivalent to B{-Z zcat}."
+msgstr ""
+
+#: options.i:54
+msgid "Default if the filename ends with B{gz}."
+msgstr ""
+
+#: options.i:61
+msgid "cmd"
+msgstr ""
+
+#: options.i:61
+msgid "Specify a command that the input file is filtered through before\n"
+ "being interpreted as an XCF file. The command is invoked as\n"
+ "I{command filename} and must produce output to its standard\n"
+ "output."
+msgstr ""
+
+#: options.i:65
+msgid "Note that it is not possible to specify arguments as part of\n"
+ "I{command}."
+msgstr ""
+
+#: options.i:67
+msgid "An uncompressor is selected automatically if the filename ends\n"
+ "with B{gz} or B{bz2}; to suppress this, use B{-Z cat} (which is\n"
+ "implemented without actually starting a B{cat}(1) process)."
+msgstr ""
+
+#: options.i:84 options.i:93
+msgid "filename"
+msgstr ""
+
+#: options.i:84
+msgid "Write the converted picture to I{filename} instead of to standard\n"
+ "output."
+msgstr ""
+
+#: options.i:93
+msgid "Output a transparency mask for the flattened image to I{filename}\n"
+ "as a B{pgm}(5) file, in addition to the ordinary output."
+msgstr ""
+
+#: options.i:98
+msgid "If the flattened image is completely opaque, this will produce an\n"
+ "error message and exit status 101; use B{-A} to suppress this."
+msgstr ""
+
+#: options.i:109
+msgid "color"
+msgstr ""
+
+#: options.i:109
+msgid "Use this color for transparent pixels in the image."
+msgstr ""
+
+#: options.i:110
+msgid "The color can be given as B{#rrggbb} or B{#rgb} hexadecimal\n"
+ "values, or as an X11 color name that will be looked up in\n"
+ "B{/usr/lib/X11/rgb.txt}."
+msgstr ""
+
+#: options.i:168
+msgid "Invent a trivial alpha channel even if the flattened image is\n"
+ "completely opaque."
+msgstr ""
+
+#: options.i:175
+msgid "Force the output to use RGB color space even if it there are more\n"
+ "compact alternatives."
+msgstr ""
+
+#: options.i:178
+msgid "This will be selected automatically if the output file's name\n"
+ "ends with B{.ppm}."
+msgstr ""
+
+#: options.i:187
+msgid "Force the output to be a grayscale image even if it may be\n"
+ "monochrome."
+msgstr ""
+
+#: options.i:188
+msgid "If any colored pixels are encountered, exit with status 103."
+msgstr ""
+
+#: options.i:189
+msgid "This will be selected automatically if the output file's name\n"
+ "ends with B{.pgm}."
+msgstr ""
+
+#: options.i:198
+msgid "Force the output to be a monochrome image."
+msgstr ""
+
+#: options.i:199
+msgid "If any colors except black and white are encountered, exit with\n"
+ "status 103."
+msgstr ""
+
+#: options.i:201
+msgid "This will be selected automatically if the output file's name\n"
+ "ends with B{.pbm}."
+msgstr ""
+
+#: options.i:211
+msgid "Suppress the automatic choice of B{-c}, B{-g}, or B{-m} based on\n"
+ "output filename, and instead select the output format based on\n"
+ "image contents."
+msgstr ""
+
+#: options.i:218
+msgid "This is the default if the filename is not recognized, and when\n"
+ "writing to stdout."
+msgstr ""
+
+#: options.i:226
+msgid "Use standard RGB compositing for flattening indexed layers."
+msgstr ""
+
+#: options.i:227
+msgid "Without this option, B{%s} will mimic the Gimp's current strategy\n"
+ "of rounding each alpha value to either full transparency or full\n"
+ "opacity, and interpret all layer modes as B{Normal}."
+msgstr ""
+
+#: options.i:238
+msgid "Assert that the flattened image will have no partial transparency\n"
+ "(allowing a more compact representation of the alpha output)."
+msgstr ""
+
+#: options.i:240
+msgid "Exit with status 102 if the flattened image has any partial\n"
+ "transparency."
+msgstr ""
+
+#: options.i:242
+msgid "If B{-b} is also given, this tests whether there there is partial\n"
+ "transparency before applying the background color."
+msgstr ""
+
+#: options.i:251
+msgid "Do a \"dissolve\" step to eliminate partial transparency after\n"
+ "flattening."
+msgstr ""
+
+#: options.i:253
+msgid "If B{-b} is also given, this happens before the background color\n"
+ "is applied."
+msgstr ""
+
+#: options.i:261
+msgid "First flatten the entire image to a memory buffer before writing\n"
+ "output. Then analyse the image to decide on the details of the\n"
+ "output format (e.g., whether a grayscale output is sufficient)."
+msgstr ""
+
+#: options.i:264
+msgid "Without this option, the program flattens only a singe row of\n"
+ "\"tiles\" (height 64) at a time."
+msgstr ""
+
+#: options.i:271
+msgid "wB{x}h"
+msgstr ""
+
+#: options.i:271
+msgid "Crop the converted image to width I{w} and height I{h}."
+msgstr ""
+
+#: options.i:286
+msgid "xB{,}y"
+msgstr ""
+
+#: options.i:286
+msgid "Offset the converted part of the image from the top-left corner\n"
+ "of the XCF canvas. Usually used with B{-S}."
+msgstr ""
+
+#: options.i:307
+msgid "mode"
+msgstr ""
+
+#: options.i:307
+msgid "Set the layer mode (e.g., B{Normal} or B{Multiply})."
+msgstr ""
+
+#: options.i:330 options.i:344
+msgid "n"
+msgstr ""
+
+#: options.i:330
+msgid "Set the opacity on a scale from 0 to 100 (as in the Gimp user\n"
+ "interface)."
+msgstr ""
+
+#: options.i:344
+msgid "Set the opacity on a scale from 0 to 255 (as used internally)"
+msgstr ""
+
+#: options.i:358
+msgid "Enable the layer mask."
+msgstr ""
+
+#: options.i:364
+msgid "Disable the layer mask."
+msgstr ""
+
+#: options.i:374
+msgid "Use the raw UTF-8 representation from the XCF file to compare and\n"
+ "display layer names."
+msgstr ""
+
+#: options.i:376
+msgid "Ordinarily, layer names will be converted to the character set of\n"
+ "the current locale."
+msgstr ""
+
+#: xcfinfo.10:17 xcf2pnm.10:17 xcf2png.10:17 xcfview.10:17
+msgid "NAME"
+msgstr ""
+
+#: xcfinfo.10:18
+msgid "xcfinfo \\- display information about GIMP xcf files"
+msgstr ""
+
+#: xcfinfo.10:20 xcf2pnm.10:20 xcf2png.10:20 xcfview.10:20
+msgid "SYNOPSIS"
+msgstr ""
+
+#: xcfinfo.10:21
+msgid "B{%s} [ I{options} ] I{filename}"
+msgstr ""
+
+#: xcfinfo.10:26 xcf2pnm.10:29 xcf2png.10:29 xcfview.10:29
+msgid "DESCRIPTION"
+msgstr ""
+
+#: xcfinfo.10:27
+msgid "B{xcfinfo} is a command-line tool that displays information about\n"
+ "the contents of image files in the XCF format used by B{gimp}(1),\n"
+ "particularly about the layers in the image."
+msgstr ""
+
+#: xcfinfo.10:32 xcfview.10:39
+msgid "OPTIONS"
+msgstr ""
+
+#: xcfinfo.10:34
+msgid "OUTPUT"
+msgstr ""
+
+#: xcfinfo.10:35
+msgid "Information about the image is displayed on standard output in a\n"
+ "fixed format."
+msgstr ""
+
+#: xcfinfo.10:36
+msgid "The first line contains general information about the XCF file:"
+msgstr ""
+
+#: xcfinfo.10:38 xcfinfo.10:41 xcfinfo.10:44 xcfinfo.10:47 xcfinfo.10:50
+msgid "\\-"
+msgstr ""
+
+#: xcfinfo.10:39
+msgid "The file format version"
+msgstr ""
+
+#: xcfinfo.10:42
+msgid "The canvas size"
+msgstr ""
+
+#: xcfinfo.10:45
+msgid "The image mode (color, grayscale, or indexed)"
+msgstr ""
+
+#: xcfinfo.10:48
+msgid "The numer of layers"
+msgstr ""
+
+#: xcfinfo.10:51
+msgid "The internal compression algorithm"
+msgstr ""
+
+#: xcfinfo.10:53
+msgid "Following this line there is a line for each layer:"
+msgstr ""
+
+#: xcfinfo.10:55 xcf2pnm.10:46 xcf2png.10:43
+msgid "1)"
+msgstr ""
+
+#: xcfinfo.10:56
+msgid "The character B{+} if the layer is visible and B{\\-} if it is not"
+msgstr ""
+
+#: xcfinfo.10:62 xcf2pnm.10:51 xcf2png.10:48
+msgid "2)"
+msgstr ""
+
+#: xcfinfo.10:63
+msgid "The size and offset of the layer"
+msgstr ""
+
+#: xcfinfo.10:65 xcf2pnm.10:58 xcf2png.10:52
+msgid "3)"
+msgstr ""
+
+#: xcfinfo.10:66
+msgid "The pixel format of the layer, including whether the layer has an\n"
+ "alpha channel."
+msgstr ""
+
+#: xcfinfo.10:69 xcf2pnm.10:63 xcf2png.10:57
+msgid "4)"
+msgstr ""
+
+#: xcfinfo.10:70
+msgid "The layer mode, as well as the opacity if not 100%, and B{/mask}\n"
+ "if the layer has an active layer mask."
+msgstr ""
+
+#: xcfinfo.10:74
+msgid "5)"
+msgstr ""
+
+#: xcfinfo.10:75
+msgid "The name of the layer."
+msgstr ""
+
+#: xcfinfo.10:77 xcf2pnm.10:122 xcf2png.10:101 xcfview.10:54
+msgid "AUTHOR"
+msgstr ""
+
+#: xcfinfo.10:78 xcf2pnm.10:123 xcf2png.10:102 xcfview.10:55
+msgid "B{%s} was written by Henning Makholm <henning@makholm.net>."
+msgstr ""
+
+#: xcfinfo.10:81 xcf2pnm.10:126 xcf2png.10:105 xcfview.10:61
+msgid "SEE ALSO"
+msgstr ""
+
+#: xcfinfo.10:81 xcfview.10:61
+msgid "B{xcf2pnm}(1), B{xcf2png}(1)"
+msgstr ""
+
+#: xcf2pnm.10:18
+msgid "xcf2pnm \\- convert from GIMP xcf files to ppm/pgm/pbm format"
+msgstr ""
+
+#: xcf2pnm.10:21 xcf2png.10:21 xcfview.10:21
+msgid "B{%s} [ I{options} ] I{filename} [ I{layer names} ]"
+msgstr ""
+
+#: xcf2pnm.10:30
+msgid "B{xcf2pnm} is a command-line tool that converts image files in\n"
+ "the XCF format used by B{gimp}(1) to the generic image formats\n"
+ "B{pbm}(5), B{pgm}(5), and B{ppm}(5), flattening layers if\n"
+ "necessary. It does not need to have the Gimp engine itself\n"
+ "available."
+msgstr ""
+
+#: xcf2pnm.10:40 xcf2png.10:37
+msgid "GENERAL OPTIONS"
+msgstr ""
+
+#: xcf2pnm.10:43 xcf2png.10:40
+msgid "Several groups of options are mutually incompatible; in each\n"
+ "group the one given last will win:"
+msgstr ""
+
+#: xcf2pnm.10:47 xcf2png.10:44
+msgid "B{-A} and B{-b}."
+msgstr ""
+
+#: xcf2pnm.10:52
+msgid "B{-c}, B{-g}, B{-m}, and B{-n}."
+msgstr ""
+
+#: xcf2pnm.10:59 xcf2png.10:53
+msgid "B{-D} and B{-G}."
+msgstr ""
+
+#: xcf2pnm.10:64 xcf2png.10:58
+msgid "B{-j}, B{-z}, and B{-Z}."
+msgstr ""
+
+#: xcf2pnm.10:68 xcf2png.10:62
+msgid "LAYER SPECIFICATIONS"
+msgstr ""
+
+#: xcf2pnm.10:69 xcf2png.10:63
+msgid "If no I{layer name} is given on the command line, all of the\n"
+ "visible layers in the XCF file are merged to produce the output\n"
+ "image."
+msgstr ""
+
+#: xcf2pnm.10:73 xcf2png.10:67
+msgid "It is also possible to specify the layers to merge explicitly, by\n"
+ "giving their names as separate arguments after the input\n"
+ "filename. In that case, the output will contain I{only} the named\n"
+ "layers. The layers will be merged in the order they appear on the\n"
+ "command line, with the leftmost being \"at the bottom\" \\- that is,\n"
+ "the layer ordering in the XCF file will be ignored."
+msgstr ""
+
+#: xcf2pnm.10:82 xcf2png.10:76
+msgid "The following options can be given I{after} a layer name to\n"
+ "override the global properties of the layer:"
+msgstr ""
+
+#: xcf2pnm.10:87
+msgid "EXAMPLES"
+msgstr ""
+
+#: xcf2pnm.10:89
+msgid "B{xcf2pnm -b white foo.xcf > foo.ppm}"
+msgstr ""
+
+#: xcf2pnm.10:91
+msgid "B{xcf2pnm -a footrans.pgm -o foo.ppm foo.xcf Layer1 Layer2}"
+msgstr ""
+
+#: xcf2pnm.10:93
+msgid "To test whether the flattened image has any transparency, use"
+msgstr ""
+
+#: xcf2pnm.10:95
+msgid "B{xcf2pnm foo.xcf > /dev/null}"
+msgstr ""
+
+#: xcf2pnm.10:97
+msgid "To test whether the flattened image has I{partially} transparent\n"
+ "pixels, use"
+msgstr ""
+
+#: xcf2pnm.10:101
+msgid "B{xcf2pnm -b white -G > /dev/null}"
+msgstr ""
+
+#: xcf2pnm.10:102 xcf2png.10:81
+msgid "BUGS AND LIMITATIONS"
+msgstr ""
+
+#: xcf2pnm.10:104 xcf2png.10:83
+msgid "When several partially transparent layers are merged, the pixel\n"
+ "values are interpolated without gamma correction. (The Gimp also\n"
+ "does it this way). Some slight rounding errors in the\n"
+ "interpolation are inevitable; B{%s} sometimes has different\n"
+ "rounding errors than the Gimp itself, especially when more than\n"
+ "two layers are involved, or in case of some of the more exotic\n"
+ "layer modes."
+msgstr ""
+
+#: xcf2pnm.10:112 xcf2png.10:91
+msgid "These differences are usually not visible to the eye."
+msgstr ""
+
+#: xcf2pnm.10:114 xcf2png.10:93
+msgid "There are probably other bugs lurking in corner cases. If you\n"
+ "discover one, please notify the author."
+msgstr ""
+
+#: xcf2pnm.10:117 xcf2png.10:96
+msgid "FILES"
+msgstr ""
+
+#: xcf2pnm.10:119 xcf2png.10:98
+msgid "B{/usr/lib/X11/rgb.txt}"
+msgstr ""
+
+#: xcf2pnm.10:120 xcf2png.10:99
+msgid "Color name database for B{-b}."
+msgstr ""
+
+#: xcf2pnm.10:126
+msgid "B{xcfinfo}(1), B{xcf2png}(1)"
+msgstr ""
+
+#: xcf2png.10:18
+msgid "xcf2png \\- convert from GIMP xcf files to png format"
+msgstr ""
+
+#: xcf2png.10:30
+msgid "B{xcf2png} is a command-line tool that converts image files in\n"
+ "the XCF format used by B{gimp}(1) to the generic image format\n"
+ "B{png}, flattening layers if necessary. It does not need to have\n"
+ "the Gimp engine itself available."
+msgstr ""
+
+#: xcf2png.10:49
+msgid "B{-g}and B{-c}."
+msgstr ""
+
+#: xcf2png.10:105
+msgid "B{xcfinfo}(1), B{xcf2pnm}(1)"
+msgstr ""
+
+#: xcfview.10:18
+msgid "xcfview \\- display GIMP xcf files"
+msgstr ""
+
+#: xcfview.10:30
+msgid "B{xcfview} is a wrapper script that uses B{xcf2png}(1) or\n"
+ "B{xcf2pnm}(1) (q.v.) to flatten an XCF image and then displays\n"
+ "the flattened image using a PNG or PPM viewer found using the\n"
+ "B{mailcap}(5) database."
+msgstr ""
+
+#: xcfview.10:40
+msgid "Every command-line parameter to B{xcfview} will be passed through\n"
+ "to the underlying B{xcf2png} or B{xcf2pnm} command. Because it is\n"
+ "not certain which converter will be used, the options given\n"
+ "should be ones that make sense for both of these:"
+msgstr ""
+
+#: xcfview.10:49 exit.1i:1
+msgid "EXIT STATUS"
+msgstr ""
+
+#: xcfview.10:50
+msgid "The exit status is 0 in case of success. A nonzero exit status\n"
+ "may either be that of the \\fBxcf2I{foo} converter or that of the\n"
+ "image viewer."
+msgstr ""
+
+#: xcfview.10:58
+msgid "Parts of the script originate from the B{run-mailcap}(1) script\n"
+ "by Brian White <bcwhite@pobox.com>."
+msgstr ""
+
+#: exit.1i:2
+msgid "The exit status of B{%s} is"
+msgstr ""
+
+#: exit.1i:7
+msgid "Success"
+msgstr ""
+
+#: exit.1i:11
+msgid "Problems parsing the command line, including unknown color names\n"
+ "(or missing color name directory) for B{-b}."
+msgstr ""
+
+#: exit.1i:15
+msgid "Problems parsing the command line."
+msgstr ""
+
+#: exit.1i:19
+msgid "The specified XCF file does not exist or cannot be read."
+msgstr ""
+
+#: exit.1i:23
+msgid "A layer named on the command line was not found, or the B{--mask}\n"
+ "option was used for a layer that has no layer mask."
+msgstr ""
+
+#: exit.1i:29
+msgid "Transparent pixels were found, but neither B{-a} nor B{-b} was\n"
+ "given."
+msgstr ""
+
+#: exit.1i:36
+msgid "The B{-a} option was given yet the image has no transparency."
+msgstr ""
+
+#: exit.1i:39
+msgid "(Use B{-A} to go on anyway)."
+msgstr ""
+
+#: exit.1i:45
+msgid "The B{-G} option was given, yet partial transparency was found."
+msgstr ""
+
+#: exit.1i:51
+msgid "B{-g} (or B{-m}) was given, yet colored (or gray) pixels were\n"
+ "found."
+msgstr ""
+
+#: exit.1i:56
+msgid "B{-g} was given, yet colored pixels were found."
+msgstr ""
+
+#: exit.1i:62
+msgid "The XCF file contains presumably valid features that B{xcftools}\n"
+ "does not support."
+msgstr ""
+
+#: exit.1i:65
+msgid "(As of this writing there is no known way of getting the Gimp to\n"
+ "write an XCF file that will provoke this return. Please notify\n"
+ "the author if you discover one)."
+msgstr ""
+
+#: exit.1i:70
+msgid "The XCF file is malformed."
+msgstr ""
+
+#: exit.1i:73
+msgid "An uncompression program could not be executed, or terminated\n"
+ "abnormally."
+msgstr ""
+
+#: exit.1i:77
+msgid "Unexpected I/O error, internal errors, or other \"this can't\n"
+ "happen\" situations."
+msgstr ""
+
+#: exit.1i:79
+msgid "If an uncompression program returns an error exit status, this\n"
+ "will be returned from B{%s} too."
+msgstr ""
+
diff --git a/manpo/mantranslate.pl b/manpo/mantranslate.pl
new file mode 100644
index 0000000..713da10
--- /dev/null
+++ b/manpo/mantranslate.pl
@@ -0,0 +1,227 @@
+#! /usr/bin/perl
+# This script extracts translateable strings from a manpage and/or
+# translates a manpage using gettext.
+# Copyright (C) 2006 Henning Makholm
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of version 2 of the GNU General Public License as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+use strict ; use warnings ;
+
+my ($gettext,$shipout) ;
+
+sub fontexpand1($$) {
+ my ($kinds,$text) = @_ ;
+ return "\\f$kinds$text\\fP" if 1 == length $kinds ;
+ my $out = "" ;
+ my $last = "R" ;
+ while( $text ) {
+ $kinds =~ s/^(.)(.*)/$2$1/ ;
+ $last = $1 ;
+ if( $text =~ s/^([^\" ]+)\s*// ||
+ $text =~ s/^"([^\"]+)"\s*// ) {
+ $out .= "\\f$last$1" ;
+ } else {
+ die "Bad font-change tail '$text'" ;
+ }
+ }
+ $out .= "\\fR" unless $last eq "R" ;
+ return $out ;
+}
+
+
+sub ggettext($$$) {
+ my ($filename,$lineno,$text) = @_ ;
+ return $text if $text =~ /^\d*$/ ;
+ $text =~ s/\\\".*//g ;
+ $text =~ s/\\\*p/%s/g ;
+ $text =~ s/([^-])\\(-[a-zA-Z])/$1$2/g ;
+ $text =~ s/^\.([BIR]+)\s+(.*)$/ fontexpand1($1,$2) /mge ;
+ my $fontcode = $text !~ /[{}]/ ;
+ if( $fontcode ) {
+ $text =~ s/\\f([BI])(([^\\]|\\[^f])*)\\f[RP]/$1\{$2\}/mg ;
+ }
+ my $newline = $text =~ s/\n$//s ;
+ if( $text !~ /^[.\']/m || $text =~ /\n/ ) {
+ $text =~ s/\s+/ /gs ;
+ my $pre = "" ;
+ while( length($text) > 65 ) {
+ $text =~ s/^(.{1,65}) // or $text =~ s/^([^ ]*) // ;
+ $pre .= "$1\n" ;
+ }
+ $text = "$pre$text" ;
+ $text =~ s/\s*$// ;
+ }
+ $text = $gettext->($filename,$lineno,$text);
+ $text .= "\n" if $newline ;
+ if( $fontcode ) {
+ $text =~ s/([BI])\{([^{}]*)\}/\\f$1$2\\fP/g ;
+ }
+ $text =~ s/([^-])(-[a-zA-Z])/$1\\$2/g ;
+ $text =~ s/%s/\\*p/g ;
+ return $text ;
+}
+
+sub partraverse {
+ my ($filename,$lineno,@lines) = @_ ;
+ return unless @lines ;
+ my @front ;
+ foreach my $line ( @lines ) {
+ if( @front &&
+ $front[$#front] =~ /\.\)?\s*$/ &&
+ $line =~ /^\(?[A-Z]/ ) {
+ $shipout->(ggettext($filename,$lineno,join "",@front));
+ $lineno += @front ;
+ @front = () ;
+ }
+ push @front, $line ;
+ }
+ $shipout->(ggettext($filename,$lineno,join "",@front));
+}
+
+sub traverser($) {
+ my ($filename) = @_ ;
+ open MAN, "<", $filename or die "Cannot open $filename" ;
+ my $lineno = 0 ;
+ my @saved = () ;
+ while( <MAN> ) {
+ $lineno++ ;
+ if( /^([^.\'\#]|.([BI]|[BRI][IRB]) )/ ) {
+ push @saved, $_ ;
+ next ;
+ }
+ if( @saved ) {
+ partraverse($filename,$lineno-@saved,@saved);
+ @saved = () ;
+ }
+ if( /^#line (\d+) \"(.*)\"/ ) {
+ my ($newline,$newfile) = ($1,$2);
+ $filename = $newfile ;
+ $lineno = $newline-1 ;
+ } elsif( /^\#/ ) {
+ # Ok, breaking the translation block is all we need.
+ } elsif( /^\.\\\"-+$/ ){
+ # Another way to request block breaking.
+ } elsif( /^\.(\\\"|TH|so|P|IP|ds)($| )/ ) {
+ $shipout->($_) ;
+ } elsif( /^\.(SH) (.*)$/ ) {
+ $shipout->(".$1 ".ggettext($filename,$lineno,$2)."\n") ;
+ } elsif( /^\.TP/ ) {
+ $shipout->($_) ;
+ $_ = <MAN> ; $lineno++ ;
+ if( /^\\fB\\-/ ) {
+ s/\\fI(.*?)\\fR/
+ "\\fI".ggettext($filename,$lineno,$1)."\\fR"/ge ;
+ $shipout->($_) ;
+ } else {
+ partraverse($filename,$lineno,$_) ;
+ }
+ } else {
+ /^.?(.?.?)/ ;
+ die "$filename:$lineno: unsupported request .$1\n" ;
+ }
+ }
+ if( @saved ) {
+ partraverse($filename,$lineno-@saved,@saved);
+ }
+ close MAN ;
+}
+
+
+if( @ARGV && $ARGV[0] eq '-x' ) {
+ shift @ARGV ;
+ my %seenwhere = () ;
+ my @strings = () ;
+ $gettext = sub {
+ my ($file,$line,$text) = @_ ;
+ push @strings, $text unless exists $seenwhere{$text} ;
+ push @{$seenwhere{$text}}, "$file:$line" ;
+ };
+ $shipout = sub {} ;
+ for my $filename ( @ARGV ) {
+ traverser($filename) ;
+ }
+ my $date = `date "+%Y-%m-%d %H:%M%z"` ;
+ chomp $date ;
+ print << "EOF" ;
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL\@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: Xcftools-manpages VERSION\\n"
+"Report-Msgid-Bugs-To: henning\@makholm.net\\n"
+"POT-Creation-Date: $date\\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"
+"MIME-Version: 1.0\\n"
+"Content-Type: text/plain; charset=CHARSET\\n"
+"Content-Transfer-Encoding: 8bit\\n"
+
+EOF
+;
+ for my $string ( @strings ) {
+ print(join(" ","#:",@{$seenwhere{$string}}),"\n");
+ $string =~ s/([\\\"])/\\$1/g ;
+ $string =~ s/\n$/\\n/ ;
+ print "msgid \"" ;
+ print(join "\\n\"\n \"",split /\n/, $string) ;
+ print "\"\n";
+ print "msgstr \"\"\n\n" ;
+ }
+ exit 0 ;
+}
+
+if( @ARGV == 2 ) {
+ my ($pofile,$manfile) = @ARGV ;
+ open PO, "<", $pofile or die "Pofile $pofile not found" ;
+ my %catalog ;
+ my $msgid ;
+ my $addto ;
+ while( <PO> ) {
+ # This is an extremely simple-minded parser.
+ if( s/^\s*msgid\s+\"/\"/ ) {
+ $msgid = "" ;
+ $addto = \$msgid ;
+ } elsif( s/^\s*msgstr\s+\"/\"/ ) {
+ $catalog{$msgid} = "" ;
+ $addto = \$catalog{$msgid} ;
+ }
+ if( /^\s*\"(.*)\"\s*$/ ) {
+ $_ = $1 ;
+ s/\\(.)/$1 eq 'n' ? "\n" : $1/ge ;
+ $$addto .= $_ ;
+ }
+ }
+ close PO ;
+ $gettext = sub {
+ my ($file,$line,$text) = @_ ;
+ return $catalog{$text} if $catalog{$text} ;
+ return $text ;
+ };
+ $shipout = sub {
+ print @_ ;
+ };
+ traverser($manfile) ;
+ exit 0 ;
+}
+
+print STDERR "Usage: $0 -x man-source-files\n" ;
+print STDERR " or: $0 pofile manfile\n" ;
+
+
+
+
diff --git a/manpo/optipot.pl b/manpo/optipot.pl
new file mode 100644
index 0000000..e8a3d70
--- /dev/null
+++ b/manpo/optipot.pl
@@ -0,0 +1,46 @@
+#! /usr/bin/perl
+# This script extracts translatable manpage fragments from
+# option.i
+# Copyright (C) 2006 Henning Makholm
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of version 2 of the GNU General Public License as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+use strict ; use warnings ;
+
+my $masterfile = "options.i" ;
+
+open OPTIONS, "<", $masterfile or die "Cannot open $masterfile" ;
+
+while( <OPTIONS> ) {
+ if( /OPTION\(([^,]*),([^,]*),(.*),\s*$/ ) {
+ my ($option,$long,$help) = ($1,$2,$3) ;
+ if( $help =~ s/^\s*\(([^()]+)\)\s*// ) {
+ my $arg = $1 ;
+ $arg =~ s/"([^\"]*)"/\\fB$1\\fP/g ;
+ print "#line $. \"$masterfile\"\n.TP\n" ;
+ print "\\fB\\-X\\fR \\fI$arg\\fR\n" ;
+ }
+ $_ = <OPTIONS> ;
+ s/^\s*\(// ;
+ print "#line $. \"$masterfile\"\n$_" ;
+ while( <OPTIONS> ) {
+ last if /^\s*\)\);/ ;
+ s/^\s*// ;
+ s/''/'/g ;
+ print $_ ;
+ }
+ }
+}
+
+close OPTIONS ;
diff --git a/mkenumsc.pl b/mkenumsc.pl
index 5ea9829..0c5f6d9 100644
--- a/mkenumsc.pl
+++ b/mkenumsc.pl
@@ -20,6 +20,7 @@ use strict ; use warnings ;
print "/* Autogenerated from ",@ARGV," */\n" ;
print "#include \"enums.h\"\n" ;
+print "#define N_\n" ;
print "#include <stdio.h>\n" ;
while(<>) {
if( /^\s*typedef\s+enum\s/ ) {
@@ -73,11 +74,15 @@ while(<>) {
$_ = substr($_,0,-$suffix) for @desc{@nodesc} ;
nosuffix: ;
}
+ my $gettext = "" ;
+ if( $enum ne "PropType" ) {
+ $gettext = "N_" ;
+ }
my $buflen = 15 + length($enum);
print "const char*\nshow$enum($enum x)\n{\n" ;
print " static char buf[$buflen];\n switch(x) {\n" ;
for my $c (@all) {
- print " case $c: return \"$desc{$c}\";\n" ;
+ print " case $c: return $gettext(\"$desc{$c}\");\n" ;
}
print " default: sprintf(buf,\"($enum:%d)\",(int)x);\n" ;
print " return buf;\n }\n}\n";
diff --git a/mkopti.pl b/mkopti.pl
index bd52333..265c9cf 100644
--- a/mkopti.pl
+++ b/mkopti.pl
@@ -21,12 +21,13 @@ use strict ; use warnings ;
my $mastersource = "options.i" ;
my $target = shift ;
-my @defines = ( "\U$target" ) ;
+my @defines = ( "\U$target", "OPTI_TARGET \"$target\"" ) ;
push @defines, "\U$1foo" if $target =~ /^(xcf(2|to))/ ;
+push @defines, "XCF2FOO" if $target eq "xcfview" ;
open INFILE, "-|", join(" ","cpp -imacros config.h",
- (map "-D$_",@defines),
- "-DTHISPROGRAM=$target",$mastersource)
+ (map {(my $a = "-D$_")=~s/ /=/; $a} @defines),
+ $mastersource)
or die "Cannot preprocess options." ;
open OUTFILE, ">", "$target.oi"
@@ -73,7 +74,7 @@ while( <INFILE> ) {
$long[0] =~ s/^(-[^-])/\\$1/ ;
$$manref = "" ;
my $next = ".TP 8\n" ;
- $hasarg =~ s/"([^\"]*)"/\\fB$1\\fI/g ;
+ $hasarg =~ s/"([^\"]*)"/\\fB$1\\fP/g ;
$hasarg = " \\fI$hasarg\\fR" if $hasarg ;
for my $long ( @long ) {
$$manref .= $next . "\\fB$long\\fR$hasarg" ;
diff --git a/options.i b/options.i
index 8748adf..1ba4cf5 100644
--- a/options.i
+++ b/options.i
@@ -30,7 +30,7 @@ OPTION('V',--version,show version,
.B xcftools
to standard output and exit with a return code of 0.
));
-printf(PACKAGE_STRING "\n");
+printf(OPTI_TARGET " - " PACKAGE_STRING "\n");
exit(0);
OPTION('v',--verbose,show progress messages,
@@ -50,14 +50,14 @@ break ;
OPTION('z',--gzip,input is gzip compressed,
(Equivalent to
- .BR "\-Z gzcat" .
+ .BR "\-Z zcat" .
Default if the filename ends with
.BR gz .
));
-unzipper = "gzcat" ;
+unzipper = "zcat" ;
break ;
-OPTION('Z',--unpack,(pgm) use 'pgm' to decompress input,
+OPTION('Z',--unpack,(cmd) use 'cmd' to decompress input,
(Specify a command that the input file is filtered through
before being interpreted as an XCF file. The command is invoked as
.I command filename
@@ -96,8 +96,8 @@ OPTION('a',--alpha,(filename) write transparency map,
.BR pgm (5)
file, in addition to the ordinary output.
If the flattened image is completely opaque, this will produce an
- error message and exit status 101
- (the alpha file may or may not be written); use
+ error message and exit status 101;
+ use
.B \-A
to suppress this.
));
@@ -172,8 +172,8 @@ flatspec.default_pixel = FORCE_ALPHA_CHANNEL ;
break ;
OPTION('c',--color --colour,select color output,
- (Force the output to use RGB color space even if it could be
- represented.
+ (Force the output to use RGB color space even if it there are
+ more compact alternatives.
#ifdef XCF2PNM
This will be selected automatically if the output file''s name
ends with
@@ -183,26 +183,6 @@ OPTION('c',--color --colour,select color output,
flatspec.out_color_mode = COLOR_RGB ;
break ;
-#if 0
-OPTION('i',--indexed,select indexed output,
- (Force the output to used indexed color
- .I with the palette of the XCF file.
- If colors outside of the XCF file''s palette are produced
- during flattening, exit with status XXX.
- Beware that in PNG (unlike XCF) palette entries include
- transparency information, so if the flattened image contains
- any partial transparency, an error with status XXX will
- result. (On the other hand,
- .B xcf2png
- will artificially add a palette entry for fully transparent
- pixels or the the background color specified by
- .BR \-b ,
- if there is room in the palette).
- ));
-flatspec.out_color_mode = COLOR_INDEXED ;
-break ;
-#endif
-
OPTION('g',--gray --grey,select grayscale output,
(Force the output to be a grayscale image even if it may be monochrome.
If any colored pixels are encountered, exit with status 103.
@@ -234,8 +214,9 @@ OPTION('n',--pnm,select -c/-g/-m by image contents,
or
.BR \-m
based on output filename, and instead select the output format
- based on image contents. This is the default if the filename
- is not recognized, and when writing to stdout.
+ based on image contents.
+ This is the default if the filename is not recognized, and
+ when writing to stdout.
));
flatspec.out_color_mode = COLOR_BY_CONTENTS ;
break ;
@@ -243,12 +224,12 @@ break ;
OPTION('T',--truecolor,treat indexed images as RGB for flattening,
(Use standard RGB compositing for flattening indexed layers.
- Without this option
- .B THISPROGRAM
+ Without this option,
+ .B \*p
will mimic the Gimp''s current strategy of rounding each
alpha value to either full transparency or full opacity,
and interpret all layer modes as
- .B Normal .
+ .BR Normal .
));
flatspec.gimpish_indexed = 0 ;
break ;
@@ -260,8 +241,8 @@ OPTION('G',--for-gif,disallow partial transparency,
transparency.
If
.B \-b
- is also given, exit with status 102 if there is partial transparency
- before applying the background color.
+ is also given, this tests whether there there is partial
+ transparency before applying the background color.
));
flatspec.partial_transparency_mode = FORBID_PARTIAL_TRANSPARENCY ;
break ;
@@ -318,7 +299,9 @@ OPTION('O',--offset,(x","y) translate converted part of image,
break ;
}
+#ifndef XCFVIEW
OPTIONGROUP(1il,Layer-selection options);
+#endif
OPTION(300,--mode,(mode) set layer mode,
(Set the layer mode (e.g.,
@@ -328,10 +311,17 @@ OPTION(300,--mode,(mode) set layer mode,
));
{
GimpLayerModeEffects m ;
+ #ifdef ENABLE_NLS
+ for( m = 0; m < GimpLayerModeEffects_LAST; m++ )
+ if( strcmp(optarg,_(showGimpLayerModeEffects(m))) == 0 )
+ goto found_localized ;
+ #endif
+
for( m = 0; strcmp(optarg,showGimpLayerModeEffects(m)) != 0 ; m++ ) {
if( m > GimpLayerModeEffects_LAST )
FatalGeneric(20,_("Layer mode '%s' is unknown"),optarg);
}
+ found_localized:
lastlayerspec(&flatspec,"--mode")->mode = m ;
break ;
}
diff --git a/pixels.c b/pixels.c
index 918423f..65891f9 100644
--- a/pixels.c
+++ b/pixels.c
@@ -131,9 +131,10 @@ initLayer(struct xcfLayer *layer) {
DEF(INDEXED);
DEF(INDEXEDA);
default:
- FatalUnsupportedXCF(_("Layer type %s"),showGimpImageType(layer->type));
+ FatalUnsupportedXCF(_("Layer type %s"),_(showGimpImageType(layer->type)));
}
- initTileDirectory(&layer->dim,&layer->pixels,showGimpImageType(layer->type));
+ initTileDirectory(&layer->dim,&layer->pixels,
+ _(showGimpImageType(layer->type)));
layer->mask.params = &convertChannel ;
initTileDirectory(&layer->dim,&layer->mask,"layer mask");
}
@@ -183,7 +184,7 @@ struct Tile *
forkTile(struct Tile* tile)
{
if( ++tile->refcount <= 0 )
- FatalUnsupportedXCF(_("Unbelievably many layers?"
+ FatalUnsupportedXCF(_("Unbelievably many layers?\n"
"More likely to be a bug in %s"),progname);
return tile ;
}
@@ -337,7 +338,7 @@ copyTilePixels(struct Tile *dest, uint32_t ptr,convertParams *params)
break ;
default:
FatalUnsupportedXCF(_("%s compression"),
- showXcfCompressionType(XCF.compression));
+ _(showXcfCompressionType(XCF.compression)));
}
}
diff --git a/po/.cvsignore b/po/.cvsignore
new file mode 100644
index 0000000..4244426
--- /dev/null
+++ b/po/.cvsignore
@@ -0,0 +1,3 @@
+xcftools.pot
+stamp
+*.mo
diff --git a/po/da.po b/po/da.po
new file mode 100644
index 0000000..9d1ab09
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,606 @@
+# Another descriptive title
+# This file is put in the public domain.
+# Fee fie foe fum.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xcftools 0.9\n"
+"Report-Msgid-Bugs-To: henning@makholm.net\n"
+"POT-Creation-Date: 2006-02-20 00:27+0100\n"
+"PO-Revision-Date: 2006-02-15 18:32+0100\n"
+"Last-Translator: Henning Makholm <henning@makholm.net>\n"
+"Language-Team: Til test af l10n-faciliteter; ikke vedligeholdt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: xcfinfo.oi:24 xcfinfo.oi:35 xcf2pnm.oi:46 xcf2pnm.oi:63 xcf2png.oi:43
+#: xcf2png.oi:60 xcfview.oi:43 xcfview.oi:60
+msgid "cmd"
+msgstr "kommando"
+
+#: xcfinfo.oi:26 xcf2pnm.oi:54 xcf2png.oi:51 xcfview.oi:51
+msgid "show this message"
+msgstr "vis denne tekst"
+
+#: xcfinfo.oi:28 xcf2pnm.oi:56 xcf2png.oi:53 xcfview.oi:53
+msgid "show version"
+msgstr "vis versionsnummer"
+
+#: xcfinfo.oi:30 xcf2pnm.oi:58 xcf2png.oi:55 xcfview.oi:55
+msgid "show progress messages"
+msgstr "giv fremgangsbeskeder"
+
+#: xcfinfo.oi:32 xcf2pnm.oi:60 xcf2png.oi:57 xcfview.oi:57
+msgid "input is bzip2 compressed"
+msgstr "inddata er pakket med bzip2"
+
+#: xcfinfo.oi:34 xcf2pnm.oi:62 xcf2png.oi:59 xcfview.oi:59
+msgid "input is gzip compressed"
+msgstr "inddata er pakket med gzip"
+
+#: xcfinfo.oi:36 xcf2pnm.oi:64 xcf2png.oi:61 xcfview.oi:61
+msgid "use 'cmd' to decompress input"
+msgstr "brug »kommando« til at pakke inddata ud"
+
+#: xcfinfo.oi:38 xcf2pnm.oi:105 xcf2png.oi:96 xcfview.oi:95
+msgid "use UTF-8 for layer names"
+msgstr "brug UTF-8 til lagnavne"
+
+#: xcf2pnm.oi:47 xcf2pnm.oi:69 xcf2png.oi:44 xcf2png.oi:64 xcfview.oi:44
+#: xcfview.oi:64 xcf2png.c:147
+msgid "color"
+msgstr "farve"
+
+#: xcf2pnm.oi:48 xcf2pnm.oi:65 xcf2pnm.oi:67 xcf2png.oi:45 xcf2png.oi:62
+#: xcfview.oi:45 xcfview.oi:62
+msgid "filename"
+msgstr "filnavn"
+
+#: xcf2pnm.oi:49 xcf2pnm.oi:94 xcf2png.oi:46 xcf2png.oi:85 xcfview.oi:46
+#: xcfview.oi:84
+msgid "mode"
+msgstr "tilstand"
+
+#: xcf2pnm.oi:50 xcf2pnm.oi:96 xcf2pnm.oi:98 xcf2png.oi:47 xcf2png.oi:87
+#: xcf2png.oi:89 xcfview.oi:47 xcfview.oi:86 xcfview.oi:88
+msgid "n"
+msgstr "n"
+
+#: xcf2pnm.oi:51 xcf2pnm.oi:89 xcf2png.oi:48 xcf2png.oi:80 xcfview.oi:48
+#: xcfview.oi:80
+msgid "wxh"
+msgstr "bxh"
+
+#: xcf2pnm.oi:52 xcf2pnm.oi:91 xcf2png.oi:49 xcf2png.oi:82 xcfview.oi:49
+#: xcfview.oi:82
+msgid "x,y"
+msgstr "x,y"
+
+#: xcf2pnm.oi:66 xcf2png.oi:63 xcfview.oi:63
+msgid "name output file"
+msgstr "angiv navn på uddatafil"
+
+#: xcf2pnm.oi:68
+msgid "write transparency map"
+msgstr "skriv gennemsigtighedsmaske"
+
+#: xcf2pnm.oi:70 xcf2png.oi:65 xcfview.oi:65
+msgid "select background color"
+msgstr "vælg baggrundsfarve"
+
+#: xcf2pnm.oi:72 xcf2png.oi:67 xcfview.oi:67
+msgid "force alpha channel in output"
+msgstr "insistér på alfakanal i uddata"
+
+#: xcf2pnm.oi:74 xcf2png.oi:69 xcfview.oi:69
+msgid "select color output"
+msgstr "vælg uddata i farver"
+
+#: xcf2pnm.oi:76 xcf2png.oi:71 xcfview.oi:71
+msgid "select grayscale output"
+msgstr "vælg uddata i gråtoner"
+
+#: xcf2pnm.oi:78
+msgid "select monochrome output"
+msgstr "vælg uddata i sort/hvid"
+
+#: xcf2pnm.oi:80
+msgid "select -c/-g/-m by image contents"
+msgstr "vælg -c, -g eller -m alt efter billedet indhold"
+
+#: xcf2pnm.oi:82 xcf2png.oi:73 xcfview.oi:73
+msgid "treat indexed images as RGB for flattening"
+msgstr "fladgør indekserede billeder som om de var RGB"
+
+#: xcf2pnm.oi:84 xcf2png.oi:75 xcfview.oi:75
+msgid "disallow partial transparency"
+msgstr "forbyd delvis gennemsigtighed"
+
+#: xcf2pnm.oi:86 xcf2png.oi:77 xcfview.oi:77
+msgid "dissolve partial transparency"
+msgstr "opløs delvis gennemsigtighed"
+
+#: xcf2pnm.oi:88 xcf2png.oi:79 xcfview.oi:79
+msgid "flatten to memory; then analyse"
+msgstr "fladgør til arbejdslager; analysér bagefter"
+
+#: xcf2pnm.oi:90 xcf2png.oi:81 xcfview.oi:81
+msgid "crop image while converting"
+msgstr "tilskær billedet under konverteringen"
+
+#: xcf2pnm.oi:92 xcf2png.oi:83 xcfview.oi:83
+msgid "translate converted part of image"
+msgstr "forskyd den konverterede del af billedet"
+
+#: xcf2pnm.oi:93 xcf2png.oi:84
+msgid "Layer-selection options"
+msgstr "Flag vedr. valg af lag"
+
+#: xcf2pnm.oi:95 xcf2png.oi:86 xcfview.oi:85
+msgid "set layer mode"
+msgstr "ændr lagtilstand"
+
+#: xcf2pnm.oi:97 xcf2png.oi:88 xcfview.oi:87
+msgid "set opacity in percent"
+msgstr "ændr dækningsgrad i procent"
+
+#: xcf2pnm.oi:99 xcf2png.oi:90 xcfview.oi:89
+msgid "set opacity in 1/255 units"
+msgstr "ændr dækningsgrad i 255-dele"
+
+#: xcf2pnm.oi:101 xcf2png.oi:92 xcfview.oi:91
+msgid "enable layer mask"
+msgstr "aktivér lagmaske"
+
+#: xcf2pnm.oi:103 xcf2png.oi:94 xcfview.oi:93
+msgid "disable layer mask"
+msgstr "deaktivér lagmaske"
+
+#: options.i:155
+#, c-format
+msgid "Could not open color database file %s\n"
+msgstr "Kunne ikke åbne farvenavnsdatabasen %s\n"
+
+#: options.i:159
+#, c-format
+msgid "Unknown background color '%s'"
+msgstr "Ukendt baggrundsfarve »%s«"
+
+#: options.i:281
+#, c-format
+msgid "-S option must have an argument of the form wxh"
+msgstr "-S-flaget skal have et argument på formen bxh"
+
+#: options.i:298
+#, c-format
+msgid "-O option must have an argument of the form x,y"
+msgstr "-O-flaget skal have et argument på formen x,y"
+
+#: options.i:322
+#, c-format
+msgid "Layer mode '%s' is unknown"
+msgstr "Lagtilstanden »%s« er ukendt"
+
+#: options.i:338
+#, c-format
+msgid "The argument to --percent is not a percentage"
+msgstr "Argumentet til --percent er ikke et procenttal"
+
+#: options.i:351
+#, c-format
+msgid "The argument to --opacity is not a number between 0 and 255"
+msgstr "Argumentet til --opacity er ikke et tal mellem 0 og 255"
+
+#: enums.c:10
+msgid "Normal"
+msgstr "Normal"
+
+#: enums.c:11
+msgid "Dissolve"
+msgstr "Opløs"
+
+#: enums.c:12
+msgid "Behind"
+msgstr "Bagved"
+
+#: enums.c:13
+msgid "Multiply"
+msgstr "Gang"
+
+#: enums.c:14
+msgid "Screen"
+msgstr "Skærm"
+
+#: enums.c:15
+msgid "Overlay"
+msgstr "LægOver"
+
+#: enums.c:16
+msgid "Difference"
+msgstr "Forskel"
+
+#: enums.c:17
+msgid "Addition"
+msgstr "LægTil"
+
+#: enums.c:18
+msgid "Subtract"
+msgstr "TrækFra"
+
+#: enums.c:19
+msgid "DarkenOnly"
+msgstr "GørKunMørkere"
+
+#: enums.c:20
+msgid "LightenOnly"
+msgstr "GørKunLysere"
+
+#: enums.c:21
+msgid "Hue"
+msgstr "Farvetone"
+
+#: enums.c:22
+msgid "Saturation"
+msgstr "Mætning"
+
+#: enums.c:23
+msgid "Color"
+msgstr "Farve"
+
+#: enums.c:24
+msgid "Value"
+msgstr "Værdi"
+
+#: enums.c:25
+msgid "Divide"
+msgstr "Dividér"
+
+#: enums.c:26
+msgid "Dodge"
+msgstr "Blegning"
+
+#: enums.c:27
+msgid "Burn"
+msgstr "Sværtning"
+
+#: enums.c:28
+msgid "Hardlight"
+msgstr "HårdgørLys"
+
+#: enums.c:29
+msgid "Softlight"
+msgstr "BlødgørLys"
+
+#: enums.c:30
+msgid "GrainExtract"
+msgstr "UdtrækKorn"
+
+#: enums.c:31
+msgid "GrainMerge"
+msgstr "ForénKorn"
+
+#: enums.c:32
+msgid "ColorErase"
+msgstr "Farveslet"
+
+#: enums.c:33
+msgid "Erase"
+msgstr ""
+
+#: enums.c:34
+msgid "Replace"
+msgstr ""
+
+#: enums.c:35
+msgid "AntiErase"
+msgstr ""
+
+#: enums.c:36
+msgid "NormalNopartial"
+msgstr "Normal-uden-halvgennemsigtighed"
+
+#: enums.c:46
+msgid "RGB color"
+msgstr "RGB"
+
+#: enums.c:47 enums.c:60
+msgid "Grayscale"
+msgstr "Gråtoner"
+
+#: enums.c:48
+msgid "Indexed color"
+msgstr "Indekseret"
+
+#: enums.c:58
+msgid "RGB"
+msgstr ""
+
+#: enums.c:59
+msgid "RGB-alpha"
+msgstr "RGB-alfa"
+
+#: enums.c:61
+msgid "Grayscale-alpha"
+msgstr "Gråtoner-alfa"
+
+#: enums.c:62
+msgid "Indexed"
+msgstr "Indekseret"
+
+#: enums.c:63
+msgid "Indexed-alpha"
+msgstr "Indekseret-alfa"
+
+#: enums.c:109
+msgid "None"
+msgstr "Ingen"
+
+#: enums.c:110
+msgid "RLE"
+msgstr ""
+
+#: enums.c:111
+msgid "Zlib"
+msgstr ""
+
+#: enums.c:112
+msgid "Fractal"
+msgstr ""
+
+#: flatspec.c:47 utils.c:110
+#, c-format
+msgid "Out of memory"
+msgstr "Ikke mere lagerplads"
+
+#: flatspec.c:59
+#, c-format
+msgid "The %s option must follow a layer name on the command line"
+msgstr "%s-flaget skal komme efter navnet på et lag"
+
+#: flatspec.c:143
+#, c-format
+msgid "The image has no layer called '%s'"
+msgstr "Billedet har ikke noget lag der hedder »%s«"
+
+#: flatspec.c:156
+#, c-format
+msgid "Layer '%s' has no layer mask to enable"
+msgstr "Laget »%s« har ikke nogen lagmaske at tænde for"
+
+#: flatspec.c:233 xcfinfo.c:97
+#, c-format
+msgid "/mask"
+msgstr "/maske"
+
+#: flatspec.c:319 xcf2png.c:233 xcf2pnm.c:158
+#, c-format
+msgid "Grayscale output selected, but colored pixel(s) found"
+msgstr "Der er valgt gråtoneformat, men billedet indeholder farvede pixels"
+
+#: flatspec.c:323 xcf2pnm.c:172
+#, c-format
+msgid "Monochrome output selected, but not all pixels are black or white"
+msgstr ""
+"Der er valgt sort/hvid-format, men billedet indeholder farver eller gråtoner"
+
+#: flatten.c:382
+#, c-format
+msgid "'%s' layer mode"
+msgstr "Lagtilstanden »%s«"
+
+#: flatten.c:562
+#, c-format
+msgid "Flattened image has partially transparent pixels"
+msgstr "Der er halvgennemsigtige pixels i det fladgjorde billede"
+
+#: flatten.c:668
+#, c-format
+msgid "Flattening image ..."
+msgstr "Fladgør billede ..."
+
+#: io-unix.c:78
+#, c-format
+msgid "!Cannot create temporary unzipped file"
+msgstr "!Kan ikke oprette udpakket fil"
+
+#: io-unix.c:97
+#, c-format
+msgid "Cannot execute "
+msgstr "Kan ikke udføre "
+
+#: io-unix.c:114
+#, c-format
+msgid "%s terminated abnormally"
+msgstr "%s blev dræbt"
+
+#: io-unix.c:126
+#, c-format
+msgid "!Cannot open %s"
+msgstr "Kan ikke åbne %s"
+
+#: io-unix.c:146 io-unix.c:162
+#, c-format
+msgid "Out of memory for xcf data"
+msgstr "Ikke nok lagerplads til xcf-data"
+
+#: io-unix.c:149
+#, c-format
+msgid "XCF file shrunk while reading it"
+msgstr "XCF-filen skrumpede under læsning"
+
+#: io-unix.c:151 io-unix.c:169
+#, c-format
+msgid "!Could not read xcf data"
+msgstr "!Kunne ikke læse xcf-data"
+
+#: pixels.c:134
+#, c-format
+msgid "Layer type %s"
+msgstr "Lagtypen %s"
+
+#: pixels.c:152
+#, c-format
+msgid "Color map has more than 256 entries"
+msgstr "Farvekortet har mere end 256 felter"
+
+#: pixels.c:187
+#, c-format
+msgid ""
+"Unbelievably many layers?\n"
+"More likely to be a bug in %s"
+msgstr ""
+"Urealistisk mange lag?\n"
+"Sandsyligvis snarere en fejl i %s"
+
+#: pixels.c:340
+#, c-format
+msgid "%s compression"
+msgstr "Kompressionsmetode »%s«"
+
+#: utils.c:64
+msgid "Corrupted or malformed XCF file"
+msgstr "Beskadiget eller ugyldig XCF-fil"
+
+#: utils.c:73
+msgid "Corrupted or truncated XCF file"
+msgstr "Beskadiget eller afkortet XCF-fil"
+
+#: utils.c:85
+msgid "The image contains features not understood by this program:"
+msgstr "Billedet indeholder egenskaber som dette program ikke forstår:"
+
+#: utils.c:94
+#, c-format
+msgid ""
+"This program is free software; you can modify and distribute it\n"
+"under the terms of the GNU General Public License, version 2.\n"
+"There is no warranty for %s.\n"
+"\n"
+msgstr ""
+"Dette program er fri software; du må ændre og sprede det under de\n"
+"betingelser der fremgår af version 2 af GNU General Public License.\n"
+"Bemærk at %s leveres uden garanti.\n"
+"\n"
+
+#: utils.c:99
+#, c-format
+msgid "Type \"%s -h\" to get an option summary.\n"
+msgstr "Kommandoen »%s -h« giver en oversigt over kommandolinjeflag.\n"
+
+#: utils.c:135
+#, c-format
+msgid "!Cannot create file %s"
+msgstr "!Kan ikke oprette filen %s"
+
+#: utils.c:159
+#, c-format
+msgid "!Error writing file %s"
+msgstr "!Fejl under skrivning til %s"
+
+#: xcf-general.c:158
+#, c-format
+msgid ""
+"Warning: one or more layer names could not be\n"
+" translated to the local character set.\n"
+msgstr ""
+"Advarsel: et eller flere lagnavne kunne ikke transkriberes\n"
+" til det p.t. valgte tegnsæt.\n"
+
+#: xcf-general.c:194
+#, c-format
+msgid "Not an XCF file at all (magic not recognized)"
+msgstr "Dette er slet ikke en XCF-fil (xcf-signaturen mangler)"
+
+#: xcf-general.c:198
+#, c-format
+msgid "Warning: XCF version %d not supported (trying anyway...)\n"
+msgstr ""
+"Advarsel: Version %d af XCF-formatet er ikke understøttet\n"
+" (men vi prøver alligevel...)\n"
+
+#: xcf2png.c:41 xcf2pnm.c:39
+#, c-format
+msgid "Usage: %s [options] filename.xcf[.gz] [layers]\n"
+msgstr "Brug: %s [flag] filnavn.xcf[gz] [lagnavne]\n"
+
+#: xcf2png.c:43 xcf2pnm.c:41 xcfinfo.c:38
+#, c-format
+msgid "Options:\n"
+msgstr "Flag:\n"
+
+#: xcf2png.c:59
+#, c-format
+msgid "Libpng error '%s'"
+msgstr "Fejl fra libpng: »%s«"
+
+#: xcf2png.c:78
+#, c-format
+msgid "Couldn't initialize libpng library"
+msgstr "Kunne ikke starte libpng-hjælperutinerne"
+
+#: xcf2png.c:147
+msgid "grayscale"
+msgstr "gråtoner"
+
+#: xcf2png.c:148
+msgid "+palette"
+msgstr "+palet"
+
+#: xcf2png.c:149
+msgid "+alpha"
+msgstr "+alfa"
+
+#: xcf2png.c:151
+msgid "+transparency"
+msgstr "+gennemsigtighed"
+
+#: xcf2png.c:154
+#, c-format
+msgid " (%d colors)"
+msgstr " (%d farver)"
+
+#: xcf2pnm.c:65
+#, c-format
+msgid "Writing converted image as %s\n"
+msgstr "Skriver konverteret billede til %s\n"
+
+#: xcf2pnm.c:66
+#, c-format
+msgid "Writing transparency map as %s\n"
+msgstr "Skriver gennemsigtighedsmaske til %s\n"
+
+#: xcf2pnm.c:75
+#, c-format
+msgid " # Converted by xcf2pnm %s"
+msgstr " # Konverteret af xcf2pnm %s"
+
+#: xcf2pnm.c:77
+#, c-format
+msgid " # Transparency map by xcf2pnm %s"
+msgstr " # Gennemsigtighedsmaske fra xcf2pnm %s"
+
+#: xcf2pnm.c:131
+#, c-format
+msgid "Transparency found, but -a option not given"
+msgstr "Delvis gennemsigtige pixels kræver -a-flag"
+
+#: xcf2pnm.c:193
+#, c-format
+msgid "The -a option was given, but the image has no transparency"
+msgstr "-a-flaget er givet, men billedet er fuldstændig ugennemsigtigt"
+
+#: xcfinfo.c:37
+#, c-format
+msgid "Usage: %s [options] filename.xcf[.gz]\n"
+msgstr "Brug: %s [flag] filnavn.xcf[.gz]\n"
+
+#: xcfinfo.c:66
+#, c-format
+msgid "Only one XCF file per command line, please"
+msgstr "Kun én XCF-fil per kommandolinje, tak!"
+
+#: xcfinfo.c:82
+#, c-format
+msgid "Version %d, %dx%d %s, %d layers, compressed %s\n"
+msgstr "Version %d, %dx%d %s, %d lag, %s komprimering\n"
diff --git a/po/xcftools.pot b/po/xcftools.pot
new file mode 100644
index 0000000..3d1e8f9
--- /dev/null
+++ b/po/xcftools.pot
@@ -0,0 +1,596 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: henning@makholm.net\n"
+"POT-Creation-Date: 2006-02-20 00:27+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: xcfinfo.oi:24 xcfinfo.oi:35 xcf2pnm.oi:46 xcf2pnm.oi:63 xcf2png.oi:43
+#: xcf2png.oi:60 xcfview.oi:43 xcfview.oi:60
+msgid "cmd"
+msgstr ""
+
+#: xcfinfo.oi:26 xcf2pnm.oi:54 xcf2png.oi:51 xcfview.oi:51
+msgid "show this message"
+msgstr ""
+
+#: xcfinfo.oi:28 xcf2pnm.oi:56 xcf2png.oi:53 xcfview.oi:53
+msgid "show version"
+msgstr ""
+
+#: xcfinfo.oi:30 xcf2pnm.oi:58 xcf2png.oi:55 xcfview.oi:55
+msgid "show progress messages"
+msgstr ""
+
+#: xcfinfo.oi:32 xcf2pnm.oi:60 xcf2png.oi:57 xcfview.oi:57
+msgid "input is bzip2 compressed"
+msgstr ""
+
+#: xcfinfo.oi:34 xcf2pnm.oi:62 xcf2png.oi:59 xcfview.oi:59
+msgid "input is gzip compressed"
+msgstr ""
+
+#: xcfinfo.oi:36 xcf2pnm.oi:64 xcf2png.oi:61 xcfview.oi:61
+msgid "use 'cmd' to decompress input"
+msgstr ""
+
+#: xcfinfo.oi:38 xcf2pnm.oi:105 xcf2png.oi:96 xcfview.oi:95
+msgid "use UTF-8 for layer names"
+msgstr ""
+
+#: xcf2pnm.oi:47 xcf2pnm.oi:69 xcf2png.oi:44 xcf2png.oi:64 xcfview.oi:44
+#: xcfview.oi:64 xcf2png.c:147
+msgid "color"
+msgstr ""
+
+#: xcf2pnm.oi:48 xcf2pnm.oi:65 xcf2pnm.oi:67 xcf2png.oi:45 xcf2png.oi:62
+#: xcfview.oi:45 xcfview.oi:62
+msgid "filename"
+msgstr ""
+
+#: xcf2pnm.oi:49 xcf2pnm.oi:94 xcf2png.oi:46 xcf2png.oi:85 xcfview.oi:46
+#: xcfview.oi:84
+msgid "mode"
+msgstr ""
+
+#: xcf2pnm.oi:50 xcf2pnm.oi:96 xcf2pnm.oi:98 xcf2png.oi:47 xcf2png.oi:87
+#: xcf2png.oi:89 xcfview.oi:47 xcfview.oi:86 xcfview.oi:88
+msgid "n"
+msgstr ""
+
+#: xcf2pnm.oi:51 xcf2pnm.oi:89 xcf2png.oi:48 xcf2png.oi:80 xcfview.oi:48
+#: xcfview.oi:80
+msgid "wxh"
+msgstr ""
+
+#: xcf2pnm.oi:52 xcf2pnm.oi:91 xcf2png.oi:49 xcf2png.oi:82 xcfview.oi:49
+#: xcfview.oi:82
+msgid "x,y"
+msgstr ""
+
+#: xcf2pnm.oi:66 xcf2png.oi:63 xcfview.oi:63
+msgid "name output file"
+msgstr ""
+
+#: xcf2pnm.oi:68
+msgid "write transparency map"
+msgstr ""
+
+#: xcf2pnm.oi:70 xcf2png.oi:65 xcfview.oi:65
+msgid "select background color"
+msgstr ""
+
+#: xcf2pnm.oi:72 xcf2png.oi:67 xcfview.oi:67
+msgid "force alpha channel in output"
+msgstr ""
+
+#: xcf2pnm.oi:74 xcf2png.oi:69 xcfview.oi:69
+msgid "select color output"
+msgstr ""
+
+#: xcf2pnm.oi:76 xcf2png.oi:71 xcfview.oi:71
+msgid "select grayscale output"
+msgstr ""
+
+#: xcf2pnm.oi:78
+msgid "select monochrome output"
+msgstr ""
+
+#: xcf2pnm.oi:80
+msgid "select -c/-g/-m by image contents"
+msgstr ""
+
+#: xcf2pnm.oi:82 xcf2png.oi:73 xcfview.oi:73
+msgid "treat indexed images as RGB for flattening"
+msgstr ""
+
+#: xcf2pnm.oi:84 xcf2png.oi:75 xcfview.oi:75
+msgid "disallow partial transparency"
+msgstr ""
+
+#: xcf2pnm.oi:86 xcf2png.oi:77 xcfview.oi:77
+msgid "dissolve partial transparency"
+msgstr ""
+
+#: xcf2pnm.oi:88 xcf2png.oi:79 xcfview.oi:79
+msgid "flatten to memory; then analyse"
+msgstr ""
+
+#: xcf2pnm.oi:90 xcf2png.oi:81 xcfview.oi:81
+msgid "crop image while converting"
+msgstr ""
+
+#: xcf2pnm.oi:92 xcf2png.oi:83 xcfview.oi:83
+msgid "translate converted part of image"
+msgstr ""
+
+#: xcf2pnm.oi:93 xcf2png.oi:84
+msgid "Layer-selection options"
+msgstr ""
+
+#: xcf2pnm.oi:95 xcf2png.oi:86 xcfview.oi:85
+msgid "set layer mode"
+msgstr ""
+
+#: xcf2pnm.oi:97 xcf2png.oi:88 xcfview.oi:87
+msgid "set opacity in percent"
+msgstr ""
+
+#: xcf2pnm.oi:99 xcf2png.oi:90 xcfview.oi:89
+msgid "set opacity in 1/255 units"
+msgstr ""
+
+#: xcf2pnm.oi:101 xcf2png.oi:92 xcfview.oi:91
+msgid "enable layer mask"
+msgstr ""
+
+#: xcf2pnm.oi:103 xcf2png.oi:94 xcfview.oi:93
+msgid "disable layer mask"
+msgstr ""
+
+#: options.i:155
+#, c-format
+msgid "Could not open color database file %s\n"
+msgstr ""
+
+#: options.i:159
+#, c-format
+msgid "Unknown background color '%s'"
+msgstr ""
+
+#: options.i:281
+#, c-format
+msgid "-S option must have an argument of the form wxh"
+msgstr ""
+
+#: options.i:298
+#, c-format
+msgid "-O option must have an argument of the form x,y"
+msgstr ""
+
+#: options.i:322
+#, c-format
+msgid "Layer mode '%s' is unknown"
+msgstr ""
+
+#: options.i:338
+#, c-format
+msgid "The argument to --percent is not a percentage"
+msgstr ""
+
+#: options.i:351
+#, c-format
+msgid "The argument to --opacity is not a number between 0 and 255"
+msgstr ""
+
+#: enums.c:10
+msgid "Normal"
+msgstr ""
+
+#: enums.c:11
+msgid "Dissolve"
+msgstr ""
+
+#: enums.c:12
+msgid "Behind"
+msgstr ""
+
+#: enums.c:13
+msgid "Multiply"
+msgstr ""
+
+#: enums.c:14
+msgid "Screen"
+msgstr ""
+
+#: enums.c:15
+msgid "Overlay"
+msgstr ""
+
+#: enums.c:16
+msgid "Difference"
+msgstr ""
+
+#: enums.c:17
+msgid "Addition"
+msgstr ""
+
+#: enums.c:18
+msgid "Subtract"
+msgstr ""
+
+#: enums.c:19
+msgid "DarkenOnly"
+msgstr ""
+
+#: enums.c:20
+msgid "LightenOnly"
+msgstr ""
+
+#: enums.c:21
+msgid "Hue"
+msgstr ""
+
+#: enums.c:22
+msgid "Saturation"
+msgstr ""
+
+#: enums.c:23
+msgid "Color"
+msgstr ""
+
+#: enums.c:24
+msgid "Value"
+msgstr ""
+
+#: enums.c:25
+msgid "Divide"
+msgstr ""
+
+#: enums.c:26
+msgid "Dodge"
+msgstr ""
+
+#: enums.c:27
+msgid "Burn"
+msgstr ""
+
+#: enums.c:28
+msgid "Hardlight"
+msgstr ""
+
+#: enums.c:29
+msgid "Softlight"
+msgstr ""
+
+#: enums.c:30
+msgid "GrainExtract"
+msgstr ""
+
+#: enums.c:31
+msgid "GrainMerge"
+msgstr ""
+
+#: enums.c:32
+msgid "ColorErase"
+msgstr ""
+
+#: enums.c:33
+msgid "Erase"
+msgstr ""
+
+#: enums.c:34
+msgid "Replace"
+msgstr ""
+
+#: enums.c:35
+msgid "AntiErase"
+msgstr ""
+
+#: enums.c:36
+msgid "NormalNopartial"
+msgstr ""
+
+#: enums.c:46
+msgid "RGB color"
+msgstr ""
+
+#: enums.c:47 enums.c:60
+msgid "Grayscale"
+msgstr ""
+
+#: enums.c:48
+msgid "Indexed color"
+msgstr ""
+
+#: enums.c:58
+msgid "RGB"
+msgstr ""
+
+#: enums.c:59
+msgid "RGB-alpha"
+msgstr ""
+
+#: enums.c:61
+msgid "Grayscale-alpha"
+msgstr ""
+
+#: enums.c:62
+msgid "Indexed"
+msgstr ""
+
+#: enums.c:63
+msgid "Indexed-alpha"
+msgstr ""
+
+#: enums.c:109
+msgid "None"
+msgstr ""
+
+#: enums.c:110
+msgid "RLE"
+msgstr ""
+
+#: enums.c:111
+msgid "Zlib"
+msgstr ""
+
+#: enums.c:112
+msgid "Fractal"
+msgstr ""
+
+#: flatspec.c:47 utils.c:110
+#, c-format
+msgid "Out of memory"
+msgstr ""
+
+#: flatspec.c:59
+#, c-format
+msgid "The %s option must follow a layer name on the command line"
+msgstr ""
+
+#: flatspec.c:143
+#, c-format
+msgid "The image has no layer called '%s'"
+msgstr ""
+
+#: flatspec.c:156
+#, c-format
+msgid "Layer '%s' has no layer mask to enable"
+msgstr ""
+
+#: flatspec.c:233 xcfinfo.c:97
+#, c-format
+msgid "/mask"
+msgstr ""
+
+#: flatspec.c:319 xcf2png.c:233 xcf2pnm.c:158
+#, c-format
+msgid "Grayscale output selected, but colored pixel(s) found"
+msgstr ""
+
+#: flatspec.c:323 xcf2pnm.c:172
+#, c-format
+msgid "Monochrome output selected, but not all pixels are black or white"
+msgstr ""
+
+#: flatten.c:382
+#, c-format
+msgid "'%s' layer mode"
+msgstr ""
+
+#: flatten.c:562
+#, c-format
+msgid "Flattened image has partially transparent pixels"
+msgstr ""
+
+#: flatten.c:668
+#, c-format
+msgid "Flattening image ..."
+msgstr ""
+
+#: io-unix.c:78
+#, c-format
+msgid "!Cannot create temporary unzipped file"
+msgstr ""
+
+#: io-unix.c:97
+#, c-format
+msgid "Cannot execute "
+msgstr ""
+
+#: io-unix.c:114
+#, c-format
+msgid "%s terminated abnormally"
+msgstr ""
+
+#: io-unix.c:126
+#, c-format
+msgid "!Cannot open %s"
+msgstr ""
+
+#: io-unix.c:146 io-unix.c:162
+#, c-format
+msgid "Out of memory for xcf data"
+msgstr ""
+
+#: io-unix.c:149
+#, c-format
+msgid "XCF file shrunk while reading it"
+msgstr ""
+
+#: io-unix.c:151 io-unix.c:169
+#, c-format
+msgid "!Could not read xcf data"
+msgstr ""
+
+#: pixels.c:134
+#, c-format
+msgid "Layer type %s"
+msgstr ""
+
+#: pixels.c:152
+#, c-format
+msgid "Color map has more than 256 entries"
+msgstr ""
+
+#: pixels.c:187
+#, c-format
+msgid ""
+"Unbelievably many layers?\n"
+"More likely to be a bug in %s"
+msgstr ""
+
+#: pixels.c:340
+#, c-format
+msgid "%s compression"
+msgstr ""
+
+#: utils.c:64
+msgid "Corrupted or malformed XCF file"
+msgstr ""
+
+#: utils.c:73
+msgid "Corrupted or truncated XCF file"
+msgstr ""
+
+#: utils.c:85
+msgid "The image contains features not understood by this program:"
+msgstr ""
+
+#: utils.c:94
+#, c-format
+msgid ""
+"This program is free software; you can modify and distribute it\n"
+"under the terms of the GNU General Public License, version 2.\n"
+"There is no warranty for %s.\n"
+"\n"
+msgstr ""
+
+#: utils.c:99
+#, c-format
+msgid "Type \"%s -h\" to get an option summary.\n"
+msgstr ""
+
+#: utils.c:135
+#, c-format
+msgid "!Cannot create file %s"
+msgstr ""
+
+#: utils.c:159
+#, c-format
+msgid "!Error writing file %s"
+msgstr ""
+
+#: xcf-general.c:158
+#, c-format
+msgid ""
+"Warning: one or more layer names could not be\n"
+" translated to the local character set.\n"
+msgstr ""
+
+#: xcf-general.c:194
+#, c-format
+msgid "Not an XCF file at all (magic not recognized)"
+msgstr ""
+
+#: xcf-general.c:198
+#, c-format
+msgid "Warning: XCF version %d not supported (trying anyway...)\n"
+msgstr ""
+
+#: xcf2png.c:41 xcf2pnm.c:39
+#, c-format
+msgid "Usage: %s [options] filename.xcf[.gz] [layers]\n"
+msgstr ""
+
+#: xcf2png.c:43 xcf2pnm.c:41 xcfinfo.c:38
+#, c-format
+msgid "Options:\n"
+msgstr ""
+
+#: xcf2png.c:59
+#, c-format
+msgid "Libpng error '%s'"
+msgstr ""
+
+#: xcf2png.c:78
+#, c-format
+msgid "Couldn't initialize libpng library"
+msgstr ""
+
+#: xcf2png.c:147
+msgid "grayscale"
+msgstr ""
+
+#: xcf2png.c:148
+msgid "+palette"
+msgstr ""
+
+#: xcf2png.c:149
+msgid "+alpha"
+msgstr ""
+
+#: xcf2png.c:151
+msgid "+transparency"
+msgstr ""
+
+#: xcf2png.c:154
+#, c-format
+msgid " (%d colors)"
+msgstr ""
+
+#: xcf2pnm.c:65
+#, c-format
+msgid "Writing converted image as %s\n"
+msgstr ""
+
+#: xcf2pnm.c:66
+#, c-format
+msgid "Writing transparency map as %s\n"
+msgstr ""
+
+#: xcf2pnm.c:75
+#, c-format
+msgid " # Converted by xcf2pnm %s"
+msgstr ""
+
+#: xcf2pnm.c:77
+#, c-format
+msgid " # Transparency map by xcf2pnm %s"
+msgstr ""
+
+#: xcf2pnm.c:131
+#, c-format
+msgid "Transparency found, but -a option not given"
+msgstr ""
+
+#: xcf2pnm.c:193
+#, c-format
+msgid "The -a option was given, but the image has no transparency"
+msgstr ""
+
+#: xcfinfo.c:37
+#, c-format
+msgid "Usage: %s [options] filename.xcf[.gz]\n"
+msgstr ""
+
+#: xcfinfo.c:66
+#, c-format
+msgid "Only one XCF file per command line, please"
+msgstr ""
+
+#: xcfinfo.c:82
+#, c-format
+msgid "Version %d, %dx%d %s, %d layers, compressed %s\n"
+msgstr ""
diff --git a/test/dotest b/test/dotest
index 9074270..9a9d38d 100755
--- a/test/dotest
+++ b/test/dotest
@@ -42,7 +42,7 @@ failed() {
testrun() {
- if [ x$1 == x--exit ]
+ if [ x$1 = x--exit ]
then
want=$2 ;
shift ;
@@ -51,8 +51,17 @@ testrun() {
want=0 ;
fi
(( totaltests++ ))
- echo "===>" "$@"
- "$@" > stdout.txt 2> stderr.txt
+ if [ x$2 = x--pipe ]
+ then
+ pgm="$1"
+ pipe="$3" ;
+ shift ; shift ; shift ;
+ echo "===>" $pipe "|" $pgm "$@"
+ $pipe | $pgm "$@" > stdout.txt 2> stderr.txt
+ else
+ echo "===>" "$@"
+ "$@" > stdout.txt 2> stderr.txt
+ fi
got=$?
if [ $want = $got ]
then
@@ -180,11 +189,13 @@ errtest 20 xcf2png $S/tiletest.xcf.gz --percent 33 Mid
echo > expected:stderr \
"The image has no layer called 'MID'"
-errtest 22 xcf2pnm $S/tiletest.xcf.gz Background MID -o foo.pnm
+errtest 22 xcf2pnm $S/tiletest.xcf.gz -z Background MID -o foo.pnm
+# This also tests reading from stdin
echo > expected:stderr \
"Layer 'Vert' has no layer mask to enable"
-errtest 22 xcf2pnm $S/tiletest.xcf.gz Background Vert --mask Horiz --nomask
+errtest 22 xcf2pnm --pipe "zcat $S/tiletest.xcf.gz" \
+ - Background Vert --mask Horiz --nomask
echo > expected:stderr \
"Grayscale output selected, but colored pixel(s) found"
diff --git a/xcf2png.10 b/xcf2png.10
index 884a910..8f745b6 100644
--- a/xcf2png.10
+++ b/xcf2png.10
@@ -1,23 +1,24 @@
-\." Manual page for xcf2png
-\." Copyright (C) 2006 Henning Makholm
-\."
-\." This program is free software; you can redistribute it and/or modify
-\." it under the terms of version 2 of the GNU General Public License as
-\." published by the Free Software Foundation.
-\."
-\." This program is distributed in the hope that it will be useful,
-\." but WITHOUT ANY WARRANTY; without even the implied warranty of
-\." MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-\." GNU General Public License for more details.
-\."
-\." You should have received a copy of the GNU General Public License
-\." along with this program; if not, write to the Free Software
-\." Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+.\" Manual page for xcf2png
+.\" Copyright (C) 2006 Henning Makholm
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of version 2 of the GNU General Public License as
+.\" published by the Free Software Foundation.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program; if not, write to the Free Software
+.\" Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
.TH xcf2png 1 2006-02-12 "Xcftools" ""
.SH NAME
xcf2png \- convert from GIMP xcf files to png format
+.ds p xcf2png
.SH SYNOPSIS
-.B xcf2png
+.B \*p
[
.I options
]
@@ -46,7 +47,7 @@ and
.TP
2)
.BR \-g and
-.BR \-m .
+.BR \-c .
.TP
3)
.B \-D
@@ -76,68 +77,15 @@ The following options can be given
.I after
a layer name to override the global properties of the layer:
.so xcf2png.1il
-.SH EXIT STATUS
-The exit status of
-.B xcf2png
-is
-.TP 5
-0
-Success
-.TP
-20
-Problems parsing the command line, including unknown color names
-(or missing color name directory) for
-.BR \-b .
-.TP
-21
-The specified XCF file does not exist or cannot be read.
-.TP
-22
-A layer named on the command line was not found, or the
-.B --mask
-option was used for a layer that has no layer mask.
-.TP
-102
-The
-.B \-G
-option was given, yet partial transparency was found.
-.TP
-103
-.B \-g
-was given, yet colored
-pixels were found.
-.TP
-123
-The XCF file contains presumably valid features that
-.B xcftools
-does not support.
-(As of this writing there is no known way of getting the Gimp to produce
-an XCF file that will provoke this return. Please notify the author if you
-discover one).
-.TP
-125
-The XCF file is malformed.
-.TP
-126
-An uncompression program could not be executed or terminated
-abnormally.
-.TP
-127
-Unexpected I/O error, internal errors, or other "this can't happen"
-situations.
-.P
-If an uncompression program returns an error exit status, this will
-be returned from
-.B xcf2png
-too.
+.so exit.1i
.SH BUGS AND LIMITATIONS
.P
When several partially transparent layers are merged, the pixel
values are interpolated without gamma correction. (The Gimp also
does it this way). Some slight rounding errors in the interpolation
are inevitable;
-.B xcf2png
-sometimes have different rounding errors than the Gimp itself,
+.B \*p
+sometimes has different rounding errors than the Gimp itself,
especially when more than two layers are involved, or in case of
some of the more exotic layer modes.
These differences are usually not visible to the eye.
@@ -151,8 +99,8 @@ one, please notify the author.
Color name database for
.BR \-b .
.SH AUTHOR
-.B xcf2pnm
-was written by Henning Makholm <henning@makholm.net>
+.B \*p
+was written by Henning Makholm <henning@makholm.net>.
.P
.SH SEE ALSO
.BR xcfinfo (1),
diff --git a/xcf2png.c b/xcf2png.c
index 0643d24..18f10f7 100644
--- a/xcf2png.c
+++ b/xcf2png.c
@@ -359,6 +359,7 @@ main(int argc,char **argv)
setlocale(LC_ALL,"");
progname = argv[0] ;
+ nls_init();
if( argc <= 1 ) gpl_blurb() ;
diff --git a/xcf2pnm.10 b/xcf2pnm.10
index 28f604b..f10cbf9 100644
--- a/xcf2pnm.10
+++ b/xcf2pnm.10
@@ -1,23 +1,24 @@
-\." Manual page for xcf2pnm
-\." Copyright (C) 2006 Henning Makholm
-\."
-\." This program is free software; you can redistribute it and/or modify
-\." it under the terms of version 2 of the GNU General Public License as
-\." published by the Free Software Foundation.
-\."
-\." This program is distributed in the hope that it will be useful,
-\." but WITHOUT ANY WARRANTY; without even the implied warranty of
-\." MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-\." GNU General Public License for more details.
-\."
-\." You should have received a copy of the GNU General Public License
-\." along with this program; if not, write to the Free Software
-\." Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+.\" Manual page for xcf2pnm
+.\" Copyright (C) 2006 Henning Makholm
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of version 2 of the GNU General Public License as
+.\" published by the Free Software Foundation.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program; if not, write to the Free Software
+.\" Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
.TH xcf2pnm 1 2006-02-12 "Xcftools" ""
.SH NAME
xcf2pnm \- convert from GIMP xcf files to ppm/pgm/pbm format
+.ds p xcfinfo
.SH SYNOPSIS
-.B xcf2pnm
+.B \*p
[
.I options
]
@@ -82,78 +83,7 @@ The following options can be given
.I after
a layer name to override the global properties of the layer:
.so xcf2pnm.1il
-.SH EXIT STATUS
-The exit status of
-.B xcf2pnm
-is
-.TP 5
-0
-Success
-.TP
-20
-Problems parsing the command line, including unknown color names
-(or missing color name directory) for
-.BR \-b .
-.TP
-21
-The specified XCF file does not exist or cannot be read.
-.TP
-22
-A layer named on the command line was not found, or the
-.B --mask
-option was used for a layer that has no layer mask.
-.TP
-100
-For
-.BR xcf2pnm ,
-transparent pixels were found, but neither
-.B \-a
-nor
-.B \-b
-was given.
-.TP
-101
-The
-.B \-a
-option was given yet the image has no transparency.
-(Use
-.B \-A
-to go on anyway).
-.TP
-102
-The
-.B \-G
-option was given, yet partial transparency was found.
-.TP
-103
-.B \-g
-(or
-.BR \-m )
-was given, yet colored (or gray) pixels were found.
-.TP
-123
-The XCF file contains presumably valid features that
-.B xcftools
-does not support.
-(As of this writing there is no known way of getting the Gimp to write
-an XCF file that will provoke this return. Please notify the author if you
-discover one).
-.TP
-125
-The XCF file is malformed.
-.TP
-126
-An uncompression program could not be executed or terminated
-abnormally.
-.TP
-127
-Unexpected I/O error, internal errors, or other "this can't happen"
-situations.
-.P
-If an uncompression program returns an error exit status, this will
-be returned from
-.B xcf2pnm
-too.
+.so exit.1i
.SH EXAMPLES
.IP
.B xcf2pnm -b white foo.xcf > foo.ppm
@@ -175,8 +105,8 @@ When several partially transparent layers are merged, the pixel
values are interpolated without gamma correction. (The Gimp also
does it this way). Some slight rounding errors in the interpolation
are inevitable;
-.B xcf2pnm
-sometimes have different rounding errors than the Gimp itself,
+.B \*p
+sometimes has different rounding errors than the Gimp itself,
especially when more than two layers are involved, or in case of
some of the more exotic layer modes.
These differences are usually not visible to the eye.
@@ -190,8 +120,8 @@ one, please notify the author.
Color name database for
.BR \-b .
.SH AUTHOR
-.B xcf2pnm
-was written by Henning Makholm <henning@makholm.net>
+.B \*p
+was written by Henning Makholm <henning@makholm.net>.
.P
.SH SEE ALSO
.BR xcfinfo (1),
diff --git a/xcf2pnm.c b/xcf2pnm.c
index 190f618..50c7072 100644
--- a/xcf2pnm.c
+++ b/xcf2pnm.c
@@ -124,7 +124,7 @@ callback_common(unsigned num,rgba *pixels)
*/
put_pbm_row(transfile,num,pixels,(rgba)1 << ALPHA_SHIFT);
}
- } else if( !FULLALPHA(flatspec.default_pixel) ) {
+ } else if( ALPHA(flatspec.default_pixel) < 128 ) {
unsigned i ;
for( i=0; i < num; i++ )
if( !FULLALPHA(pixels[i]) )
@@ -189,7 +189,7 @@ guess_color_mode(const char *string)
static lineCallback
selectCallback(void)
{
- if( flatspec.transmap_filename && FULLALPHA(flatspec.default_pixel) )
+ if( flatspec.transmap_filename && ALPHA(flatspec.default_pixel) >= 128 )
FatalGeneric(101,_("The -a option was given, "
"but the image has no transparency"));
@@ -210,12 +210,13 @@ main(int argc,char **argv)
setlocale(LC_ALL,"");
progname = argv[0] ;
+ nls_init();
if( argc <= 1 ) gpl_blurb() ;
init_flatspec(&flatspec) ;
flatspec.out_color_mode = COLOR_BY_FILENAME ;
- while( (option=getopt_long(argc,argv,"-@"OPTSTRING,longopts,NULL)) >= 0 )
+ while( (option=getopt_long(argc,argv,"-@#"OPTSTRING,longopts,NULL)) >= 0 )
switch(option) {
#define OPTION(char,long,desc,man) case char:
#include "options.i"
@@ -231,6 +232,10 @@ main(int argc,char **argv)
/* Non-documented option for build-time test */
suppress_byline = 1 ;
break ;
+ case '#':
+ /* Non-documented option for xcfview */
+ flatspec.default_pixel = CHECKERED_BACKGROUND ;
+ break ;
default:
FatalUnexpected("Getopt(_long) unexpectedly returned '%c'",option);
}
diff --git a/xcfinfo.10 b/xcfinfo.10
index f98e711..15c6164 100644
--- a/xcfinfo.10
+++ b/xcfinfo.10
@@ -1,23 +1,24 @@
-\." Manual page for xcfinfo
-\." Copyright (C) 2006 Henning Makholm
-\."
-\." This program is free software; you can redistribute it and/or modify
-\." it under the terms of version 2 of the GNU General Public License as
-\." published by the Free Software Foundation.
-\."
-\." This program is distributed in the hope that it will be useful,
-\." but WITHOUT ANY WARRANTY; without even the implied warranty of
-\." MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-\." GNU General Public License for more details.
-\."
-\." You should have received a copy of the GNU General Public License
-\." along with this program; if not, write to the Free Software
-\." Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+.\" Manual page for xcfinfo
+.\" Copyright (C) 2006 Henning Makholm
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of version 2 of the GNU General Public License as
+.\" published by the Free Software Foundation.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program; if not, write to the Free Software
+.\" Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
.TH xcfinfo 1 2006-02-12 "Xcftools" ""
.SH NAME
-xcf2pnm \- display information about GIMP xcf files
+xcfinfo \- display information about GIMP xcf files
+.ds p xcfinfo
.SH SYNOPSIS
-.B info
+.B \*p
[
.I options
]
@@ -32,7 +33,7 @@ particularly about the layers in the image.
.so xcfinfo.1i
.SH OUTPUT
Information about the image is displayed on standard output in a fixed format.
-The first line contains general information about the XCF file
+The first line contains general information about the XCF file:
.TP 3
\-
The file format version
@@ -41,7 +42,7 @@ The file format version
The canvas size
.TP
\-
-The image mode (color, grayscale or indexed)
+The image mode (color, grayscale, or indexed)
.TP
\-
The numer of layers
@@ -66,49 +67,16 @@ The pixel format of the layer, including whether the
layer has an alpha channel.
.TP
4)
-The layer mode, as well as the opacity of not 100%, and
+The layer mode, as well as the opacity if not 100%, and
.B /mask
if the layer has an active layer mask.
.TP
5)
The name of the layer.
-.SH EXIT STATUS
-The exit status of
-.B xcfinfo
-is
-.TP 5
-0
-Success
-.TP
-20
-Problems parsing the command line.
-.TP
-21
-The specified XCF file does not exist or cannot be read.
-.TP
-123
-The XCF file contains presumably valid features that
-.B xcftools
-does not support.
-.TP
-125
-The XCF file is malformed.
-.TP
-126
-An uncompression program could not be executed or terminated
-abnormally.
-.TP
-127
-Unexpected I/O error, internal errors, or other "this can't happen"
-situations.
-.P
-If an uncompression program returns an error exit status, this will
-be returned from
-.B xcfinfo
-too.
+.so exit.1i
.SH AUTHOR
-.B xcf2pnm
-was written by Henning Makholm <henning@makholm.net>
+.B \*p
+was written by Henning Makholm <henning@makholm.net>.
.P
.SH SEE ALSO
.BR xcf2pnm (1),
diff --git a/xcfinfo.c b/xcfinfo.c
index d10bbee..ecfbbb4 100644
--- a/xcfinfo.c
+++ b/xcfinfo.c
@@ -52,6 +52,7 @@ main(int argc,char **argv)
setlocale(LC_ALL,"");
progname = argv[0] ;
+ nls_init();
if( argc <= 1 ) gpl_blurb() ;
@@ -80,16 +81,16 @@ main(int argc,char **argv)
getBasicXcfInfo() ;
printf(_("Version %d, %dx%d %s, %d layers, compressed %s\n"),
XCF.version,XCF.width,XCF.height,
- showGimpImageBaseType(XCF.type),
+ _(showGimpImageBaseType(XCF.type)),
XCF.numLayers,
- showXcfCompressionType(XCF.compression));
+ _(showXcfCompressionType(XCF.compression)));
for( i = XCF.numLayers ; i-- ; ) {
printf("%c %dx%d%+d%+d %s %s",
XCF.layers[i].isVisible ? '+' : '-',
XCF.layers[i].dim.width, XCF.layers[i].dim.height,
XCF.layers[i].dim.c.l, XCF.layers[i].dim.c.t,
- showGimpImageType(XCF.layers[i].type),
- showGimpLayerModeEffects(XCF.layers[i].mode));
+ _(showGimpImageType(XCF.layers[i].type)),
+ _(showGimpLayerModeEffects(XCF.layers[i].mode)));
if( XCF.layers[i].opacity < 255 )
printf("/%02d%%",XCF.layers[i].opacity * 100 / 255);
if( XCF.layers[i].hasMask )
diff --git a/xcftools.h b/xcftools.h
index 1eb31cc..3bcb57c 100644
--- a/xcftools.h
+++ b/xcftools.h
@@ -24,8 +24,14 @@
#include <stddef.h>
#include <stdio.h>
-/* Change to gettext for l10n */
+#if defined(HAVE_GETTEXT) && defined(ENABLE_NLS)
+#include <libintl.h>
+#define _(s) gettext(s)
+void nls_init(void);
+#else
#define _(s) (s)
+#define nls_init() (void)0
+#endif
#define N_(s) (s)
#if HAVE_INTTYPES_H
diff --git a/xcfview.10 b/xcfview.10
new file mode 100644
index 0000000..ee0c002
--- /dev/null
+++ b/xcfview.10
@@ -0,0 +1,63 @@
+.\" Manual page for xcfview
+.\" Copyright (C) 2006 Henning Makholm
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of version 2 of the GNU General Public License as
+.\" published by the Free Software Foundation.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program; if not, write to the Free Software
+.\" Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+.TH xcf2pnm 1 2006-02-12 "Xcftools" ""
+.SH NAME
+xcfview \- display GIMP xcf files
+.ds p xcfview
+.SH SYNOPSIS
+.B \*p
+[
+.I options
+]
+.I filename
+[
+.I layer names
+]
+.SH DESCRIPTION
+.B xcfview
+is a wrapper script that uses
+.BR xcf2png (1)
+or
+.BR xcf2pnm (1)
+(q.v.) to flatten an XCF image and then displays the flattened
+image using a PNG or PPM viewer found using the
+.BR mailcap (5)
+database.
+.SH OPTIONS
+Every command-line parameter to
+.B xcfview
+will be passed through to the underlying
+.B xcf2png
+or
+.B xcf2pnm
+command. Because it is not certain which converter will be used,
+the options given should be ones that make sense for both of these:
+.so xcfview.1i
+.SH EXIT STATUS
+The exit status is 0 in case of success. A nonzero exit status may
+either be that of the
+.BI xcf2 foo
+converter or that of the image viewer.
+.SH AUTHOR
+.B \*p
+was written by Henning Makholm <henning@makholm.net>.
+.P
+Parts of the script originate from the
+.BR run-mailcap (1)
+script by Brian White <bcwhite@pobox.com>.
+.SH SEE ALSO
+.BR xcf2pnm (1),
+.BR xcf2png (1)
diff --git a/xcfview.in b/xcfview.in
new file mode 100755
index 0000000..38abcfb
--- /dev/null
+++ b/xcfview.in
@@ -0,0 +1,163 @@
+#! /usr/bin/perl
+#
+# xcfview: a wrapper script that uses xcftools and an external viewer
+# to display XCF images. The external viewer is found through the
+# mailcap(5) database (q.v.).
+#
+# Written by Henning Makholm <henning@makholm.net>
+# Derived from the run-mailcap script by Brian White <bcwhite@pobox.com>
+#
+# This script has been placed in the public domain (by both authors)
+#
+# We cannot use run-mailcap as-is because we can supply the flattened
+# image either as PNG and PPM, and we need to find the highest-ranked
+# viewer that can handle _one_ of these two. If everything else is equal
+# we try to prefer a PNG viewer such that transparency is handled properly.
+#
+
+use strict ;
+use warnings ;
+
+my $debug=0;
+my $quotedsemi = "\001" ;
+my $quotedprct = "\002" ;
+
+sub ReadMailcap {
+ my($file) = @_;
+ my $line = "";
+
+ return unless -r $file;
+
+ print STDERR " - Reading mailcap file \"$file\"...\n" if $debug;
+ open(MAILCAP,"<$file") || die "Error: could not read \"$file\" -- $!\n";
+ my @mailcap ;
+
+ while (<MAILCAP>) {
+ chomp;
+ s/^\s+// if $line;
+ $line .= $_;
+ next unless $line;
+ if ($line =~ m/^\s*\#/) {
+ $line = "";
+ next;
+ }
+ if ($line =~ m/\\$/) {
+ $line =~ s/\\$//;
+ } else {
+ $line =~ s/\\;/$quotedsemi/go;
+ $line =~ s/\\%/$quotedprct/go;
+ push @mailcap,$line;
+ $line = "";
+ }
+ }
+ close MAILCAP;
+
+ return @mailcap ;
+}
+
+sub TempFile {
+ my($match) = @_;
+ my($cmd,$head,$tail,$tmpfile);
+
+ ($head,$tail) = split(/%s/,$1,2)
+ if ($match =~ m/nametemplate=(.*?)\s*($|;)/);
+
+ $cmd = "tempfile --mode=600";
+ $cmd .= " --prefix $head" if $head;
+ $cmd .= " --suffix $tail" if $tail;
+
+ $tmpfile = `$cmd`;
+ chomp($tmpfile);
+
+ return $tmpfile;
+}
+
+my ($useline,$usecomm,$useprogram,$usetype,@converter) ;
+foreach my $mailcap ( $ENV{MAILCAPS} ? split(/:/,$ENV{MAILCAPS}) :
+ ( "$ENV{HOME}/.mailcap",
+ qw( /etc/mailcap
+ /usr/local/etc/mailcap
+ /usr/share/etc/mailcap
+ /usr/etc/mailcap
+ ) ) ) {
+ foreach ( ReadMailcap($mailcap) ) {
+ my ($type,$comm,$program,$rest)
+ = m"^image/(png|x-portable-pixmap)\s*;\s*((\S*).*?)\s*($|;.*)"
+ or next ;
+ print STDERR " - checking $mailcap entry \"$_\"\n" if $debug;
+ next if $rest =~ /;\s*needsterminal\s*($|;)/ ;
+ next if $rest =~ /;\s*copiousoutput\s*($|;)/ ;
+ if( $rest =~ m/;\s*test=(.*?)\s*($|;)/ ) {
+ my $test;
+ print STDERR " - running test: $1 " if $debug;
+ $test = system "$1 >/dev/null 2>&1";
+ $test >>= 8;
+ print STDERR " (result=$test=",($test!=0?"false":"true"),")\n"
+ if $debug;
+ next if $test ;
+ }
+ # If we get down here, we have a possible hit.
+ if( $type ne 'png' ) {
+ # Save for later; if there is a PNG definition for the same
+ # command, we will prefer PNG
+ ($useline,$usecomm,$useprogram,$usetype,@converter)
+ = ($rest,$comm,$program,$type,"xcf2pnm","-c","'-#'")
+ unless @converter ;
+ next ;
+ } else {
+ # use this definition _unless_ we have already seen and saved
+ # a definition for a _different_ program (which must have been PPM)
+ ($useline,$usecomm,$useprogram,$usetype,@converter)
+ = ($rest,$comm,$program,$type,"xcf2png")
+ unless @converter && $comm eq $useprogram ;
+ last ;
+ }
+ }
+ last if @converter ;
+}
+
+unless( @converter ) {
+ print STDERR "$0: No appropriate way to display PPM or PNG images in mailcap\n" ;
+ exit 1 ;
+}
+
+sub finishcomm() {
+ $usecomm =~ s!([^%])%t!$1$usetype!g;
+ $usecomm =~ s!%{(.*?)}!$_="'$ENV{$1}'";s/\`//g;$_!ge;
+ $usecomm =~ s!\\(.)!$1!g;
+ $usecomm =~ s!\'\'!\'!g;
+ $usecomm =~ s!$quotedsemi!;!go;
+ $usecomm =~ s!$quotedprct!%!go;
+}
+
+# quote arguments for converter
+for( @ARGV ) {
+ next if m{^[-a-z0-9,.:/@%^+=_]+$}i ;
+ s/'/\\'/ ;
+ $_ = "'$_'" ;
+}
+
+if( $usecomm =~ /[^%]%s/ ) {
+ my $tempfile = TempFile($useline);
+ $usecomm =~ s/([^%])%s/$1$tempfile/g ;
+ finishcomm() ;
+ my $retcode = 0 ;
+ for my $comm ( join(" ",@converter,"-o",$tempfile,@ARGV),
+ $usecomm ) {
+ print STDERR " - executing: $comm\n" if $debug ;
+ my $res = system $comm;
+ $res = int($res/256);
+ if ($res != 0) {
+ print STDERR "Warning: program returned non-zero exit code \#$res\n";
+ $retcode = $res;
+ last ;
+ }
+ }
+ unlink $tempfile ;
+ exit $retcode ;
+} else {
+ finishcomm() ;
+ exec( join(@converter," ",@ARGV) . " | " . $usecomm )
+ or print STDERR "Couldn't exec pipeline: $!\n" ;
+ exit 1 ;
+}