diff options
| author | Moody Liu <mooodyhunter@outlook.com> | 2023-09-05 00:47:48 +0800 |
|---|---|---|
| committer | Xavier Claessens <xclaesse@gmail.com> | 2023-09-09 07:25:27 -0400 |
| commit | 3c47216fe945a45834daa38f71e287dcfaf345c7 (patch) | |
| tree | e208f26df2306a4080cbaa28db5f427b44e455f2 /mesonbuild/compilers | |
| parent | 306efbd5b77abdc6ffca27bcb049f3196b7e3451 (diff) | |
| download | meson-3c47216fe945a45834daa38f71e287dcfaf345c7.tar.gz | |
clike compilers: fix cross_* functions' include
A standard C library may not exist for cross-compile
environments, thus the existence of <stdio.h> cannot be
guaranteed.
Use <stddef.h> instead, this header contains compiler-specific
defines thus it usually comes from the compiler.
Diffstat (limited to 'mesonbuild/compilers')
| -rw-r--r-- | mesonbuild/compilers/mixins/clike.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/mesonbuild/compilers/mixins/clike.py b/mesonbuild/compilers/mixins/clike.py index f37bcf441..61e671921 100644 --- a/mesonbuild/compilers/mixins/clike.py +++ b/mesonbuild/compilers/mixins/clike.py @@ -502,7 +502,7 @@ class CLikeCompiler(Compiler): extra_args: T.Union[None, T.List[str], T.Callable[[CompileCheckMode], T.List[str]]], dependencies: T.Optional[T.List['Dependency']]) -> bool: t = f'''{prefix} - #include <stdio.h> + #include <stddef.h> int main(void) {{ static int a[1-2*!({expression})]; a[0]=0; return 0; }}''' return self.compiles(t, env, extra_args=extra_args, dependencies=dependencies)[0] @@ -563,6 +563,7 @@ class CLikeCompiler(Compiler): if self.is_cross: return self.cross_compute_int(expression, low, high, guess, prefix, env, extra_args, dependencies) t = f'''{prefix} + #include<stddef.h> #include<stdio.h> int main(void) {{ printf("%ld\\n", (long)({expression})); @@ -582,7 +583,7 @@ class CLikeCompiler(Compiler): if extra_args is None: extra_args = [] t = f'''{prefix} - #include <stdio.h> + #include <stddef.h> int main(void) {{ {typename} something; return 0; @@ -602,6 +603,7 @@ class CLikeCompiler(Compiler): dependencies=dependencies) return r, False t = f'''{prefix} + #include<stddef.h> #include<stdio.h> int main(void) {{ printf("%ld\\n", (long)(sizeof({typename}))); @@ -621,7 +623,7 @@ class CLikeCompiler(Compiler): if extra_args is None: extra_args = [] t = f'''{prefix} - #include <stdio.h> + #include <stddef.h> int main(void) {{ {typename} something; return 0; |
