This also removes the included SHA1 and MD5 implementations
in favour of those from OpenSSL.
Thanks to @jyrkive for helping to get the CMake build working and
ensuring the game still compiles with OpenSSL 1.1.0.
(The SHA_xxx() aliases were removed in OpenSSL 1.1.0.)
This is needed because the CAIRO_STATUS_INVALID_SIZE constant was added in
that version.
1.10 is old enough that this change shouldn't cause problems for anyone.
For example, Debian Wheezy (2013) has Cairo 1.12.2.
By default, TDM-GCC-64 was using -march=x86-64, which for whatever reason caused issues when compiling with -O3. This makes scons force it to use -march=pentiumpro, the same as TDM-GCC-32. This also changes the release build to use -O3 instead of -O2, which matches the release build default used by cmake and code::blocks.
Added -march=pentiumpro on Windows for -O3 build
m5
Check if LTO is enabled
Add LTO flag
Added a flag to enable/disable LTO. Also pass optimization options to the linker, since older versions of gcc may not automatically use the same options for linking and compiling, and it seems likely clang doesn't do this either.
m3
This is Chrome-only and W3C is said to be working on a portable alternative.
There is an x86-64/i686 version 1.10 of BfW on the Chrome web store. There appears to be no interest in upgrading to curret versions of NaCL and supporting the Chrome-only plugin.
These include an alternate mode of normalize_path() that enforces the
platform's preferred path delimiter (i.e. backslash on Windows) on the
output, and a function to detect whether a path refers to a root
directory.
Unfortunately, the last bit requires introducing a new link-time
dependency on Windows, against a system library. It's guaranteed to be
always there but it seems kind of a waste. The alternative would be to
hand-parse the string but that seems even more of a waste. And no,
Boost.Filesystem can't do this in a straightforward fashion right now.
Needed since 0180a72573a482683485821c8d43a82a546a86c6 introduces the
requirement of a C compiler in the building process. Otherwise we get
this from GCC 6.1.1:
cc1: error: command line option ‘-Wold-style-cast’ is valid for C++/ObjC++ but not for C [-Werror]
This adds -Wold-style-cast to the CCFLAGS when compiling everything
but lua. Lua requires an exception from the flags and there's thus a
workaround added.