Christian's recent patches to gnulib made me realize that readline
should be changed to use AC_CONFIG_MACRO_DIRS (ACLOCAL_AMFLAGS is
deprecated) and that it can put the automake options into
configure.ac. I also added no-define to the automake options. This
doesn't matter much (we don't generate a config.h here), but gnulib
does it, and it does make configure slightly smaller.
readline/ChangeLog
2019-11-15 Tom Tromey <tromey@adacore.com>
* configure, Makefile.in: Rebuild.
* configure.ac: Use AC_CONFIG_MACRO_DIRS. Pass options to
AM_INIT_AUTOMAKE.
* Makefile.am (AUTOMAKE_OPTIONS, ACLOCAL_AMFLAGS): Remove.
Change-Id: If421599cc9dd9c4c3c37b9b439ab2c22c01742ed
readline turns out to be a bit of a stumbling block for the project to
move gdbsupport (and then gdbserver) to the top-level.
The issue is that readline headers are intended to be included with
names like "readline/readline.h". To support this, gdb effectively
adds a -I option pointing to the top-level source directory -- but,
importantly, this option is not used when the system readline is used.
For gdbsupport, a -I option like this would always be needed, but that
in turn would break the system readline case. This was PR build/17077,
fixed in commit a8a5dbcab8.
Previously, we had discussed this on the gdb-patches list in terms of
removing readline from the tree
https://sourceware.org/ml/gdb-patches/2019-09/msg00317.html
However, Eli expressed some concerns, and Joel did as well (off-list).
Given those concerns, and the fact that a patch-free local readline is
relatively new in gdb (it was locally patched for years), I changed my
mind and decided to handle this situation by moving the readline
sources down a level.
That is, upstream readline is now in readline/readline, and the
top-level readline directory just contains the minimal configury
needed to build that.
This fixes the problem because, when gdb unconditionally adds a
-I$(top_srcdir), this will not find readline headers. A separate -I
will be needed instead, which is exactly what's needed for
--with-system-readline.
gdb/ChangeLog
2019-10-23 Tom Tromey <tom@tromey.com>
* Makefile.in (READLINE_DIR): Update.
gdb/doc/ChangeLog
2019-10-23 Tom Tromey <tom@tromey.com>
* Makefile.in (READLINE_DIR): Update.
readline/ChangeLog
2019-10-23 Tom Tromey <tom@tromey.com>
Move old contents to readline/ subdirectory.
* aclocal.m4, configure, configure.ac, .gitignore, Makefile.am,
Makefile.in, README: New files.
Change-Id: Ice156a2ee09ea68722b48f64d97146d7428ea9e4
* gdb/config/i386/windows.mh,
gdb/doc/GDBvn.texi, gdb/doc/remote.texi,
gdb/testsuite/gdb.base/README, gdb/testsuite/gdb.base/crossload.exp,
gdb/testsuite/gdb.base/i486-elf.u, gdb/testsuite/gdb.base/i860-elf.u,
gdb/testsuite/gdb.base/m68k-aout.u,
gdb/testsuite/gdb.base/m68k-aout2.u,
gdb/testsuite/gdb.base/m68k-elf.u, gdb/testsuite/gdb.base/mips-ecoff.u,
gdb/testsuite/gdb.base/sparc-aout.u,
gdb/testsuite/gdb.base/sparc-elf.u,
gdb/tui/Makefile,
readline/ChangeLog: These files have been removed over the course
of the last year, but weren't cvs removed from the old GDB repository
on sourceware.
* Makefile.in: Add CYGNUS LOCAL comment.
* acconfig.h: Add missing defines.
* config.h.bot: Add missing content.
* configure, config.h.in: Regenerated.
config.h.in is a generated file, but the readline distribution
checked in could not regenerate this. This set of changes fixes
that.
<jimb@zwingli.cygnus.com> and David Taylor
<taylor@texas.cygnus.com> as part of a project to merge in changes
made by HP; HP did not create ChangeLog entries.
* config/mp-enable-tui: New file.
(TUI_CFLAGS): Search devo's include directory, as long as we're
totally ruining modularity.
(INCLUDE_SRCDIR): New var.
(GDB_TUI_SRCDIR): Fix syntax error.
* configure.in: Check the --enable-tui flag; if it's set, include
a makefile fragment that #defines TUI and adds the needed #include
directories.
(*-*-hpux*): New host; use sysdep-hpux.h.
* Makefile.in (.c.o): Check the variable set in the makefile
fragment above.
* display.c (term_goto): declare it.
(insert_some_chars): set it.
(delete_chars): set it.
* readline.c: add tui include files surrounded by TUI.
(rl_reset): new function, move some of rl_abort functionality to
here.
(rl_abort): call rl_reset.
(rl_getc): tui changes.
(init_terminal_io): tui changes.
* readline.h (tui_version, fputc_unfiltered, fputs_unfiltered,
tui_tputs): declare if TUI is defined.
* rltty.c (prepare_terminal_settings): additional comment.
* signals.c: add tui include files surrounded by TUI. move #if
and #endif to column 1 so HP's compiler will accept them. Remove
declaration of tuiDoAndReturnToTop since it's declared in tui.h.
(rl_handle_sigwinch): call tuiDoAndReturnToTop if TUI defined.
(rl_handle_sigwinch_on_clear): define if TUI defined.
(rl_set_signals): if TUI, avoid infinite recursion.
(rl_clear_signals): install rl_handle_sigwinch_on_clear.
* sysdep-hpux.h: New file.
win32.
* configure.in: Add test for *-*-cygwin32* to use config/mh-posix.
* readline.c: Move decl of tgetstr to rldefs.h.
* (_rl_set_screen_size): Remove redundant ifdef MINIMALs.
* rldefs.h: Don't do MINIMAL for cygwin32. Cygwin32 now uses
full-blown readline, except for termcap.
* complete.c display.c parens.c readline.c rldefs.h rltty.c
signals.c tilde.c: Change refs to _MSC_VER and __WIN32__ to _WIN32.
* signals.c (rl_signal_handler): Ifdef out kill if _WIN32.
* sysdep-norm.h: Ifdef out include of dirent.h if _WIN32.
Include malloc.h if _WIN32.
* display.c: Add include of "sysdep.h" to get HAVE_VARARGS_H.
* configure.in: Change pattern i[345]86-*-linux* into *-*-linux* to
support non-x86 based Linux platforms.
Fixes for when the host WIN32, but not MSC.
* complete.c: Sometimes have pwd.h
* parens.c: WIN32 has similar restrictions to __GO32__.
* readline.c (__GO32__): Some of this moved into rldefs.h
* signals.c (__GO32__): Likewise.
* rldefs.h (MSDOS||WIN32) becomes MSDOS||MSC.
(WIN32&&!WIN32): New definitions.