From 3bf323675f080fba8853d7449495011896be5673 Mon Sep 17 00:00:00 2001 From: Daniel Dragan Date: Thu, 18 Feb 2016 11:15:39 +1100 Subject: [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. --- installperl | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'installperl') 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 = ; + 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. -- cgit v1.2.1