Ported sfml-pi DRM/KMS backend written by @mickelson
Port co-authored by @substring
Co-authored-by: Andrew Mickelson <andrew.mickelson@gmail.com>
Co-authored-by: Gil Delescluse <frog2wah@gmail.com>
The existing dependencies in the extlibs directory
have been updated to use universal frameworks
for both x86_64 and arm64, allowing SFML to built
natively on the new M1 chipset
Closes#1711 - race condition on stbi_failure_reason()
This does not only avoid the race condition on the failure string itself, but also makes failure state thread-local, meaning that each string will be correctly associated with the last image it failed to load.
This should improve the signing process of Mac Applications.
This improves the frameworks of external dependencies used by SFML. To
patch sfml-*.framework, one would need to customised the
`MACOSX_FRAMEWORK_INFO_PLIST` cmake property and provide a custom
Info.plist file with CFBundleSupportedPlatforms property set. See
https://cmake.org/cmake/help/latest/prop_tgt/FRAMEWORK.html
This is however not required (probably) if one used dylibs instead.
Related to #1020 and #1036. Credits go to @kipbits.
- Replaced @executable_path by @rpath for more flexibility
- Updated freetype and sndfile libs as follow:
install_name_tool -id "@rpath/../Frameworks/freetype.framework/Versions/A/freetype" freetype
install_name_tool -id "@rpath/../Frameworks/sndfile.framework/Versions/A/sndfile" sndfile
A current limitation prevents one library from depending on shared libraries.
As we have legal issues here (LGPL wants us to use shared libs of OpenAL-Soft and libsndfile), we're forced to use this homemade native activity which will manually load our shared libraries.
External libraries are compiled with the latest NDK version (r9) with android-9 as API level using the recommended flags (see docs/).
External libraries are now compiled without the so version suffix because the NDK strips it at install time.
Static libraries of libsndfile and OpenAL-Soft have been removed because of their non-permissive license. It now uses their shared libraries.
NOTE: The audio module is disabled on MIPS arches because I was unable to compile OpenAL-Soft. Once the compilation issue fixed, I'll re-enable it.