bb.utils.remove(stamp + "*")
bb.utils.remove(workdir, recurse = True)
+def check_cpp_toolchain(d):
+ """
+ it checks if the c++ compiling and linking to libstdc++ works properly in the native system
+ """
+ import shlex
+ import subprocess
+
+ cpp_code = """
+ #include <iostream>
+ int main() {
+ std::cout << "Hello, World!" << std::endl;
+ return 0;
+ }
+ """
+
+ cmd = shlex.split(d.getVar("BUILD_CXX")) + ["-x", "c++","-", "-o", "/dev/null", "-lstdc++"]
+ try:
+ subprocess.run(cmd, input=cpp_code, capture_output=True, text=True, check=True)
+ return None
+ except subprocess.CalledProcessError as e:
+ return f"An unexpected issue occurred during the C++ toolchain check: {str(e)}"
+
def sanity_handle_abichanges(status, d):
#
# Check the 'ABI' of TMPDIR
# macOS with default HFS+ file system)
status.addresult(check_case_sensitive(tmpdir, "TMPDIR"))
+ # Check if linking with lstdc++ is failing
+ status.addresult(check_cpp_toolchain(d))
+
def sanity_check_locale(d):
"""
Currently bitbake switches locale to en_US.UTF-8 so check that this locale actually exists.