A new USE_HTTP define is created to indicate that an HTTP backend is
available (using either libcurl or emscripten platform).
USE_CLOUD now only builds cloud providers storage support, while
USE_SDL_NET determines if a local web server is built.
USE_LIBCURL is now only used when the feature really depends on libcurl
(that is lobby support for Scumm HE).
It's been documented on the wiki for nearly 3 years that MSVC 2015 is
the oldest MSVC release being supported.
AFAICS no-one is actively using any older version nowadays, and C++11
support in MSVC 2013 is incomplete anyway:
https://learn.microsoft.com/en-us/previous-versions/hh567368(v=vs.140)
This means that some old MSVC hacks can be dropped now (not touching
any vendored or generated code having such hacks, though).
If the engines directory contains plugins_table.h or detection_table.h
from an in-source build, when building out-of-source, these files from
the source directory were prioritized over build directory versions.
This caused issues when different plugins were enabled across builds.
The revised include order now matches the implementation in Makefile.
Regarding the `configure` script, we now have:
* default: add `-Werror=flag-name` for selected warnings where it's
important to fail early (just `-Werror=return-type` for now)
* --enable-Werror: use `-Werror` for all warnings
* --disable-Werror: don't any `-Werror` flag
For Xcode, `-Werror=return-type` is added to default flags.
For MSVC, equivalent flags have been added to the existing
`globalErrors` list.
Suggested by sluicebox.
It was removed before because the configure script declared it as a
component but the component got renamed and mt32emu is still a feature
(although not declare likewise anymore).
Apple will require a valid privacy manifest file bundled for
applications uploaded to App Store Connect.
The privacy manifest describes the privacy practices of an app,
describing the reasons of use of some core APIs that can be
misused to try to identify the device or user, also known as
fingerprinting.
Read more about which APIs that require a privacy manifest here:
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api
Add such manifest to ios7 and tvos ports and make sure they are
bundled with the app.
This is complicated to support as the Xcode project is used for MacOS
and iOS/tvOS where ImGui is not supported.
This needs to avoid building of some files in the engines in a selective
way which is not easy to achieve without hacks.