develooper Front page | perl.perl5.porters | Postings from February 2018

[perl #128438] [Win32] 5.25.2 fails to build in ListUtil.xs

From:
bulk88 via RT
Date:
February 18, 2018 17:13
Subject:
[perl #128438] [Win32] 5.25.2 fails to build in ListUtil.xs
Message ID:
rt-4.0.24-23699-1518973952-1567.128438-15-0@perl.org
On Wed, 27 Jul 2016 21:47:22 -0700, tonyc wrote:
> 
> I've applied my original patch that re-instates building ppport.h as
> 8657e86b4fb3c8cf23a0c23b7093dda2e79b462b.
> 
> Tony

In june 2016/july 2016 https://perl5.git.perl.org/perl.git/8657e86b4fb3c8cf23a0c23b7093dda2e79b462b was commited which added back making a real ppport.h for win32 Perl. Around that time, I submitted https://github.com/Dual-Life/Scalar-List-Utils/pull/47 but it took 6 months before the maintainer merged it (Dec 2016). That new SLU with the -DUSE_PPPORT_H was merged to blead in June 2017 https://perl5.git.perl.org/perl.git/5e99e069f583949fb8ac93b20100ac8054a66d3a so commit "(perl #128438) build ppport.h instead of using a dummy file" which was made as an emergency fix can now be reverted now . My problem with reinstating full ppport.h is now perl52*.dll is rebuilt/recompiled every time make is called on that dep.

I ran "C:\perl521\src\win32>dmake -P2  CCTYPE=MSVC70 ..\perl527.dll" once then ran it again.
----------------------------
C:\perl521\src\win32>dmake -P2  CCTYPE=MSVC70 ..\perl527.dll
..\miniperl.exe -I..\lib ..\mkppport
running "C:\perl521\src\miniperl.exe" -I..\..\lib PPPort_pm.PL
including ppphdoc
including ppphbin
including version
including threads
including limits
including uv
including memory
including magic
including misc
including format
including mess
including variables
including mPUSH
including call
including newRV
including newCONSTSUB
including MY_CXT
including SvREFCNT
including newSV_type
including newSVpv
including SvPV
including Sv_set
including sv_xpvf
including shared_pv
including HvNAME
including gv
including warn
including pvs
including cop
including grok
including snprintf
including sprintf
including exception
including strlfuncs
including pv_tools
running "C:\perl521\src\miniperl.exe" -I..\..\lib ppport_h.PL
ppport.h in cpan/DB_File is up-to-date
ppport.h in cpan/IPC-SysV is up-to-date
ppport.h in cpan/Scalar-List-Utils is up-to-date
ppport.h in cpan/Win32API-File is up-to-date
ppport.h in dist/PathTools is up-to-date
ppport.h in dist/Time-HiRes is up-to-date
removing temporary file PPPort.pm
removing temporary file ppport.h
..\miniperl.exe -I..\lib ..\make_ext.pl "MAKE=dmake" --dir=..\cpan --dir=..\dist
 --dir=..\ext --static
..\miniperl.exe -I..\lib list_static_libs.pl > Extensions_static
link -dll -out:..\perl527.dll -subsystem:console -nologo -nodefaultlib -debug -o
pt:ref,icf -ltcg                -libpath:"c:\perl\lib\CORE"             -machine
:x86 \
            @Extensions_static \
            @C:\WINDOWS\TEMP\mk2
if exist ..\perl527.dll.manifest mt -nologo -manifest ..\perl527.dll.manifest -o
utputresource:..\perl527.dll;2 &&                 if exist ..\perl527.dll.manife
st del ..\perl527.dll.manifest
Generating code
Finished generating code

C:\perl521\src\win32>
--------------------------------------------------

So working on core takes more time on rebuilds. If I revert "(perl #128438) build ppport.h instead of using a dummy file" perl52*.dll isn't rebuilt.
--------------------------------------------------
C:\perl521\src\win32>gmake   CCTYPE=MSVC70 ..\perl527.dll
..\miniperl.exe -I..\lib ..\make_ext.pl "MAKE=gmake" --dir=..\ext --dir=..\dist
--dynaloader lib
gmake[1]: Entering directory 'C:/perl521/src/dist/lib'
gmake[1]: Leaving directory 'C:/perl521/src/dist/lib'
gmake[1]: Entering directory 'C:/perl521/src/ext/DynaLoader'
gmake[1]: Leaving directory 'C:/perl521/src/ext/DynaLoader'

C:\perl521\src\win32>
----------------------------------------------

Problem is that psuedo target "MakePPPort" can't be satisfied on disk which means all dependents will reexecute/rebuild every time. The old way I had it with a fake ppport.h made libperl satisfiable on disk.

I think this ticket should be reopened. Or do I just submit a revert patch now that an updated SLU is in blead?


-- 
bulk88 ~ bulk88 at hotmail.com

---
via perlbug:  queue: perl5 status: resolved
https://rt.perl.org/Ticket/Display.html?id=128438



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About