79d824e316
Commit "perf: Add 'perf bench numa mem'..." added a NUMA performance benchmark to perf. Make this optional and test for required dependencies. Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Acked-by: Ingo Molnar <mingo@kernel.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1359337882-21821-1-git-send-email-peter@hurleysoftware.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
238 lines
3.4 KiB
Makefile
238 lines
3.4 KiB
Makefile
define SOURCE_HELLO
|
|
#include <stdio.h>
|
|
int main(void)
|
|
{
|
|
return puts(\"hi\");
|
|
}
|
|
endef
|
|
|
|
ifndef NO_DWARF
|
|
define SOURCE_DWARF
|
|
#include <dwarf.h>
|
|
#include <elfutils/libdw.h>
|
|
#include <elfutils/version.h>
|
|
#ifndef _ELFUTILS_PREREQ
|
|
#error
|
|
#endif
|
|
|
|
int main(void)
|
|
{
|
|
Dwarf *dbg = dwarf_begin(0, DWARF_C_READ);
|
|
return (long)dbg;
|
|
}
|
|
endef
|
|
endif
|
|
|
|
define SOURCE_LIBELF
|
|
#include <libelf.h>
|
|
|
|
int main(void)
|
|
{
|
|
Elf *elf = elf_begin(0, ELF_C_READ, 0);
|
|
return (long)elf;
|
|
}
|
|
endef
|
|
|
|
define SOURCE_GLIBC
|
|
#include <gnu/libc-version.h>
|
|
|
|
int main(void)
|
|
{
|
|
const char *version = gnu_get_libc_version();
|
|
return (long)version;
|
|
}
|
|
endef
|
|
|
|
define SOURCE_BIONIC
|
|
#include <android/api-level.h>
|
|
|
|
int main(void)
|
|
{
|
|
return __ANDROID_API__;
|
|
}
|
|
endef
|
|
|
|
define SOURCE_ELF_MMAP
|
|
#include <libelf.h>
|
|
int main(void)
|
|
{
|
|
Elf *elf = elf_begin(0, ELF_C_READ_MMAP, 0);
|
|
return (long)elf;
|
|
}
|
|
endef
|
|
|
|
ifndef NO_NEWT
|
|
define SOURCE_NEWT
|
|
#include <newt.h>
|
|
|
|
int main(void)
|
|
{
|
|
newtInit();
|
|
newtCls();
|
|
return newtFinished();
|
|
}
|
|
endef
|
|
endif
|
|
|
|
ifndef NO_GTK2
|
|
define SOURCE_GTK2
|
|
#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
|
|
#include <gtk/gtk.h>
|
|
#pragma GCC diagnostic error \"-Wstrict-prototypes\"
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
gtk_init(&argc, &argv);
|
|
|
|
return 0;
|
|
}
|
|
endef
|
|
|
|
define SOURCE_GTK2_INFOBAR
|
|
#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
|
|
#include <gtk/gtk.h>
|
|
#pragma GCC diagnostic error \"-Wstrict-prototypes\"
|
|
|
|
int main(void)
|
|
{
|
|
gtk_info_bar_new();
|
|
|
|
return 0;
|
|
}
|
|
endef
|
|
endif
|
|
|
|
ifndef NO_LIBPERL
|
|
define SOURCE_PERL_EMBED
|
|
#include <EXTERN.h>
|
|
#include <perl.h>
|
|
|
|
int main(void)
|
|
{
|
|
perl_alloc();
|
|
return 0;
|
|
}
|
|
endef
|
|
endif
|
|
|
|
ifndef NO_LIBPYTHON
|
|
define SOURCE_PYTHON_VERSION
|
|
#include <Python.h>
|
|
#if PY_VERSION_HEX >= 0x03000000
|
|
#error
|
|
#endif
|
|
int main(void)
|
|
{
|
|
return 0;
|
|
}
|
|
endef
|
|
define SOURCE_PYTHON_EMBED
|
|
#include <Python.h>
|
|
int main(void)
|
|
{
|
|
Py_Initialize();
|
|
return 0;
|
|
}
|
|
endef
|
|
endif
|
|
|
|
define SOURCE_BFD
|
|
#include <bfd.h>
|
|
|
|
int main(void)
|
|
{
|
|
bfd_demangle(0, 0, 0);
|
|
return 0;
|
|
}
|
|
endef
|
|
|
|
define SOURCE_CPLUS_DEMANGLE
|
|
extern char *cplus_demangle(const char *, int);
|
|
|
|
int main(void)
|
|
{
|
|
cplus_demangle(0, 0);
|
|
return 0;
|
|
}
|
|
endef
|
|
|
|
define SOURCE_STRLCPY
|
|
#include <stdlib.h>
|
|
extern size_t strlcpy(char *dest, const char *src, size_t size);
|
|
|
|
int main(void)
|
|
{
|
|
strlcpy(NULL, NULL, 0);
|
|
return 0;
|
|
}
|
|
endef
|
|
|
|
ifndef NO_LIBUNWIND
|
|
define SOURCE_LIBUNWIND
|
|
#include <libunwind.h>
|
|
#include <stdlib.h>
|
|
|
|
extern int UNW_OBJ(dwarf_search_unwind_table) (unw_addr_space_t as,
|
|
unw_word_t ip,
|
|
unw_dyn_info_t *di,
|
|
unw_proc_info_t *pi,
|
|
int need_unwind_info, void *arg);
|
|
|
|
|
|
#define dwarf_search_unwind_table UNW_OBJ(dwarf_search_unwind_table)
|
|
|
|
int main(void)
|
|
{
|
|
unw_addr_space_t addr_space;
|
|
addr_space = unw_create_addr_space(NULL, 0);
|
|
unw_init_remote(NULL, addr_space, NULL);
|
|
dwarf_search_unwind_table(addr_space, 0, NULL, NULL, 0, NULL);
|
|
return 0;
|
|
}
|
|
endef
|
|
endif
|
|
|
|
ifndef NO_BACKTRACE
|
|
define SOURCE_BACKTRACE
|
|
#include <execinfo.h>
|
|
#include <stdio.h>
|
|
|
|
int main(void)
|
|
{
|
|
backtrace(NULL, 0);
|
|
backtrace_symbols(NULL, 0);
|
|
return 0;
|
|
}
|
|
endef
|
|
endif
|
|
|
|
ifndef NO_LIBAUDIT
|
|
define SOURCE_LIBAUDIT
|
|
#include <libaudit.h>
|
|
|
|
int main(void)
|
|
{
|
|
return audit_open();
|
|
}
|
|
endef
|
|
endif
|
|
|
|
define SOURCE_ON_EXIT
|
|
#include <stdio.h>
|
|
|
|
int main(void)
|
|
{
|
|
return on_exit(NULL, NULL);
|
|
}
|
|
endef
|
|
|
|
define SOURCE_LIBNUMA
|
|
#include <numa.h>
|
|
#include <numaif.h>
|
|
|
|
int main(void)
|
|
{
|
|
numa_available();
|
|
return 0;
|
|
}
|
|
endef |