mesonbuild/meson

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

Open

#2,560 opened on Oct 30, 2017

View on GitHub
 (9 comments) (2 reactions) (0 assignees)Python (4,978 stars) (1,465 forks)batch import
OS:windowscompilershelp wanted

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