bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] regex: work around conditional-dependencies glitch


From: Paul Eggert
Subject: [PATCH] regex: work around conditional-dependencies glitch
Date: Wed, 4 Jul 2018 20:21:03 -0700

* 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 <langinfo.h> 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, address@hidden, , 
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 a220b9c41..6b83038e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,39 @@
+2018-07-04  Paul Eggert  <address@hidden>
+
+       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 <langinfo.h> 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, address@hidden, , 
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  <address@hidden>
 
        wchar: fix bug when checking for ‘inline’
diff --git a/modules/regex b/modules/regex
index 8863a8e11..b3cdf042b 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.17.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]