xref: /kvmtool/config/feature-tests.mak (revision 8f22adc4230f07980a318ad1662fba5af0c131c1)
1define SOURCE_HELLO
2#include <stdio.h>
3int main(void)
4{
5	return puts(\"hi\");
6}
7endef
8
9ifndef NO_DWARF
10define SOURCE_DWARF
11#include <dwarf.h>
12#include <elfutils/libdw.h>
13#include <elfutils/version.h>
14#ifndef _ELFUTILS_PREREQ
15#error
16#endif
17
18int main(void)
19{
20	Dwarf *dbg = dwarf_begin(0, DWARF_C_READ);
21	return (long)dbg;
22}
23endef
24endif
25
26define SOURCE_LIBELF
27#include <libelf.h>
28
29int main(void)
30{
31	Elf *elf = elf_begin(0, ELF_C_READ, 0);
32	return (long)elf;
33}
34endef
35
36define SOURCE_GLIBC
37#include <gnu/libc-version.h>
38
39int main(void)
40{
41	const char *version = gnu_get_libc_version();
42	return (long)version;
43}
44endef
45
46define SOURCE_ELF_MMAP
47#include <libelf.h>
48int main(void)
49{
50	Elf *elf = elf_begin(0, ELF_C_READ_MMAP, 0);
51	return (long)elf;
52}
53endef
54
55ifndef NO_NEWT
56define SOURCE_NEWT
57#include <newt.h>
58
59int main(void)
60{
61	newtInit();
62	newtCls();
63	return newtFinished();
64}
65endef
66endif
67
68ifndef NO_LIBPERL
69define SOURCE_PERL_EMBED
70#include <EXTERN.h>
71#include <perl.h>
72
73int main(void)
74{
75perl_alloc();
76return 0;
77}
78endef
79endif
80
81ifndef NO_LIBPYTHON
82define SOURCE_PYTHON_VERSION
83#include <Python.h>
84#if PY_VERSION_HEX >= 0x03000000
85	#error
86#endif
87int main(void){}
88endef
89define SOURCE_PYTHON_EMBED
90#include <Python.h>
91int main(void)
92{
93	Py_Initialize();
94	return 0;
95}
96endef
97endif
98
99define SOURCE_BFD
100#include <bfd.h>
101
102int main(void)
103{
104	bfd_demangle(0, 0, 0);
105	return 0;
106}
107endef
108
109define SOURCE_CPLUS_DEMANGLE
110extern char *cplus_demangle(const char *, int);
111
112int main(void)
113{
114	cplus_demangle(0, 0);
115	return 0;
116}
117endef
118
119define SOURCE_STRLCPY
120#include <stdlib.h>
121extern size_t strlcpy(char *dest, const char *src, size_t size);
122
123int main(void)
124{
125	strlcpy(NULL, NULL, 0);
126	return 0;
127}
128endef
129
130define SOURCE_VNCSERVER
131#include <rfb/rfb.h>
132
133int main(void)
134{
135	rfbIsActive((void *)0);
136	return 0;
137}
138endef
139
140define SOURCE_SDL
141#include <SDL/SDL.h>
142
143int main(void)
144{
145	SDL_Init(SDL_INIT_VIDEO);
146	return 0;
147}
148endef
149
150define SOURCE_ZLIB
151#include <zlib.h>
152
153int main(void)
154{
155	inflateInit2(NULL, 0);
156	return 0;
157}
158endef
159
160define SOURCE_AIO
161#include <libaio.h>
162
163int main(void)
164{
165	io_setup(0, NULL);
166	return 0;
167}
168endef
169
170define SOURCE_STATIC
171#include <stdlib.h>
172
173int main(void)
174{
175	return 0;
176}
177endef
178
179define SOURCE_GTK3
180#include <gtk/gtk.h>
181
182int main(void)
183{
184	gtk_main();
185
186	return 0;
187}
188endef
189
190define SOURCE_LIBFDT
191#include <libfdt.h>
192
193int main(void)
194{
195	fdt_check_header(NULL);
196	return 0;
197}
198endef
199
200define SOURCE_STRLCPY
201#include <string.h>
202
203int main(void)
204{
205	strlcpy(NULL, NULL, 0);
206	return 0;
207}
208endef
209