* Retarget Visual studio tool chain to v142
* add ARM64 option to wintest.bat
* add windows/arm64 target to appveyor for CI
* add arm64 targets to visual studio solutions
* add cross compile option to wintest.bat
* Fix missing SET in wintest.bat
* update auto-generation scripts for msvc and update project files
* Move `raise` code to be behind an autoconf check
This moves the call to `raise` behind a `HAVE_RAISE` autoconf check,
in addition to `__wasm__`. This is intended to help porting to
other platforms that don't support `raise` (e.g. modern game consoles).
* Add autoconf check for `sysconf`
Only try to invoke `sysconf` if the target platform supports it, and
don't warn about unknown page size if `PAGE_SIZE` was defined. Add an
include for `sys/param.h` to increase likelihood of finding `PAGE_SIZE`.
This is intended to help porting to other platforms that don't support
`sysconf` (e.g. modern game consoles) that have a fixed hardware page
size.
* Don't try to use raise & sysconf in a WASI environment
Co-authored-by: Frank Denis <124872+jedisct1@users.noreply.github.com>
The function `_sodium_runtime_intel_cpu_features` assigns some value to
its local variable `id` but never reads it. Remove this variable, which
also simplifies the `if` statement that contains the assignment.
Build .net binaries targeting the various linux platforms as a self-contained deployment, then use QEMU to run those binaries on the appropriate architecture
To explicitly release all allocated resources on shutdown on Windows, we delete the critical section on `DLL_PROCESS_DETACH`.
We do not employ any locking to avoid any potential deadlock. In case of normal
DLL unloading there is no need to, and in case of forced unloading all bets are likely off anyway.