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_GTK2 69define SOURCE_GTK2 70#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" 71#include <gtk/gtk.h> 72#pragma GCC diagnostic error \"-Wstrict-prototypes\" 73 74int main(int argc, char *argv[]) 75{ 76 gtk_init(&argc, &argv); 77 78 return 0; 79} 80endef 81endif 82 83ifndef NO_LIBPERL 84define SOURCE_PERL_EMBED 85#include <EXTERN.h> 86#include <perl.h> 87 88int main(void) 89{ 90perl_alloc(); 91return 0; 92} 93endef 94endif 95 96ifndef NO_LIBPYTHON 97define SOURCE_PYTHON_VERSION 98#include <Python.h> 99#if PY_VERSION_HEX >= 0x03000000 100 #error 101#endif 102int main(void){} 103endef 104define SOURCE_PYTHON_EMBED 105#include <Python.h> 106int main(void) 107{ 108 Py_Initialize(); 109 return 0; 110} 111endef 112endif 113 114define SOURCE_BFD 115#include <bfd.h> 116 117int main(void) 118{ 119 bfd_demangle(0, 0, 0); 120 return 0; 121} 122endef 123 124define SOURCE_CPLUS_DEMANGLE 125extern char *cplus_demangle(const char *, int); 126 127int main(void) 128{ 129 cplus_demangle(0, 0); 130 return 0; 131} 132endef 133 134define SOURCE_STRLCPY 135#include <stdlib.h> 136extern size_t strlcpy(char *dest, const char *src, size_t size); 137 138int main(void) 139{ 140 strlcpy(NULL, NULL, 0); 141 return 0; 142} 143endef 144