RFC 8 (resource embedding) follow-up: update requirements to C23 when generally availability of it
"RFC-8: Embedding resource files into libproj" has a dual mode to embed resources: a C23 solution using #embed preprocessor directive, and a fallback CMake-based script otherwise.
So when we require C23 (if I understand well https://proj.org/en/9.5/community/rfc/rfc-3.html, that would mean 2 iterations of the C standard after C23 ... ?!? Not sure the C standard will iterate so much), we can drop the CMake based solution.
In a more practical sense, we should probably consider it sometimes 2 to 4 years after the last major compiler has support for it, which will be MSVC (given that clang 19.1 has now been released, and gcc 15 should likely be released somewhere april/may 2025), where there is no announced plan yet.
Hi, I checked the current status of C23 #embed support in compilers:
• Clang 19.1 – supports C23 #embed.
• GCC – C23 support expected in GCC 15 (planned for mid-2025).
• MSVC – no official announcement yet, and current MSVC documentation does not mention #embed support.
Sharing this update so we can track when it becomes feasible to drop the CMake fallback. Let me know if I can help test CI or document the current fallback behavior.