From 8b7a24e20f345cccf407ddc9a8133d75fdc99448 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Mon, 29 Apr 2019 15:03:24 +0300 Subject: meson: Link against libc++ with compiling with clang MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit libc++ is used by Chrome OS, and likely as well by other environments based on clang. Using it by default if available when compiling with clang will help extending the compile-testing coverage. The drawback is that issues specific to clang with libstdc++ will not be caught as easily, but based on the experience with clang so far, code compiling correctly with gcc/libstdc++ has failed with clang due to either clang-specific or libc++-specific behaviour, never due only to the combination of clang with libstdc++. Signed-off-by: Laurent Pinchart Reviewed-by: Niklas Söderlund --- meson.build | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/meson.build b/meson.build index 4d3e99d3..a3b0bc82 100644 --- a/meson.build +++ b/meson.build @@ -28,8 +28,17 @@ common_arguments = [ c_arguments = common_arguments cpp_arguments = common_arguments +# Use libc++ by default if available instead of libstdc++ when compiling with +# clang. +if cc.get_id() == 'clang' and cc.find_library('libc++', required: false).found() + cpp_arguments += [ + '-stdlib=libc++', + ] +endif + add_project_arguments(c_arguments, language : 'c') add_project_arguments(cpp_arguments, language : 'cpp') +add_project_link_arguments(cpp_arguments, language : 'cpp') libcamera_includes = include_directories('include') -- cgit v1.2.1