Build: Fix --disable-threads breaking the building of shared libs.
commit5a5bd7f871818029d5ccbe189f087f591258c294
authorLasse Collin <lasse.collin@tukaani.org>
Tue, 21 Mar 2023 11:11:49 +0000 (21 13:11 +0200)
committerLasse Collin <lasse.collin@tukaani.org>
Tue, 21 Mar 2023 11:11:49 +0000 (21 13:11 +0200)
tree7041ec53d180e87417c7df125d3e42224cbb01e0
parentdfe1710784c0a3c3a90c17b80c9e1fe19b5fce06
Build: Fix --disable-threads breaking the building of shared libs.

This is broken in the releases 5.2.6 to 5.4.2. A workaround
for these releases is to pass EGREP='grep -E' as an argument
to configure in addition to --disable-threads.

The problem appeared when m4/ax_pthread.m4 was updated in
the commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad which
introduced the use of AC_EGREP_CPP. AC_EGREP_CPP calls
AC_REQUIRE([AC_PROG_EGREP]) to set the shell variable EGREP
but this was only executed if POSIX threads were enabled.
Libtool code also has AC_REQUIRE([AC_PROG_EGREP]) but Autoconf
omits it as AC_PROG_EGREP has already been required earlier.
Thus, if not using POSIX threads, the shell variable EGREP
would be undefined in the Libtool code in configure.

ax_pthread.m4 is fine. The bug was in configure.ac which called
AX_PTHREAD conditionally in an incorrect way. Using AS_CASE
ensures that all AC_REQUIREs get always run.

Thanks to Frank Busse for reporting the bug.
Fixes: https://github.com/tukaani-project/xz/issues/45
configure.ac