summaryrefslogtreecommitdiff
path: root/installperl
diff options
context:
space:
mode:
authorDaniel Dragan <bulk88@hotmail.com>2016-02-18 11:15:39 +1100
committerTony Cook <tony@develop-help.com>2016-02-18 11:16:08 +1100
commit3bf323675f080fba8853d7449495011896be5673 (patch)
tree9a8c3a1922b8a6069ff5fac7b16afc3ca056ba56 /installperl
parent986b8b496d052a921ed92f9591b8adeea5dc72e4 (diff)
downloadperl-3bf323675f080fba8853d7449495011896be5673.tar.gz
[perl #127556] update installperl to new location of W32 libperl link lib
commit bf543eaf90 made the Win32 GCC or VC linkers produce [lib]perl[5xx].[a/lib] in the /lib/CORE dir to reduce the prereq recipie lines needing to run until XS modules can be built ("Extensions" which builds all DLL XS modules is the longest running target and every effort should be made for it to be started sooner by the make tool in parallel build). The file is now made in /lib/CORE, previously it was made in root and xcopy-ed to /lib/CORE in the same target that built the file. xcopy is a seperate process run so was remove in that commit. installperl doesn't use uninstalled /lib/CORE to determine the contents of installed /lib/CORE (maybe that is a bug or bad design?), so the linking lib was not being installed after a "[g/d]make install" making it impossible to compile XS code on Win32 Perl. Change installperl to look for the linking lib in /lib/CORE on Win32 and not in root. Even though the nmake makefile still does the XCOPY since it is older/less maintained, the installperl code still works since the root and /lib/CORE files are identical on the nmake build and built in the same target.
Diffstat (limited to 'installperl')
-rwxr-xr-xinstallperl9
1 files changed, 9 insertions, 0 deletions
diff --git a/installperl b/installperl
index 5ea37be9a9..f4d850be34 100755
--- a/installperl
+++ b/installperl
@@ -373,6 +373,8 @@ elsif ($Is_Cygwin) { # On Cygwin symlink it to CORE to make Makefile happy
( copy("$installbin/$libperl", $coredll) &&
push(@corefiles, $instcoredll)
)
+} elsif ($Is_W32) {
+ @corefiles = <*.h>;
} else {
# [als] hard-coded 'libperl' name... not good!
@corefiles = <*.h libperl*.* perl*$Config{lib_ext}>;
@@ -393,6 +395,13 @@ foreach my $file (@corefiles) {
}
}
+if ($Is_W32) { #linking lib isn't made in root but in CORE on Win32
+ @corefiles = <lib/CORE/libperl*.* lib/CORE/perl*$Config{lib_ext}>;
+ my $dest;
+ copy_if_diff($_,($dest = $installarchlib.substr($_,3))) &&
+ chmod($NON_SO_MODE, $dest) foreach @corefiles;
+}
+
# Install main perl executables
# Make links to ordinary names if installbin directory isn't current directory.