]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
sanity: Check if the C++ toolchain supports --std=gnu++20
authorYoann Congal <yoann.congal@smile.fr>
Thu, 20 Mar 2025 13:40:09 +0000 (14:40 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 20 Mar 2025 17:47:55 +0000 (17:47 +0000)
This is needed to build nodejs from meta-oe. Check this early to avoid
an error later in the build.

Fixes [YOCTO #15804]

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-global/sanity.bbclass

index d415611e3d8358b45ca61c8aad71dd3e1f43ba09..192582b82eccc8657e8670df7bc8a5bb8c1bc6ed 100644 (file)
@@ -804,6 +804,11 @@ def check_sanity_version_change(status, d):
     # Check if linking with lstdc++ is failing
     status.addresult(check_cpp_toolchain_flag(d, "-lstdc++"))
 
+    # Check if the C++ toochain support the "--std=gnu++20" flag
+    status.addresult(check_cpp_toolchain_flag(d, "--std=gnu++20",
+        "An error occurred during checking the C++ toolchain for '--std=gnu++20' support. "
+        "Please use a g++ compiler that supports C++20 (e.g. g++ version 10 onwards)."))
+
 def sanity_check_locale(d):
     """
     Currently bitbake switches locale to en_US.UTF-8 so check that this locale actually exists.