Skip to content
Snippets Groups Projects
Commit c371d45e authored by Simon Coggins's avatar Simon Coggins Committed by Henrik (Grubba) Grubbström
Browse files

Added pthread support for FreeBSD 3.0 and later.

Thanks to Simon Coggins <chaos@oz.org>.

Rev: src/configure.in:1.200
parent c4d4682f
No related branches found
No related tags found
No related merge requests found
AC_REVISION("$Id: configure.in,v 1.199 1998/06/06 12:43:11 grubba Exp $") AC_REVISION("$Id: configure.in,v 1.200 1998/06/07 11:56:45 grubba Exp $")
AC_INIT(interpret.c) AC_INIT(interpret.c)
AC_CONFIG_HEADER(machine.h) AC_CONFIG_HEADER(machine.h)
...@@ -292,7 +292,7 @@ if test $cflags_is_set = no; then ...@@ -292,7 +292,7 @@ if test $cflags_is_set = no; then
# OSF/1 # OSF/1
AC_SYS_OS_COMPILER_FLAG(OSF1,-fast,fast,OPTIMIZE) AC_SYS_OS_COMPILER_FLAG(OSF1,-fast,fast,OPTIMIZE)
# The need for -ieee is not detected properly by the FPE tests below. # The need for -ieee is not detected properly by the FPE tests below.
AC_SYS_OS_COMPILER_FLAG(OSF1,-ieee,ieee,CFLAGS) # AC_SYS_OS_COMPILER_FLAG(OSF1,-ieee,ieee,CFLAGS)
AC_SYS_OS_COMPILER_FLAG(OSF1,-readonly_strings,readonly_strings,OPTIMIZE) AC_SYS_OS_COMPILER_FLAG(OSF1,-readonly_strings,readonly_strings,OPTIMIZE)
AC_SYS_OS_COMPILER_FLAG(OSF1,-assume trusted_short_alignment, AC_SYS_OS_COMPILER_FLAG(OSF1,-assume trusted_short_alignment,
assume_trusted_short_alignment,OPTIMIZE) assume_trusted_short_alignment,OPTIMIZE)
...@@ -794,6 +794,15 @@ int main() ...@@ -794,6 +794,15 @@ int main()
LIBS="${OLDLIBS}" 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
;;
*) *)
LIBS="${OLDLIBS} -lpthread" LIBS="${OLDLIBS} -lpthread"
;; ;;
...@@ -1573,11 +1582,17 @@ AC_CACHE_VAL(pike_cv_sys_idiot_sigfpe, ...@@ -1573,11 +1582,17 @@ AC_CACHE_VAL(pike_cv_sys_idiot_sigfpe,
AC_TRY_RUN([ AC_TRY_RUN([
#include <math.h> #include <math.h>
float foo_float = 0.0;
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
float x=2.0,y=-128.0; float x=2.0, y=-128.0;
x=pow(2.0,-128.0); x = pow(2.0, -128.0);
if(x==3.0) exit(1); foo_float = x;
if (x == 2.0) exit(1);
x = pow(2.0, 1024.0);
foo_float = x;
if(x == 2.0) exit(1);
exit(0); exit(0);
} }
],pike_cv_sys_idiot_sigfpe=no,pike_cv_sys_idiot_sigfpe=yes) ],pike_cv_sys_idiot_sigfpe=no,pike_cv_sys_idiot_sigfpe=yes)
...@@ -1586,36 +1601,43 @@ int main(int argc, char **argv) ...@@ -1586,36 +1601,43 @@ int main(int argc, char **argv)
if test $pike_cv_sys_idiot_sigfpe = yes ; then if test $pike_cv_sys_idiot_sigfpe = yes ; then
AC_MSG_RESULT(yes) AC_MSG_RESULT(yes)
IEEE_FLAG=no IEEE_FLAG=no
if test "x${GCC-}" = xyes ; then if test "x${GCC-}" = xyes ; then
AC_SYS_COMPILER_FLAG(-mieee, mieee, CFLAGS,[],IEEE_FLAG=yes) AC_SYS_COMPILER_FLAG(-mieee, mieee, CFLAGS,[],IEEE_FLAG=yes)
else else
AC_SYS_COMPILER_FLAG(-ieee, ieee, CFLAGS,[],IEEE_FLAG=yes) AC_SYS_COMPILER_FLAG(-ieee, ieee, CFLAGS,[],IEEE_FLAG=yes)
fi fi
TEST_IGNORE_SIGFPE=yes TEST_IGNORE_SIGFPE=yes
if test $IEEE_FLAG = yes; then if test $IEEE_FLAG = yes; then
AC_CACHE_VAL(pike_cv_sys_idiot_sigfpe_with_ieee, AC_MSG_CHECKING(if float conversion is still broken)
AC_CACHE_VAL(pike_cv_sys_idiot_sigfpe_with_ieee,
[ [
AC_TRY_RUN([ AC_TRY_RUN([
#include <math.h> #include <math.h>
float foo_float = 0.0;
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
float x=2.0, y=-128.0;
float x=2.0,y=-128.0; x = pow(2.0, -128.0);
x=pow(2.0,-128.0); foo_float = x;
if(x==3.0) exit(1); if (x == 2.0) exit(1);
x = pow(2.0, 1024.0);
foo_float = x;
if(x == 2.0) exit(1);
exit(0); exit(0);
} }
],pike_cv_sys_idiot_sigfpe_with_ieee=no,pike_cv_sys_idiot_sigfpe_with_ieee=yes) ],pike_cv_sys_idiot_sigfpe_with_ieee=no,pike_cv_sys_idiot_sigfpe_with_ieee=yes)
]) ])
if test $pike_cv_sys_idiot_sigfpe_with_ieee = yes ; then if test $pike_cv_sys_idiot_sigfpe_with_ieee = yes ; then
AC_MSG_RESULT(yes) AC_MSG_RESULT(yes)
else else
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
TEST_IGNORE_SIGFPE=no TEST_IGNORE_SIGFPE=no
fi fi
fi # IEEE_FLAG fi # IEEE_FLAG
if test $TEST_IGNORE_SIGFPE = yes; then if test $TEST_IGNORE_SIGFPE = yes; then
...@@ -1631,12 +1653,18 @@ RETSIGTYPE func(void) ...@@ -1631,12 +1653,18 @@ RETSIGTYPE func(void)
signal(SIGFPE,func); signal(SIGFPE,func);
} }
float foo_float = 0.0;
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
float x=2.0,y=-128.0; float x=2.0, y=-128.0;
signal(SIGFPE,func); signal(SIGFPE,func);
x=pow(2.0,-128.0); x = pow(2.0, -128.0);
if(x==3.0) exit(1); foo_float = x;
if (x == 2.0) exit(1);
x = pow(2.0, 1024.0);
foo_float = x;
if(x == 2.0) exit(1);
exit(0); exit(0);
} }
],pike_cv_sys_ignore_sigfpe=yes,pike_cv_sys_ignore_sigfpe=no) ],pike_cv_sys_ignore_sigfpe=yes,pike_cv_sys_ignore_sigfpe=no)
...@@ -2305,6 +2333,7 @@ echo "LINKFORSHARED: $LINKFORSHARED" ...@@ -2305,6 +2333,7 @@ echo "LINKFORSHARED: $LINKFORSHARED"
echo "WARN: $WARN" echo "WARN: $WARN"
echo "OPTIMIZE: $OPTIMIZE" echo "OPTIMIZE: $OPTIMIZE"
echo "LDFLAGS: $LDFLAGS" echo "LDFLAGS: $LDFLAGS"
echo "LIBS: $LIBS"
echo echo
############################################################################# #############################################################################
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment