From 16c68ee13279117e493d614088159525942bd0ac Mon Sep 17 00:00:00 2001 From: Danilo Spinella Date: Tue, 11 Feb 2020 14:38:05 +0100 Subject: [PATCH] fix(meson): Support libc++ >=9.0.0 From LLVM libc++ documentation: "Prior to LLVM 9.0, libc++ provides the implementation of the filesystem library in a separate static library." Now the filesystem library (not the experimental one) is shipped inside the libc++.so library. Check if '-lc++fs' link flag is needed and supported before adding it. --- meson.build | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index d65ee6b..b8185c2 100644 --- a/meson.build +++ b/meson.build @@ -9,6 +9,8 @@ project( ], ) +compiler = meson.get_compiler('cpp') + cpp_args = [] cpp_link_args = [] @@ -16,12 +18,13 @@ if get_option('libcxx') cpp_args += ['-stdlib=libc++'] cpp_link_args += ['-stdlib=libc++', '-lc++abi'] - cpp_link_args += ['-lc++fs'] + if compiler.has_link_argument('-lc++fs') + cpp_link_args += ['-lc++fs'] + endif else cpp_link_args += ['-lstdc++fs'] endif -compiler = meson.get_compiler('cpp') git = find_program('git', required: false) if not git.found()