in reply to PerlIO::Layers 0.011 fails to build in macOS 10.13.3

This is an old post, but the real problem with the standalone compile you tried to do is that you used the wrong command, because you were mislead by Module::Build. When running ./Build, it prints out a command line it is using to compile the c files, but it prints it out incorrectly. When it runs the command, it bypassed the shell, which means that the quotes it shows are actually passed along to cc. As a shell command, it would be running the equivalent of:

cc -I/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE "-DXS_V +ERSION=\"0.011\"" "-DVERSION=\"0.011\"" -c -arch x86_64 -arch i386 -g + -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protect +or -Os -o lib/PerlIO/Layers.o lib/PerlIO/Layers.c

This means that the errors you saw in your standalone compile don't reflect whatever errors there were in a normal compile of the module. Any further diagnosis would require the output of a normal ./Build.