I'm having trouble building boost under Cygwin. I've installed the 64 bit version of Cygwin and all programs are compiled as 64 bit. 

Yet, for some reason, the header ./boost/python/detail/wrap_python.hpp defines SIZEOF_LONG to be 4 when __CYGWIN__ is defined, which is only valid for a 32-bit system. This signals an error check in a python header, and the build fails. 

Why does this #define exist? Can we get rid of it?

More info here:
http://stackoverflow.com/questions/29004590/compiling-boost-on-cygwin-headers-disagree-on-32-64-bit