summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2012-04-25 15:41:32 -0600
committerEric Blake <eblake@redhat.com>2012-05-08 08:50:40 -0600
commitadae0138d43ccc0e5a302ca10fa1676359e92be8 (patch)
treefdd4090d37a86ff01bba9c7b178f801475d4e472
parenta3a049672d410b1deba8f1537016f2ece42b4e88 (diff)
downloadgnulib-adae0138d43ccc0e5a302ca10fa1676359e92be8.tar.gz
doc: recommendations on gettext version
Based on the bootstrap fallout in commit bb2f5640. * doc/gnulib-tool.texi (gettextize and autopoint): Document the choice between versions. * DEPENDENCIES (gettext): Cover both approaches. Signed-off-by: Eric Blake <eblake@redhat.com>
-rw-r--r--ChangeLog7
-rw-r--r--DEPENDENCIES9
-rw-r--r--doc/gnulib-tool.texi39
3 files changed, 48 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index e202346680..95dc16fd24 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-05-08 Eric Blake <eblake@redhat.com>
+
+ doc: recommendations on gettext version
+ * doc/gnulib-tool.texi (gettextize and autopoint): Document the
+ choice between versions.
+ * DEPENDENCIES (gettext): Cover both approaches.
+
2012-05-08 Jim Meyering <meyering@redhat.com>
init.sh: explain why EXEEXT support uses aliases rather than functions
diff --git a/DEPENDENCIES b/DEPENDENCIES
index 91cd6c543d..e19a37e7a7 100644
--- a/DEPENDENCIES
+++ b/DEPENDENCIES
@@ -101,8 +101,13 @@ at any time.
ftp://ftp.gnu.org/gnu/grep/
* GNU gettext.
- + Always use the newest available gettext release, see
- <http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html>.
+ + If your project wants to follow GNU Coding Standards:
+ + Always use the newest available gettext release, see
+ <http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html>.
+ + Use the 'gettext' module.
+ + If your project cares more about ease of development on older platforms:
+ + gettext 0.17 or newer.
+ + Use the 'gettext-h' module.
+ Recommended.
Needed if you use modules that use internationalization (many do).
+ Homepage:
diff --git a/doc/gnulib-tool.texi b/doc/gnulib-tool.texi
index 1b025c06e6..8d0e6835ba 100644
--- a/doc/gnulib-tool.texi
+++ b/doc/gnulib-tool.texi
@@ -471,7 +471,9 @@ the copies brought in by @code{gettextize} and @code{autopoint}. When a
new @code{gettext} release is made, the copies of the files in Gnulib will
be updated immediately.
-The solution is therefore:
+The choice of which version of gettext to require depends on the needs
+of your package. For a package that wants to comply to GNU Coding
+Standards, the steps are:
@enumerate
@item
@@ -479,12 +481,13 @@ When you run @code{gettextize}, always use the @code{gettextize} from the
matching GNU gettext release. For the most recent Gnulib checkout, this is
the newest release found on @url{http://ftp.gnu.org/gnu/gettext/}. For an
older Gnulib snapshot, it is the release that was the most recent release
-at the time the Gnulib snapshot was taken. Then, after @code{gettextize},
-invoke @code{gnulib-tool}.
+at the time the Gnulib snapshot was taken.
@item
-When a script of yours run @code{autopoint}, invoke @code{gnulib-tool}
-afterwards.
+After running @code{gettextize}, invoke @code{gnulib-tool} and import
+the @code{gettext} module. Also, copy the latest version of gnulib's
+@file{build-aux/po/Makefile.in.in} to your @file{po/} directory (this
+is done for you if you use gnulib's @file{bootstrap} script).
@item
If you get an error message like
@@ -495,6 +498,32 @@ it means that a new GNU gettext release was made, and its autoconf macros
were integrated into Gnulib and now mismatch the @file{po/} infrastructure.
In this case, fetch and install the new GNU gettext release and run
@code{gettextize} followed by @code{gnulib-tool}.
+@end enumerate
+
+On the other hand, if your package is not as concerned with compliance
+to the latest standards, but instead favors development on stable
+environments, the steps are:
+
+@enumerate
+@item
+Determine the oldest version of @code{gettext} that you intend to
+support during development (at this time, gnulib recommends going no
+older than version 0.17). Run @code{autopoint} (not
+@code{gettextize}) to copy infrastructure into place (newer versions
+of gettext will install the older infrastructure that you requested).
+
+@item
+Invoke @code{gnulib-tool}, and import the @code{gettext-h} module.
+@end enumerate
+
+Regardless of which approach you used to get the infrastructure in
+place, the following steps must then be used to preserve that
+infrastructure (gnulib's @file{bootstrap} script follows these rules):
+
+@enumerate
+@item
+When a script of yours run @code{autopoint}, invoke @code{gnulib-tool}
+afterwards.
@item
When you invoke @code{autoreconf} after @code{gnulib-tool}, make sure to