compile error after re-running Configure since AmigaOS merge
authorH.Merijn Brand - Tux <h.m.brand@xs4all.nl>
Thu, 21 Apr 2016 13:24:30 +0000 (15:24 +0200)
committerH.Merijn Brand - Tux <h.m.brand@xs4all.nl>
Thu, 21 Apr 2016 13:24:30 +0000 (15:24 +0200)
Backport of b44694539e922b1078113e05f80651c9eedd5d37
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date:   Thu Oct 15 08:39:42 2015 -0400

    rt.perl.org 126152 compile error after re-running Configure since AmigaOS merge

    Configure /proc issues, honor d_procselfexe and procselfexe hints.

U/perl/d_procselfexe.U

index 16e3bb8..cb6e5cc 100644 (file)
@@ -1,5 +1,5 @@
 ?MAKE:d_procselfexe procselfexe: \
-       Oldconfig Setvar rm ls contains issymlink d_readlink
+       Oldconfig Setvar rm ls contains issymlink d_readlink test
 ?MAKE: -pick add $@ %<
 ?S:d_procselfexe:
 ?S:    Defined if $procselfexe is symlink to the absolute
 ?H:.
 ?T:try type
 ?LINT: set d_procselfexe
-: Check if exe is symlink to abs path of executing program
+: Check if there is a /proc symlink to the abs path of
+: the executing program.  We will honor hints of d_procselfexe=$undef
+: or procselfexe being non-empty, otherwise will try to determine both
+: if we have readlink.
+: AmigaOS will attempt to mount proc: aka /proc, if /proc/... is
+: referenced, and AmigaOS does not have a proc filesystem anyway.
 echo " "
-procselfexe=''
 val="$undef"
-case "$d_procselfexe" in
-'') case "$d_readlink" in
-    "$define")
-       : NetBSD first as /proc/self is a symlink to /proc/curproc, and it feels
-       : more tidy to avoid an extra level of symlink
+if $test "X$d_procselfexe" = Xundef; then
+       procselfexe=''
+elif $test "X$procselfexe" != X -a "X$procselfexe" != 'X '; then
+       val="$define"
+elif $test "X$d_readlink" = Xdefine; then
+        : NetBSD first as /proc/self is a symlink to /proc/curproc,
+        : and it feels more tidy to avoid an extra level of symlink
        set NetBSD /proc/curproc/exe Linux /proc/self/exe FreeBSD /proc/curproc/file Solaris /proc/self/path/a.out
        while test $# -gt 0; do
            type=$1; try=$2
@@ -50,11 +56,8 @@ case "$d_procselfexe" in
                fi
            fi
        done
-       ;;
-    esac
-    $rm -f reflect
-    set d_procselfexe
-    eval $setvar
-;;
-esac
+fi
+$rm -f reflect
+set d_procselfexe
+eval $setvar