Branch: refs/heads/blead
  Home:   https://github.com/Perl/perl5
  Commit: f81d6dc0beb3612e548d19e563c4259843986324
      
https://github.com/Perl/perl5/commit/f81d6dc0beb3612e548d19e563c4259843986324
  Author: bulk88 <bul...@hotmail.com>
  Date:   2025-03-21 (Fri, 21 Mar 2025)

  Changed paths:
    M win32/perllib.c
    M win32/win32.h

  Log Message:
  -----------
  small .h trick for faster win32 interp compiles

cl.exe in the terminal is much faster by eye. PERL_CORE only, since
CPAN XS assumes the built-in out the box headers/tokens/structs/linker
libs selected by p5p decades ago will never change.

Since CPAN has been caught doing "-DPERL_CORE" in the past then including
p5 core headers, include a provision to enable #include full W32 headers,
since it might be difficult to #undef then #include the OS headers a 2nd
time with different CPP defines.

"#define NONLS" too many core interp .c files need the ANSI/Wide code page
apis to special case each .c. Just leave it out for now.

A benefit is smaller .pdb or whatever GCC's dbg symbol file format is.
So faster debugger startup. Also GCC uncontrollably includes all
"#define"s in its symbol disk format (which isnt a separate file, but a
many MBs memory mapped data structure embedded into the particular .exe
or .dll, on disk, and in VM). Since Perl isn't a Win32 GUI app, keep the
GUI APIs out of the compiler if possible and toss the "text" ASAP in
the phases of compiling. Whether whole MS .h files are skipped, or CPP
discards large chunks of APIs before reaching the C parser/.obj/.pdb files,
is implementation specific behaviour by particular MSVCs and Mingw. Our
side was completed, in requesting to exclude stuff.



To unsubscribe from these emails, change your notification settings at 
https://github.com/Perl/perl5/settings/notifications

Reply via email to