aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown/snippets
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2021-07-22 13:03:44 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2021-09-07 14:18:37 +0200
commit32dbdff3b2d37d1ec7ef976c0b4f30d1d0472e70 (patch)
tree9f6f7670a952b4ad59fb8f730a4d7da421e4265a /docs/markdown/snippets
parentbb70277e96c183ae3f07ecfdd11be0ee5257112e (diff)
downloadmeson-32dbdff3b2d37d1ec7ef976c0b4f30d1d0472e70.zip
meson-32dbdff3b2d37d1ec7ef976c0b4f30d1d0472e70.tar.gz
meson-32dbdff3b2d37d1ec7ef976c0b4f30d1d0472e70.tar.bz2
docs: document new behavior with respect to mixed language link tests
Diffstat (limited to 'docs/markdown/snippets')
-rw-r--r--docs/markdown/snippets/mixed_language_linker_tests.md21
1 files changed, 21 insertions, 0 deletions
diff --git a/docs/markdown/snippets/mixed_language_linker_tests.md b/docs/markdown/snippets/mixed_language_linker_tests.md
new file mode 100644
index 0000000..8b94edb
--- /dev/null
+++ b/docs/markdown/snippets/mixed_language_linker_tests.md
@@ -0,0 +1,21 @@
+== Link tests can use sources for a different compiler ==
+
+Usually, the `links` method of the compiler object uses a single program
+invocation to do both compilation and linking. Starting with this version,
+whenever the argument to `links` is a file, Meson will check if the file
+suffix matches the compiler object's language. If they do not match,
+as in the following case:
+
+```
+cxx = meson.get_compiler('cpp')
+cxx.links(files('test.c'))
+```
+
+then Meson will separate compilation and linking. In the above example
+`test.c` will be compiled with a C compiler and the resulting object file
+will be linked with a C++ compiler. This makes it possible to detect
+misconfigurations of the compilation environment, for example when the
+C++ runtime is not compatible with the one expected by the C compiler.
+
+For this reason, passing file arguments with an unrecognized suffix to
+`links` will cause a warning.