When I attempt to build perf on a system with slang but without libelf, 'make' would wrongly complain that the slang library could not be found.
It turns out that this was happening because we are not filtering -lelf from EXTLIBS early enough. As a result, the library test for slang (ditto for gtk, libaudit, etc) erroneously passes -lelf to try-cc, which of course fails on a system without libelf. This patch makes the filtering of -lelf from EXTLIBS occur right after testing for libelf support, so that the subsequent library tests will not erroneously pass -lelf to try-cc when building without libelf support. Cc: Peter Zijlstra <a.p.zijls...@chello.nl> Cc: Paul Mackerras <pau...@samba.org> Cc: Ingo Molnar <mi...@redhat.com> Cc: Arnaldo Carvalho de Melo <a...@ghostprotocols.net> Cc: Jiri Olsa <jo...@redhat.com> Signed-off-by: Patrick Palka <patr...@parcs.ath.cx> --- tools/perf/Makefile | 2 -- tools/perf/config/Makefile | 4 ++++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/perf/Makefile b/tools/perf/Makefile index 64c043b..94635c8 100644 --- a/tools/perf/Makefile +++ b/tools/perf/Makefile @@ -443,8 +443,6 @@ ifneq ($(OUTPUT),) endif ifdef NO_LIBELF -EXTLIBS := $(filter-out -lelf,$(EXTLIBS)) - # Remove ELF/DWARF dependent codes LIB_OBJS := $(filter-out $(OUTPUT)util/symbol-elf.o,$(LIB_OBJS)) LIB_OBJS := $(filter-out $(OUTPUT)util/dwarf-aux.o,$(LIB_OBJS)) diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile index 5f6f9b3..1748767 100644 --- a/tools/perf/config/Makefile +++ b/tools/perf/config/Makefile @@ -174,6 +174,10 @@ else endif # SOURCE_LIBELF endif # NO_LIBELF +ifdef NO_LIBELF +EXTLIBS := $(filter-out -lelf,$(EXTLIBS)) +endif + ifndef NO_LIBELF CFLAGS += -DLIBELF_SUPPORT FLAGS_LIBELF=$(CFLAGS) $(LDFLAGS) $(EXTLIBS) -- 1.8.4.rc3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/