summaryrefslogtreecommitdiff
path: root/mesonbuild/compilers
diff options
context:
space:
mode:
authorMoody Liu <mooodyhunter@outlook.com>2023-09-05 00:47:48 +0800
committerXavier Claessens <xclaesse@gmail.com>2023-09-09 07:25:27 -0400
commit3c47216fe945a45834daa38f71e287dcfaf345c7 (patch)
treee208f26df2306a4080cbaa28db5f427b44e455f2 /mesonbuild/compilers
parent306efbd5b77abdc6ffca27bcb049f3196b7e3451 (diff)
downloadmeson-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.py8
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;