glibc/intl
Juro Bystricky 1faaf7035c plural.c: improve reproducibility
There is a subtle non-determinism when building glibc.
This depends on whether the glibc is built using the distibuted
file intl/plural.c or built using the generated file intl/plural.c.
These two files (intl/plural.c generated vs. distributed) are slightly
different, hence we may end up with slightly different libraries.

Originally, having "bison" installed was optional. So if "bison" was
not present, we always built libraries with the distributed plural.c.
If bison was installed, we *** may have *** replaced the distributed
file plural.c with a new plural.c generated from plural.y. if the
timestamps triggered this rule:

plural.c plural.y
	$(BISON) $(BISONFLAGS) $@ $^

Given that timestamps are not preserved in GIT repositories, the above
rule is not reliable without explicitly touching plural.c or plural.y.
In other words, the rule may or may not have fired.

In summary: there are two distinct sources of non-determinism:

1. Having "bison" installed or not
2. Having "bison" installed but timestamps poorly defined.

This patch fixes this by requiring "bison" being installed
and by always generating intl/plural.c from intl/plural.y.
(This is achieved by simply removing checked-in intl/plural.c)

	[BZ #22432]
	* configure.ac (BISON): Require to be present.
	* configure: Regenerated.
	* intl/Makefile (generated): Add plural.c.
	[$(BISON) != no]: Make code unconditional.
	(plural.c): Change rule to $(objpfx)plural.c.
	($(objpfx)plural.o): Depend on $(objpfx)plural.c.
	* intl/plural.c: Remove.
	* manual/install.texi (Tools for Compilation): Document bison as
	required.
	* INSTALL: Regenerated.
2017-11-30 21:21:15 +00:00
..
bindtextdom.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dcgettext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dcigettext.c iconv, intl, locale, wcsmbs: Remove internal_function 2017-08-31 15:59:06 +02:00
dcngettext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Depend
dgettext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dngettext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
eval-plural.h iconv, intl, locale, wcsmbs: Remove internal_function 2017-08-31 15:59:06 +02:00
explodename.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
finddomain.c iconv, intl, locale, wcsmbs: Remove internal_function 2017-08-31 15:59:06 +02:00
gettext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
gettextP.h Mark internal intl functions with attribute_hidden [BZ #18822] 2017-10-01 15:58:20 -07:00
gmo.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
hash-string.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
hash-string.h Hide internal __hash_string function [BZ #18822] 2017-10-01 17:41:34 -07:00
l10nflist.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
libintl.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
loadinfo.h iconv, intl, locale, wcsmbs: Remove internal_function 2017-08-31 15:59:06 +02:00
loadmsgcat.c iconv, intl, locale, wcsmbs: Remove internal_function 2017-08-31 15:59:06 +02:00
locale.alias Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
localealias.c iconv, intl, locale, wcsmbs: Remove internal_function 2017-08-31 15:59:06 +02:00
Makefile plural.c: improve reproducibility 2017-11-30 21:21:15 +00:00
ngettext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
plural-exp.c Hide internal __gettextparse function [BZ #18822] 2017-10-01 17:31:05 -07:00
plural-exp.h Mark internal functions with attribute_hidden [BZ #18822] 2017-10-01 15:07:23 -07:00
plural.y iconv, intl, locale, wcsmbs: Remove internal_function 2017-08-31 15:59:06 +02:00
po2test.awk Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
textdomain.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
translit.po Update. 2000-11-02 07:51:38 +00:00
tst-codeset.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-gettext2.c Suppress internal declarations for most of the testsuite. 2017-05-11 19:27:59 -04:00
tst-gettext2.sh Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-gettext3.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-gettext4-de.po * sysdeps/i386/i686/memcmp.S: Move misplaced END. 2005-04-28 18:21:03 +00:00
tst-gettext4-fr.po * sysdeps/i386/i686/memcmp.S: Move misplaced END. 2005-04-28 18:21:03 +00:00
tst-gettext4.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-gettext4.sh Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-gettext5.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-gettext6.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-gettext6.sh Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-gettext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-gettext.sh Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-ngettext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-translit.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-translit.sh Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tstcodeset.po Update. 2001-04-10 00:15:08 +00:00
tstlang1.po Update. 2000-10-31 03:10:13 +00:00
tstlang2.po Update. 2000-10-31 03:10:13 +00:00
Versions Update. 2002-05-01 17:09:58 +00:00