aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown/Reference-manual.md
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2017-09-29 11:52:06 -0700
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2018-09-07 11:52:15 -0700
commit51e9db370a0ebccaf220e171c3444a0f2c4e1723 (patch)
tree1636eec99faf01aeb6e08c0753fa4503fdbdbb38 /docs/markdown/Reference-manual.md
parent8ca463f9f1d432d059c12da42a18fd13b4604b57 (diff)
downloadmeson-51e9db370a0ebccaf220e171c3444a0f2c4e1723.zip
meson-51e9db370a0ebccaf220e171c3444a0f2c4e1723.tar.gz
meson-51e9db370a0ebccaf220e171c3444a0f2c4e1723.tar.bz2
Add method to check for C/C++ function attributes
It's fairly common on Linux and *BSD platforms to check for these attributes existence, so it makes sense to me to have this checking build into meson itself. Autotools also has a builtin for handling these, and by building them in we can short circuit cases that we know that these don't exist (MSVC). Additionally this adds support for two common MSVC __declspec attributes, dllimport and dllexport. This implements the declspec version (even though GCC has an __attribute__ version that both it and clang support), since GCC and Clang support the MSVC version as well. Thus it seems reasonable to assume that most projects will use the __declspec version over teh __attribute__ version.
Diffstat (limited to 'docs/markdown/Reference-manual.md')
-rw-r--r--docs/markdown/Reference-manual.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md
index e59c153..71771a5 100644
--- a/docs/markdown/Reference-manual.md
+++ b/docs/markdown/Reference-manual.md
@@ -1753,6 +1753,18 @@ the following methods:
- `version()` returns the compiler's version number as a string.
+- `has_function_attribute(name)` *(added in 0.48.0)* returns `true` if the
+ compiler supports the GNU style (`__attribute__(...)`) `name`. This is
+ preferable to manual compile checks as it may be optimized for compilers that
+ do not support such attributes.
+ [This table](Reference-tables.html#gcc-attribute-support) Lists all of the
+ supported attributes.
+
+- `get_supported_function_attributes(list_of_names)` *(added in 0.48.0)
+ returns an array containing any names that are supported GCC style
+ attributes. Equivalent to `has_function_attribute` was called on each of them
+ individually.
+
The following keyword arguments can be used:
- `args` can be used to pass a list of compiler arguments that are