Browse Source

perl: added patch to fix the build of a shared libperl

stable/0.6
Christian Wiese 12 years ago
parent
commit
0efdd00e0b
  1. 78
      perl/perl/perl-5.16.0-cross-0.7-make-shared-lib.patch

78
perl/perl/perl-5.16.0-cross-0.7-make-shared-lib.patch

@ -0,0 +1,78 @@
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# Filename: package/.../perl/perl-5.16.0-cross-0.7-make-shared-lib.patch
# Copyright (C) 2012 The OpenSDE Project
#
# More information can be found in the files COPYING and README.
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
# --- SDE-COPYRIGHT-NOTE-END ---
Description: Add a 'shared-lib" make target
When using the perl cross patchset from http://perlcross.berlios.de/
the build flag -Duseshrplib doesn't seem to be honored.
This is a workaround adding a 'shared-lib' make target which can be
can be used to build a shared libperl.
diff --git a/Makefile b/Makefile
index 273102b..3b017a4 100644
--- a/Makefile
+++ b/Makefile
@@ -162,6 +162,11 @@ libperl$a: op$o perl$o $(obj) $(dynaloader_o)
$(AR) cru $@ $(filter %.o,$^)
$(RANLIB) $@
+shared-lib: libperl.$(so).$(ver_major).$(ver_minor).$(ver_micro)
+
+libperl.$(so).$(ver_major).$(ver_minor).$(ver_micro): op$o perl$o $(obj) $(dynaloader_o)
+ $(CC) -shared $(filter %.o,$^) -o $@
+
perl.o: git_version.h
preplibrary: miniperl$X $(CONFIGPM) lib/re.pm
diff --git a/Makefile.config.SH b/Makefile.config.SH
index ddf4680..47e1df2 100755
--- a/Makefile.config.SH
+++ b/Makefile.config.SH
@@ -147,5 +147,9 @@ if [ "$disabledmods" == 'define' ]; then
cat >> Makefile.config << END
disabled_dynamic_ext=$disabled_dynamic_ext
disabled_nonxs_ext=$disabled_nonxs_ext
+
+ver_major=$PERL_REVISION
+ver_minor=$PERL_VERSION
+ver_micro=$PERL_SUBVERSION
END
fi
diff --git a/Makefile.config.SH b/Makefile.config.SH
index 47e1df2..e2783df 100755
--- a/Makefile.config.SH
+++ b/Makefile.config.SH
@@ -116,6 +116,7 @@ o = $_o
x = $_exe
O = $_o
X = $_exe
+so = $dlext
dynaloader = $dynaloader
END
diff --git a/Makefile b/Makefile
index 3b017a4..1ee1cd7 100644
--- a/Makefile
+++ b/Makefile
@@ -165,7 +165,7 @@ libperl$a: op$o perl$o $(obj) $(dynaloader_o)
shared-lib: libperl.$(so).$(ver_major).$(ver_minor).$(ver_micro)
libperl.$(so).$(ver_major).$(ver_minor).$(ver_micro): op$o perl$o $(obj) $(dynaloader_o)
- $(CC) -shared $(filter %.o,$^) -o $@
+ $(CC) -shared -fPIC $(LDFLAGS) $(filter %.o,$^) -o $@
perl.o: git_version.h
Loading…
Cancel
Save