Add the patches with real changes from the binutils 2.40 stable branch. I am not aware that we ran into any of these problems, but I think it is better to take the existing stable patches. They were exported like this: git format-patch binutils-2_40...origin/binutils-2_40-branch I removed the patches changing the version numbers and updating the translations only. I removed the following patches: *Automatic-date-updat* 001-Re-enable-development.-Update-version-to-2.40.0.patch 004-Updated-translations-for-the-gas-and-binutils-sub-di.patch 015-Updated-Swedish-translation-for-the-binutils-sub-dir.patch 027-Updated-Swedish-translation-for-the-binutils-sub-dir.patch Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
		
			
				
	
	
		
			704 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			704 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From c6e269febbc946a54ed9dbbb2dc70feba6017607 Mon Sep 17 00:00:00 2001
 | 
						|
From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>
 | 
						|
Date: Fri, 20 Jan 2023 15:39:55 -0800
 | 
						|
Subject: [PATCH 18/50] 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.
 | 
						|
---
 | 
						|
 gprofng/Makefile.am      |   2 +-
 | 
						|
 gprofng/Makefile.in      |   2 +-
 | 
						|
 gprofng/configure        |  79 +++++++++++++++---
 | 
						|
 gprofng/configure.ac     |  21 +++--
 | 
						|
 gprofng/doc/Makefile.am  |  24 +++++-
 | 
						|
 gprofng/doc/Makefile.in  |  93 ++++++++++++++++++---
 | 
						|
 gprofng/doc/gprofng.texi | 169 +++++++++++++++++++++++++++++++++++++++
 | 
						|
 gprofng/src/Makefile.am  |   8 +-
 | 
						|
 gprofng/src/Makefile.in  |   8 +-
 | 
						|
 9 files changed, 364 insertions(+), 42 deletions(-)
 | 
						|
 | 
						|
--- a/gprofng/Makefile.am
 | 
						|
+++ b/gprofng/Makefile.am
 | 
						|
@@ -23,7 +23,7 @@ AUTOMAKE_OPTIONS = dejagnu foreign
 | 
						|
 if BUILD_COLLECTOR
 | 
						|
     COLLECTOR_SUBDIRS = libcollector
 | 
						|
 endif
 | 
						|
-if BUILD_MAN
 | 
						|
+if BUILD_DOC
 | 
						|
     DOC_SUBDIR = doc
 | 
						|
 endif
 | 
						|
 if BUILD_SRC
 | 
						|
--- a/gprofng/Makefile.in
 | 
						|
+++ b/gprofng/Makefile.in
 | 
						|
@@ -381,7 +381,7 @@ zlibinc = @zlibinc@
 | 
						|
 ACLOCAL_AMFLAGS = -I . -I .. 
 | 
						|
 AUTOMAKE_OPTIONS = dejagnu foreign
 | 
						|
 @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)
 | 
						|
 SUBDIRS = $(COLLECTOR_SUBDIRS) $(SRC_SUBDIRS)
 | 
						|
 DIST_SUBDIRS = libcollector src gp-display-html $(DOC_SUBDIR)
 | 
						|
--- a/gprofng/configure
 | 
						|
+++ b/gprofng/configure
 | 
						|
@@ -639,6 +639,8 @@ GPROFNG_CPPFLAGS
 | 
						|
 GPROFNG_NO_FORMAT_TRUNCATION_CFLAGS
 | 
						|
 GPROFNG_CFLAGS
 | 
						|
 LD_NO_AS_NEEDED
 | 
						|
+BUILD_DOC_FALSE
 | 
						|
+BUILD_DOC_TRUE
 | 
						|
 BUILD_MAN_FALSE
 | 
						|
 BUILD_MAN_TRUE
 | 
						|
 HELP2MAN
 | 
						|
@@ -12221,7 +12223,7 @@ else
 | 
						|
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
 | 
						|
   lt_status=$lt_dlunknown
 | 
						|
   cat > conftest.$ac_ext <<_LT_EOF
 | 
						|
-#line 12224 "configure"
 | 
						|
+#line 12226 "configure"
 | 
						|
 #include "confdefs.h"
 | 
						|
 
 | 
						|
 #if HAVE_DLFCN_H
 | 
						|
@@ -12327,7 +12329,7 @@ else
 | 
						|
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
 | 
						|
   lt_status=$lt_dlunknown
 | 
						|
   cat > conftest.$ac_ext <<_LT_EOF
 | 
						|
-#line 12330 "configure"
 | 
						|
+#line 12332 "configure"
 | 
						|
 #include "confdefs.h"
 | 
						|
 
 | 
						|
 #if HAVE_DLFCN_H
 | 
						|
@@ -16737,9 +16739,58 @@ fi
 | 
						|
 
 | 
						|
 # Generate manpages, if possible.
 | 
						|
 build_man=false
 | 
						|
+build_doc=false
 | 
						|
 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
 | 
						|
+
 | 
						|
+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
 | 
						|
 
 | 
						|
-HELP2MAN=${HELP2MAN-"${am_missing_run}help2man"}
 | 
						|
+
 | 
						|
+  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
 | 
						|
 do
 | 
						|
@@ -16782,10 +16833,10 @@ fi
 | 
						|
 
 | 
						|
   test -n "$MAKEINFO" && break
 | 
						|
 done
 | 
						|
-test -n "$MAKEINFO" || MAKEINFO=""@echo makeinfo missing; true""
 | 
						|
+test -n "$MAKEINFO" || MAKEINFO="$MISSING makeinfo"
 | 
						|
 
 | 
						|
-  case "$MAKEINFO" in
 | 
						|
-    *true)
 | 
						|
+  case "x$MAKEINFO" in
 | 
						|
+    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: WARNING: gprofng: makeinfo is missing. Info documentation will not be built." >&2;}
 | 
						|
       ;;
 | 
						|
@@ -16796,9 +16847,7 @@ $as_echo "$as_me: WARNING: gprofng: make
 | 
						|
 $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"
 | 
						|
 	  ;;
 | 
						|
-	x* )
 | 
						|
-	  build_man=true
 | 
						|
-	  ;;
 | 
						|
+	x* ) build_doc=true ;;
 | 
						|
 	esac
 | 
						|
       ;;
 | 
						|
     esac
 | 
						|
@@ -16812,6 +16861,14 @@ else
 | 
						|
   BUILD_MAN_FALSE=
 | 
						|
 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}
 | 
						|
 
 | 
						|
@@ -17070,6 +17127,10 @@ if test -z "${BUILD_MAN_TRUE}" && test -
 | 
						|
   as_fn_error $? "conditional \"BUILD_MAN\" was never defined.
 | 
						|
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 | 
						|
 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}"
 | 
						|
 ac_write_fail=0
 | 
						|
--- a/gprofng/configure.ac
 | 
						|
+++ b/gprofng/configure.ac
 | 
						|
@@ -210,11 +210,19 @@ AM_ZLIB
 | 
						|
 
 | 
						|
 # Generate manpages, if possible.
 | 
						|
 build_man=false
 | 
						|
+build_doc=false
 | 
						|
 if test $cross_compiling = no; then
 | 
						|
-  AM_MISSING_PROG(HELP2MAN, help2man)
 | 
						|
-  AC_CHECK_PROGS([MAKEINFO], makeinfo, ["@echo makeinfo missing; true"])
 | 
						|
-  case "$MAKEINFO" in
 | 
						|
-    *true)
 | 
						|
+  AC_CHECK_PROGS([HELP2MAN], help2man, [$MISSING help2man])
 | 
						|
+  case "x$HELP2MAN" in
 | 
						|
+    x | */missing\ help2man* )
 | 
						|
+      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.])
 | 
						|
       ;;
 | 
						|
     *)
 | 
						|
@@ -223,15 +231,14 @@ if test $cross_compiling = no; then
 | 
						|
 	  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"
 | 
						|
 	  ;;
 | 
						|
-	x* )
 | 
						|
-	  build_man=true
 | 
						|
-	  ;;
 | 
						|
+	x* ) build_doc=true ;;
 | 
						|
 	esac
 | 
						|
       ;;
 | 
						|
     esac
 | 
						|
   AC_SUBST(MAKEINFO)
 | 
						|
 fi
 | 
						|
 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(GPROFNG_CFLAGS, [${gprofng_cflags}])
 | 
						|
--- a/gprofng/doc/Makefile.am
 | 
						|
+++ b/gprofng/doc/Makefile.am
 | 
						|
@@ -19,9 +19,31 @@
 | 
						|
 
 | 
						|
 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
 | 
						|
 gprofng_TEXINFOS    = fdl.texi
 | 
						|
 TEXINFO_TEX         = .
 | 
						|
 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)
 | 
						|
--- a/gprofng/doc/Makefile.in
 | 
						|
+++ b/gprofng/doc/Makefile.in
 | 
						|
@@ -182,7 +182,7 @@ am__can_run_installinfo = \
 | 
						|
     n|no|NO) false;; \
 | 
						|
     *) (install-info --version) >/dev/null 2>&1;; \
 | 
						|
   esac
 | 
						|
-am__installdirs = "$(DESTDIR)$(infodir)"
 | 
						|
+am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"
 | 
						|
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 | 
						|
 am__vpath_adj = case $$p in \
 | 
						|
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
 | 
						|
@@ -210,6 +210,9 @@ am__uninstall_files_from_dir = { \
 | 
						|
     || { echo " ( 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__DIST_COMMON = $(gprofng_TEXINFOS) $(srcdir)/Makefile.in \
 | 
						|
 	$(top_srcdir)/../mkinstalldirs mdate-sh texinfo.tex
 | 
						|
@@ -361,11 +364,19 @@ top_srcdir = @top_srcdir@
 | 
						|
 zlibdir = @zlibdir@
 | 
						|
 zlibinc = @zlibinc@
 | 
						|
 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
 | 
						|
 gprofng_TEXINFOS = fdl.texi
 | 
						|
 TEXINFO_TEX = .
 | 
						|
 MAKEINFOHTML = $(MAKEINFO) --html --no-split
 | 
						|
-MAINTAINERCLEANFILES = gprofng.info
 | 
						|
+man_MANS = gprofng.1
 | 
						|
+MAINTAINERCLEANFILES = gprofng.info $(man_MANS)
 | 
						|
 all: all-am
 | 
						|
 
 | 
						|
 .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]"; \
 | 
						|
 	  rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
 | 
						|
 	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:
 | 
						|
 
 | 
						|
 ctags CTAGS:
 | 
						|
@@ -600,9 +654,9 @@ distdir: $(DISTFILES)
 | 
						|
 	  dist-info
 | 
						|
 check-am: all-am
 | 
						|
 check: check-am
 | 
						|
-all-am: Makefile $(INFO_DEPS)
 | 
						|
+all-am: Makefile $(INFO_DEPS) $(MANS)
 | 
						|
 installdirs:
 | 
						|
-	for dir in "$(DESTDIR)$(infodir)"; do \
 | 
						|
+	for dir in "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"; do \
 | 
						|
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 | 
						|
 	done
 | 
						|
 install: install-am
 | 
						|
@@ -652,11 +706,9 @@ html: html-am
 | 
						|
 
 | 
						|
 html-am: $(HTMLS)
 | 
						|
 
 | 
						|
-info: info-am
 | 
						|
-
 | 
						|
 info-am: $(INFO_DEPS)
 | 
						|
 
 | 
						|
-install-data-am: install-info-am
 | 
						|
+install-data-am: install-info-am install-man
 | 
						|
 
 | 
						|
 install-dvi: install-dvi-am
 | 
						|
 
 | 
						|
@@ -739,7 +791,7 @@ install-info-am: $(INFO_DEPS)
 | 
						|
 	    install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
 | 
						|
 	  done; \
 | 
						|
 	else : ; fi
 | 
						|
-install-man:
 | 
						|
+install-man: install-man1
 | 
						|
 
 | 
						|
 install-pdf: install-pdf-am
 | 
						|
 
 | 
						|
@@ -794,7 +846,9 @@ ps: ps-am
 | 
						|
 ps-am: $(PSS)
 | 
						|
 
 | 
						|
 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
 | 
						|
 
 | 
						|
@@ -804,19 +858,32 @@ uninstall-am: uninstall-dvi-am uninstall
 | 
						|
 	html-am info info-am install install-am install-data \
 | 
						|
 	install-data-am install-dvi install-dvi-am install-exec \
 | 
						|
 	install-exec-am install-html install-html-am install-info \
 | 
						|
-	install-info-am install-man install-pdf install-pdf-am \
 | 
						|
-	install-ps install-ps-am install-strip installcheck \
 | 
						|
-	installcheck-am installdirs maintainer-clean \
 | 
						|
+	install-info-am install-man install-man1 install-pdf \
 | 
						|
+	install-pdf-am install-ps install-ps-am install-strip \
 | 
						|
+	installcheck installcheck-am installdirs maintainer-clean \
 | 
						|
 	maintainer-clean-aminfo maintainer-clean-generic \
 | 
						|
 	maintainer-clean-vti mostlyclean mostlyclean-aminfo \
 | 
						|
 	mostlyclean-generic mostlyclean-libtool mostlyclean-vti pdf \
 | 
						|
 	pdf-am ps ps-am tags-am uninstall uninstall-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
 | 
						|
 
 | 
						|
 
 | 
						|
+# 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.
 | 
						|
 # Otherwise a system limit (for SysV at least) may be exceeded.
 | 
						|
 .NOEXPORT:
 | 
						|
--- a/gprofng/doc/gprofng.texi
 | 
						|
+++ b/gprofng/doc/gprofng.texi
 | 
						|
@@ -1,5 +1,8 @@
 | 
						|
 \input texinfo @c -*-texinfo-*-
 | 
						|
 
 | 
						|
+@c for $sect (qw(NAME SYNOPSIS TARGET DESCRIPTION OPTIONS ENVIRONMENT FILES
 | 
						|
+@c               BUGS NOTES FOOTNOTES SEEALSO AUTHOR COPYRIGHT)) {
 | 
						|
+
 | 
						|
 @c ----------------------------------------------------------------------------
 | 
						|
 @c This is the Texinfo source file for the GPROFNG manual.
 | 
						|
 @c
 | 
						|
@@ -59,6 +62,10 @@ gprofng
 | 
						|
 @cindex \label\, \string\
 | 
						|
 @end macro
 | 
						|
 
 | 
						|
+@macro gcctabopt{body}
 | 
						|
+@code{\body\}
 | 
						|
+@end macro
 | 
						|
+
 | 
						|
 @c -- Get the version information ---------------------------------------------
 | 
						|
 @include version.texi
 | 
						|
 
 | 
						|
@@ -99,6 +106,20 @@ section entitled ``GNU Free Documentatio
 | 
						|
 @page
 | 
						|
 @vskip 0pt plus 1filll
 | 
						|
 @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
 | 
						|
 
 | 
						|
 @c -- Generate the Table of Contents ------------------------------------------
 | 
						|
@@ -163,6 +184,154 @@ Terminology
 | 
						|
 @end menu
 | 
						|
 @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 --------------------------------------------------------------
 | 
						|
 @node    Introduction
 | 
						|
 @chapter Introduction
 | 
						|
--- a/gprofng/src/Makefile.am
 | 
						|
+++ b/gprofng/src/Makefile.am
 | 
						|
@@ -160,7 +160,7 @@ gp_display_text_LDADD = $(LIBGPROFNG) $(
 | 
						|
 
 | 
						|
 if BUILD_MAN
 | 
						|
 
 | 
						|
-man_MANS = gprofng.1 \
 | 
						|
+man_MANS = \
 | 
						|
 	gp-archive.1 \
 | 
						|
 	gp-collect-app.1 \
 | 
						|
 	gp-display-src.1 \
 | 
						|
@@ -191,10 +191,6 @@ H2M_FILTER = | sed 's/\.TP/\.TP\n.B/' |
 | 
						|
   | sed 's/See also:/\.SH SEE ALSO/' | sed 's/Documentation:/.SH DOCUMENTATION/' \
 | 
						|
   | 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)
 | 
						|
 	$(AM_V_GEN)_BUILDING_MANPAGE=1 $(HELP2MAN) $(HELP2MAN_OPT) \
 | 
						|
 	  --name=$(TEXT_GP_ARCHIVE) ./gp-archive$(EXEEXT) $(H2M_FILTER) > $@
 | 
						|
@@ -223,3 +219,5 @@ dist-hook: $(LIBGPROFNG)
 | 
						|
 
 | 
						|
 install-data-local: install-pkglibLTLIBRARIES
 | 
						|
 	rm -f $(DESTDIR)/$(pkglibdir)/*.la $(DESTDIR)/$(pkglibdir)/*.a
 | 
						|
+
 | 
						|
+$(srcdir)/DbeSession.cc: QLParser.tab.hh
 | 
						|
--- a/gprofng/src/Makefile.in
 | 
						|
+++ b/gprofng/src/Makefile.in
 | 
						|
@@ -572,7 +572,7 @@ gp_display_src_SOURCES = gp-display-src.
 | 
						|
 gp_display_src_LDADD = $(LIBGPROFNG) $(CLOCK_GETTIME_LINK) $(ZLIB)
 | 
						|
 gp_display_text_SOURCES = gp-display-text.cc ipc.cc ipcio.cc
 | 
						|
 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-collect-app.1 \
 | 
						|
 @BUILD_MAN_TRUE@	gp-display-src.1 \
 | 
						|
@@ -1176,10 +1176,6 @@ uninstall-man: uninstall-man1
 | 
						|
 QLParser.tab.cc QLParser.tab.hh: QLParser.yy
 | 
						|
 	$(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@	$(AM_V_GEN)_BUILDING_MANPAGE=1 $(HELP2MAN) $(HELP2MAN_OPT) \
 | 
						|
 @BUILD_MAN_TRUE@	  --name=$(TEXT_GP_ARCHIVE) ./gp-archive$(EXEEXT) $(H2M_FILTER) > $@
 | 
						|
@@ -1207,6 +1203,8 @@ dist-hook: $(LIBGPROFNG)
 | 
						|
 install-data-local: install-pkglibLTLIBRARIES
 | 
						|
 	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.
 | 
						|
 # Otherwise a system limit (for SysV at least) may be exceeded.
 | 
						|
 .NOEXPORT:
 |