inspircd/inspircd — pull request #320 by ChrisTX (2012-10-07 12:23:35+00:00)
Title: Windows: In-depth cleanup (see details)

This became a bit huge, so I'll detail what it does here:

- Fix x64 builds for Windows. Now all configurations compile.
- Remove the non-working rebase stuff.
- Remove the Windows fork hack and instead use FreeConsole() to emulate the behavior. This directly allows us to compile with ASLR, which is turned on now.
- Remove the old GUI IPC mechanism. This is not needed anymore.
- Remove the WIN32/WINDOWS macros. _WIN32 is supported on all x86-based VC++ targets, so that's what we need.
- Enable optimizations for release builds.
- De-duplicate printf_c(), it was previously copy-pasted into colors.h for configure
- Add the VC++ specific bad files in .gitignore
- Disable PID writing on Windows. This is only making sense for *nix builds.
- Replace the CPU usage retrieval with an algorithm analogous to the *nix behavior. Also supports separated now/total values. (Tested with a dummy busy loop - seems working)
- Removed certain unused functions and variables
- Replaced random/srandom with inline functions instead of exports, so this doesn't add overhead
- Remove stdint defines from the windows wrapper
- Remove CRT debug alloc. This is a bad idea as it would define a macro to replace free which breaks builds.
- Re-evaluated the warnings list, commented it.

I don't think this will break anything since I've carefully tested it, but considering the size/amount of the changes, this should be reviewed by somebody else in a thorough manner.