develooper Front page | perl.perl5.porters | Postings from June 2012

Removing __GNUC__ / _MSC_VER games from win32/config_H.*

Thread Next
Steve Hay
June 7, 2012 06:52
Removing __GNUC__ / _MSC_VER games from win32/config_H.*
Message ID:
I'm looking at providing support on Windows for 32-bit perls with 64-bit
ints, as per Sisyphus's recent request, but done via makefile options
rather than yet more canned config files (see


As a first step I'm working towards having just one VC++ file and one
GCC file, with all variations between the existing varieties catered for
by makefile options -- e.g. removing the .gc64nox files will be easy, by
passing the GCCCROSS macro value from to config_(s)h.PL...


I would like to remove the code supporting __GNUC__ in the VC++ config
files, and the corresponding code supporting _MSC_VER in the GCC config
files to make things easier. The code was added by 465b7da985, based on
changes in ActivePerl 816, but I don't think it's working correctly
because the current build process winds up with a config.h in lib/CORE
which doesn't contain that code anyway.


What happens is that the appropriate canned config_H.* file is copied to
config.h in order to build miniperl.exe, but then miniperl.exe is used
to run config_h.PL to generate the real config.h from config_h.SH and The real config.h is then used to build perl.exe and is what
gets copied into lib/CORE for later use when building extensions, but it
doesn't contain the support for other compilers because that isn't in


From a look at ActivePerl 1402, I think this stuff is redundant now
anyway since there is handling for these things in ActivePerl\
now instead.


Anyone building perl from source themselves will presumably be able to
use the same compiler to build extensions as they used to build perl
itself, so there is no obvious need for this in the core perl distro, so
I propose removing it rather than fixing it.


Any objections?

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About