- Linux now supports targeting different architecture, with architecture string matching standard target triplet, i.e. "x86_64-unknown-linux-gnu" for generic x86-64 Linux, the only supported platform at the moment.
- All Linux binaries (and other files for which this is important) are under subdirectory whose name matches the target triplet.
- UBT is modified so that architecture names aren't necessarily appended to binaries.
Also removed implicit dependency on libz in the toolchain and made it depend properly on our zlib module.
#codereview Josh.Adams, Daniel.Lamb, Michael.Trepka
[CL 2089848 by Dmitry Rekman in Main branch]
This is needed to avoid other shared objects (particularly Steam) picking them up and possibly crashing due to incorrect usage. This has already happened in the wild and the issue was reported on UDN.
Controlling visibility by attributes does not work due to those operators being defined with default visibility in system headers (same issue: http://lists.apple.com/archives/xcode-users/2006/Jan/msg00696.html)
#codereview Josh.Adams, Michael.Trepka, Daniel.Lamb
[CL 2083596 by Dmitry Rekman in Main branch]
- detect Gentoo (and in generally distros without lsb_release installed)
- explicitly disable inlining in Debug
[CL 2069002 by Dmitry Rekman in Main branch]
- New target platforms (LinuxNoEditor for client+server, LinuxClient for client, Linux for editor, LinuxServer for dedicated server - mirroring other platforms).
- Preliminary support for gcc in the toolchain (and some safe fixes in code).
- No more lowercasing when accessing files on Linux, tread carefully.
- Changes needed for native compilation and other minor improvements.
#codereview Josh.Adams, Michael.Liebenow, Steve.Robbs
[CL 2067133 by Dmitry Rekman in Main branch]