summaryrefslogtreecommitdiff
path: root/Configure
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-05-16 10:00:55 +0000
committerNicholas Clark <nick@ccl4.org>2006-05-16 10:00:55 +0000
commitd0e36aa98afbfc3010e3967466f74fb90a5f87db (patch)
tree1a446155dfced3c29bf19979cdc7825ddbb2026f /Configure
parent89b4f0ad099d4e64724f226448952d6442fa0c51 (diff)
downloadperl-d0e36aa98afbfc3010e3967466f74fb90a5f87db.tar.gz
Take advantage of the bug that binexp ignores the Configure
installprefix, by using initialinstalllocation rather than binexp to determine the #! line for installed scripts. This way they are at least correct initially for a relocatable @INC perl, rather than starting as .../../bin/perl p4raw-id: //depot/perl@28202
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure19
1 files changed, 12 insertions, 7 deletions
diff --git a/Configure b/Configure
index a4b4887fc7..72045a3443 100755
--- a/Configure
+++ b/Configure
@@ -6046,6 +6046,8 @@ if $test "X$ansexp" != "X$binexp"; then
fi
prefixvar=bin
: XXX Bug? -- ignores Configure -Dinstallprefix setting.
+: XXX If this is fixed, also fix the "start perl" hunk below, which relies on
+: this via initialinstalllocation
. ./setprefixvar
case "$userelocatableinc" in
@@ -8567,6 +8569,9 @@ case "$versiononly" in
esac
: figure out how to guarantee perl startup
+: XXX Note that this currently takes advantage of the bug that binexp ignores
+: the Configure -Dinstallprefix setting, which in turn means that under
+: relocatable @INC, initialinstalllocation is what binexp started as.
case "$startperl" in
'')
case "$sharpbang" in
@@ -8576,13 +8581,13 @@ case "$startperl" in
I can use the #! construct to start perl on your system. This will
make startup of perl scripts faster, but may cause problems if you
want to share those scripts and perl is not in a standard place
-($binexp/perl) on all your platforms. The alternative is to force
+($initialinstalllocation/perl) on all your platforms. The alternative is to force
a shell by starting the script with a single ':' character.
EOH
case "$versiononly" in
- "$define") dflt="$binexp/perl$version";;
- *) dflt="$binexp/perl";;
+ "$define") dflt="$initialinstalllocation/perl$version";;
+ *) dflt="$initialinstalllocation/perl";;
esac
rp='What shall I put after the #! to start up perl ("none" to not use #!)?'
. ./myread
@@ -8611,8 +8616,8 @@ echo "I'll use $startperl to start perl scripts."
case "$perlpath" in
'')
case "$versiononly" in
- "$define") perlpath="$binexp/perl$version";;
- *) perlpath="$binexp/perl";;
+ "$define") perlpath="$initialinstalllocation/perl$version";;
+ *) perlpath="$initialinstalllocation/perl";;
esac
case "$startperl" in
*!*) ;;
@@ -8622,10 +8627,10 @@ case "$perlpath" in
I will use the "eval 'exec'" idiom to start Perl on your system.
I can use the full path of your Perl binary for this purpose, but
doing so may cause problems if you want to share those scripts and
-Perl is not always in a standard place ($binexp/perl).
+Perl is not always in a standard place ($initialinstalllocation/perl).
EOH
- dflt="$binexp/perl"
+ dflt="$initialinstalllocation/perl"
rp="What path shall I use in \"eval 'exec'\"?"
. ./myread
perlpath="$ans"