gprofng: PR29521 [docs] man pages are not in the release tarball

gprofng/ChangeLog
2023-01-20  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>

	PR gprofng/29521
	* configure.ac: Check if $MAKEINFO and $HELP2MAN are missing.
	* Makefile.am: Build doc if $MAKEINFO exists.
	* doc/gprofng.texi: Update documentation for gprofng.
	* doc/Makefile.am: Build gprofng.1.
	* src/Makefile.am: Move the build of gprofng.1 to doc/Makefile.am.
	* configure: Rebuild.
	* Makefile.in: Rebuild.
	* doc/Makefile.in: Rebuild.
	* src/Makefile.in: Rebuild.
This commit is contained in:
Vladimir Mezentsev
2023-01-20 15:39:55 -08:00
parent 436bcab712
commit b1a41f5927
9 changed files with 364 additions and 42 deletions

View File

@ -23,7 +23,7 @@ AUTOMAKE_OPTIONS = dejagnu foreign
if BUILD_COLLECTOR if BUILD_COLLECTOR
COLLECTOR_SUBDIRS = libcollector COLLECTOR_SUBDIRS = libcollector
endif endif
if BUILD_MAN if BUILD_DOC
DOC_SUBDIR = doc DOC_SUBDIR = doc
endif endif
if BUILD_SRC if BUILD_SRC

View File

@ -381,7 +381,7 @@ zlibinc = @zlibinc@
ACLOCAL_AMFLAGS = -I . -I .. ACLOCAL_AMFLAGS = -I . -I ..
AUTOMAKE_OPTIONS = dejagnu foreign AUTOMAKE_OPTIONS = dejagnu foreign
@BUILD_COLLECTOR_TRUE@COLLECTOR_SUBDIRS = libcollector @BUILD_COLLECTOR_TRUE@COLLECTOR_SUBDIRS = libcollector
@BUILD_MAN_TRUE@DOC_SUBDIR = doc @BUILD_DOC_TRUE@DOC_SUBDIR = doc
@BUILD_SRC_TRUE@SRC_SUBDIRS = src gp-display-html $(DOC_SUBDIR) @BUILD_SRC_TRUE@SRC_SUBDIRS = src gp-display-html $(DOC_SUBDIR)
SUBDIRS = $(COLLECTOR_SUBDIRS) $(SRC_SUBDIRS) SUBDIRS = $(COLLECTOR_SUBDIRS) $(SRC_SUBDIRS)
DIST_SUBDIRS = libcollector src gp-display-html $(DOC_SUBDIR) DIST_SUBDIRS = libcollector src gp-display-html $(DOC_SUBDIR)

79
gprofng/configure vendored
View File

@ -639,6 +639,8 @@ GPROFNG_CPPFLAGS
GPROFNG_NO_FORMAT_TRUNCATION_CFLAGS GPROFNG_NO_FORMAT_TRUNCATION_CFLAGS
GPROFNG_CFLAGS GPROFNG_CFLAGS
LD_NO_AS_NEEDED LD_NO_AS_NEEDED
BUILD_DOC_FALSE
BUILD_DOC_TRUE
BUILD_MAN_FALSE BUILD_MAN_FALSE
BUILD_MAN_TRUE BUILD_MAN_TRUE
HELP2MAN HELP2MAN
@ -12221,7 +12223,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 12224 "configure" #line 12226 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
@ -12327,7 +12329,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 12330 "configure" #line 12332 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
@ -16737,9 +16739,58 @@ fi
# Generate manpages, if possible. # Generate manpages, if possible.
build_man=false build_man=false
build_doc=false
if test $cross_compiling = no; then if test $cross_compiling = no; then
for ac_prog in help2man
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_HELP2MAN+:} false; then :
$as_echo_n "(cached) " >&6
else
if test -n "$HELP2MAN"; then
ac_cv_prog_HELP2MAN="$HELP2MAN" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_HELP2MAN="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"} fi
fi
HELP2MAN=$ac_cv_prog_HELP2MAN
if test -n "$HELP2MAN"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $HELP2MAN" >&5
$as_echo "$HELP2MAN" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$HELP2MAN" && break
done
test -n "$HELP2MAN" || HELP2MAN="$MISSING help2man"
case "x$HELP2MAN" in
x | */missing\ help2man* )
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: gprofng: help2man is missing. Man pages will not be built." >&5
$as_echo "$as_me: WARNING: gprofng: help2man is missing. Man pages will not be built." >&2;}
;;
* ) build_man=true ;;
esac
for ac_prog in makeinfo for ac_prog in makeinfo
do do
@ -16782,10 +16833,10 @@ fi
test -n "$MAKEINFO" && break test -n "$MAKEINFO" && break
done done
test -n "$MAKEINFO" || MAKEINFO=""@echo makeinfo missing; true"" test -n "$MAKEINFO" || MAKEINFO="$MISSING makeinfo"
case "$MAKEINFO" in case "x$MAKEINFO" in
*true) x | */missing\ makeinfo*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: gprofng: makeinfo is missing. Info documentation will not be built." >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: gprofng: makeinfo is missing. Info documentation will not be built." >&5
$as_echo "$as_me: WARNING: gprofng: makeinfo is missing. Info documentation will not be built." >&2;} $as_echo "$as_me: WARNING: gprofng: makeinfo is missing. Info documentation will not be built." >&2;}
;; ;;
@ -16796,9 +16847,7 @@ $as_echo "$as_me: WARNING: gprofng: makeinfo is missing. Info documentation will
$as_echo "$as_me: WARNING: gprofng: $MAKEINFO is too old. Info documentation will not be built." >&2;} $as_echo "$as_me: WARNING: gprofng: $MAKEINFO is too old. Info documentation will not be built." >&2;}
MAKEINFO="@echo $MAKEINFO is too old, 6.5 or newer required; true" MAKEINFO="@echo $MAKEINFO is too old, 6.5 or newer required; true"
;; ;;
x* ) x* ) build_doc=true ;;
build_man=true
;;
esac esac
;; ;;
esac esac
@ -16812,6 +16861,14 @@ else
BUILD_MAN_FALSE= BUILD_MAN_FALSE=
fi fi
if test x$build_doc = xtrue; then
BUILD_DOC_TRUE=
BUILD_DOC_FALSE='#'
else
BUILD_DOC_TRUE='#'
BUILD_DOC_FALSE=
fi
LD_NO_AS_NEEDED=${no_as_needed} LD_NO_AS_NEEDED=${no_as_needed}
@ -17070,6 +17127,10 @@ if test -z "${BUILD_MAN_TRUE}" && test -z "${BUILD_MAN_FALSE}"; then
as_fn_error $? "conditional \"BUILD_MAN\" was never defined. as_fn_error $? "conditional \"BUILD_MAN\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5 Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi fi
if test -z "${BUILD_DOC_TRUE}" && test -z "${BUILD_DOC_FALSE}"; then
as_fn_error $? "conditional \"BUILD_DOC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
: "${CONFIG_STATUS=./config.status}" : "${CONFIG_STATUS=./config.status}"
ac_write_fail=0 ac_write_fail=0

View File

@ -210,11 +210,19 @@ AM_ZLIB
# Generate manpages, if possible. # Generate manpages, if possible.
build_man=false build_man=false
build_doc=false
if test $cross_compiling = no; then if test $cross_compiling = no; then
AM_MISSING_PROG(HELP2MAN, help2man) AC_CHECK_PROGS([HELP2MAN], help2man, [$MISSING help2man])
AC_CHECK_PROGS([MAKEINFO], makeinfo, ["@echo makeinfo missing; true"]) case "x$HELP2MAN" in
case "$MAKEINFO" in x | */missing\ help2man* )
*true) AC_MSG_WARN([gprofng: help2man is missing. Man pages will not be built.])
;;
* ) build_man=true ;;
esac
AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo])
case "x$MAKEINFO" in
x | */missing\ makeinfo*)
AC_MSG_WARN([gprofng: makeinfo is missing. Info documentation will not be built.]) AC_MSG_WARN([gprofng: makeinfo is missing. Info documentation will not be built.])
;; ;;
*) *)
@ -223,15 +231,14 @@ if test $cross_compiling = no; then
AC_MSG_WARN([gprofng: $MAKEINFO is too old. Info documentation will not be built.]) AC_MSG_WARN([gprofng: $MAKEINFO is too old. Info documentation will not be built.])
MAKEINFO="@echo $MAKEINFO is too old, 6.5 or newer required; true" MAKEINFO="@echo $MAKEINFO is too old, 6.5 or newer required; true"
;; ;;
x* ) x* ) build_doc=true ;;
build_man=true
;;
esac esac
;; ;;
esac esac
AC_SUBST(MAKEINFO) AC_SUBST(MAKEINFO)
fi fi
AM_CONDITIONAL([BUILD_MAN], [test x$build_man = xtrue]) AM_CONDITIONAL([BUILD_MAN], [test x$build_man = xtrue])
AM_CONDITIONAL([BUILD_DOC], [test x$build_doc = xtrue])
AC_SUBST(LD_NO_AS_NEEDED, [${no_as_needed}]) AC_SUBST(LD_NO_AS_NEEDED, [${no_as_needed}])
AC_SUBST(GPROFNG_CFLAGS, [${gprofng_cflags}]) AC_SUBST(GPROFNG_CFLAGS, [${gprofng_cflags}])

View File

@ -19,9 +19,31 @@
AUTOMAKE_OPTIONS = info-in-builddir foreign no-texinfo.tex AUTOMAKE_OPTIONS = info-in-builddir foreign no-texinfo.tex
# Options to extract the man page
MANCONF = -Dman
TEXI2POD = perl $(srcdir)/../../etc/texi2pod.pl $(AM_MAKEINFOFLAGS)
POD2MAN = pod2man --center="User Commands" \
--release="binutils-$(VERSION)" --section=1
info_TEXINFOS = gprofng.texi info_TEXINFOS = gprofng.texi
gprofng_TEXINFOS = fdl.texi gprofng_TEXINFOS = fdl.texi
TEXINFO_TEX = . TEXINFO_TEX = .
MAKEINFOHTML = $(MAKEINFO) --html --no-split MAKEINFOHTML = $(MAKEINFO) --html --no-split
MAINTAINERCLEANFILES = gprofng.info man_MANS = gprofng.1
# Build the man page from the texinfo file
# The sed command removes the no-adjust Nroff command so that
# the man output looks standard.
gprofng.1: $(srcdir)/gprofng.texi
$(AM_V_GEN)touch $@
$(AM_V_at)-$(TEXI2POD) $(MANCONF) < $(srcdir)/gprofng.texi > gprofng.pod
$(AM_V_at)-($(POD2MAN) gprofng.pod | \
sed -e '/^.if n .na/d' > $@.tmp && \
mv -f $@.tmp $@) || (rm -f $@.tmp && exit 1)
$(AM_V_at)rm -f gprofng.pod
MAINTAINERCLEANFILES = gprofng.info $(man_MANS)
info: $(man_MANS)

View File

@ -182,7 +182,7 @@ am__can_run_installinfo = \
n|no|NO) false;; \ n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \ *) (install-info --version) >/dev/null 2>&1;; \
esac esac
am__installdirs = "$(DESTDIR)$(infodir)" am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \ am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@ -210,6 +210,9 @@ am__uninstall_files_from_dir = { \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \ $(am__cd) "$$dir" && rm -f $$files; }; \
} }
man1dir = $(mandir)/man1
NROFF = nroff
MANS = $(man_MANS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
am__DIST_COMMON = $(gprofng_TEXINFOS) $(srcdir)/Makefile.in \ am__DIST_COMMON = $(gprofng_TEXINFOS) $(srcdir)/Makefile.in \
$(top_srcdir)/../mkinstalldirs mdate-sh texinfo.tex $(top_srcdir)/../mkinstalldirs mdate-sh texinfo.tex
@ -361,11 +364,19 @@ top_srcdir = @top_srcdir@
zlibdir = @zlibdir@ zlibdir = @zlibdir@
zlibinc = @zlibinc@ zlibinc = @zlibinc@
AUTOMAKE_OPTIONS = info-in-builddir foreign no-texinfo.tex AUTOMAKE_OPTIONS = info-in-builddir foreign no-texinfo.tex
# Options to extract the man page
MANCONF = -Dman
TEXI2POD = perl $(srcdir)/../../etc/texi2pod.pl $(AM_MAKEINFOFLAGS)
POD2MAN = pod2man --center="User Commands" \
--release="binutils-$(VERSION)" --section=1
info_TEXINFOS = gprofng.texi info_TEXINFOS = gprofng.texi
gprofng_TEXINFOS = fdl.texi gprofng_TEXINFOS = fdl.texi
TEXINFO_TEX = . TEXINFO_TEX = .
MAKEINFOHTML = $(MAKEINFO) --html --no-split MAKEINFOHTML = $(MAKEINFO) --html --no-split
MAINTAINERCLEANFILES = gprofng.info man_MANS = gprofng.1
MAINTAINERCLEANFILES = gprofng.info $(man_MANS)
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
@ -558,6 +569,49 @@ maintainer-clean-aminfo:
echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
done done
install-man1: $(man_MANS)
@$(NORMAL_INSTALL)
@list1=''; \
list2='$(man_MANS)'; \
test -n "$(man1dir)" \
&& test -n "`echo $$list1$$list2`" \
|| exit 0; \
echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
$(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
{ for i in $$list1; do echo "$$i"; done; \
if test -n "$$list2"; then \
for i in $$list2; do echo "$$i"; done \
| sed -n '/\.1[a-z]*$$/p'; \
fi; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
done | \
sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
sed 'N;N;s,\n, ,g' | { \
list=; while read file base inst; do \
if test "$$base" = "$$inst"; then list="$$list $$file"; else \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
fi; \
done; \
for i in $$list; do echo "$$i"; done | $(am__base_list) | \
while read files; do \
test -z "$$files" || { \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
done; }
uninstall-man1:
@$(NORMAL_UNINSTALL)
@list=''; test -n "$(man1dir)" || exit 0; \
files=`{ for i in $$list; do echo "$$i"; done; \
l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
sed -n '/\.1[a-z]*$$/p'; \
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
tags TAGS: tags TAGS:
ctags CTAGS: ctags CTAGS:
@ -600,9 +654,9 @@ distdir: $(DISTFILES)
dist-info dist-info
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(INFO_DEPS) all-am: Makefile $(INFO_DEPS) $(MANS)
installdirs: installdirs:
for dir in "$(DESTDIR)$(infodir)"; do \ for dir in "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done done
install: install-am install: install-am
@ -652,11 +706,9 @@ html: html-am
html-am: $(HTMLS) html-am: $(HTMLS)
info: info-am
info-am: $(INFO_DEPS) info-am: $(INFO_DEPS)
install-data-am: install-info-am install-data-am: install-info-am install-man
install-dvi: install-dvi-am install-dvi: install-dvi-am
@ -739,7 +791,7 @@ install-info-am: $(INFO_DEPS)
install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\ install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
done; \ done; \
else : ; fi else : ; fi
install-man: install-man: install-man1
install-pdf: install-pdf-am install-pdf: install-pdf-am
@ -794,7 +846,9 @@ ps: ps-am
ps-am: $(PSS) ps-am: $(PSS)
uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
uninstall-pdf-am uninstall-ps-am uninstall-man uninstall-pdf-am uninstall-ps-am
uninstall-man: uninstall-man1
.MAKE: install-am install-strip .MAKE: install-am install-strip
@ -804,19 +858,32 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
html-am info info-am install install-am install-data \ html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \ install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \ install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \ install-info-am install-man install-man1 install-pdf \
install-ps install-ps-am install-strip installcheck \ install-pdf-am install-ps install-ps-am install-strip \
installcheck-am installdirs maintainer-clean \ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-aminfo maintainer-clean-generic \ maintainer-clean-aminfo maintainer-clean-generic \
maintainer-clean-vti mostlyclean mostlyclean-aminfo \ maintainer-clean-vti mostlyclean mostlyclean-aminfo \
mostlyclean-generic mostlyclean-libtool mostlyclean-vti pdf \ mostlyclean-generic mostlyclean-libtool mostlyclean-vti pdf \
pdf-am ps ps-am tags-am uninstall uninstall-am \ pdf-am ps ps-am tags-am uninstall uninstall-am \
uninstall-dvi-am uninstall-html-am uninstall-info-am \ uninstall-dvi-am uninstall-html-am uninstall-info-am \
uninstall-pdf-am uninstall-ps-am uninstall-man uninstall-man1 uninstall-pdf-am uninstall-ps-am
.PRECIOUS: Makefile .PRECIOUS: Makefile
# Build the man page from the texinfo file
# The sed command removes the no-adjust Nroff command so that
# the man output looks standard.
gprofng.1: $(srcdir)/gprofng.texi
$(AM_V_GEN)touch $@
$(AM_V_at)-$(TEXI2POD) $(MANCONF) < $(srcdir)/gprofng.texi > gprofng.pod
$(AM_V_at)-($(POD2MAN) gprofng.pod | \
sed -e '/^.if n .na/d' > $@.tmp && \
mv -f $@.tmp $@) || (rm -f $@.tmp && exit 1)
$(AM_V_at)rm -f gprofng.pod
info: $(man_MANS)
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: .NOEXPORT:

View File

@ -1,5 +1,8 @@
\input texinfo @c -*-texinfo-*- \input texinfo @c -*-texinfo-*-
@c for $sect (qw(NAME SYNOPSIS TARGET DESCRIPTION OPTIONS ENVIRONMENT FILES
@c BUGS NOTES FOOTNOTES SEEALSO AUTHOR COPYRIGHT)) {
@c ---------------------------------------------------------------------------- @c ----------------------------------------------------------------------------
@c This is the Texinfo source file for the GPROFNG manual. @c This is the Texinfo source file for the GPROFNG manual.
@c @c
@ -59,6 +62,10 @@ gprofng
@cindex \label\, \string\ @cindex \label\, \string\
@end macro @end macro
@macro gcctabopt{body}
@code{\body\}
@end macro
@c -- Get the version information --------------------------------------------- @c -- Get the version information ---------------------------------------------
@include version.texi @include version.texi
@ -99,6 +106,20 @@ section entitled ``GNU Free Documentation License.''
@page @page
@vskip 0pt plus 1filll @vskip 0pt plus 1filll
@insertcopying @insertcopying
@c man begin COPYRIGHT
Copyright @copyright{} 2022-2023 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts. A copy of the license is included in the
section entitled ``GNU Free Documentation License''.
@c man end
@end titlepage @end titlepage
@c -- Generate the Table of Contents ------------------------------------------ @c -- Generate the Table of Contents ------------------------------------------
@ -163,6 +184,154 @@ Terminology
@end menu @end menu
@end ifinfo @end ifinfo
@ifset man
@c man title gprofng the driver for the gprofng tool suite
@c man begin SYNOPSIS
gprofng [OPTION(S)] ACTION [@b{QUALIFIER}] [ARGUMENTS] TARGET
@c man end
@c man begin DESCRIPTION
This is the driver for the GPROFNG tools suite to gather and analyze performance data.
The driver executes the action specified. An example of an action is @code{collect}
to collect performance data. Depending on the action, a qualifier may be needed to
define the command. Several qualifiers support options. The last item on the command
is the target the command applies to.
For example, to collect performance data for an application called @code{a.out} and
store the results in experiment directory @code{mydata.er}, the following command may
be used:
@smallexample
$ gprofng collect app -o mydata.er a.out
@end smallexample
In this example, the action is @code{collect}, the qualifier is @code{app}, the single
argument is @code{-o mydata.er} and the target is @code{a.out}.
If gprofng is executed without any additional option, action, or target, a usage
overview is printed.
@c man end
@c man begin OPTIONS
@table @gcctabopt
@item @var{--version}
print the version number and exit.
@item @var{--help}
print usage information and exit.
@end table
@c man end
@c man begin NOTES
The gprofng driver supports the following commands.
@c The man pages for the commands below can be viewed using the command name with "gprofng" replaced by "gp" and the spaces replaced by a dash ("-"). For example the man page
@c name for "gprofng collect app" is "gp-collect-app".
Collect performance data:
@table @code
@item gprofng collect app
collect application performance data.
@end table
Display the performance results:
@table @code
@item gprofng display text
display the performance data in ASCII format.
@item gprofng display html
generate an HTML file from one or more experiments.
@end table
Miscellaneous commands:
@table @code
@item gprofng display src
display source or disassembly with compiler annotations.
@item gprofng archive
include binaries and source code in an experiment directory.
@end table
It is also possible to invoke the lower level commands directly, but since
these are subject to change, in particular the options, we recommend to
use the driver.
@c man end
@c man begin ENVIRONMENT
The following environment variables are supported:
@table @code
@item @env{GPROFNG_MAX_CALL_STACK_DEPTH}
set the depth of the call stack (default is 256).
@item @env{GPROFNG_USE_JAVA_OPTIONS}
may be set when profiling a C/C++ application that uses dlopen() to execute Java code.
@item @env{GPROFNG_SSH_REMOTE_DISPLAY}
use this variable to define the ssh command executed by the remote display tool.
@item @env{GPROFNG_SKIP_VALIDATION}
set this variable to disable checking hardware, system, and Java versions.
@item @env{GPROFNG_ALLOW_CORE_DUMP}
set this variable to allow a core file to be generated; otherwise an error report is created on /tmp.
@item @env{GPROFNG_ARCHIVE}
use this variable to define the settings for automatic archiving upon experiment recording completion.
@item @env{GPROFNG_ARCHIVE_COMMON_DIR}
set this variable to the location of the common archive.
@item @env{GPROFNG_JAVA_MAX_CALL_STACK_DEPTH}
set the depth of the Java call stack; the default is 256; set to 0 to disable capturing of call stacks.
@item @env{GPROFNG_JAVA_NATIVE_MAX_CALL_STACK_DEPTH}
set the depth of the Java native call stack; the default is 256; set to 0 to disable capturing of call stacks (JNI and assembly call stacks are not captured).
@end table
@c man end
@c man begin SEEALSO
The man pages for the various gprofng commands are not available yet, but
the @option{--help} option supported on each of the commands lists the options
and provides more information.
For example this displays the options supported on the @command{gprofng collect app}
command:
@smallexample
$ gprofng collect app --help
@end smallexample
The user guide is available as an Info entry for @file{gprofng}.
@c man end
@end ifset
@c man begin DESCRIPTION
@c man end
@c -- A new node -------------------------------------------------------------- @c -- A new node --------------------------------------------------------------
@node Introduction @node Introduction
@chapter Introduction @chapter Introduction

View File

@ -160,7 +160,7 @@ gp_display_text_LDADD = $(LIBGPROFNG) $(CLOCK_GETTIME_LINK) $(ZLIB)
if BUILD_MAN if BUILD_MAN
man_MANS = gprofng.1 \ man_MANS = \
gp-archive.1 \ gp-archive.1 \
gp-collect-app.1 \ gp-collect-app.1 \
gp-display-src.1 \ gp-display-src.1 \
@ -191,10 +191,6 @@ H2M_FILTER = | sed 's/\.TP/\.TP\n.B/' | sed 's/Commands:/\.SH COMMANDS/' \
| sed 's/See also:/\.SH SEE ALSO/' | sed 's/Documentation:/.SH DOCUMENTATION/' \ | sed 's/See also:/\.SH SEE ALSO/' | sed 's/Documentation:/.SH DOCUMENTATION/' \
| sed 's/Limitations:/.SH LIMITATIONS/' | sed 's/Limitations:/.SH LIMITATIONS/'
gprofng.1: $(srcdir)/gprofng.cc $(common_mandeps) | ./gprofng$(EXEEXT)
$(AM_V_GEN)_BUILDING_MANPAGE=1 $(HELP2MAN) $(HELP2MAN_OPT) \
--name=$(TEXT_GPROFNG) ./gprofng$(EXEEXT) $(H2M_FILTER) > $@
gp-archive.1: $(srcdir)/gp-archive.cc $(common_mandeps) | ./gp-archive$(EXEEXT) gp-archive.1: $(srcdir)/gp-archive.cc $(common_mandeps) | ./gp-archive$(EXEEXT)
$(AM_V_GEN)_BUILDING_MANPAGE=1 $(HELP2MAN) $(HELP2MAN_OPT) \ $(AM_V_GEN)_BUILDING_MANPAGE=1 $(HELP2MAN) $(HELP2MAN_OPT) \
--name=$(TEXT_GP_ARCHIVE) ./gp-archive$(EXEEXT) $(H2M_FILTER) > $@ --name=$(TEXT_GP_ARCHIVE) ./gp-archive$(EXEEXT) $(H2M_FILTER) > $@
@ -223,3 +219,5 @@ dist-hook: $(LIBGPROFNG)
install-data-local: install-pkglibLTLIBRARIES install-data-local: install-pkglibLTLIBRARIES
rm -f $(DESTDIR)/$(pkglibdir)/*.la $(DESTDIR)/$(pkglibdir)/*.a rm -f $(DESTDIR)/$(pkglibdir)/*.la $(DESTDIR)/$(pkglibdir)/*.a
$(srcdir)/DbeSession.cc: QLParser.tab.hh

View File

@ -572,7 +572,7 @@ gp_display_src_SOURCES = gp-display-src.cc
gp_display_src_LDADD = $(LIBGPROFNG) $(CLOCK_GETTIME_LINK) $(ZLIB) gp_display_src_LDADD = $(LIBGPROFNG) $(CLOCK_GETTIME_LINK) $(ZLIB)
gp_display_text_SOURCES = gp-display-text.cc ipc.cc ipcio.cc gp_display_text_SOURCES = gp-display-text.cc ipc.cc ipcio.cc
gp_display_text_LDADD = $(LIBGPROFNG) $(CLOCK_GETTIME_LINK) $(ZLIB) gp_display_text_LDADD = $(LIBGPROFNG) $(CLOCK_GETTIME_LINK) $(ZLIB)
@BUILD_MAN_TRUE@man_MANS = gprofng.1 \ @BUILD_MAN_TRUE@man_MANS = \
@BUILD_MAN_TRUE@ gp-archive.1 \ @BUILD_MAN_TRUE@ gp-archive.1 \
@BUILD_MAN_TRUE@ gp-collect-app.1 \ @BUILD_MAN_TRUE@ gp-collect-app.1 \
@BUILD_MAN_TRUE@ gp-display-src.1 \ @BUILD_MAN_TRUE@ gp-display-src.1 \
@ -1176,10 +1176,6 @@ uninstall-man: uninstall-man1
QLParser.tab.cc QLParser.tab.hh: QLParser.yy QLParser.tab.cc QLParser.tab.hh: QLParser.yy
$(BISON) $^ $(BISON) $^
@BUILD_MAN_TRUE@gprofng.1: $(srcdir)/gprofng.cc $(common_mandeps) | ./gprofng$(EXEEXT)
@BUILD_MAN_TRUE@ $(AM_V_GEN)_BUILDING_MANPAGE=1 $(HELP2MAN) $(HELP2MAN_OPT) \
@BUILD_MAN_TRUE@ --name=$(TEXT_GPROFNG) ./gprofng$(EXEEXT) $(H2M_FILTER) > $@
@BUILD_MAN_TRUE@gp-archive.1: $(srcdir)/gp-archive.cc $(common_mandeps) | ./gp-archive$(EXEEXT) @BUILD_MAN_TRUE@gp-archive.1: $(srcdir)/gp-archive.cc $(common_mandeps) | ./gp-archive$(EXEEXT)
@BUILD_MAN_TRUE@ $(AM_V_GEN)_BUILDING_MANPAGE=1 $(HELP2MAN) $(HELP2MAN_OPT) \ @BUILD_MAN_TRUE@ $(AM_V_GEN)_BUILDING_MANPAGE=1 $(HELP2MAN) $(HELP2MAN_OPT) \
@BUILD_MAN_TRUE@ --name=$(TEXT_GP_ARCHIVE) ./gp-archive$(EXEEXT) $(H2M_FILTER) > $@ @BUILD_MAN_TRUE@ --name=$(TEXT_GP_ARCHIVE) ./gp-archive$(EXEEXT) $(H2M_FILTER) > $@
@ -1207,6 +1203,8 @@ dist-hook: $(LIBGPROFNG)
install-data-local: install-pkglibLTLIBRARIES install-data-local: install-pkglibLTLIBRARIES
rm -f $(DESTDIR)/$(pkglibdir)/*.la $(DESTDIR)/$(pkglibdir)/*.a rm -f $(DESTDIR)/$(pkglibdir)/*.la $(DESTDIR)/$(pkglibdir)/*.a
$(srcdir)/DbeSession.cc: QLParser.tab.hh
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: .NOEXPORT: