* Made it a bit easier to cross-compile for x86-64 or i686 on an AArch64
Windows system.
* Choose the default native recompiler back-end based on predefined
macros rather than requiring the build scripts to set it.
* Don't require every target without a native recompiler to declare
this.
* Got rid of the code that was supposed to set -m32 or -m64 when
building GENie (it didn't work - it tried to use ARCHITECTURE before
setting it).
* Avoid relying on the unreliable PROCESSOR_ARCHITECTURE environment
variable.
* Got rid of stuff for versions of Xcode that are definitely no longer
supported.
* Got rid of workarounds for very old Linux distros.
* Use newer makefile syntax for if/else/if structures, comment some else
and endif statements for clarity.
Attempt to enable SSE features explicitly specified in ARCHOPTS. It
will still fall back to SSE 2 if you just use -march= to enable later
SSE features.
* Build all native back-ends if any native back-end is enabled so errors
caused by changing interfaces can be found faster.
* cpu/drcbeut.cpp: Moved resolved member function stuff to a place where
it can be shared by back-ends.
* cpu/drcbearm64.cpp: Use ubfx instruction to extract unordered flag.
* cpu/drcbearm64.cpp, cpu/drcbex64.cpp: Bypass trampolines when calling
get map variable value and debugger instruction hook functions.
* cpu/drcbearm64.cpp: Moved some internal helpers that don't need to be
members to anonymous namespace.
* cpu/drcbearm64.cpp: Added a comment with some info to help when
debugging generated code.
* cpu/drcbec.cpp: Put code in the drc namespace.
- Update to Softloat 3 from 2
- FREM and FMOD now generate the quotient bits in FPSR, required by Apple's SANE to do sin/cos/tan properly.
- FMOVE of a float to a Dx integer register generates the exception status bits, fixing square roots in SANE
- Rewrote how FMOVEM instructions are decoded and executed, fixing issues including skipping too few or too many
opcode bytes and causing serious weird behavior.
- FPU instructions all now have more realistic cycle timings for a 68881.
- All FPU instructions now generate exception bits in FPSR.
3rdparty/softfloat3: Updates [R. Belmont]
- Softfloat3 was always being built for a big-endian host, causing incorrect math on LE x64 and AArch64 machines.
- Fixed up Softfloat3 to build properly as part of MAME and up-ported the Bochs extensions. In latest Bochs, they
were only partially up-ported and Softfloat3 had been hacked up to be more like 2; here they're fixed to work
with stock Softfloat3.
Up-to-date with revision 24c8d575e588d557d28f4011becb753421346860. Resolves issues building with Visual Studio.
Enabled PortAudio when building with Visual Studio and clang-cl.
docs: Removed note about duplicate GUID symbols in PortAudio when built with MSVC.
This removes the need to force it to build as C++, and adds proper UTF-8
support for Windows.
Since this is a fork of linenoise, there's no hope for getting
lua-linenoise to sync with it upstream. I made the bare minimum changes
to keep it working, but didn't add bindings for new functionality (e.g.
multi-line editing).
Compile Lua as C++. When Lua is compiled as C, it uses setjmp/longjmp
for error handling, resulting in failure to unwind intermediate stack
frames. Trying to ensure no objects with non-trivial destructors are in
scope when raising a Lua error is error-prone. In particular,
converting an exception to a Lua error becomes convoluted, and raising a
Lua error from a constructor is effectively impossible.
Updated Lua to 5.4.4 - this includes a brand-new garbage collector
implementation with better performance. The main thing removed is the
deprecated bitlib.
Updated sol2 to version 3.3.0 - this adds support for Lua 5.4 and fixes
a number of issues, including not correctly handling errors when Lua is
built as C++.
Updated LuaFileSystem to version 1.8.0 - this adds support for symbolic
links on Windows, as well as Lua 5.4 compatibility.
Updated LuaSQLite3 to version 0.9.5 - this fixes issues in
multi-threaded environments, as well as Lua 5.4 compatibility.
Fixed double-free after attempting to construct a debugger expression
from Lua with an invalid string, and exposed expression error to Lua in
a better way.
Added warning level print function to Lua.
Fixed saving cheats with shift operators in expressions, although this
code isn't actually used as there's no cheat editor.
* Removed SDL2 source.
* Updated gradle.
* Updated SDL2 Java support glue code.
* Increased minimum supported Android API version to 24.
* Updated required asset files for Android app.
* Added proper tag for Android logging.
* Added SDL2 hint to make BGFX work on Android.