In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/ba95ddbf39c3f44344392750626f77d914fc5ca5?hp=09c9c44ccce7b244d267ab05e50a33742407dc60>
- Log ----------------------------------------------------------------- commit ba95ddbf39c3f44344392750626f77d914fc5ca5 Author: David Golden <dagol...@cpan.org> Date: Wed Nov 10 11:15:50 2010 -0500 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. ----------------------------------------------------------------------- Summary of changes: Configure | 30 ++++++++++++++++++++++++++++++ Porting/Glossary | 4 ++++ 2 files changed, 34 insertions(+), 0 deletions(-) diff --git a/Configure b/Configure index 7a6f63f..b73367f 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' diff --git a/Porting/Glossary b/Porting/Glossary index 68312a3..0fbac11 100644 --- a/Porting/Glossary +++ b/Porting/Glossary @@ -5018,6 +5018,10 @@ use64bitint (use64bits.U): This may mean using for example "long longs", while your memory may still be limited to 2 gigabytes. +use_versioned_archname (archname.U): + This variable indicates whether to include the $api_versionstring + as a component of the $archname. + usecrosscompile (Cross.U): This variable conditionally defines the USE_CROSS_COMPILE symbol, and indicates that Perl has been cross-compiled. -- Perl5 Master Repository