Copy gdb-gdb.py to build dir
authorSimon Marchi <simon.marchi@ericsson.com>
Wed, 27 Jun 2018 18:32:02 +0000 (14:32 -0400)
committerSimon Marchi <simon.marchi@ericsson.com>
Wed, 27 Jun 2018 18:32:02 +0000 (14:32 -0400)
I have thought for a long time how nice it would be to have cool pretty
printers for GDB's internal types.  Well, turns out there are few
already in gdb-gdb.py!  Unfortunately, if you build GDB outside of the
source directory, that file never gets loaded.  top-gdb will look for a
file called

  ../path/to/build/gdb/gdb-gdb.py

but that file is in the source directory at

  ../path/to/src/gdb/gdb-gdb.py

This patch makes it so we copy it to the build directory, just like we
do for gdb-gdb.gdb.  With this, I can at least see the file getting
automatically loaded:

(top-gdb) info pretty-printer
global pretty-printers:
  builtin
    mpx_bound128
  objfile /home/emaisin/build/binutils-gdb/gdb/gdb pretty-printers:
  type_lookup_function

I noticed that running "make" didn't re-generate gdb-gdb.py from
gdb-gdb.py.in.  That's because it's copied when running the configure
script and that's it.  I added a rule in the Makefile for that (and for
gdb-gdb.gdb too) and added them as a dependency to the "all" target.

gdb/ChangeLog:

* gdb-gdb.py: Move to...
* gdb-gdb.py.in: ... here.
* configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
* Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
dependencies.
(distclean): Remove gdb-gdb.py when cleaning.
(gdb-gdb.py, gdb-gdb.gdb): New rules.
* configure: Re-generate.

gdb/ChangeLog
gdb/Makefile.in
gdb/configure
gdb/configure.ac
gdb/gdb-gdb.py.in [moved from gdb/gdb-gdb.py with 100% similarity]

index c791add..644aed8 100644 (file)
@@ -1,3 +1,14 @@
+2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * gdb-gdb.py: Move to...
+       * gdb-gdb.py.in: ... here.
+       * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
+       * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
+       dependencies.
+       (distclean): Remove gdb-gdb.py when cleaning.
+       (gdb-gdb.py, gdb-gdb.gdb): New rules.
+       * configure: Re-generate.
+
 2018-06-27  Pedro Alves  <palves@redhat.com>
 
        * proc-service.c (get_ps_regcache): New.
index 354a636..5934cd6 100644 (file)
@@ -1607,7 +1607,7 @@ generated_files = \
 # Flags needed to compile Python code
 PYTHON_CFLAGS = @PYTHON_CFLAGS@
 
-all: gdb$(EXEEXT) $(CONFIG_ALL)
+all: gdb$(EXEEXT) $(CONFIG_ALL) gdb-gdb.py gdb-gdb.gdb
        @$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do
 
 # Rule for compiling .c files in the top-level gdb directory.
@@ -1983,7 +1983,8 @@ distclean: clean
        rm -f gdbserver/config.status gdbserver/config.log
        rm -f gdbserver/tm.h gdbserver/xm.h gdbserver/nm.h
        rm -f gdbserver/Makefile gdbserver/config.cache
-       rm -f nm.h config.status config.h stamp-h gdb-gdb.gdb jit-reader.h
+       rm -f nm.h config.status config.h stamp-h b jit-reader.h
+       rm -f gdb-gdb.py gdb-gdb.gdb
        rm -f y.output yacc.acts yacc.tmp y.tab.h
        rm -f config.log config.cache
        rm -f Makefile
@@ -2060,6 +2061,12 @@ jit-reader.h: $(srcdir)/jit-reader.in
 gcore: $(srcdir)/gcore.in
        $(SHELL) config.status $@
 
+gdb-gdb.py: $(srcdir)/gdb-gdb.py.in
+       $(SHELL) config.status $@
+
+gdb-gdb.gdb: $(srcdir)/gdb-gdb.gdb.in
+       $(SHELL) config.status $@
+
 config.h: stamp-h ; @true
 stamp-h: $(srcdir)/config.in config.status
        CONFIG_HEADERS=config.h:config.in \
index 24e8968..d3a3bbe 100755 (executable)
@@ -17789,7 +17789,7 @@ fi
 
 ac_config_files="$ac_config_files gcore"
 
-ac_config_files="$ac_config_files Makefile gdb-gdb.gdb doc/Makefile data-directory/Makefile"
+ac_config_files="$ac_config_files Makefile gdb-gdb.gdb gdb-gdb.py doc/Makefile data-directory/Makefile"
 
 
 cat >confcache <<\_ACEOF
@@ -18516,6 +18516,7 @@ do
     "gcore") CONFIG_FILES="$CONFIG_FILES gcore" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "gdb-gdb.gdb") CONFIG_FILES="$CONFIG_FILES gdb-gdb.gdb" ;;
+    "gdb-gdb.py") CONFIG_FILES="$CONFIG_FILES gdb-gdb.py" ;;
     "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
     "data-directory/Makefile") CONFIG_FILES="$CONFIG_FILES data-directory/Makefile" ;;
 
@@ -19158,6 +19159,12 @@ xconfig.h:config.in)
 echo > stamp-h ;;
 esac
  ;;
+    "gdb-gdb.py":F)
+case x$CONFIG_HEADERS in
+xconfig.h:config.in)
+echo > stamp-h ;;
+esac
+ ;;
     "doc/Makefile":F)
 case x$CONFIG_HEADERS in
 xconfig.h:config.in)
index aa22d1d..44b6c62 100644 (file)
@@ -2305,7 +2305,7 @@ fi
 GDB_AC_TRANSFORM([gdb], [GDB_TRANSFORM_NAME])
 GDB_AC_TRANSFORM([gcore], [GCORE_TRANSFORM_NAME])
 AC_CONFIG_FILES([gcore], [chmod +x gcore])
-AC_CONFIG_FILES([Makefile gdb-gdb.gdb doc/Makefile data-directory/Makefile],
+AC_CONFIG_FILES([Makefile gdb-gdb.gdb gdb-gdb.py doc/Makefile data-directory/Makefile],
 [
 case x$CONFIG_HEADERS in
 xconfig.h:config.in)
similarity index 100%
rename from gdb/gdb-gdb.py
rename to gdb/gdb-gdb.py.in