Visual C Compiler compatibility

Visual C won't compile as the setup file uses gcc specific command line
arguments and some gcc constructs are not supported in microsoft
compiler.

python-xxhash.c:
- Python type initialization requires NULL to break circular reference
- Compiler command line preprocessor definition needs to be explicitely
converted to string

setup.py:
- now uses os.name to determine the platform type
Visual C 2008 Compiler compatibility

Visual C 2008 is still commonly used to compile python distribution, but
it has only limited supports for C99.  This patch corrects the following
compiler errors:

running install
running bdist_egg
running egg_info
writing xxhash.egg-info\PKG-INFO
writing top-level names to xxhash.egg-info\top_level.txt
writing dependency_links to xxhash.egg-info\dependency_links.txt
reading manifest file 'xxhash.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'xxhash.egg-info\SOURCES.txt'
installing library code to build\bdist.win32\egg
running install_lib
running build_ext
building 'xxhash' extension
C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo
/Ox /MD /W3 /GS- /DNDEBUG -IC:\Python27\include -IC:\Python27\PC
/Tcpython-xxhash.c /
Fobuild\temp.win32-2.7\Release\python-xxhash.obj
python-xxhash.c
python-xxhash.c(99) : error C2275: 'PYXXH32Object' : illegal use of this
type as an expression
python-xxhash.c(84) : see declaration of 'PYXXH32Object'
python-xxhash.c(99) : error C2065: 'self' : undeclared identifier
python-xxhash.c(100) : error C2065: 'self' : undeclared identifier
python-xxhash.c(210) : error C2275: 'PYXXH64Object' : illegal use of
this type as an expression
python-xxhash.c(195) : see declaration of 'PYXXH64Object'
python-xxhash.c(210) : error C2065: 'self' : undeclared identifier
python-xxhash.c(211) : error C2065: 'self' : undeclared identifier
python-xxhash.c(370) : error C2143: syntax error : missing ';' before
'type'
python-xxhash.c(372) : error C2065: 'st' : undeclared identifier
python-xxhash.c(372) : error C2223: left of '->error' must point to
struct/union
python-xxhash.c(374) : error C2065: 'st' : undeclared identifier
python-xxhash.c(374) : error C2223: left of '->error' must point to
struct/union
error: command '"C:\Program Files\Microsoft Visual Studio
9.0\VC\BIN\cl.exe"' failed with exit status 2

Thanks you.
Command line macro definition

Use distutils define_macros instead of using extra_compile_args for
command line macro definition
Command line macro definition patch

Found this recipe: http://stackoverflow.com/a/10791845
should now work for gcc as well. Here is the output on window:
In [1]: import xxhash

In [2]: xxhash.VERSION
Out[2]: '0.1.0'

In [3]: xxhash.XXHASH_VERSION
Out[3]: 'r35'
Merge pull request #3 from sfgagnon/master

Visual C Compiler compatibility