Auto merge of #1410 - emilio:unbreak-osx-stuff, r=emilio

Puts blocks behind a switch.

Since #1378 broke a bunch of OSX builds.

Most people don't care about them and they're in some OSX system headers which
means that this could break normal C and C++ stuff.

This introduces --generate-block / generate_block to generate these signatures,
and adds tests so that this is getting tested.