From 54905df66120bda1ba5c57e9f81476817f0a8ad5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Tue, 16 Jun 1998 01:05:16 +0200 Subject: [PATCH] The FreeBSD thread check now checks __FreeBSD_version. Rev: src/configure.in:1.205 --- src/configure.in | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/src/configure.in b/src/configure.in index 087a5aede2..10111ac237 100644 --- a/src/configure.in +++ b/src/configure.in @@ -1,4 +1,4 @@ -AC_REVISION("$Id: configure.in,v 1.204 1998/06/10 19:22:11 hubbe Exp $") +AC_REVISION("$Id: configure.in,v 1.205 1998/06/15 23:05:16 grubba Exp $") AC_INIT(interpret.c) AC_CONFIG_HEADER(machine.h) @@ -795,13 +795,33 @@ int main() LIBS="${OLDLIBS}" ;; - xFreeBSD*) - case `uname -r` in - [[3-9]].*) - # Threads on FreeBSD 3.0 earlier than 1998-06-07 are broken. - LIBS="${OLDLIBS} -pthread" - ;; - esac + xFreeBSD*) + # Threads on FreeBSD earlier than 1998-06-07 are broken. + AC_MSG_CHECKING(if this version of FreeBSD may have working threads) + AC_CACHE_VAL(pike_cv_freebsd_threads, [ + AC_RUN([ +#include <osreldate.h> + +int main(int argc, char **argv) +{ + /* FreeBSD before 226001 and 300000 - 300003 have broken threads. */ + if (__FreeBSD_version < 226001) + return(1); + if (__FreeBSD_version < 300000) + return(0); + if (__FreeBSD_version < 300004) + return(1); + return(0); +} + ], pike_cv_freebsd_threads=yes, pike_cv_freebsd_threads=no, + pike_cv_freebsd_threads=yes) + ]) + if test "x$pike_cv_freebsd_threads" = "xno"; then + AC_MSG_RESULT(no) + else + AC_MSG_RESULT(yes) + LIBS="${OLDLIBS} -pthread" + fi ;; *) -- GitLab