summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xConfigure99
-rw-r--r--Porting/Glossary28
-rw-r--r--Porting/config.sh11
-rw-r--r--Porting/config_H8
-rw-r--r--config_h.SH6
-rw-r--r--perl.c6
6 files changed, 151 insertions, 7 deletions
diff --git a/Configure b/Configure
index 654312f3f5..f970e497a2 100755
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Sun Jul 25 14:54:07 EET DST 1999 [metaconfig 3.0 PL70]
+# Generated on Sun Jul 25 17:05:01 EET DST 1999 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.com)
cat >/tmp/c1$$ <<EOF
@@ -831,6 +831,13 @@ incpath=''
mips=''
mips_type=''
usrinc=''
+d_vendorlib=''
+installvendorlib=''
+vendorlib=''
+vendorlibexp=''
+usevendorprefix=''
+vendorprefix=''
+vendorprefixexp=''
defvoidused=''
voidflags=''
CONFIG=''
@@ -2375,7 +2382,7 @@ EOM
You may give one or more space-separated answers, or "none" if appropriate.
A well-behaved OS will have no hints, so answering "none" or just "Policy"
-is a good thing. DO NOT give a wrong version.
+is a good thing. DO NOT give a wrong version or a wrong OS.
EOM
@@ -4583,6 +4590,83 @@ case "$freetype" in
esac
echo "Your system uses $freetype free(), it would seem." >&4
$rm -f malloc.[co]
+$cat <<EOM
+
+The installation process will also create a directory for
+vendor-supplied add-ons. Vendors who supply perl with their system
+may find it convenient to place all vendor-supplied files in this
+directory rather than in the main distribution directory. This will
+ease upgrades between binary-compatible maintenance versions of perl.
+
+Of course you may also use these directories in whatever way you see
+fit. For example, you might use them to access modules shared over a
+company-wide network.
+
+The default answer should be fine for most people.
+This causes further questions about vendor add-ons to be skipped
+and no vendor-specific directories will be configured for perl.
+
+EOM
+rp='Do you want to configure vendor-specific add-on directories?'
+case "$usevendorprefix" in
+define|true|[yY]*) dflt=y ;;
+*) dflt=n ;;
+esac
+. ./myread
+case "$ans" in
+[yY]*) fn=d~+
+ rp='Installation prefix to use for vendor-supplied add-ons?'
+ case "$vendorprefix" in
+ '') dflt='' ;;
+ *) dflt=$vendorprefix ;;
+ esac
+ . ./getfile
+ oldvendorprefix=''
+ case "$vendorprefix" in
+ '') ;;
+ *) case "$ans" in
+ "$prefix") ;;
+ *) oldvendorprefix="$prefix";;
+ esac
+ ;;
+ esac
+ usevendorprefix="$define"
+ vendorprefix="$ans"
+ vendorprefixexp="$ansexp"
+ ;;
+*) usevendorprefix="$undef"
+ vendorprefix=''
+ vendorprefixexp=''
+ ;;
+esac
+
+case "$vendorprefix" in
+'') d_vendorlib="$undef"
+ vendorlib=''
+ vendorlibexp=''
+ ;;
+*) d_vendorlib="$define"
+ : determine where vendor-supplied modules go.
+ : Usual default is /usr/local/lib/perl5/vendor_perl
+ prog=`echo $package | $sed 's/-*[0-9.]*$//'`
+ case "$installstyle" in
+ *lib/perl5*) dflt=$vendorprefix/lib/$package/vendor_$prog ;;
+ *) dflt=$vendorprefix/lib/vendor_$prog ;;
+ esac
+ fn=d~+
+ rp='Pathname for the vendor-supplied library files?'
+ . ./getfile
+ vendorlib="$ans"
+ vendorlibexp="$ansexp"
+ : Change installation prefix, if necessary.
+ if $test X"$prefix" != X"$installprefix"; then
+ installvendorlib=`echo $vendorlibexp | $sed 's#^$prefix#$installprefix#'`
+ else
+ installvendorlib="$vendorlibexp"
+ fi
+ ;;
+esac
+
: Cruising for prototypes
echo " "
echo "Checking out function prototypes..." >&4
@@ -6243,7 +6327,7 @@ siteprefixexp="$ansexp"
: XXX No longer works with Prefixit stuff.
prog=`echo $package | $sed 's/-*[0-9.]*$//'`
case "$installstyle" in
-*lib/perl5*) dflt=$siteprefix/lib/site_$prog/ ;;
+*lib/perl5*) dflt=$siteprefix/lib/site_$prog ;;
*) dflt=$siteprefix/lib/site_$prog ;;
esac
$cat <<EOM
@@ -12694,7 +12778,7 @@ find_extensions='
done'
tdir=`pwd`
cd $rsrc/ext
-set
+set X
shift
eval $find_extensions
set X $nonxs_extensions
@@ -13304,6 +13388,7 @@ d_tzname='$d_tzname'
d_umask='$d_umask'
d_uname='$d_uname'
d_union_semun='$d_union_semun'
+d_vendorlib='$d_vendorlib'
d_vfork='$d_vfork'
d_void_closedir='$d_void_closedir'
d_voidsig='$d_voidsig'
@@ -13440,6 +13525,7 @@ installsitearch='$installsitearch'
installsitelib='$installsitelib'
installstyle='$installstyle'
installusrbinperl='$installusrbinperl'
+installvendorlib='$installvendorlib'
intsize='$intsize'
known_extensions='$known_extensions'
ksh='$ksh'
@@ -13622,9 +13708,14 @@ usesfio='$usesfio'
useshrplib='$useshrplib'
usesocks='$usesocks'
usethreads='$usethreads'
+usevendorprefix='$usevendorprefix'
usevfork='$usevfork'
usrinc='$usrinc'
uuname='$uuname'
+vendorlib='$vendorlib'
+vendorlibexp='$vendorlibexp'
+vendorprefix='$vendorprefix'
+vendorprefixexp='$vendorprefixexp'
version='$version'
vi='$vi'
voidflags='$voidflags'
diff --git a/Porting/Glossary b/Porting/Glossary
index 2ae9369e19..4f1cbf4d19 100644
--- a/Porting/Glossary
+++ b/Porting/Glossary
@@ -1526,6 +1526,9 @@ d_union_semun (d_union_semun.U):
This variable conditionally defines HAS_UNION_SEMUN if the
union semun is defined by including <sys/sem.h>.
+d_vendorlib (vendorlib.U):
+ This variable conditionally defines PERL_VENDORLIB.
+
d_vfork (d_vfork.U):
This variable conditionally defines the HAS_VFORK symbol, which
indicates the vfork() routine is available.
@@ -2170,6 +2173,11 @@ installusrbinperl (instubperl.U):
/usr/bin/perl in addition to
$installbin/perl
+installvendorlib (vendorlib.U):
+ This variable is really the same as vendorlibexp but may differ on
+ those systems using AFS. For extra portability, only this variable
+ should be used in makefiles.
+
intsize (intsize.U):
This variable contains the value of the INTSIZE symbol, which
indicates to the C program how many bytes there are in an int.
@@ -3086,6 +3094,26 @@ uuname (Loc.U):
This variable is defined but not used by Configure.
The value is a plain '' and is not useful.
+vendorlib (vendorlib.U):
+ This variable contains the eventual value of the VENDORLIB symbol,
+ which is the name of the private library for this package. It may
+ have a ~ on the front. It is up to the makefile to eventually create
+ this directory while performing installation (with ~ substitution).
+ Vendors who distribute perl binaries may place their own
+ extensions and modules in this directory.
+
+vendorlibexp (vendorlib.U):
+ This variable is the ~name expanded version of vendorlib, so that you
+ may use it directly in Makefiles or shell scripts.
+
+vendorprefix (vendorprefix.U):
+ This variable holds the full absolute path of the directory below
+ which the vendor will install add-on packages.
+
+vendorprefixexp (vendorprefix.U):
+ This variable holds the full absolute path of the directory below
+ which the vendor will install add-on packages. Derived from vendorprefix.
+
version (patchlevel.U):
The full version number of this package. This combines
baserev, patchlevel, and subversion to get the full
diff --git a/Porting/config.sh b/Porting/config.sh
index 70998a1ecf..40e1301b6c 100644
--- a/Porting/config.sh
+++ b/Porting/config.sh
@@ -8,7 +8,7 @@
# Package name : perl5
# Source directory : .
-# Configuration time: Sun Jul 25 14:08:44 EET DST 1999
+# Configuration time: Sun Jul 25 17:08:22 EET DST 1999
# Configured by : jhi
# Target system : osf1 alpha.hut.fi v4.0 878 alpha
@@ -55,7 +55,7 @@ ccflags='-pthread -std -DLANGUAGE_C'
ccsymbols='__LANGUAGE_C__=1 _LONGLONG=1 LANGUAGE_C=1 SYSTYPE_BSD=1'
cf_by='jhi'
cf_email='yourname@yourhost.yourplace.com'
-cf_time='Sun Jul 25 14:08:44 EET DST 1999'
+cf_time='Sun Jul 25 17:08:22 EET DST 1999'
chgrp=''
chmod=''
chown=''
@@ -358,6 +358,7 @@ d_tzname='define'
d_umask='define'
d_uname='define'
d_union_semun='undef'
+d_vendorlib='undef'
d_vfork='undef'
d_void_closedir='undef'
d_voidsig='define'
@@ -494,6 +495,7 @@ installsitearch='/opt/perl/lib/site_perl/5.00557/alpha-dec_osf-thread'
installsitelib='/opt/perl/lib/site_perl'
installstyle='lib'
installusrbinperl='define'
+installvendorlib=''
intsize='4'
known_extensions='B ByteLoader DB_File Data/Dumper Devel/DProf Devel/Peek Fcntl GDBM_File IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Thread attrs re'
ksh=''
@@ -676,9 +678,14 @@ usesfio='false'
useshrplib='true'
usesocks='undef'
usethreads='define'
+usevendorprefix='undef'
usevfork='false'
usrinc='/usr/include'
uuname=''
+vendorlib=''
+vendorlibexp=''
+vendorprefix=''
+vendorprefixexp=''
version='5.00557'
vi=''
voidflags='15'
diff --git a/Porting/config_H b/Porting/config_H
index 4ee9f7820c..43de61d7ed 100644
--- a/Porting/config_H
+++ b/Porting/config_H
@@ -17,7 +17,7 @@
/*
* Package name : perl5
* Source directory : .
- * Configuration time: Sun Jul 25 14:08:44 EET DST 1999
+ * Configuration time: Sun Jul 25 17:08:22 EET DST 1999
* Configured by : jhi
* Target system : osf1 alpha.hut.fi v4.0 878 alpha
*/
@@ -1488,6 +1488,12 @@
#define SITELIB "/opt/perl/lib/site_perl" /**/
#define SITELIB_EXP "/opt/perl/lib/site_perl" /**/
+/* PERL_VENDORLIB_EXP:
+ * This symbol contains the ~name expanded version of VENDORLIB, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/*#define PERL_VENDORLIB_EXP "" / **/
+
/* OSNAME:
* This symbol contains the name of the operating system, as determined
* by Configure. You shouldn't rely on it too much; the specific
diff --git a/config_h.SH b/config_h.SH
index 6108e7182a..405f896697 100644
--- a/config_h.SH
+++ b/config_h.SH
@@ -1502,6 +1502,12 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un-
#define SITELIB "$sitelib" /**/
#define SITELIB_EXP "$sitelibexp" /**/
+/* PERL_VENDORLIB_EXP:
+ * This symbol contains the ~name expanded version of VENDORLIB, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#$d_vendorlib PERL_VENDORLIB_EXP "$vendorlibexp" /**/
+
/* OSNAME:
* This symbol contains the name of the operating system, as determined
* by Configure. You shouldn't rely on it too much; the specific
diff --git a/perl.c b/perl.c
index 23aec9705e..b90bc7ba14 100644
--- a/perl.c
+++ b/perl.c
@@ -2768,6 +2768,12 @@ S_init_perllib(pTHX)
#else
incpush(SITELIB_EXP, FALSE);
#endif
+#if defined(PERL_VENDORLIB_EXP)
+#if defined(WIN32)
+ incpush(PERLVENDORLIB_EXP, TRUE);
+#else
+ incpush(PERL_VENDORLIB_EXP, FALSE);
+#endif
#endif
if (!PL_tainting)
incpush(".", FALSE);