summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorjlam <jlam>2001-10-02 06:37:55 +0000
committerjlam <jlam>2001-10-02 06:37:55 +0000
commit766d4672dc195a9659ef8e4abfae637fa2465f2b (patch)
tree8261d3b29aeaaf436cdfb6bbe590e453c618f1e3 /lang
parent289d4f8e610a4f77b7e11686bc14a4c2ac9bd031 (diff)
downloadpkgsrc-766d4672dc195a9659ef8e4abfae637fa2465f2b.tar.gz
Teach the ExtUtils modules (the ones that create Makefiles for perl
modules) about -Wl,-R. We cause -Wl,-R/path/to/libdir in LIBS settings to now get propagated correctly to the link command for shared modules. The rpath flag is also silently coerced to start with -Wl,-R or -R depending on the contents of ${LDDLFLAGS} to deal with either cc or ld being invoked.
Diffstat (limited to 'lang')
-rw-r--r--lang/perl5/distinfo3
-rw-r--r--lang/perl5/patches/patch-af35
2 files changed, 37 insertions, 1 deletions
diff --git a/lang/perl5/distinfo b/lang/perl5/distinfo
index fd5b2c55397..3ad4cbb5360 100644
--- a/lang/perl5/distinfo
+++ b/lang/perl5/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.6 2001/10/01 07:05:11 jlam Exp $
+$NetBSD: distinfo,v 1.7 2001/10/02 06:37:55 jlam Exp $
SHA1 (perl-5.6.1.tar.gz) = c718b38685f90d51a9a6b1b008de0d7d198c0744
Size (perl-5.6.1.tar.gz) = 5983695 bytes
@@ -7,3 +7,4 @@ SHA1 (patch-ab) = f5fb048313fd3e80dd7ad06fc4def1cbb7f0e209
SHA1 (patch-ac) = dfebafeec171c86de3d6105e5543270a30f82691
SHA1 (patch-ad) = 7a3ca903d958026473f593fdeb172f86f2ef66d2
SHA1 (patch-ae) = 677797f38279b7602fc5bbac8ee80c0e09f6e285
+SHA1 (patch-af) = 94d91fba0731c9ee43b3e544f81cc9367a75a77c
diff --git a/lang/perl5/patches/patch-af b/lang/perl5/patches/patch-af
new file mode 100644
index 00000000000..b205006e87d
--- /dev/null
+++ b/lang/perl5/patches/patch-af
@@ -0,0 +1,35 @@
+$NetBSD: patch-af,v 1.11 2001/10/02 06:37:56 jlam Exp $
+
+--- lib/ExtUtils/Liblist.pm.orig Thu Feb 22 21:57:55 2001
++++ lib/ExtUtils/Liblist.pm
+@@ -68,20 +68,28 @@
+ foreach $thislib (split ' ', $potential_libs){
+
+ # Handle possible linker path arguments.
+- if ($thislib =~ s/^(-[LR])//){ # save path flag type
++ if ($thislib =~ s/^(-[LR]|-Wl,-R)//){ # save path flag type
+ my($ptype) = $1;
+ unless (-d $thislib){
+ warn "$ptype$thislib ignored, directory does not exist\n"
+ if $verbose;
+ next;
+ }
++ my($rtype) = $ptype;
++ if (($ptype eq '-R') or ($ptype eq '-Wl,-R')) {
++ if ($Config{'lddlflags'} =~ /-Wl,-R/) {
++ $rtype = '-Wl,-R';
++ } elsif ($Config{'lddlflags'} =~ /-R/) {
++ $rtype = '-R';
++ }
++ }
+ unless ($self->file_name_is_absolute($thislib)) {
+ warn "Warning: $ptype$thislib changed to $ptype$pwd/$thislib\n";
+ $thislib = $self->catdir($pwd,$thislib);
+ }
+ push(@searchpath, $thislib);
+ push(@extralibs, "$ptype$thislib");
+- push(@ldloadlibs, "$ptype$thislib");
++ push(@ldloadlibs, "$rtype$thislib");
+ next;
+ }
+