summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2016-01-13 09:31:48 +0100
committerBruno Haible <bruno@clisp.org>2016-01-15 10:18:25 +0100
commit4d475fa2986e089b22ce63d42fdccdd1ea337afd (patch)
tree937e8f82acf387e4012f894c7040bafaa87c287f
parentba5d34e523327eacef499fd73ce50da371f104f2 (diff)
downloadexternal_gettext-4d475fa2986e089b22ce63d42fdccdd1ea337afd.zip
external_gettext-4d475fa2986e089b22ce63d42fdccdd1ea337afd.tar.gz
external_gettext-4d475fa2986e089b22ce63d42fdccdd1ea337afd.tar.bz2
Change msgfmt to produce little-endian .mo files by default.
* gettext-tools/src/msgfmt.c (main): Initialize 'byteswap' so as to produce little-endian .mo files by default. * gettext-tools/doc/gettext.texi: Update documentation. * gettext-tools/doc/msgfmt.texi (--endianness): Likewise.
-rw-r--r--NEWS3
-rw-r--r--gettext-tools/doc/gettext.texi4
-rw-r--r--gettext-tools/doc/msgfmt.texi5
-rw-r--r--gettext-tools/src/msgfmt.c1
4 files changed, 8 insertions, 5 deletions
diff --git a/NEWS b/NEWS
index b9507ed..7ce5505 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+* Support for reproducible builds:
+ - msgfmt now produces little-endian .mo files by default.
+
Version 0.19.7 - December 2015
* Programming languages support:
diff --git a/gettext-tools/doc/gettext.texi b/gettext-tools/doc/gettext.texi
index 204ab38..c87fb72 100644
--- a/gettext-tools/doc/gettext.texi
+++ b/gettext-tools/doc/gettext.texi
@@ -5325,8 +5325,8 @@ which appears below.
@cindex magic signature of MO files
The first two words serve the identification of the file. The magic
number will always signal GNU MO files. The number is stored in the
-byte order of the generating machine, so the magic number really is
-two numbers: @code{0x950412de} and @code{0xde120495}.
+byte order used when the MO file was generated, so the magic number
+really is two numbers: @code{0x950412de} and @code{0xde120495}.
The second word describes the current revision of the file format,
composed of a major and a minor revision number. The revision numbers
diff --git a/gettext-tools/doc/msgfmt.texi b/gettext-tools/doc/msgfmt.texi
index a6fefcd..90350cb 100644
--- a/gettext-tools/doc/msgfmt.texi
+++ b/gettext-tools/doc/msgfmt.texi
@@ -382,14 +382,13 @@ Align strings to @var{number} bytes (default: 1).
@item --endianness=@var{byteorder}
@opindex --endianness@r{, @code{msgfmt} option}
Write out 32-bit numbers in the given byte order. The possible values are
-@code{big} and @code{little}. The default depends on the platform, namely
-on the endianness of the CPU.
+@code{big} and @code{little}. The default is @code{little}.
MO files of any endianness can be used on any platform. When a MO file has
an endianness other than the platform's one, the 32-bit numbers from the MO
file are swapped at runtime. The performance impact is negligible.
-This option can be useful to produce MO files that are independent of the
+This option can be useful to produce MO files that are optimized for one
platform.
@item --no-hash
diff --git a/gettext-tools/src/msgfmt.c b/gettext-tools/src/msgfmt.c
index 7b48d21..7055fa0 100644
--- a/gettext-tools/src/msgfmt.c
+++ b/gettext-tools/src/msgfmt.c
@@ -251,6 +251,7 @@ main (int argc, char *argv[])
/* Set default value for global variables. */
alignment = DEFAULT_OUTPUT_ALIGNMENT;
+ byteswap = 0 ^ ENDIANNESS;
/* Set program name for messages. */
set_program_name (argv[0]);