perl5
perl5 copied to clipboard
Unbreak Perl build on legacy Darwin systems
On modern macOS the compiler defaults to '-Werror,-Wimplicit-function-declaration' This breaks the build on code which calls a function without a prototype (invalid in C99). Turning the check off with '-Wno-error=implicit-function-declaration' breaks the build of Perl itself on legacy versions of Darwin with compilers which do not recognise the flags. Removing it allows Perl to once again build on Mac OS X as old as 10.4 with GCC 4.0.1.
Resolves #18902
I see you've already made a PR for the MakeMaker part of change. This PR should be marked as not mergeable until that has been applied, released and synced back into blead.
Otherwise I approve of this change.
Moved PR into draft mode until other PR for MakeMaker is merged.
The changes to EUMM should be removed from this PR, since that will be handled separately.
Making this change, along with the EUMM change, is likely to break a number of XS modules on macOS. I agree that we should change this, but I'm not sure about the timing.
I've removed cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
Smoke test result with patched blead
Ignore the failures, I didn't bump the rev so t/porting/cmp_version.t failed, cpan/ExtUtils-MakeMaker/t/04-xs-rpath-darwin.t fails but the test shouldn't be running on Darwin 8. There is an issue with cpan/Test-Simple/t/Test2/behavior/ipc_wait_timeout.t hanging which is why the smoke test took so long. I had to run 'kill -9' several times over the past few days.
Smoke test result with patched blead
Ignore the failures, I didn't bump the rev so t/porting/cmp_version.t failed, cpan/ExtUtils-MakeMaker/t/04-xs-rpath-darwin.t fails but the test shouldn't be running on Darwin 8. There is an issue with cpan/Test-Simple/t/Test2/behavior/ipc_wait_timeout.t hanging which is why the smoke test took so long. I had to run 'kill -9' several times over the past few days.
There has been no discussion in this ticket in more than a year, and in that time the code has acquired several merge conflicts. Those will have to be resolved before we can proceed.
I'll take a look at updating over the weekend.