New CMake preset `cross-win-clangcl` for Ninja Multi-Config on
non-Windows hosts. Toolchain: clang-cl (MSVC-ABI), lld-link, xwin SDK/CRT
splat. Shader compilation routes through wine fxc.exe with FXC_PATH
env forwarding and unix→Windows path translation via `winepath -w`.
Plus per-file build fixes (constexpr→const, llvm-rc forward-slash,
zlib-ng AVX guard, /RTCsu MSVC-only). third_party/snappy bumped to
fabi/sylpheed-crossbuild for the target-aware POSIX-gate header.
Produces `xenia_canary.exe` (Debug MSVC) suitable for use as the
audit oracle under Wine for xenia-rs work. See
docs/CROSS_BUILD_SETUP.md for the full reproduction recipe.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The pkg_config helper for premake was not checking for errors. When it
failed to run, either when it is not installed or the queried package is
not found, a cryptic error message would be printed:
"Error: .../xenia/third_party/premake-core/src/base/string.lua:36: attempt to index a nil value (upvalue 's')"
Fix this by checking the return status when calling pkg-config and
printing a descriptive error message.
Disable Edit and Continue for test suites. Edit and Continue in MSVC
can cause the __LINE__ macro to produce invalid values, which breaks
the usability of Catch2 output on failed tests.
Use xenia-base entrypoint for test suites. Fixes a bug where we were expecting
wchar data in main, which is incorrect, causing invalid args to be parsed.
- Fix up handling of positional options in cvar handling so that executables
other than app can handle them properly.
- Fix command-line arguments for xenia-vfs-dump.
* Python 3 support
* Fix import_vs_environment in xenia-build
* Drop support for Python 2
* Fix CIs and xb.bat
* Require Python3.4+ because of Ubuntu Trusty
* popen.communicate returns bytes instead of string
* Useful info in travis
* universal_newlines should be True
* Changed shebang to python 3
* Python 3 shebang fix
* Clang python 3 shebang fix