Whitespace and indentation fix in the output of B::Debug.
[p5sagit/p5-mst-13.2.git] / hints / openbsd.sh
index 8e7c4e5..23dc8ad 100644 (file)
@@ -2,7 +2,7 @@
 #
 # hints file for OpenBSD; Todd Miller <millert@openbsd.org>
 # Edited to allow Configure command-line overrides by
-#  Andy Dougherty <doughera@lafcol.lafayette.edu>
+#  Andy Dougherty <doughera@lafayette.edu>
 #
 # To build with distribution paths, use:
 #      ./Configure -des -Dopenbsd_distribution=defined
@@ -30,25 +30,35 @@ d_setruid=$undef
 # it can set the libperl name appropriately.
 # Allow command line overrides.
 #
-ARCH=`arch|sed 's/^OpenBSD.//'`
+ARCH=`arch | sed 's/^OpenBSD.//'`
 case "${ARCH}-${osvers}" in
-alpha-*|mips-*|vax-*|powerpc-2.[0-7]|m88k-*)
+alpha-2.[0-8]|mips-2.[0-8]|powerpc-2.[0-7]|m88k-*|vax-*)
        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
+
+       # We need to force ld to export symbols on ELF platforms.
+       # Without this, dlopen() is crippled.
+       ELF=`${cc:-cc} -dM -E - </dev/null | grep __ELF__`
+       test -n "$ELF" && ldflags="-Wl,-E $ldflags"
        ;;
 esac
 
@@ -71,7 +81,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" in
+case ${ARCH} in
 m88k)
    optimize='-O0'
    ;;
@@ -88,7 +98,9 @@ $define|true|[yY]*)
        # any openbsd version dependencies with pthreads?
        ccflags="-pthread $ccflags"
        ldflags="-pthread $ldflags"
+       # Add -lpthread.  Also change from -lc to -lc_r
        libswanted="$libswanted pthread"
+       libswanted=`echo " $libswanted "| sed -e 's/ c / c_r /' -e 's/^ //' -e 's/ $//'`
        # This is strange.
        usevfork="$undef"
 esac