Ran deheader and removed a bunch of extraneous includes. This only improves compilation speed on gcc by about 7% (at least for me), but I like the extra cleanliness and it shouldn't hurt.
Normalize file modes to 0644 for all .cpp/.h files
Added Visual Studio 2010 build files (libtommath/libtomcrypt appear to work, no guarantees about StepMania-net2010 just yet.)
Re-add headers that Windows complains about not having for one reason or another
Pull in libtommath/libtomcrypt with preprocessing pragmas for now
Fix a few Windows compilation errors (VS2k10 fixups in arch_setup, typo in Crash)
Add shell script to pull versioning info from Git on Windows and generate a "verinfo" header, then pull it into ProductInfo. This will cause Windows builds to fail until a call to this script is added.
Add a bunch of build file artefacts to gitignore
Add Release-SSE2 configurations (with SSE2 heuristic optimisation) to libtommath/libtomcrypt
Fix up a bunch of Windows build issues:
- Remove iButton vcproj; it's less hassle to integrate it into the main build
- Remove "VersionSVN" boolean from verinc.c
- Move verstub.cpp to pre-link, add git verinfo.h to pre-build
- Reinstate VersionNumber/VersionTime for Windows builds
- Make OpenITG explicitly dependent on libtomcrypt/libtommath
Patch Windows macros in arch_setup.h so we don't have to define a bunch of them on the command line
Fix up LTC macro inclusions: don't pull in tab files or algorithms unless we're actually using them
LTC: add cursory guards against unfilled modular dependencies (for code we hit...)
LTC: include only what we want. This results in a ~500 KB drop in binary size.
Fix up LTC/LTM project files:
- LTC: De-specialise aes.c build (unsure why it was specialised, but it should be fine as part of the lib)
- LTC: Re-included previously excluded tab files, since we can now remove them programmatically
- Set TargetName to "tomcrypt" across all builds
- Macro-itized most previously hardcoded paths
- Removed unnecessary macros from the preprocessor includes; they're added to tomcrypt_custom.h now
- Allow multiprocessor compilation
- Force compile as C code and disable C++ exceptions
- Define "WITH_SSE2" for SSE2 heuristically-optimised builds
Workaround for DEBUG not defined on Windows FastDebug builds
OpenITG VS2k10 project file tweaks:
- Remove "Release-arcade"; it's not meaningful here, since ITG_ARCADE allows for RoXoR drive fixups
- "Release-home" -> "Release", "Release-home-SSE2" -> "Release-SSE2"
- Set target names appropriately for each build type ("OpenITG", "OpenITG-SSE2", "OpenITG-debug", etc.)
- Don't include precompiled header for iButton code; it mucks with partial rebuilds
- When optimising, favor fast code over small code
- Deprecate DShow support (this rev excludes MovieTexture_DShow and the BaseClasses filter)
Pull in the SSE2-specific LTC/LTM libs for SSE2 builds (again, this is a hack -- need to find a better method)
Miscellaneous fixes for stuff that broke in Linux
Minor fixups for autotools: use older aclocal options for arcade chroot, override chroot's Git revision date with the current date if we can't get YYYY-MM-DD