tools/perf/build: Split out feature check: 'libelf-mmap'

Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Link: http://lkml.kernel.org/n/tip-9fxnxjcmrgbSvipxlwsdQ8fg@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Ingo Molnar
2013-09-30 15:02:28 +02:00
parent fb3d333b3f
commit 8869b17ee0
3 changed files with 14 additions and 3 deletions

View File

@@ -111,6 +111,7 @@ FEATURE_TESTS = \
libelf \ libelf \
glibc \ glibc \
dwarf \ dwarf \
libelf-mmap \
libnuma libnuma
$(foreach test,$(FEATURE_TESTS),$(call feature_check,$(test),$(test))) $(foreach test,$(FEATURE_TESTS),$(call feature_check,$(test),$(test)))
@@ -202,7 +203,7 @@ ifndef NO_LIBELF
CFLAGS += -DHAVE_LIBELF_SUPPORT CFLAGS += -DHAVE_LIBELF_SUPPORT
FLAGS_LIBELF=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) FLAGS_LIBELF=$(CFLAGS) $(LDFLAGS) $(EXTLIBS)
ifeq ($(call try-cc,$(SOURCE_ELF_MMAP),$(FLAGS_LIBELF),-DHAVE_LIBELF_MMAP_SUPPORT),y) ifeq ($(feature-libelf-mmap), 1)
CFLAGS += -DHAVE_LIBELF_MMAP_SUPPORT CFLAGS += -DHAVE_LIBELF_MMAP_SUPPORT
endif endif
@@ -227,8 +228,7 @@ endif # NO_LIBELF
ifndef NO_LIBELF ifndef NO_LIBELF
CFLAGS += -DHAVE_LIBELF_SUPPORT CFLAGS += -DHAVE_LIBELF_SUPPORT
FLAGS_LIBELF=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) ifeq ($(feature-libelf-mmap), 1)
ifeq ($(call try-cc,$(SOURCE_ELF_MMAP),$(FLAGS_LIBELF),-DHAVE_LIBELF_MMAP_SUPPORT),y)
CFLAGS += -DHAVE_LIBELF_MMAP_SUPPORT CFLAGS += -DHAVE_LIBELF_MMAP_SUPPORT
endif # try-cc endif # try-cc
endif # NO_LIBELF endif # NO_LIBELF

View File

@@ -9,6 +9,7 @@ FILES= \
test-libelf \ test-libelf \
test-glibc \ test-glibc \
test-dwarf \ test-dwarf \
test-libelf-mmap \
test-libnuma test-libnuma
CC := $(CC) -MD CC := $(CC) -MD
@@ -46,6 +47,9 @@ test-glibc:
test-dwarf: test-dwarf:
$(BUILD) -ldw $(BUILD) -ldw
test-libelf-mmap:
$(BUILD) -lelf
test-libnuma: test-libnuma:
$(BUILD) -lnuma $(BUILD) -lnuma

View File

@@ -0,0 +1,7 @@
#include <libelf.h>
#
int main(void)
{
Elf *elf = elf_begin(0, ELF_C_READ_MMAP, 0);
return (long)elf;
}