Root/tools/perf/feature-tests.mak

Source at commit ec7cab4cbb721bff91ec924ec691efd8daf36579 created 9 years 7 months ago.
By Maarten ter Huurne, MIPS: JZ4740: A320: Updated quickstart documentation.
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_EMBED
83#include <Python.h>
84
85int main(void)
86{
87    Py_Initialize();
88    return 0;
89}
90endef
91endif
92
93define SOURCE_BFD
94#include <bfd.h>
95
96int main(void)
97{
98    bfd_demangle(0, 0, 0);
99    return 0;
100}
101endef
102
103define SOURCE_CPLUS_DEMANGLE
104extern char *cplus_demangle(const char *, int);
105
106int main(void)
107{
108    cplus_demangle(0, 0);
109    return 0;
110}
111endef
112
113define SOURCE_STRLCPY
114#include <stdlib.h>
115extern size_t strlcpy(char *dest, const char *src, size_t size);
116
117int main(void)
118{
119    strlcpy(NULL, NULL, 0);
120    return 0;
121}
122endef
123
124# try-cc
125# Usage: option = $(call try-cc, source-to-build, cc-options)
126try-cc = $(shell sh -c \
127    'TMP="$(OUTPUT)$(TMPOUT).$$$$"; \
128     echo "$(1)" | \
129     $(CC) -x c - $(2) -o "$$TMP" > /dev/null 2>&1 && echo y; \
130     rm -f "$$TMP"')
131

Archive Download this file



interactive