OpenBSD hints update from Todd Miller.
Jarkko Hietaniemi [Mon, 29 Apr 2002 20:07:38 +0000 (20:07 +0000)]
- old versions of OpenBSD don't have 'arch -s'
- OpenBSD 3.1 and higher don't use libdl but users may have
  and old libdl on the system so we need to avoid using it.

p4raw-id: //depot/perl@16271

hints/openbsd.sh

index 823d744..c6b6bc9 100644 (file)
@@ -30,23 +30,29 @@ d_setruid=$undef
 # it can set the libperl name appropriately.
 # Allow command line overrides.
 #
-case "`arch -s`-${osvers}" in
+ARCH=`arch | sed 's/^OpenBSD.//'`
+case "${ARCH}-${osvers}" in
 alpha-2.[0-8]|mips-*|vax-*|powerpc-2.[0-7]|m88k-*)
        test -z "$usedl" && usedl=$undef
        ;;
 *)
        test -z "$usedl" && usedl=$define
-       # we use -fPIC here because -fpic is *NOT* enough for some of the
+       # We use -fPIC here because -fpic is *NOT* enough for some of the
        # extensions like Tk on some OpenBSD platforms (ie: sparc)
        cccdlflags="-DPIC -fPIC $cccdlflags"
        case "$osvers" in
        [01].*|2.[0-7]|2.[0-7].*)
                lddlflags="-Bshareable $lddlflags"
                ;;
-       *) # from 2.8 onwards
+       2.[8-9]|3.0)
                ld=${cc:-cc}
                lddlflags="-shared -fPIC $lddlflags"
                ;;
+       *) # from 3.1 onwards
+               ld=${cc:-cc}
+               lddlflags="-shared -fPIC $lddlflags"
+               libswanted=`echo $libswanted | sed 's/ dl / /'`
+               ;;
        esac
        ;;
 esac
@@ -70,7 +76,7 @@ d_suidsafe=$define
 
 # cc is gcc so we can do better than -O
 # Allow a command-line override, such as -Doptimize=-g
-case `arch -s` in
+case ${ARCH} in
 m88k)
    optimize='-O0'
    ;;