The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
895 B
30 lines
895 B
7 years ago
|
## Helper methods added for checking GNU style attributes: __attribute__(...)
|
||
|
|
||
|
A set of new helpers have been added to the C and C++ compiler objects for
|
||
|
checking GNU style function attributes. These are not just simpler to use, they
|
||
|
may be optimized to return fast on compilers that don't support these
|
||
|
attributes. Currently this is true for MSVC.
|
||
|
|
||
|
```meson
|
||
|
cc = meson.get_compiler('c')
|
||
|
if cc.has_function_attribute('aligned')
|
||
|
add_project_arguments('-DHAVE_ALIGNED', language : 'c')
|
||
|
endif
|
||
|
```
|
||
|
|
||
|
Would replace code like:
|
||
|
|
||
|
```meson
|
||
|
if cc.compiles('''into foo(void) __attribute__((aligned(32)))''')
|
||
|
add_project_arguments('-DHAVE_ALIGNED', language : 'c')
|
||
|
endif
|
||
|
```
|
||
|
|
||
|
Additionally, a multi argument version has been added:
|
||
|
|
||
|
```meson
|
||
|
foreach s : cc.get_supported_function_attributes(['hidden', 'alias'])
|
||
|
add_project_arguments('-DHAVE_@0@'.format(s.to_upper()), language : 'c')
|
||
|
endforeach
|
||
|
```
|