gdb: Add missing install-dvi Makefile target
Checks
Context |
Check |
Description |
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gdb_build--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gdb_check--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 |
success
|
Testing passed
|
Commit Message
For some reason install-dvi is missing although other targets of the
same family are present. This looks like an oversight.
This enables calling 'make install-dvi' from the top-level build
directory.
---
gdb/Makefile.in | 2 +-
gdb/data-directory/Makefile.in | 2 +-
gdb/doc/Makefile.in | 19 +++++++++++++++++--
gdb/testsuite/Makefile.in | 1 +
4 files changed, 20 insertions(+), 4 deletions(-)
Comments
Hello Christophe,
Thank you for the patch! Just a couple of minor comments:
Christophe Lyon <christophe.lyon@linaro.org> writes:
> For some reason install-dvi is missing although other targets of the
> same family are present. This looks like an oversight.
>
> This enables calling 'make install-dvi' from the top-level build
> directory.
I can confirm that 'make install-dvi' works from inside $BUILD/gdb, but
from $BUILD I get this error:
Doing install-dvi in libdecnumber
make[2]: Entering directory '/home/thiago.bauermann/.cache/builds/gdb-native/libdecnumber'
make[2]: *** No rule to make target 'install-dvi'. Stop.
make[2]: Leaving directory '/home/thiago.bauermann/.cache/builds/gdb-native/libdecnumber'
make[1]: *** [Makefile:7855: install-dvi-libdecnumber] Error 1
make[1]: Leaving directory '/home/thiago.bauermann/.cache/builds/gdb-native'
make: *** [Makefile:1669: do-install-dvi] Error 2
With 'make -k' I see that gdbserver also lacks an install-dvi target.
> @@ -233,7 +236,7 @@ Doxyfile-gdb-xref: $(srcdir)/Doxyfile-gdb-xref.in
> Doxyfile-gdbserver: $(srcdir)/Doxyfile-gdbserver.in
> $(doxyedit) $(srcdir)/Doxyfile-gdbserver.in >Doxyfile-gdbserver
>
> -all-doc: info dvi ps # pdf
> +all-doc: info dvi ps pdf
> diststuff: info man
> rm -f gdb-cfg.texi
>
This seems unrelated.
--
Thiago
On Sat, 6 Apr 2024 at 06:13, Thiago Jung Bauermann
<thiago.bauermann@linaro.org> wrote:
>
>
> Hello Christophe,
>
> Thank you for the patch! Just a couple of minor comments:
>
> Christophe Lyon <christophe.lyon@linaro.org> writes:
>
> > For some reason install-dvi is missing although other targets of the
> > same family are present. This looks like an oversight.
> >
> > This enables calling 'make install-dvi' from the top-level build
> > directory.
>
> I can confirm that 'make install-dvi' works from inside $BUILD/gdb, but
> from $BUILD I get this error:
>
> Doing install-dvi in libdecnumber
> make[2]: Entering directory '/home/thiago.bauermann/.cache/builds/gdb-native/libdecnumber'
> make[2]: *** No rule to make target 'install-dvi'. Stop.
> make[2]: Leaving directory '/home/thiago.bauermann/.cache/builds/gdb-native/libdecnumber'
> make[1]: *** [Makefile:7855: install-dvi-libdecnumber] Error 1
> make[1]: Leaving directory '/home/thiago.bauermann/.cache/builds/gdb-native'
> make: *** [Makefile:1669: do-install-dvi] Error 2
>
Hmmm so the master copy of libdecnumber is in GCC IIUC, which does
contain the install-dvi target.
Looks like gdb needs to sync with gcc's current version of
libdecnumber? (which should be a different patch, of course)
> With 'make -k' I see that gdbserver also lacks an install-dvi target.
Ack, sorry for missing this (our build script does not try to build
any doc from gdbserver.
In fact, the man page for gdbserver is part of gdb/doc, but there's no
other doc for gdbserver there (no info/dvi/pdf/texinfo). Is that
expected?
IIUC gdbserver.1 is extracted from the main gdb.texinfo, but there's
no such rule to generate gdbserver.{info/dvi/pdf/html}, an oversight?
>
> > @@ -233,7 +236,7 @@ Doxyfile-gdb-xref: $(srcdir)/Doxyfile-gdb-xref.in
> > Doxyfile-gdbserver: $(srcdir)/Doxyfile-gdbserver.in
> > $(doxyedit) $(srcdir)/Doxyfile-gdbserver.in >Doxyfile-gdbserver
> >
> > -all-doc: info dvi ps # pdf
> > +all-doc: info dvi ps pdf
> > diststuff: info man
> > rm -f gdb-cfg.texi
>
> This seems unrelated.
>
Indeed, that doesn't match the subject/commit message I proposed, I
can put this into a separate patch if you want, or document this
change in the commit message: it looks like an other oversight?
Thanks,
Christophe
> --
> Thiago
@@ -2035,7 +2035,7 @@ check-headers:
done
.PHONY: check-headers
-info install-info clean-info dvi pdf install-pdf html install-html: force
+info install-info clean-info dvi install-dvi pdf install-pdf html install-html: force
@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
# Traditionally "install" depends on "all". But it may be useful
@@ -422,7 +422,7 @@ maintainer-clean realclean distclean: clean
.PHONY: install-info install-pdf install-html clean-info
check installcheck:
info dvi pdf html:
-install-info install-pdf install-html:
+install-info install-dvi install-pdf install-html:
clean-info:
# GNU Make has an annoying habit of putting *all* the Makefile variables
@@ -24,6 +24,7 @@ prefix = @prefix@
infodir = @infodir@
datarootdir = @datarootdir@
docdir = @docdir@
+dvidir = @dvidir@
pdfdir = @pdfdir@
htmldir = @htmldir@
mandir = @mandir@
@@ -87,6 +88,8 @@ SET_TEXINPUTS = \
# Files which should be generated via 'info' and installed by 'install-info'
INFO_DEPS = gdb.info stabs.info annotate.info
+# Files which should be generated via 'dvi' and installed by 'install-dvi'
+DVIFILES = gdb.dvi stabs.dvi refcard.dvi annotate.dvi
# Files which should be generated via 'pdf' and installed by 'install-pdf'
PDFFILES = gdb.pdf stabs.pdf refcard.pdf annotate.pdf
# Files which should be generated via 'html' and installed by 'install-html'
@@ -191,7 +194,7 @@ HAVE_NATIVE_GCORE_HOST = @HAVE_NATIVE_GCORE_HOST@
all: info
info: $(INFO_DEPS)
-dvi: gdb.dvi stabs.dvi refcard.dvi annotate.dvi
+dvi: $(DVIFILES)
ps: gdb.ps stabs.ps refcard.ps annotate.ps
html: $(HTMLFILES)
pdf: $(PDFFILES)
@@ -233,7 +236,7 @@ Doxyfile-gdb-xref: $(srcdir)/Doxyfile-gdb-xref.in
Doxyfile-gdbserver: $(srcdir)/Doxyfile-gdbserver.in
$(doxyedit) $(srcdir)/Doxyfile-gdbserver.in >Doxyfile-gdbserver
-all-doc: info dvi ps # pdf
+all-doc: info dvi ps pdf
diststuff: info man
rm -f gdb-cfg.texi
@@ -293,6 +296,18 @@ install-html: $(HTMLFILES)
fi; \
done
+dvi__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+
+install-dvi: $(DVIFILES)
+ @$(NORMAL_INSTALL)
+ test -z "$(dvidir)" || $(mkinstalldirs) "$(DESTDIR)$(dvidir)"
+ @list='$(DVIFILES)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(dvi__strip_dir) \
+ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(dvidir)/$$f'"; \
+ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(dvidir)/$$f"; \
+ done
+
pdf__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
install-pdf: $(PDFFILES)
@@ -105,6 +105,7 @@ INFODIRS=doc
info:
install-info:
dvi:
+install-dvi:
pdf:
install-pdf:
html: