diff options
author | Daniel Dragan <bulk88@hotmail.com> | 2016-02-18 11:15:39 +1100 |
---|---|---|
committer | Tony Cook <tony@develop-help.com> | 2016-02-18 11:16:08 +1100 |
commit | 3bf323675f080fba8853d7449495011896be5673 (patch) | |
tree | 9a8c3a1922b8a6069ff5fac7b16afc3ca056ba56 /installperl | |
parent | 986b8b496d052a921ed92f9591b8adeea5dc72e4 (diff) | |
download | perl-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-x | installperl | 9 |
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. |