A new program: 'autopoint'. For CVS users.

This commit is contained in:
Bruno Haible 2002-05-02 13:40:52 +00:00
parent 126ee51e39
commit 9b72042fac
11 changed files with 443 additions and 133 deletions

View File

@ -1,3 +1,8 @@
2002-05-01 Bruno Haible <bruno@clisp.org>
* configure.in (AC_OUTPUT): Add misc/autopoint. Make misc/autopoint
executable.
2002-05-01 Bruno Haible <bruno@clisp.org>
* INSTALL: Remove the recommendation to set CPPFLAGS and LDFLAGS.

8
NEWS
View File

@ -1,3 +1,11 @@
Version 0.11.3 - May 2002
* New program:
autopoint - copies standard gettext infrastructure
* The documentation makes it clear that 'gettextize' is a wizard and
migration tool.
Version 0.11.2 - April 2002
* Bug fixes in the gettext.m4 autoconf macros.

View File

@ -180,7 +180,7 @@ AC_OUTPUT([Makefile \
tests/Makefile \
m4/Makefile \
projects/Makefile \
misc/Makefile misc/gettextize], [
misc/Makefile misc/gettextize misc/autopoint], [
dnl Fix unesthetic build commands generated by automake.
for m in lib/Makefile src/Makefile tests/Makefile; do
sed -e "s,\`test -f \\\$< || echo '\\\$(srcdir)/'\`\\\$<,\\\$<," < $m > $m.tmp
@ -196,6 +196,6 @@ AC_OUTPUT([Makefile \
sed -e '/cd \$(srcdir) && rm -f /d' < $m > $m.tmp
mv $m.tmp $m
done
dnl Fix permissions of misc/gettextize.
chmod a+x misc/gettextize
dnl Fix permissions of misc/gettextize and misc/autopoint.
chmod a+x misc/gettextize misc/autopoint
])

View File

@ -1,3 +1,11 @@
2002-05-01 Bruno Haible <bruno@clisp.org>
* gettextize.texi: New file, mostly extracted from gettext.texi.
* autopoint.texi: New file.
* gettext.texi (gettextize Invocation): Move to gettextize.texi.
(CVS Issues): New section.
* Makefile.am (gettext_TEXINFOS): Add gettextize.texi, autopoint.texi.
2002-04-28 Bruno Haible <bruno@clisp.org>
* gettext.texi (gettextize Invocation): Document option --dry-run.

View File

@ -36,7 +36,7 @@ gettext_TEXINFOS = \
xgettext.texi msginit.texi msgmerge.texi msgcat.texi msgconv.texi \
msggrep.texi msgfilter.texi msguniq.texi msgcomm.texi msgcmp.texi \
msgattrib.texi msgen.texi msgexec.texi msgfmt.texi msgunfmt.texi \
iso-639.texi iso-3166.texi
gettextize.texi autopoint.texi iso-639.texi iso-3166.texi
EXTRA_DIST = iso-639.sed iso-3166.sed ISO_639 ISO_3166 nls.texi matrix.texi texi2html

61
doc/autopoint.texi Normal file
View File

@ -0,0 +1,61 @@
@pindex autopoint
@cindex @code{autopoint} program, usage
@example
autopoint [@var{option}]...
@end example
The @code{autopoint} program copies standard gettext infrastructure files
into a source package. It extracts from an assignment of the form
@code{GETTEXT_VERSION=@var{version}}, found in the package's
@file{configure.in} or @file{configure.ac} file, the gettext version
used by the package, and copies the infrastructure files belonging to
this version into the package.
@subsubsection Options
@table @samp
@item -f
@itemx --force
@opindex -f@r{, @code{autopoint} option}
@opindex --force@r{, @code{autopoint} option}
Force overwriting of files that already exist.
@item -n
@itemx --dry-run
@opindex -d@r{, @code{autopoint} option}
@opindex --dry-run@r{, @code{autopoint} option}
Print modifications but don't perform them. All file copying actions that
@code{autopoint} would normally execute are inhibited and instead only
listed on standard output.
@end table
@subsubsection Informative output
@table @samp
@item --help
@opindex --help@r{, @code{autopoint} option}
Display this help and exit.
@item --version
@opindex --version@r{, @code{autopoint} option}
Output version information and exit.
@end table
@code{autopoint} supports the GNU @code{gettext} versions from 0.10.35 to
the current one, @value{VERSION}. In order to apply @code{autopoint} to
a package using a @code{gettext} version newer than @value{VERSION}, you
need to install this same version of GNU @code{gettext} at least.
In packages using GNU @code{automake}, an invocation of @code{autopoint}
should be followed by invocations of @code{aclocal} and then @code{autoconf}
and @code{autoheader}. The reason is that @code{autopoint} installs some
autoconf macro files, which are used by @code{aclocal} to create
@file{aclocal.m4}, and the latter is used by @code{autoconf} to create the
package's @file{configure} script and by @code{autoheader} to create the
package's @file{config.h.in} include file template.
The name @samp{autopoint} is an abbreviation of @samp{auto-po-intl-m4};
the tool copies or updates mostly files in the @file{po}, @file{intl},
@file{m4} directories.

View File

@ -267,6 +267,7 @@ The Maintainer's View
* gettextize Invocation:: Invoking the @code{gettextize} Program
* Adjusting Files:: Files You Must Create or Alter
* autoconf macros:: Autoconf macros for use in @file{configure.in}
* CVS Issues:: Integrating with CVS
Files You Must Create or Alter
@ -288,6 +289,12 @@ Autoconf macros for use in @file{configure.in}
* AM_GNU_GETTEXT:: AM_GNU_GETTEXT in @file{gettext.m4}
* AM_ICONV:: AM_ICONV in @file{iconv.m4}
Integrating with CVS
* Distributed CVS:: Avoiding version mismatch in distributed development
* Files under CVS:: Files to put under CVS version control
* autopoint Invocation:: Invoking the @code{autopoint} Program
Other Programming Languages
* Language Implementors:: The Language Implementor's View
@ -5539,6 +5546,7 @@ for changes.
* gettextize Invocation:: Invoking the @code{gettextize} Program
* Adjusting Files:: Files You Must Create or Alter
* autoconf macros:: Autoconf macros for use in @file{configure.in}
* CVS Issues:: Integrating with CVS
@end menu
@node Flat and Non-Flat, Prerequisites, Maintainers, Maintainers
@ -5655,131 +5663,7 @@ never try to @emph{solve} a team's problem on your own.
@node gettextize Invocation, Adjusting Files, Prerequisites, Maintainers
@section Invoking the @code{gettextize} Program
Some files are consistently and identically needed in every package
internationalized through GNU @code{gettext}. As a matter of
convenience, the @code{gettextize} program puts all these files right
in your package. This program has the following synopsis:
@pindex gettextize
@cindex @code{gettextize} program, usage
@example
gettextize [ @var{option}@dots{} ] [ @var{directory} ]
@end example
@noindent
and accepts the following options:
@table @samp
@item -c
@itemx --copy
@opindex -c@r{, @code{gettextize} option}
@opindex --copy@r{, @code{gettextize} option}
Copy the needed files instead of making symbolic links. Using links
would allow the package to always use the latest @code{gettext} code
available on the system, but it might disturb some mechanism the
maintainer is used to apply to the sources. Because running
@code{gettextize} is easy there shouldn't be problems with using copies.
@item -f
@itemx --force
@opindex -f@r{, @code{gettextize} option}
@opindex --force@r{, @code{gettextize} option}
Force replacement of files which already exist.
@item --intl
@opindex --intl@r{, @code{gettextize} option}
Install the libintl sources in a subdirectory named @file{intl/}.
This libintl will be used to provide internationalization on systems
that don't have GNU libintl installed. If this option is omitted,
the call to @code{AM_GNU_GETTEXT} in @file{configure.in} should read:
@samp{AM_GNU_GETTEXT([external])}, and internationalization will not
be enabled on systems lacking GNU gettext.
@item --no-changelog
@opindex --no-changelog@r{, @code{gettextize} option}
Don't update or create ChangeLog files. By default, @code{gettextize}
logs all changes (file additions, modifications ans removals) in a
file called @samp{ChangeLog} in each affected directory.
@item -n
@itemx --dry-run
@opindex -d@r{, @code{gettextize} option}
@opindex --dry-run@r{, @code{gettextize} option}
Print modifications but don't perform them. All actions that
@code{gettextize} would normally execute are inhibited and instead only
listed on standard output.
@item --help
@opindex --help@r{, @code{gettextize} option}
Display this help and exit.
@item --version
@opindex --version@r{, @code{gettextize} option}
Output version information and exit.
@end table
If @var{directory} is given, this is the top level directory of a
package to prepare for using GNU @code{gettext}. If not given, it
is assumed that the current directory is the top level directory of
such a package.
The program @code{gettextize} provides the following files. However,
no existing file will be replaced unless the option @code{--force}
(@code{-f}) is specified.
@enumerate
@item
The @file{ABOUT-NLS} file is copied in the main directory of your package,
the one being at the top level. This file gives the main indications
about how to install and use the Native Language Support features
of your program. You might elect to use a more recent copy of this
@file{ABOUT-NLS} file than the one provided through @code{gettextize},
if you have one handy. You may also fetch a more recent copy of file
@file{ABOUT-NLS} from Translation Project sites, and from most GNU
archive sites.
@item
A @file{po/} directory is created for eventually holding
all translation files, but initially only containing the file
@file{po/Makefile.in.in} from the GNU @code{gettext} distribution.
(beware the double @samp{.in} in the file name) and a few auxiliary
files. If the @file{po/} directory already exists, it will be preserved
along with the files it contains, and only @file{Makefile.in.in} and
the auxiliary files will be overwritten.
@item
Only if @samp{--intl} has been specified:
A @file{intl/} directory is created and filled with most of the files
originally in the @file{intl/} directory of the GNU @code{gettext}
distribution. Also, if option @code{--force} (@code{-f}) is given,
the @file{intl/} directory is emptied first.
@item
The @file{config.rpath} file is copied into the directory containing
configuration support files. It is needed by the @code{AM_GNU_GETTEXT}
autoconf macro.
@end enumerate
If your site support symbolic links, @code{gettextize} will not
actually copy the files into your package, but establish symbolic
links instead. This avoids duplicating the disk space needed in
all packages. Merely using the @samp{-h} option while creating the
@code{tar} archive of your distribution will resolve each link by an
actual copy in the distribution archive. So, to insist, you really
should use @samp{-h} option with @code{tar} within your @code{dist}
goal of your main @file{Makefile.in}.
It is interesting to understand that most new files for supporting
GNU @code{gettext} facilities in one package go in @file{intl/}
and @file{po/} subdirectories. One distinction between these two
directories is that @file{intl/} is meant to be completely identical
in all packages using GNU @code{gettext}, while all newly created
files, which have to be different, go into @file{po/}. There is a
common @file{Makefile.in.in} in @file{po/}, because the @file{po/}
directory needs its own @file{Makefile}, and it has been designed so
it can be identical in all packages.
@include gettextize.texi
@node Adjusting Files, autoconf macros, gettextize Invocation, Maintainers
@section Files You Must Create or Alter
@ -6347,7 +6231,7 @@ In other packages, it can go into the @file{src} directory.
Do not install the @code{gettext.h} file in public locations. Every
package that needs it should contain a copy of it on its own.
@node autoconf macros, , Adjusting Files, Maintainers
@node autoconf macros, CVS Issues, Adjusting Files, Maintainers
@section Autoconf macros for use in @file{configure.in}
@cindex autoconf macros for @code{gettext}
@ -6493,6 +6377,130 @@ library support, like SCO.
@file{iconv.m4} is distributed with the GNU gettext package because
@file{gettext.m4} relies on it.
@node CVS Issues, , autoconf macros, Maintainers
@section Integrating with CVS
Many projects use CVS for distributed development, version control and
source backup. This section gives some advice how to manage the uses
of @code{cvs}, @code{gettextize}, @code{autopoint} and @code{autoconf}.
@menu
* Distributed CVS:: Avoiding version mismatch in distributed development
* Files under CVS:: Files to put under CVS version control
* autopoint Invocation:: Invoking the @code{autopoint} Program
@end menu
@node Distributed CVS, Files under CVS, CVS Issues, CVS Issues
@subsection Avoiding version mismatch in distributed development
In a project development with multiple developers, using CVS, there
should be a single developer who occasionally - when there is desire to
upgrade to a new @code{gettext} version - runs @code{gettextize} and
performs the changes listed in @ref{Adjusting Files}, and then commits
his changes to the CVS.
It is highly recommended that all developers on a project use the same
version of GNU @code{gettext} in the package. In other words, if a
developer runs @code{gettextize}, he should go the whole way, make the
necessary remaining changes and commit his changes to the CVS.
Otherwise the following damages will likely occur:
@itemize @bullet
@item
Apparent version mismatch between developers. Since some @code{gettext}
specific portions in @file{configure.in}, @file{configure.ac} and
@code{Makefile.am}, @code{Makefile.in} files depend on the @code{gettext}
version, the use of infrastructure files belonging to different
@code{gettext} versions can easily lead to build errors.
@item
Hidden version mismatch. Such version mismatch can also lead to
malfunctioning of the package, that may be undiscovered by the developers.
The worst case of hidden version mismatch is that internationalization
of the package doesn't work at all.
@item
Release risks. All developers implicitly perform constant testing on
a package. This is important in the days and weeks before a release.
If the guy who makes the release tar files uses a different version
of GNU @code{gettext} than the other developers, the distribution will
be less well tested than if all had been using the same @code{gettext}
version. For example, it is possible that a platform specific bug goes
undiscovered due to this constellation.
@end itemize
@node Files under CVS, autopoint Invocation, Distributed CVS, CVS Issues
@subsection Files to put under CVS version control
There are basically three ways to deal with generated files in the
context of a CVS repository, such as @file{configure} generated from
@file{configure.in}, @code{@var{parser}.c} generated from
@code{@var{parser}.y}, or @code{po/Makefile.in.in} autoinstalled by
@code{gettextize} or @code{autopoint}.
@enumerate
@item
All generated files are always committed into the repository.
@item
All generated files are committed into the repository occasionally,
for example each time a release is made.
@item
Generated files are never committed into the repository.
@end enumerate
Each of these three approaches has different advantages and drawbacks.
@enumerate
@item
The advantage is that anyone can check out the CVS at any moment and
gets a working build. The drawbacks are: 1a. It requires some frequent
"cvs commit" actions by the maintainers. 1b. The reposity grows in size
quite fast.
@item
The advantage is that anyone can check out the CVS, and the usual
"./configure; make" will work. The drawbacks are: 2a. The one who
checks out the repository needs tools like GNU @code{automake},
GNU @code{autoconf}, GNU @code{m4} installed in his PATH; sometimes
he even needs particular versions of them. 2b. When a release is made
and a commit is made on the generated files, the other developers get
conflicts on the generated files after doing "cvs update". Although
these conflicts are easy to resolve, they are annoying.
@item
The advantage is less work for the maintainers. The drawback is that
anyone who checks out the CVS not only needs tools like GNU @code{automake},
GNU @code{autoconf}, GNU @code{m4} installed in his PATH, but also that
he needs to perform a package specific pre-build step before being able
to "./configure; make".
@end enumerate
For the first and second approach, all files modified or brought in
by the occasional @code{gettextize} invocation and update should be
committed into the CVS.
For the third approach, the maintainer can omit from the CVS repository
all the files that @code{gettextize} mentions as "copy". Instead, he
adds to the @file{configure.in} or @file{configure.ac} a line of the
form
@example
GETTEXT_VERSION=@value{VERSION}
@end example
@noindent
and adds to the package's pre-build script an invocation of
@samp{autopoint}. For everyone who checks out the CVS, this
@code{autopoint} invocation will copy into the right place the
@code{gettext} infrastructure filss that have been omitted from the CVS.
@node autopoint Invocation, , Files under CVS, CVS Issues
@subsection Invoking the @code{autopoint} Program
@include autopoint.texi
@node Programming Languages, Conclusion, Maintainers, Top
@chapter Other Programming Languages

180
doc/gettextize.texi Normal file
View File

@ -0,0 +1,180 @@
The @code{gettextize} program is an interactive tool that helps the
maintainer of a package internationalized through GNU @code{gettext}.
It is used for two purposes:
@itemize @bullet
@item
As a wizard, when a package is modified to use GNU @code{gettext} for
the first time.
@item
As a migration tool, for upgrading the GNU @code{gettext} support in
a package from a previous to a newer version of GNU @code{gettext}.
@end itemize
This program performs the following tasks:
@itemize @bullet
@item
It copies into the package some files that are consistently and
identically needed in every package internationalized through
GNU @code{gettext}.
@item It performs as many of the tasks mentioned in the next section
@ref{Adjusting Files} as can be performed automatically.
@item It removes obsolete files and idioms used for previous GNU
@code{gettext} versions to the form recommended for the current GNU
@code{gettext} version.
@item It prints a summary of the tasks that ought to be done manually
and could not be done automatically by @code{gettextize}.
@end itemize
It can be invoked as follows:
@pindex gettextize
@cindex @code{gettextize} program, usage
@example
gettextize [ @var{option}@dots{} ] [ @var{directory} ]
@end example
@noindent
and accepts the following options:
@table @samp
@item -c
@itemx --copy
@opindex -c@r{, @code{gettextize} option}
@opindex --copy@r{, @code{gettextize} option}
Copy the needed files instead of making symbolic links. Using links
would allow the package to always use the latest @code{gettext} code
available on the system, but it might disturb some mechanism the
maintainer is used to apply to the sources. Because running
@code{gettextize} is easy there shouldn't be problems with using copies.
@item -f
@itemx --force
@opindex -f@r{, @code{gettextize} option}
@opindex --force@r{, @code{gettextize} option}
Force replacement of files which already exist.
@item --intl
@opindex --intl@r{, @code{gettextize} option}
Install the libintl sources in a subdirectory named @file{intl/}.
This libintl will be used to provide internationalization on systems
that don't have GNU libintl installed. If this option is omitted,
the call to @code{AM_GNU_GETTEXT} in @file{configure.in} should read:
@samp{AM_GNU_GETTEXT([external])}, and internationalization will not
be enabled on systems lacking GNU gettext.
@item --no-changelog
@opindex --no-changelog@r{, @code{gettextize} option}
Don't update or create ChangeLog files. By default, @code{gettextize}
logs all changes (file additions, modifications and removals) in a
file called @samp{ChangeLog} in each affected directory.
@item -n
@itemx --dry-run
@opindex -d@r{, @code{gettextize} option}
@opindex --dry-run@r{, @code{gettextize} option}
Print modifications but don't perform them. All actions that
@code{gettextize} would normally execute are inhibited and instead only
listed on standard output.
@item --help
@opindex --help@r{, @code{gettextize} option}
Display this help and exit.
@item --version
@opindex --version@r{, @code{gettextize} option}
Output version information and exit.
@end table
If @var{directory} is given, this is the top level directory of a
package to prepare for using GNU @code{gettext}. If not given, it
is assumed that the current directory is the top level directory of
such a package.
The program @code{gettextize} provides the following files. However,
no existing file will be replaced unless the option @code{--force}
(@code{-f}) is specified.
@enumerate
@item
The @file{ABOUT-NLS} file is copied in the main directory of your package,
the one being at the top level. This file gives the main indications
about how to install and use the Native Language Support features
of your program. You might elect to use a more recent copy of this
@file{ABOUT-NLS} file than the one provided through @code{gettextize},
if you have one handy. You may also fetch a more recent copy of file
@file{ABOUT-NLS} from Translation Project sites, and from most GNU
archive sites.
@item
A @file{po/} directory is created for eventually holding
all translation files, but initially only containing the file
@file{po/Makefile.in.in} from the GNU @code{gettext} distribution
(beware the double @samp{.in} in the file name) and a few auxiliary
files. If the @file{po/} directory already exists, it will be preserved
along with the files it contains, and only @file{Makefile.in.in} and
the auxiliary files will be overwritten.
@item
Only if @samp{--intl} has been specified:
A @file{intl/} directory is created and filled with most of the files
originally in the @file{intl/} directory of the GNU @code{gettext}
distribution. Also, if option @code{--force} (@code{-f}) is given,
the @file{intl/} directory is emptied first.
@item
The files @file{config.rpath} and @file{mkinstalldirs} are copied into
the directory containing configuration support files. It is needed by
the @code{AM_GNU_GETTEXT} autoconf macro.
@item
Only if the project is using GNU @code{automake}:
A set of @code{autoconf} macro files is copied into the package's
@code{autoconf} macro repository, usually in a directory called @file{m4/}.
@end enumerate
If your site support symbolic links, @code{gettextize} will not
actually copy the files into your package, but establish symbolic
links instead. This avoids duplicating the disk space needed in
all packages. Merely using the @samp{-h} option while creating the
@code{tar} archive of your distribution will resolve each link by an
actual copy in the distribution archive. So, to insist, you really
should use @samp{-h} option with @code{tar} within your @code{dist}
goal of your main @file{Makefile.in}.
Furthermore, @code{gettextize} will update all @file{Makefile.am} files
in each affected directory, as well as the top level @file{configure.in}
or @file{configure.ac} file.
It is interesting to understand that most new files for supporting
GNU @code{gettext} facilities in one package go in @file{intl/},
@file{po/} and @file{m4/} subdirectories. One distinction between
@file{intl/} and the two other directories is that @file{intl/} is
meant to be completely identical in all packages using GNU @code{gettext},
while the other directories will mostly contain package dependent
files.
The @code{gettextize} program makes backup files for all files it
replaces or changes, and also write ChangeLog entries about these
changes. This way, the careful maintainer can check after running
@code{gettextize} whether its changes are acceptable to him, and
possibly adjust them. An exception to this rule is the @file{intl/}
directory, which is added or replaced or removed as a whole.
It is important to understand that @code{gettextize} can not do the
entire job of adapting a package for using GNU @code{gettext}. The
amount of remaining work depends on whether the package uses GNU
@code{automake} or not. But in any case, the maintainer should still
read the section @ref{Adjusting Files} after invoking @code{gettextize}.
It is also important to understand that @code{gettextize} is not part
of the GNU build system, in the sense that it should not be invoked
automatically, and not be invoked by someone who doesn't assume the
responsibilities of a package maintainer. For the latter purpose, a
separate tool is provided, see @ref{autopoint Invocation}.

View File

@ -1,3 +1,16 @@
2002-05-01 Bruno Haible <bruno@clisp.org>
* autopoint-files: New directory.
* add-to-autopoint-files: New file.
* autopoint.in: New file.
* Makefile.am (EXTRA_DIST): Add add-to-autopoint-files.
(DISTCLEANFILES): Add autopoint.
(gettextsrcdir): New variable.
(gettextsrc_DATA): New variable.
(archive.tar.gz): New rule.
* gettextize.in: Bump GETTEXT_VERSION value in configure.in.
Ask maintainer to acknowledge the remaining changes.
2002-04-28 Bruno Haible <bruno@clisp.org>
* gettextize.in: Avoid the remarks about po/Makevars and config.guess

View File

@ -19,8 +19,14 @@
AUTOMAKE_OPTIONS = 1.2 gnits
EXTRA_DIST = gettext.perl gettext-sh tcl_gettext.c README-Tcl po-mode.el
DISTCLEANFILES = gettextize
EXTRA_DIST = gettext.perl gettext-sh tcl_gettext.c README-Tcl add-to-autopoint-files $(lisp_LISP)
DISTCLEANFILES = gettextize autopoint
lisp_LISP = po-mode.el po-compat.el
bin_SCRIPTS = gettextize
bin_SCRIPTS = gettextize autopoint
gettextsrcdir = $(datadir)/gettext
gettextsrc_DATA = archive.tar.gz
archive.tar.gz:
(cd autopoint-files && tar cf - `find archive -type f | grep -v /CVS/`) | gzip -c -9 > $@

View File

@ -31,6 +31,10 @@ func_usage ()
{
echo "\
Usage: gettextize [OPTION]... [package-dir]
Prepares a source package to use gettext.
Options:
--help print this help and exit
--version print version information and exit
-c, --copy copy files instead of making symlinks
@ -38,6 +42,7 @@ Usage: gettextize [OPTION]... [package-dir]
--intl install libintl in a subdirectory
--no-changelog don't update or create ChangeLog files
-n, --dry-run print modifications but don't perform them
Report bugs to <bug-gnu-gettext@gnu.org>."
}
@ -862,6 +867,8 @@ sed -e 's%sed -e "/POTFILES =/r po/POTFILES" po/Makefile\.in > po/Makefile *;* *
func_modify_configure_in "(AC_OUTPUT): Remove command that created po/Makefile."
sed -e '/^\(dnl \|\)AC_LINK_FILES(\$nls_cv_header_libgt, \$nls_cv_header_intl)$/d' < "$srcdir/$configure_in" > "$srcdir/$configure_in.tmp"
func_modify_configure_in "(AC_LINK_FILES): Remove invocation."
sed -e 's/^GETTEXT_VERSION=\([-+_.0-9A-Za-z]*\)/GETTEXT_VERSION='"$version"'/' < "$srcdir/$configure_in" > "$srcdir/$configure_in.tmp"
func_modify_configure_in "(GETTEXT_VERSION): Bump to $version."
$do_changelog && func_ChangeLog_finish
# Recommend replacement for deprecated Makefile variables.
@ -946,6 +953,20 @@ if $doit; then
echo "It is a wrapper around <libintl.h> that implements the configure --disable-nls"
echo "option."
echo
count=`echo "$please" | grep '^$' | wc -l`
count=`echo "$count" | sed -e 's/[ ]//g'`
case "$count" in
1) count="paragraph";;
2) count="two paragraphs";;
3) count="three paragraphs";;
4) count="four paragraphs";;
5) count="five paragraphs";;
*) count="$count paragraphs";;
esac
echo "Press Return to acknowledge the previous $count."
# Read from /dev/tty, not stdin, so that gettextize cannot be abused by
# non-interactive tools.
read < /dev/tty
fi
exit 0