[rfa] rename insight to insight
Andrew Cagney
ac131313@ges.redhat.com
Tue Aug 27 16:37:00 GMT 2002
Some tweaks,
Anything in the gdbtk sub-directory isn't my problem -- Keith has
already approved it.
> Index: Makefile.in
> ===================================================================
> RCS file: /cvs/src/src/gdb/Makefile.in,v
> retrieving revision 1.249
> diff -u -r1.249 Makefile.in
> --- Makefile.in 25 Aug 2002 21:43:05 -0000 1.249
> +++ Makefile.in 26 Aug 2002 18:25:23 -0000
> @@ -868,7 +868,7 @@
> .c.o:
> $(CC) -c $(INTERNAL_CFLAGS) $<
>
> -all: gdb$(EXEEXT) $(CONFIG_ALL)
> +all: insight$(EXEEXT) gdb$(EXEEXT) $(CONFIG_ALL)
> @$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do
Have a look at the SUBDIR_GDBTK_... variables. That way insight/gdbtk
is more like a plug-in. (we're (Red Hat) trying to remove gdbtk
references from gdb/Makefile.in).
> installcheck:
> @@ -898,28 +898,46 @@
> # install-only is intended to address that need.
> install: all install-only
> install-only: $(CONFIG_INSTALL)
> - transformed_name=`t='$(program_transform_name)'; \
> + $(srcdir)/../mkinstalldirs $(bindir) ; \
> + transformed_name_gdb=`t='$(program_transform_name)'; \
> echo gdb | sed -e $$t` ; \
> - if test "x$$transformed_name" = x; then \
> - transformed_name=gdb ; \
> + if test "x$$transformed_name_gdb" = x; then \
> + transformed_name_gdb=gdb ; \
> + else \
> + true ; \
> + fi ; \
This can be moved to a separate install-gdbtk target (hmm, yes there is
already one).
> + if test -d "${srcdir}/gdbtk" ; then \
> + transformed_name_insight=`t='$(program_transform_name)'; \
> + echo insight | sed -e $$t` ; \
> + if test "x$$transformed_name_insight" = x; then \
> + transformed_name_insight=insight ; \
> else \
> true ; \
> fi ; \
> - $(srcdir)/../mkinstalldirs $(bindir) ; \
> - $(INSTALL_PROGRAM) gdb$(EXEEXT) $(bindir)/$$transformed_name$(EXEEXT) ; \
> - $(srcdir)/../mkinstalldirs $(man1dir) ; \
> - $(INSTALL_DATA) $(srcdir)/gdb.1 $(man1dir)/$$transformed_name.1
> + $(INSTALL_PROGRAM) insight$(EXEEXT) $(bindir)/$$transformed_name_insight$(EXEEXT) ; \
> + fi; \
> + $(INSTALL_PROGRAM) gdb$(EXEEXT) $(bindir)/$$transformed_name_gdb$(EXEEXT) ; \
> + $(srcdir)/../mkinstalldirs $(man1dir) ; \
> + $(INSTALL_DATA) $(srcdir)/gdb.1 $(man1dir)/$$transformed_name.1
> @$(MAKE) DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
>
> uninstall: force $(CONFIG_UNINSTALL)
> - transformed_name=`t='$(program_transform_name)'; \
> + transformed_name_gdb=`t='$(program_transform_name)'; \
> echo gdb | sed -e $$t` ; \
> - if test "x$$transformed_name" = x; then \
> + if test "x$$transformed_name_gdb" = x; then \
> transformed_name=gdb ; \
> else \
> true ; \
> fi ; \
> - rm -f $(bindir)/$$transformed_name$(EXEEXT) $(man1dir)/$$transformed_name.1
This can be moved to uninstall-gdbtk:
> + rm -f $(bindir)/$$transformed_name_gdb$(EXEEXT) $(man1dir)/$$transformed_name.1
> + transformed_name_insight=`t='$(program_transform_name)'; \
> + echo insight | sed -e $$t` ; \
> + if test "x$$transformed_name_insight" = x; then \
> + transformed_name_insight=insight ; \
> + else \
> + true ; \
> + fi ; \
> + rm -f $(bindir)/$$transformed_name_insight$(EXEEXT) $(man1dir)/$$transformed_name.1
> rm -rf $(GDBTK_LIBRARY)
> @$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
>
> @@ -1008,12 +1026,22 @@
> init.o: init.c $(defs_h) $(call_cmds_h)
Yes.
> # Removing the old gdb first works better if it is running, at least on SunOS.
> -gdb$(EXEEXT): main.o libgdb.a $(CONFIG_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS)
> +gdb$(EXEEXT): gdb.o main.o libgdb.a $(CONFIG_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS)
> rm -f gdb$(EXEEXT)
> $(HLDENV) $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) -o gdb$(EXEEXT) \
> - main.o libgdb.a $(CONFIG_OBS) $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS)\
> + gdb.o libgdb.a main.o $(CONFIG_OBS) $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS)\
> $(LOADLIBES)
Per keith's coments, move it to the same block as install-gdbtk.
> +# Removing the old gdb first works better if it is running, at least on SunOS.
> +# Only make the insight executable if gdbtk is available.
> +insight$(EXEEXT): insight.o main.o libgdb.a $(CONFIG_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS)
> + rm -f insight$(EXEEXT)
> + if [ -d "${srcdir}/gdbtk" ] ; then \
> + $(HLDENV) $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) -o insight$(EXEEXT) \
> + insight.o libgdb.a main.o $(CONFIG_OBS) $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS)\
> + $(LOADLIBES) ; \
> + fi ;
> +
> nlm: force
> rootme=`pwd`; export rootme; $(MAKE) $(TARGET_FLAGS_TO_PASS) DO=all DODIRS=nlm subdir_do
>
> @@ -1106,6 +1134,7 @@
> rm -f init.c version.c
> rm -f gdb$(EXEEXT) core make.log
> rm -f gdb[0-9]$(EXEEXT)
This can be made part of clean-gdbtk:
> + rm -f insight$(EXEEXT)
>
> # This used to depend on c-exp.tab.c m2-exp.tab.c TAGS
> # I believe this is wrong; the makefile standards for distclean just
> @@ -1724,6 +1753,8 @@
> $(language_h) $(gdb_string_h) $(readline_headers) $(remote_h) \
> $(linespec_h) $(regcache_h) $(completer_h)
Ok,
> +gdb.o: gdb.c main.o $(defs_h)
> +
> gdbarch.o: gdbarch.c $(defs_h) $(arch_utils_h) $(gdbcmd_h) $(inferior_h) \
> $(gdb_string_h) $(symtab_h) $(frame_h) $(inferior_h) $(breakpoint_h) \
> $(gdb_wait_h) $(gdbcore_h) $(gdbcmd_h) $(target_h) $(gdbthread_h) \
> @@ -1753,7 +1784,7 @@
>
> gnu-v3-abi.o: gnu-v3-abi.c $(defs_h) $(value_h) $(cp_abi_h) $(demangle_h) \
> $(gdb_assert_h) $(gdb_string_h)
> -
> +
> h8300-tdep.o: h8300-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(dis_asm_h) \
> $(gdbcmd_h) $(gdbtypes_h) $(gdbcore_h) $(gdb_string_h) $(value_h) \
> $(regcache_h)
> @@ -1854,6 +1885,8 @@
>
> inftarg.o: inftarg.c $(gdb_wait_h) $(defs_h) $(gdbcore_h) $(inferior_h) \
> $(target_h) $(terminal_h) $(command_h)
This one can be moved to the gdbtk section of the makefile.
> +/* from main.c */
> +extern int captured_main (void *);
> +
> +struct captured_main_args
> + {
> + int argc;
> + char **argv;
Extern's shouldn't be in .c files. What about instead creating a
"main.h" file (for want of a better name) that contains:
struct captured_main_args
{
...
/* Make use_windows a parameter for when someone
eventually manages to make it local or static
or even delete it. */
int use_windows;
};
extern int gdb_main (struct captured_main_args *args);
and then have gdb_main() (in main.c) do the captured call? It would
reduce gdb.c to:
main(argv, argc)
{
struct captured_main_args args;
/* For when it changes size. */
memset (&args, 0, sizeof args);
args.... = ..
return gdb_main (&args);
}
The less things that know about that captured call around main, the
better :-) Another option would have been to have ``gdb_main (argc,
argv, use_windows)'' but that will break the moment someone adds another
startup parameter :-(.
BTW, someone is going to eventually end up going through the code and
rationalizing interpreter_p and use_windows. That, however, is another
separate problem -- here I assume the major objective is to just get the
basic build/install framework in place.
Oh, and thanks! This is on one of those very long overdue to do lists.
Andrew
More information about the Gdb-patches
mailing list