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