Re: [PATCH] perf tools: Fix build error on read only source.

From: Kusanagi Kouichi
Date: Wed Aug 18 2010 - 08:37:37 EST


On 2010-08-17 15:18:35 -0300, Arnaldo Carvalho de Melo wrote:
> Em Tue, Aug 17, 2010 at 11:17:54AM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Tue, Aug 17, 2010 at 11:08:40PM +0900, Kusanagi Kouichi escreveu:
> > > --- a/tools/perf/feature-tests.mak
> > > +++ b/tools/perf/feature-tests.mak
> > > @@ -113,7 +113,7 @@ endef
> > > # try-cc
> > > # Usage: option = $(call try-cc, source-to-build, cc-options)
> > > try-cc = $(shell sh -c \
> > > - 'TMP="$(TMPOUT).$$$$"; \
> > > + 'TMP="$(OUTPUT)$(TMPOUT).$$$$"; \
> > > echo "$(1)" | \
> > > $(CC) -x c - $(2) -o "$$TMP" > /dev/null 2>&1 && echo y; \
> > > rm -f "$$TMP"')
> >
> > Much better! Will test and merge, thanks!
>
> Still has issues:
>
> [acme@emilia linux-2.6-tip]$ rm -rf ~/git/build/perf/
> [acme@emilia linux-2.6-tip]$ make O=~/git/build/perf -s -j9 -C tools/perf install
> PERF_VERSION = 2.6.36.rc1.2.g19bad
> * new build flags or prefix
> [acme@emilia linux-2.6-tip]$ patch -p1 < Kouichi.patch
> patching file tools/perf/Makefile
> patching file tools/perf/feature-tests.mak
> [acme@emilia linux-2.6-tip]$ rm -rf ~/git/build/perf/
> [acme@emilia linux-2.6-tip]$ make O=~/git/build/perf -s -j9 -C tools/perf install
> Makefile:503: No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev
> Makefile:534: *** No gnu/libc-version.h found, please install glibc-dev[el]/glibc-static. Stop.
> [acme@emilia linux-2.6-tip]$
>
> Can you please investigate?
>
> Thanks,
>
> - Arnaldo

With POSIX shell patch, $(OUTPUT) has not been created yet when it is
used by try-cc. This fixes the issue anyway.

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index dcb9700..5b1c12b 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -281,6 +281,7 @@ endif

-include feature-tests.mak

+$(shell mkdir -p $(OUTPUT) 2> /dev/null)
ifeq ($(call try-cc,$(SOURCE_HELLO),-Werror -fstack-protector-all),y)
CFLAGS := $(CFLAGS) -fstack-protector-all
endif
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/