This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Clarify functioning of '||' operator.
[perl5.git] / hints / openbsd.sh
index f13091d..6c366ec 100644 (file)
@@ -8,12 +8,8 @@
 #      ./Configure -des -Dopenbsd_distribution=defined
 #
 
-# In OpenBSD > 3.7, use perl's malloc [perl #75742]
-case "$osvers" in
-3.[89]*|[4-9]*)
-    test "$usemymalloc" || usemymalloc=y
-    ;;
-esac
+# OpenBSD has a better malloc than perl...
+test "$usemymalloc" || usemymalloc='n'
 
 # malloc wrap works
 case "$usemallocwrap" in
@@ -44,7 +40,7 @@ esac
 #
 ARCH=`arch | sed 's/^OpenBSD.//'`
 case "${ARCH}-${osvers}" in
-alpha-2.[0-8]|mips-2.[0-8]|powerpc-2.[0-7]|m88k-*|hppa-*|vax-*)
+alpha-2.[0-8]|mips-2.[0-8]|powerpc-2.[0-7]|m88k-[2-4].*|m88k-5.[0-2]|hppa-3.[0-5]|vax-*)
        test -z "$usedl" && usedl=$undef
        ;;
 *)
@@ -93,12 +89,12 @@ d_suidsafe=$define
 
 # cc is gcc so we can do better than -O
 # Allow a command-line override, such as -Doptimize=-g
-case ${ARCH} in
-m88k)
-   optimize='-O0'
+case "${ARCH}-${osvers}" in
+hppa-3.3|m88k-2.*|m88k-3.[0-3])
+   test "$optimize" || optimize='-O0'
    ;;
-hppa)
-   optimize='-O0'
+m88k-3.4)
+   test "$optimize" || optimize='-O1'
    ;;
 *)
    test "$optimize" || optimize='-O2'
@@ -123,71 +119,12 @@ $define|true|[yY]*)
        esac
        case "$osvers" in
        [012].*|3.[0-6])
-               # Broken at least up to OpenBSD 3.6, we'll see about 3.7
+               # Broken up to OpenBSD 3.6, fixed in OpenBSD 3.7
                d_getservbyname_r=$undef ;;
        esac
 esac
 EOCBU
 
-# This script UU/use64bitint.cbu will get 'called-back' by Configure 
-# after it has prompted the user for whether to use 64-bitness.
-cat > UU/use64bitint.cbu <<'EOCBU'
-case "$use64bitint" in
-$define|true|[yY]*)
-       echo " "
-       echo "Checking if your C library has broken 64-bit functions..." >&4
-       $cat >check.c <<EOCP
-#include <stdio.h>
-typedef $uquadtype myULL;
-int main (void)
-{
-    struct {
-       double d;
-       myULL  u;
-    } *p, test[] = {
-       {4294967303.15, 4294967303ULL},
-       {4294967294.2,  4294967294ULL},
-       {4294967295.7,  4294967295ULL},
-       {0.0, 0ULL}
-    };
-    for (p = test; p->u; p++) {
-       myULL x = (myULL)p->d;
-       if (x != p->u) {
-           printf("buggy\n");
-           return 0;
-       }
-    }
-    printf("ok\n");
-    return 0;
-}
-EOCP
-       set check
-       if eval $compile_ok; then
-           libcquad=`./check`
-           echo "Your C library's 64-bit functions are $libcquad."
-       else
-           echo "(I can't seem to compile the test program.)"
-           echo "Assuming that your C library's 64-bit functions are ok."
-           libcquad="ok"
-       fi
-       $rm -f check.c check
-
-       case "$libcquad" in
-           buggy*)
-               cat >&4 <<EOM
-
-*** You have a C library with broken 64-bit functions.
-*** 64-bit support does not work reliably in this configuration.
-*** Please rerun Configure without -Duse64bitint and/or -Dusemorebits.
-*** Cannot continue, aborting.
-
-EOM
-               exit 1
-               ;;
-       esac
-esac
-EOCBU
-
 # When building in the OpenBSD tree we use different paths
 # This is only part of the story, the rest comes from config.over
 case "$openbsd_distribution" in