CPP guard on dirty hack
need empty header for non-Mac systems
_GNU_SOURCE defined if missing since we need it in sched.h
add warnings and additional macros for GCC

GCC defines uppercase on BGQ, which is contrary to
http://sourceforge.net/p/predef/

warn for all targets so i know what is going on