summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChip Salzenberg <chip@pobox.com>1999-04-13 04:29:08 +0000
committerchip <chip@pobox.com>1999-04-13 04:29:08 +0000
commit6cf2d14eb05443ce5dc89721901a9fb5196e0cf3 (patch)
tree3195cfc0d4fa7fa370f011b950311d00e17c23b3
parent2ab182e9d108554d83a7c55d956f23c876dad745 (diff)
downloadperl-6cf2d14eb05443ce5dc89721901a9fb5196e0cf3.tar.gz
New config variable $ignore_versioned_solibs, for Linux.
p4raw-id: //depot/maint-5.004/perl@3247
-rwxr-xr-xConfigure7
-rw-r--r--hints/linux.sh21
2 files changed, 27 insertions, 1 deletions
diff --git a/Configure b/Configure
index 595e63822b..fa7de06535 100755
--- a/Configure
+++ b/Configure
@@ -552,6 +552,7 @@ libpth=''
loclibpth=''
plibpth=''
xlibpth=''
+ignore_versioned_solibs=''
libs=''
lns=''
lseektype=''
@@ -731,6 +732,8 @@ groupstype=''
i_whoami=''
: default library list
libswanted=''
+: some systems want only to use the non-versioned libso:s
+ignore_versioned_solibs=''
: set useposix=false in your hint file to disable the POSIX extension.
useposix=true
: set useopcode=false in your hint file to disable the Opcode extension.
@@ -3401,7 +3404,8 @@ case "$libswanted" in
esac
for thislib in $libswanted; do
- if xxx=`./loc lib$thislib.$so.[0-9]'*' X $libpth`; $test -f "$xxx"; then
+ if xxx=`./loc lib$thislib.$so.[0-9]'*' X $libpth`;
+ $test -f "$xxx" -a "X$ignore_versioned_solibs" = "X"; then
echo "Found -l$thislib (shared)."
case " $dflt " in
*"-l$thislib "*);;
@@ -10579,6 +10583,7 @@ i_values='$i_values'
i_varargs='$i_varargs'
i_varhdr='$i_varhdr'
i_vfork='$i_vfork'
+ignore_versioned_solibs='$ignore_versioned_solibs'
incpath='$incpath'
inews='$inews'
installarchlib='$installarchlib'
diff --git a/hints/linux.sh b/hints/linux.sh
index b01f8415dd..7861c12b76 100644
--- a/hints/linux.sh
+++ b/hints/linux.sh
@@ -18,6 +18,27 @@
# No version of Linux supports setuid scripts.
d_suidsafe='undef'
+# Debian and Red Hat, and perhaps other vendors, provide both runtime and
+# development packages for some libraries. The runtime packages contain shared
+# libraries with version information in their names (e.g., libgdbm.so.1.7.3);
+# the development packages supplement this with versionless shared libraries
+# (e.g., libgdbm.so).
+#
+# If you want to link against such a library, you must install the development
+# version of the package.
+#
+# These packages use a -dev naming convention in both Debian and Red Hat:
+# libgdbmg1 (non-development version of GNU libc 2-linked GDBM library)
+# libgdbmg1-dev (development version of GNU libc 2-linked GDBM library)
+# So make sure that for any libraries you wish to link Perl with under
+# Debian or Red Hat you have the -dev packages installed.
+#
+# Some operating systems (e.g., Solaris 2.6) will link to a versioned shared
+# library implicitly. For example, on Solaris, `ld foo.o -lgdbm' will find an
+# appropriate version of libgdbm, if one is available; Linux, however, doesn't
+# do the implicit mapping.
+ignore_versioned_solibs='y'
+
# perl goes into the /usr tree. See the Filesystem Standard
# available via anonymous FTP at tsx-11.mit.edu in
# /pub/linux/docs/linux-standards/fsstnd.