From a078b8cd57b007c3820c5f43a89b31bc579cbb63 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 4 Jul 2018 20:18:48 -0700 Subject: [PATCH] regex: work around conditional-dependencies glitch MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * modules/regex (Depends-on): Add langinfo. Without this change, I had problems building an experimental version of GNU Emacs. The symptom of the bug was a message ‘./configure: line 12726: test: =: unary operator expected’. This was due to a line in gl_FUNC_NL_LANGINFO that invokes ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET was unset. Although gl_FUNC_NL_LANGINFO has ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with --conditional-dependencies sometimes arranges for the gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H code. Since the regex code includes it should be depending on the langinfo module anyway, and this happens to work around the bug, so install that as a workaround for now. To reproduce the original problem, run the following shell script on the version of Gnulib just before this patch was installed. rm -fr foo mkdir foo cat >foo/configure.ac <<'EOF' AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/) gl_EARLY gl_INIT AC_OUTPUT EOF ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex ./gnulib-tool --copy build-aux/install-sh foo/install-sh ./gnulib-tool --copy build-aux/config.sub foo/config.sub ./gnulib-tool --copy build-aux/config.guess foo/config.guess cd foo aclocal -I m4 autoconf ./configure --with-included-regex --- ChangeLog | 36 ++++++++++++++++++++++++++++++++++++ modules/regex | 1 + 2 files changed, 37 insertions(+) diff --git a/ChangeLog b/ChangeLog index a220b9c412..6b83038e2d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,39 @@ +2018-07-04 Paul Eggert + + regex: work around conditional-dependencies glitch + * modules/regex (Depends-on): Add langinfo. + Without this change, I had problems building an experimental + version of GNU Emacs. The symptom of the bug was a message + ‘./configure: line 12726: test: =: unary operator expected’. + This was due to a line in gl_FUNC_NL_LANGINFO that invokes + ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET + was unset. Although gl_FUNC_NL_LANGINFO has + ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets + HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with + --conditional-dependencies sometimes arranges for the + gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H + code. Since the regex code includes it should be + depending on the langinfo module anyway, and this happens to work + around the bug, so install that as a workaround for now. To + reproduce the original problem, run the following shell script on + the version of Gnulib just before this patch was installed. + rm -fr foo + mkdir foo + cat >foo/configure.ac <<'EOF' + AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/) + gl_EARLY + gl_INIT + AC_OUTPUT + EOF + ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex + ./gnulib-tool --copy build-aux/install-sh foo/install-sh + ./gnulib-tool --copy build-aux/config.sub foo/config.sub + ./gnulib-tool --copy build-aux/config.guess foo/config.guess + cd foo + aclocal -I m4 + autoconf + ./configure --with-included-regex + 2018-07-01 Paul Eggert wchar: fix bug when checking for ‘inline’ diff --git a/modules/regex b/modules/regex index 8863a8e11c..b3cdf042b6 100644 --- a/modules/regex +++ b/modules/regex @@ -20,6 +20,7 @@ alloca-opt [test $ac_use_included_regex = yes] btowc [test $ac_use_included_regex = yes] builtin-expect [test $ac_use_included_regex = yes] intprops [test $ac_use_included_regex = yes] +langinfo [test $ac_use_included_regex = yes] lock [test "$ac_cv_gnu_library_2_1:$ac_use_included_regex" = no:yes] memcmp [test $ac_use_included_regex = yes] memmove [test $ac_use_included_regex = yes] -- 2.39.5