mesonbuild/meson

Compiler detection is incorrect for native LLVM/Clang install on Windows

Closed

#2,560 opened on Oct 30, 2017

 (9 comments) (2 reactions) (0 assignees)Python (1,465 forks)batch import
OS:windowscompilershelp wanted

Repository metrics

Stars
 (4,978 stars)
PR merge metrics
 (Avg merge 139d 13h) (51 merged PRs in 30d)

Description

ClangCompiler.get_soname_args assumes that Clang on Windows is running under MINGW. It then tries to generate -Wl,-soname options, which are incompatible with Clang 5.0.0.0 running natively on Windows.

CompilerArgs.to_native adds groups via -Wl,--start-group and -Wl,--end-group (as get_compiler_uses_gnuld returns true for Clang on Windows).

CCompiler.gen_import_library_args adds the -Wl,--out-implib option.

CCompiler.build_rpath_args adds the -Wl,-rpath option.

Related options -Wl,--as-needed and -Wl,--no-undefined aren't supported either, but they can be disabled via the b_asneeded and b_lundef flags, respectively.

Contributor guide