summaryrefslogtreecommitdiff
path: root/Configure
diff options
context:
space:
mode:
authorDavid Golden <dagolden@cpan.org>2010-11-10 11:15:50 -0500
committerDavid Golden <dagolden@cpan.org>2013-02-05 10:29:58 -0500
commitba95ddbf39c3f44344392750626f77d914fc5ca5 (patch)
tree294feec2cda4cc10ef944d3604e3e96c2f02846c /Configure
parent09c9c44ccce7b244d267ab05e50a33742407dc60 (diff)
downloadperl-ba95ddbf39c3f44344392750626f77d914fc5ca5.tar.gz
Add use_versioned_archname to Configure
This patch adds 'use_versioned_archname' as a Configure option. When set, it includes 'api_versionstring' in 'archname'. E.g. x86_64-linux-5.13.6-thread-multi. It is unset by default. This feature was requested by Tim Bunce, who observed that INSTALL_BASE creates a library structure that does not differentiate by perl version. Instead, it places architecture specific files in "$install_base/lib/perl5/$archname". This makes it difficult to use a common INSTALL_BASE library path with multiple versions of perl. By setting -Duse_versioned_archname, the $archname will be distinct for architecture *and* API version, allowing mixed use of INSTALL_BASE. This patch demonstrates the desired effect for discussion. Actual changes would need to be made upstream in metaconfig and integrated back into blead.
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure30
1 files changed, 30 insertions, 0 deletions
diff --git a/Configure b/Configure
index 7a6f63f25f..b73367fa10 100755
--- a/Configure
+++ b/Configure
@@ -330,6 +330,7 @@ archlib=''
archlibexp=''
d_archlib=''
installarchlib=''
+use_versioned_archname=''
archname=''
myarchname=''
d_atolf=''
@@ -6017,6 +6018,34 @@ esac
rp='What is your architecture name'
. ./myread
archname="$ans"
+
+: optionally add api version to the architecture for versioned archlibs
+case "$use_versioned_archname" in
+$define|true|[yY]*) dflt='y';;
+*) dflt='n';;
+esac
+rp='Add the Perl API version to your archname?'
+. ./myread
+case "$ans" in
+y|Y) val="$define" ;;
+*) val="$undef" ;;
+esac
+set use_versioned_archname
+eval $setvar
+case "$use_versioned_archname" in
+$define)
+ case "$archname" in
+ *-$api_versionstring)
+ echo "...and architecture name already has -$api_versionstring" >&4
+ ;;
+ *)
+ archname="$archname-$api_versionstring"
+ echo "...setting architecture name to $archname." >&4
+ ;;
+ esac
+ ;;
+esac
+
case "$usethreads" in
$define)
echo "Threads selected." >&4
@@ -23859,6 +23888,7 @@ usesitecustomize='$usesitecustomize'
usesocks='$usesocks'
usethreads='$usethreads'
usevendorprefix='$usevendorprefix'
+use_versioned_archname='$use_versioned_archname'
usevfork='$usevfork'
usrinc='$usrinc'
uuname='$uuname'