summaryrefslogtreecommitdiff
path: root/docs/markdown/snippets/compiler-object-run_command.md
diff options
context:
space:
mode:
authorEvgenii Shatokhin <eugene.shatokhin@rosalab.ru>2018-02-25 16:02:10 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2018-03-06 21:07:16 +0200
commit19718a8d9c5cb6d9ac2c2cbb5459178906a3a007 (patch)
tree60ae3fa4084c7ffe0f1b8c97d5ab58b80c2cf509 /docs/markdown/snippets/compiler-object-run_command.md
parent048508c989081f8bcf54d76f5b13138cc3f47738 (diff)
downloadmeson-19718a8d9c5cb6d9ac2c2cbb5459178906a3a007.tar.gz
Allow passing a compiler object to run_command()
Sometimes it is needed to run the current compiler with specific options not to compile a file but rather to obtain additional info. For example, GCC has several -print-* options to query it about the paths to different libraries and development files. One use case is to get the location of development files for GCC plugins, which is not easily obtainable by other means: gcc -print-file-name=plugin For this purpose, it would be convenient if the compiler object returned by meson.get_compiler(lang) could be used in run_command() directly. This commit implements it. Signed-off-by: Evgenii Shatokhin <eshatokhin@virtuozzo.com>
Diffstat (limited to 'docs/markdown/snippets/compiler-object-run_command.md')
-rw-r--r--docs/markdown/snippets/compiler-object-run_command.md10
1 files changed, 10 insertions, 0 deletions
diff --git a/docs/markdown/snippets/compiler-object-run_command.md b/docs/markdown/snippets/compiler-object-run_command.md
new file mode 100644
index 000000000..0308416e5
--- /dev/null
+++ b/docs/markdown/snippets/compiler-object-run_command.md
@@ -0,0 +1,10 @@
+## Compiler object can now be passed to run_command()
+
+This can be used to run the current compiler with the specified arguments
+to obtain additional information from it.
+One of the use cases is to get the location of development files for the
+GCC plugins:
+
+ cc = meson.get_compiler('c')
+ result = run_command(cc, '-print-file-name=plugin')
+ plugin_dev_path = result.stdout().strip()