On Wed, Oct 24, 2012 at 10:03:16AM -0700, Arnaldo Carvalho de Melo wrote:
> The 'install-man' target will use your check-executable-or-error-out
> stuff, but the main 'install' target will call just 'try-install-man',
> that will not stop the build if there are missing tools to generate
> the man pages.
>
> Installing just xmlto makes it ask just for asciidoc, install both and
> it generates the man pages, please try to check if it works for you so
> that I can have your Tested-by.

Ok, then this can be done even simpler, I went and simplified your
version and we don't need that check-executable-or-error-out helper
anymore, I'm including it below.

For it you can have my

Signed-off-by: Borislav Petkov <[email protected]>
Tested-by: Borislav Petkov <[email protected]>

Btw, I keep seeing those errors when building on your perf/core branch:

...
    FLEX util/pmu-flex.c
    FLEX util/parse-events-flex.c
    CC util/pmu-flex.o
    CC util/pmu.o
    CC util/parse-events.o
gcc: error: python_ext_build/tmp//../../libtraceevent.a: No such file or 
directory
error: command 'gcc' failed with exit status 1
cp: cannot stat `python_ext_build/lib/perf.so': No such file or directory
make: *** [python/perf.so] Error 1
make: *** Waiting for unfinished jobs....
Makefile:513: No libunwind found, disabling post unwind support. Please install 
libunwind-dev[el] >= 0.99
Makefile:568: No libaudit.h found, disables 'trace' tool, please install 
audit-libs-devel or libaudit-dev
Makefile:579: newt not found, disables TUI support. Please install newt-devel 
or libnewt-dev
    SUBDIR ../lib/traceevent/

...

Thanks.

---
diff --git a/tools/perf/Documentation/Makefile 
b/tools/perf/Documentation/Makefile
index 9f2e44f2b17a..ef6d22e879eb 100644
--- a/tools/perf/Documentation/Makefile
+++ b/tools/perf/Documentation/Makefile
@@ -1,3 +1,5 @@
+include ../config/utilities.mak
+
 OUTPUT := ./
 ifeq ("$(origin O)", "command line")
   ifneq ($(O),)
@@ -64,6 +66,7 @@ MAKEINFO=makeinfo
 INSTALL_INFO=install-info
 DOCBOOK2X_TEXI=docbook2x-texi
 DBLATEX=dblatex
+XMLTO=xmlto
 ifndef PERL_PATH
        PERL_PATH = /usr/bin/perl
 endif
@@ -71,6 +74,16 @@ endif
 -include ../config.mak.autogen
 -include ../config.mak
 
+_tmp_tool_path := $(call get-executable,$(ASCIIDOC))
+ifeq ($(_tmp_tool_path),)
+       missing_tools = $(ASCIIDOC)
+endif
+
+_tmp_tool_path := $(call get-executable,$(XMLTO))
+ifeq ($(_tmp_tool_path),)
+       missing_tools += $(XMLTO)
+endif
+
 #
 # For asciidoc ...
 #      -7.1.2, no extra settings are needed.
@@ -170,7 +183,12 @@ pdf: $(OUTPUT)user-manual.pdf
 
 install: install-man
 
-install-man: man
+check-man-tools:
+ifdef missing_tools
+       $(error "You need to install $(missing_tools) for man pages")
+endif
+
+do-install-man: man
        $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)
 #      $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir)
 #      $(INSTALL) -d -m 755 $(DESTDIR)$(man7dir)
@@ -178,6 +196,15 @@ install-man: man
 #      $(INSTALL) -m 644 $(DOC_MAN5) $(DESTDIR)$(man5dir)
 #      $(INSTALL) -m 644 $(DOC_MAN7) $(DESTDIR)$(man7dir)
 
+install-man: check-man-tools man
+
+try-install-man:
+ifdef missing_tools
+       $(warning Please install $(missing_tools) to have the man pages 
installed)
+else
+       $(MAKE) do-install-man
+endif
+
 install-info: info
        $(INSTALL) -d -m 755 $(DESTDIR)$(infodir)
        $(INSTALL) -m 644 $(OUTPUT)perf.info $(OUTPUT)perfman.info 
$(DESTDIR)$(infodir)
@@ -246,7 +273,7 @@ $(MAN_HTML): $(OUTPUT)%.html : %.txt
 
 $(OUTPUT)%.1 $(OUTPUT)%.5 $(OUTPUT)%.7 : $(OUTPUT)%.xml
        $(QUIET_XMLTO)$(RM) $@ && \
-       xmlto -o $(OUTPUT) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
+       $(XMLTO) -o $(OUTPUT) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
 
 $(OUTPUT)%.xml : %.txt
        $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 76190a7e2934..3252563bfca7 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -1038,7 +1038,7 @@ perfexec_instdir = $(prefix)/$(perfexecdir)
 endif
 perfexec_instdir_SQ = $(subst ','\'',$(perfexec_instdir))
 
-install: all install-man
+install: all try-install-man
        $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)'
        $(INSTALL) $(OUTPUT)perf '$(DESTDIR_SQ)$(bindir_SQ)'
        $(INSTALL) -d -m 755 
'$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/Perf-Trace-Util/lib/Perf/Trace'
@@ -1064,6 +1064,9 @@ install-doc:
 install-man:
        $(MAKE) -C Documentation install-man
 
+try-install-man:
+       $(MAKE) -C Documentation try-install-man
+
 install-html:
        $(MAKE) -C Documentation install-html
 

-- 
Regards/Gruss,
    Boris.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to