This adds Lua hooks to CryptManager for libtomcrypt's SHA256 hash
function. It follows along with the C++ patterns Glenn wrote a decade
and a half ago for CryptMananger's MD5 and SHA1 hooks.
StepMania's CMakeProject-tomcrypt file has been updated to build with
sha256 symbols. Invoking cmake to build with system tomcrypt works fine
as-is.
Note that these functions return binary formatted strings, but themers
can convert to hexadecimal format using the global Lua function
BinaryToHex().
On Linux when building this under RPM, RPM insisted on linking in
standard system libraries like libpng, libjpeg-turbo, libGLEW,
Lua, etc. This patch causes all dependencies to be statically
compiled into the binary, which is ideal as the alternative is
segfaulting because of incompatible library changes.
StepMania also uses a modified Lua library which exports functions
that don't exist in any standard Lua library, so there's no easy
way around this.
tl-dr: view the Build directory to see.
This is intended to replace the project files that we presently maintain
so that only a single set is needed instead of multiples.
The following setups were used for testing:
* Windows 8 and Visual Studio 2013 Desktop Express
* Windows 7 and Visual Studio 2012
* Mac OS X Mavericks and Xcode
* Ubuntu and makefiles
* Fedora 21 and makefiles
All three operating systems can generate projects, compile, link, and
run. Windows and Mac OS X users will find their compiled binary in the
same location as before, but Linux users will be surprised: it goes
straight into the root directory, along with a symlinked GtkModules.so
as appropriate. There is no more need for a manual symlinking step.
Known issues:
* At this time, MinGW likely does not work. Extra time will be needed.
* The WITH_JPEG option may go away, and we'll just always require it.
* Some linux libraries can use the system equivalents, but that is not up yet.
For more information, check out the Build directory.