From: Daniel Jacobowitz <drow@false.org>
To: gdb-patches@sourceware.org
Subject: [RFC, take 2] Optional expat
Date: Tue, 08 Aug 2006 18:07:00 -0000 [thread overview]
Message-ID: <20060808180706.GC24779@nevyn.them.org> (raw)
Mark Kettenis made a couple of good points about requiring expat, the
best of which was that so far there are only remote debugging features
which use it. I wouldn't mind there being more native and common
features which used it, but they aren't ready yet, and we can always
come back to this decision when they are.
So this patch adds and documents an optional dependency on expat; we'll
use it only if it's found. A good first step, I think.
Comments? OK to commit?
--
Daniel Jacobowitz
CodeSourcery
2006-08-08 Daniel Jacobowitz <dan@codesourcery.com>
* configure.ac: Check for expat.
* acinclude.m4: Include AC_LIB_HAVE_LINKFLAGS dependencies.
* Makefile.in (LIBEXPAT): New.
(CLIBS): Include $(LIBEXPAT).
* README: Mention expat.
* configure, config.in: Regenerated.
2006-08-08 Daniel Jacobowitz <dan@codesourcery.com>
* gdb.texinfo (Installing GDB): Update menu. Move text to...
(Running Configure): ...here.
(Requirements): New node. Mention expat.
Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.836
diff -u -p -r1.836 Makefile.in
--- Makefile.in 8 Aug 2006 17:39:10 -0000 1.836
+++ Makefile.in 8 Aug 2006 18:01:53 -0000
@@ -128,6 +128,9 @@ READLINE = $(READLINE_DIR)/libreadline.a
READLINE_SRC = $(srcdir)/$(READLINE_DIR)
READLINE_CFLAGS = -I$(READLINE_SRC)/..
+# Where is expat? This will be empty if expat was not available.
+LIBEXPAT = @LIBEXPAT@
+
WARN_CFLAGS = @WARN_CFLAGS@
WERROR_CFLAGS = @WERROR_CFLAGS@
GDB_WARN_CFLAGS = $(WARN_CFLAGS)
@@ -376,7 +379,7 @@ INSTALLED_LIBS=-lbfd -lreadline -lopcode
-lintl -liberty
CLIBS = $(SIM) $(READLINE) $(OPCODES) $(BFD) $(INTL) $(LIBIBERTY) \
$(XM_CLIBS) $(TM_CLIBS) $(NAT_CLIBS) $(GDBTKLIBS) @LIBS@ \
- $(LIBICONV) \
+ $(LIBICONV) $(LIBEXPAT) \
$(LIBIBERTY) $(WIN32LIBS)
CDEPS = $(XM_CDEPS) $(TM_CDEPS) $(NAT_CDEPS) $(SIM) $(BFD) $(READLINE) \
$(OPCODES) $(INTL_DEPS) $(LIBIBERTY) $(CONFIG_DEPS)
Index: README
===================================================================
RCS file: /cvs/src/src/gdb/README,v
retrieving revision 1.36
diff -u -p -r1.36 README
--- README 17 May 2006 14:40:39 -0000 1.36
+++ README 8 Aug 2006 18:01:53 -0000
@@ -89,6 +89,11 @@ C compiler for your system, you may be a
the GNU CC compiler. It is available via anonymous FTP from the
directory `ftp://ftp.gnu.org/pub/gnu/gcc'.
+ GDB uses Expat, an XML parsing library, to implement some target-specific
+features. Expat will be linked in if it is available at build time, or
+those features will be disabled. The latest version of Expat should be
+available from `http://expat.sourceforge.net'.
+
GDB can be used as a cross-debugger, running on a machine of one
type while debugging a program running on a machine of another type.
See below.
Index: acinclude.m4
===================================================================
RCS file: /cvs/src/src/gdb/acinclude.m4,v
retrieving revision 1.15
diff -u -p -r1.15 acinclude.m4
--- acinclude.m4 31 May 2006 15:14:36 -0000 1.15
+++ acinclude.m4 8 Aug 2006 18:01:54 -0000
@@ -12,6 +12,11 @@ sinclude(../config/stdint.m4)
sinclude(../config/gettext-sister.m4)
+dnl For AC_LIB_HAVE_LINKFLAGS.
+sinclude(../config/lib-ld.m4)
+sinclude(../config/lib-prefix.m4)
+sinclude(../config/lib-link.m4)
+
dnl CYGNUS LOCAL: This gets the right posix flag for gcc
AC_DEFUN([CY_AC_TCL_LYNX_POSIX],
[AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AC_PROG_CPP])
Index: configure.ac
===================================================================
RCS file: /cvs/src/src/gdb/configure.ac,v
retrieving revision 1.33
diff -u -p -r1.33 configure.ac
--- configure.ac 31 May 2006 15:14:37 -0000 1.33
+++ configure.ac 8 Aug 2006 18:01:56 -0000
@@ -315,6 +315,12 @@ if test "$ac_cv_search_tgetent" = no; th
AC_MSG_ERROR([no termcap library found])
fi
+AC_LIB_HAVE_LINKFLAGS([expat], [], [#include "expat.h"],
+ [XML_Parser p = XML_ParserCreate (0);])
+if test "$HAVE_LIBEXPAT" != yes; then
+ AC_MSG_WARN([expat is missing or unusable; some features may be disabled.])
+fi
+
# ------------------------- #
# Checks for header files. #
# ------------------------- #
Index: doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.346
diff -u -p -r1.346 gdb.texinfo
--- doc/gdb.texinfo 8 Aug 2006 15:48:08 -0000 1.346
+++ doc/gdb.texinfo 8 Aug 2006 18:01:59 -0000
@@ -21891,10 +21891,49 @@ Then give @file{gdb.dvi} to your @sc{dvi
@node Installing GDB
@appendix Installing @value{GDBN}
-@cindex configuring @value{GDBN}
@cindex installation
-@cindex configuring @value{GDBN}, and source tree subdirectories
+@menu
+* Requirements:: Requirements for building @value{GDBN}
+* Running Configure:: Invoking the @value{GDBN} @code{configure} script
+* Separate Objdir:: Compiling @value{GDBN} in another directory
+* Config Names:: Specifying names for hosts and targets
+* Configure Options:: Summary of options for configure
+@end menu
+
+@node Requirements
+@section Requirements for building @value{GDBN}
+
+Building @value{GDBN} requires various tools and packages to be available.
+Other packages will be used only if they are found.
+
+@heading Tools/packages necessary for building @value{GDBN}
+@table @asis
+@item ISO C90 compiler
+@value{GDBN} is written in ISO C90. It should be buildable with any
+working C90 compiler, e.g.@: GCC.
+
+@end table
+
+@heading Tools/packages optional for building @value{GDBN}
+@table @asis
+@item Expat
+@value{GDBN} can use the Expat XML parsing library. This library may be
+included with your operating system distribution; if it is not, you
+can get the latest version from @url{http://expat.sourceforge.net}.
+The @code{configure} script will search for this library in several
+standard locations; if it is installed in an unusual path, you can
+use the @samp{--with-libexpat-prefix} option to specify its location.
+
+Expat is used currently only used to implement some remote-specific
+features.
+
+@end table
+
+@node Running Configure
+@section Invoking the @value{GDBN} @code{configure} script
+@cindex configuring @value{GDBN}
+@cindex configuring @value{GDBN}, and source tree subdirectories
@value{GDBN} comes with a @code{configure} script that automates the process
of preparing @value{GDBN} for installation; you can then use @code{make} to
build the @code{gdb} program.
@@ -22000,12 +22039,6 @@ the @samp{SHELL} environment variable) i
that @value{GDBN} uses the shell to start your program---some systems refuse to
let @value{GDBN} debug child processes whose programs are not readable.
-@menu
-* Separate Objdir:: Compiling @value{GDBN} in another directory
-* Config Names:: Specifying names for hosts and targets
-* Configure Options:: Summary of options for configure
-@end menu
-
@node Separate Objdir
@section Compiling @value{GDBN} in another directory
next reply other threads:[~2006-08-08 18:07 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-08 18:07 Daniel Jacobowitz [this message]
2006-08-08 19:16 ` Eli Zaretskii
2006-08-08 19:28 ` Daniel Jacobowitz
2006-08-08 21:32 ` Eli Zaretskii
2006-08-08 20:22 ` Mark Kettenis
2006-08-08 20:27 ` Daniel Jacobowitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060808180706.GC24779@nevyn.them.org \
--to=drow@false.org \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox