Branch: Tag:

1998-06-07

1998-06-07 11:56:45 by Simon Coggins <simon@oz.org>

Added pthread support for FreeBSD 3.0 and later.
Thanks to Simon Coggins <chaos@oz.org>.

Rev: src/configure.in:1.200

1: - 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_CONFIG_HEADER(machine.h)   
292:    # OSF/1    AC_SYS_OS_COMPILER_FLAG(OSF1,-fast,fast,OPTIMIZE)    # 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,-assume trusted_short_alignment,    assume_trusted_short_alignment,OPTIMIZE)
794:    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"    ;;
1573:    AC_TRY_RUN([   #include <math.h>    + float foo_float = 0.0; +    int main(int argc, char **argv)   { -  float x=2.0,y=-128.0; -  x=pow(2.0,-128.0); -  if(x==3.0) exit(1); +  float x=2.0, y=-128.0; +  x = pow(2.0, -128.0); +  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);   }   ],pike_cv_sys_idiot_sigfpe=no,pike_cv_sys_idiot_sigfpe=yes)
1595:    TEST_IGNORE_SIGFPE=yes       if test $IEEE_FLAG = yes; then +  AC_MSG_CHECKING(if float conversion is still broken)    AC_CACHE_VAL(pike_cv_sys_idiot_sigfpe_with_ieee,   [    AC_TRY_RUN([   #include <math.h> -  +  + float foo_float = 0.0; +    int main(int argc, char **argv)   { -  -  float x=2.0,y=-128.0; -  x=pow(2.0,-128.0); -  if(x==3.0) exit(1); +  float x=2.0, y=-128.0; +  x = pow(2.0, -128.0); +  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);   }   ],pike_cv_sys_idiot_sigfpe_with_ieee=no,pike_cv_sys_idiot_sigfpe_with_ieee=yes)
1631:    signal(SIGFPE,func);   }    + float foo_float = 0.0; +    int main(int argc, char **argv)   { -  float x=2.0,y=-128.0; +  float x=2.0, y=-128.0;    signal(SIGFPE,func); -  x=pow(2.0,-128.0); -  if(x==3.0) exit(1); +  x = pow(2.0, -128.0); +  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);   }   ],pike_cv_sys_ignore_sigfpe=yes,pike_cv_sys_ignore_sigfpe=no)
2305:   echo "WARN: $WARN"   echo "OPTIMIZE: $OPTIMIZE"   echo "LDFLAGS: $LDFLAGS" + echo "LIBS: $LIBS"   echo      #############################################################################