setup: avoid linker warnings on Windows about multiple export specifications
The PyMODINIT_FUNC macro contains __declspec(dllexport), and then the build
process adds an "/EXPORT func" to the command line. The 64-bit linker flags
this [1].
Everything except zstd.c and bser.c are covered by redefining the macro in
util.h [2]. These modules aren't built with util.h in the #include path, so the
redefining hack would have to be open coded two more times.
After seeing that extra_linker_flags didn't work, I couldn't find anything
authoritative indicating why, though I did see an offhand comment on SO that
CFLAGS is also ignored on Windows. I also don't fully understand the
interaction between msvccompiler and msvc9compiler- I first subclassed the
latter, but it isn't used when building with VS2008.
I know the camelcase naming isn't the standard, but the HackedMingw32CCompiler
class above it was introduced 5 years ago (and I think the current style was
in place by then), so I assume that there's some reason for it.
[1] https://support.microsoft.com/en-us/help/835326/you-receive-an-lnk4197-error-in-the-64-bit-version-of-the-visual-c-compiler
[2] https://bugs.python.org/issue9709#msg120859
body {
background: black url('background.png') repeat-x;
}
.container {
padding-left: 0;
padding-right: 150px;
}
.main {
padding: 2em;
border-right: 15px solid black;
border-bottom: 15px solid black;
}
.menu {
background: #999;
padding: 10px;
width: 75px;
position: fixed;
top: 27px;
left: auto;
right: 27px;
}
.menu ul {
border-left: 0;
}
.menu li.active {
font-weight: normal;
background: black;
color: white;
}
.menu li.active a {
color: white;
}
h3 {
margin-top: -.7em;
}
div.description {
border-left-width: 3px;
}