diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2023-03-21 13:11:49 +0200 |
---|---|---|
committer | Lasse Collin <lasse.collin@tukaani.org> | 2023-03-21 14:14:35 +0200 |
commit | c775ba1602a74f29dbc2088bbe4d02c23fc32ba1 (patch) | |
tree | ba1d348dd3784c343ab9e79ef8aa33cdb001a844 /configure.ac | |
parent | liblzma: Silence -Wsign-conversion in SSE2 code in memcmplen.h. (diff) | |
download | xz-c775ba1602a74f29dbc2088bbe4d02c23fc32ba1.tar.xz |
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
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac index d8811b9b..e3314a9d 100644 --- a/configure.ac +++ b/configure.ac @@ -611,8 +611,8 @@ AM_PROG_CC_C_O AM_PROG_AS AC_USE_SYSTEM_EXTENSIONS -case $enable_threads in - posix) +AS_CASE([$enable_threads], + [posix], [ echo echo "POSIX threading support:" AX_PTHREAD([:]) dnl We don't need the HAVE_PTHREAD macro. @@ -643,19 +643,19 @@ case $enable_threads in `CLOCK_MONOTONIC' is declared in <time.h>.])], [], [[#include <time.h>]]) CFLAGS=$OLD_CFLAGS - ;; - win95) + ], + [win95], [ AC_DEFINE([MYTHREAD_WIN95], [1], [Define to 1 when using Windows 95 (and thus XP) compatible threads. This avoids use of features that were added in Windows Vista.]) - ;; - vista) + ], + [vista], [ AC_DEFINE([MYTHREAD_VISTA], [1], [Define to 1 when using Windows Vista compatible threads. This uses features that are not available on Windows XP.]) - ;; -esac + ] +) AM_CONDITIONAL([COND_THREADS], [test "x$enable_threads" != xno]) echo |