aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.clean39
-rw-r--r--ChangeLog37
-rwxr-xr-xClean.tcl193
-rw-r--r--Makefile.am55
-rw-r--r--Makefile.in171
-rw-r--r--README6
-rw-r--r--TODO4
-rw-r--r--acinclude.m487
-rw-r--r--aclocal.m488
-rw-r--r--baseboards/arc-sim.exp2
-rw-r--r--baseboards/arm-sim.exp3
-rw-r--r--baseboards/fr30-sim.exp2
-rw-r--r--baseboards/m32r-sim.exp2
-rw-r--r--baseboards/mcore-sim.exp2
-rw-r--r--baseboards/mn10200-sim.exp2
-rw-r--r--baseboards/mn10300-sim.exp2
-rw-r--r--baseboards/tx39-sim.exp9
-rwxr-xr-xconfig.sub1337
-rw-r--r--config/arc.exp4
-rw-r--r--config/arm-ice.exp4
-rw-r--r--config/base-config.exp4
-rw-r--r--config/base68k.exp8
-rw-r--r--config/bug.exp4
-rw-r--r--config/cfdbug.exp4
-rw-r--r--config/cygmon.exp4
-rw-r--r--config/d10v.exp4
-rw-r--r--config/ddb-ether.exp4
-rw-r--r--config/ddb.exp4
-rw-r--r--config/dos.exp4
-rw-r--r--config/dve.exp4
-rw-r--r--config/gdb-comm.exp4
-rw-r--r--config/gdb_stub.exp6
-rw-r--r--config/h8300.exp4
-rw-r--r--config/i386-bozo.exp4
-rw-r--r--config/i960.exp4
-rw-r--r--config/m32r-stub.exp4
-rw-r--r--config/m32r.exp4
-rw-r--r--config/mips-idt.exp4
-rw-r--r--config/mn10200-eval.exp4
-rw-r--r--config/mn10300-eval.exp4
-rw-r--r--config/netware.exp4
-rw-r--r--config/powerpc-bug.exp4
-rw-r--r--config/proelf.exp4
-rw-r--r--config/rom68k.exp4
-rw-r--r--config/sh.exp4
-rw-r--r--config/sim.exp4
-rw-r--r--config/slite.exp4
-rw-r--r--config/sparclet.exp4
-rw-r--r--config/udi.exp6
-rw-r--r--config/unix.exp6
-rw-r--r--config/vr4100.exp4
-rw-r--r--config/vr4300.exp4
-rw-r--r--config/vr5000.exp4
-rw-r--r--config/vrtx.exp6
-rw-r--r--config/vxworks.exp6
-rwxr-xr-xconfigure410
-rw-r--r--configure.in16
-rw-r--r--doc/Makefile.am23
-rw-r--r--doc/Makefile.in186
-rw-r--r--doc/dejagnu.texi6
-rw-r--r--doc/overview.sgml78
-rw-r--r--doc/overview/addboard.html261
-rw-r--r--doc/overview/adding.html244
-rw-r--r--doc/overview/addtarget.html206
-rw-r--r--doc/overview/addtool.html577
-rw-r--r--doc/overview/boardconfig.html254
-rw-r--r--doc/overview/boarddefs.html887
-rw-r--r--doc/overview/book1.html403
-rw-r--r--doc/overview/builtins.html10723
-rw-r--r--doc/overview/configfile.html513
-rw-r--r--doc/overview/customizing.html470
-rw-r--r--doc/overview/debugging.html248
-rw-r--r--doc/overview/designgoals.html219
-rwxr-xr-xdoc/overview/docbook.css20
-rw-r--r--doc/overview/extending.html206
-rw-r--r--doc/overview/filemap.html222
-rw-r--r--doc/overview/global.html245
-rw-r--r--doc/overview/hints.html258
-rw-r--r--doc/overview/new.html228
-rw-r--r--doc/overview/outputfiles.html596
-rw-r--r--doc/overview/overview.html279
-rw-r--r--doc/overview/posix.html365
-rw-r--r--doc/overview/preface.html157
-rw-r--r--doc/overview/reference.html373
-rw-r--r--doc/overview/releng.html354
-rw-r--r--doc/overview/runningtests.html257
-rw-r--r--doc/overview/runtest.html1142
-rw-r--r--doc/overview/tvariables.html208
-rw-r--r--doc/overview/writing.html202
-rw-r--r--doc/ref.sgml22
-rw-r--r--doc/runtest.13
-rw-r--r--doc/user.sgml27
-rw-r--r--example/Makefile.am5
-rw-r--r--example/Makefile.in189
-rw-r--r--example/calc/AUTHORS0
-rw-r--r--example/calc/COPYING340
-rw-r--r--example/calc/INSTALL182
-rw-r--r--example/calc/Makefile.am23
-rw-r--r--example/calc/Makefile.in503
-rw-r--r--example/calc/NEWS0
-rw-r--r--example/calc/README0
-rw-r--r--example/calc/aclocal.m4127
-rw-r--r--example/calc/calc.c7
-rw-r--r--example/calc/calc.h.in19
-rwxr-xr-xexample/calc/configure646
-rw-r--r--example/calc/configure.in10
-rw-r--r--example/calc/stamp-h.in1
-rw-r--r--example/calc/testsuite/calc.test/calc.exp4
-rw-r--r--example/calc/testsuite/config/unix.exp4
-rw-r--r--lib/debugger.exp6
-rw-r--r--lib/dg.exp10
-rw-r--r--lib/framework.exp7
-rw-r--r--lib/ftp.exp4
-rw-r--r--lib/kermit.exp4
-rw-r--r--lib/mondfe.exp6
-rw-r--r--lib/remote.exp10
-rw-r--r--lib/rlogin.exp4
-rw-r--r--lib/rsh.exp4
-rw-r--r--lib/standard.exp4
-rw-r--r--lib/target.exp6
-rw-r--r--lib/targetdb.exp4
-rw-r--r--lib/telnet.exp4
-rw-r--r--lib/tip.exp4
-rw-r--r--lib/util-defs.exp6
-rw-r--r--lib/utils.exp8
-rw-r--r--lib/xsh.exp6
-rwxr-xr-xruntest4
-rwxr-xr-xruntest.exp10
-rw-r--r--testsuite/Makefile.am8
-rw-r--r--testsuite/Makefile.in53
-rw-r--r--testsuite/config/default.exp6
-rw-r--r--testsuite/lib/libsup.exp6
-rw-r--r--testsuite/runtest.all/libs.exp4
-rw-r--r--testsuite/runtest.all/options.exp6
-rw-r--r--testsuite/runtest.all/stats-sub.exp4
-rw-r--r--testsuite/runtest.all/stats.exp4
136 files changed, 24562 insertions, 791 deletions
diff --git a/.clean b/.clean
new file mode 100644
index 0000000..54da622
--- /dev/null
+++ b/.clean
@@ -0,0 +1,39 @@
+# this is a list of files to keep
+.clean
+ChangeLog
+AUTHORS
+COPYING
+ChangeLog
+Clean.tcl
+INSTALL
+Makefile.am
+Makefile.in
+NEWS
+README
+TODO
+acinclude.m4
+aclocal.m4
+baseboards
+config
+config.guess
+config.sub
+configure
+configure.in
+contrib
+debian
+doc
+example
+i960glue.c
+install-sh
+lib
+missing
+mkinstalldirs
+redhat
+runtest
+runtest.exp
+site.tmpl
+stub-loader.c
+tcl-mode.el
+testglue.c
+testsuite
+
diff --git a/ChangeLog b/ChangeLog
index bcd99ce..9924d21 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,31 @@
-2001-01-24 Fernando Nasser <fnasser@redhat.com>
+2001-02-17 Rob Savoye <rob@slipknot.welcomehome.org>
+
+ * Most all files: Update copyright notices.
+ * Makefile.am: Add support for making RPMs. Force different
+ values for RUNTEST and RUNTESTFLAGS, so we can test ourselves.
+ * testsuite/Makefile.am: Force a different value for
+ RUNTESTFLAGS.
+ * acinclude.m4, configure.in: Find Tclsh, and Docbook.
+ * configure: Regenerated.
+ * doc/Makefile.am: Use $DOCBOOK to find the filters.
+ * doc/overview: Add the html version of the doc so one doesn't
+ need docbook to read the manual.
+
+2001-01-31 Rob Savoye <rob@slipknot.welcomehome.org>
+
+ * Merge in latest snapshot from RedHat.
+ * example/calc/Makefile.am: New automake support.
+ * example/calc/Makefile.in: Generated.
+ * example/Makefile.am: Recursion support for make.
+ * example/calc/Makefile.in: Generated by automake.
+ * example/calc/calc.h.in: Move constants to calc.c, so we can use
+ autoheader.
+ * example/calc/calc.c: Add constants from calc.h.in.
+ * redhat/dejagnu.spec: New RPM packaging file.
+ * debian/{changelog,conffiles,control,copyright,postinst,preinst,
+ rules,site.exp}: New Debian packaging support.
+
- From Gabriel Dos Reis <gdr@codesourcery.com>
- * lib/dg.exp (dg-trim-dirname): New function.
- (dg-test): Use it to rip directory-name out of file name.
-
2001-01-20 Ben Elliston <bje@redhat.com>
* runtest.exp (usage): Replace --mail in usage output.
@@ -15,6 +37,11 @@
* lib/target.exp (prune_warnings): Avoid ``.*'' in NetBSD warnings
pattern.
+2001-01-18 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * lib/dg.exp (dg-trim-dirname): New function.
+ (dg-test): Use it to rip directory-name out of file name.
+
2001-01-15 Ben Elliston <bje@redhat.com>
* lib/framework.exp (record_test): Invoke a user-defined procedure
diff --git a/Clean.tcl b/Clean.tcl
new file mode 100755
index 0000000..a5366ad
--- /dev/null
+++ b/Clean.tcl
@@ -0,0 +1,193 @@
+#!/usr/local/bin/tclsh
+
+# Clean.tcl
+# This script is used to remove all unwanted files from a
+# directory not in the .clean file list. This should only
+# be used by maintainers when producing a release.
+
+# Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# Please email any bugs, comments, and/or additions to this file to:
+# bug-dejagnu@gnu.org
+
+# This file was written by Rob Savoye. (rob@welcomehome.org)
+
+# default to no verbosity
+if ![info exists verbose] {
+ set verbose 0
+}
+
+proc usage { } {
+ puts "USAGE: Clean.tcl \[options...\]"
+ puts "\t--verbose (-v)\t\tPrint all test output to screen"
+}
+
+# print a message if it's verbosity is greater than the default
+proc verbose { args } {
+ global verbose
+ set newline 1
+
+ set i 0
+ if { [string index [lindex $args 0] 0] == "-" } {
+ for { set i 0 } { $i < [llength $args] } { incr i } {
+ if { [lindex $args $i] == "--" } {
+ incr i
+ break
+ } elseif { [lindex $args $i] == "-n" } {
+ set newline 0
+ } elseif { [string index [lindex $args $i] 0] == "-" } {
+ puts "ERROR: verbose: illegal argument: [lindex $args $i]"
+ return
+ } else {
+ break
+ }
+ }
+ if { [llength $args] == $i } {
+ puts "ERROR: verbose: nothing to print"
+ return
+ }
+ }
+
+ set level 1
+ if { [llength $args] > $i + 1 } {
+ set level [lindex $args [expr $i+1]]
+ }
+ set message [lindex $args $i]
+
+ if { $verbose >= $level } {
+ # There is no need for the "--" argument here, but play it safe.
+ # We assume send_user also sends the text to the log file (which
+ # appears to be the case though the docs aren't clear on this).
+ if { $newline } {
+ puts -nonewline "$message\n"
+ } else {
+ puts -nonewline "$message"
+ }
+ }
+}
+
+# process the command line arguments
+for { set i 0 } { $i < $argc } { incr i } {
+ set option [lindex $argv $i]
+
+ # make all options have two hyphens
+ switch -glob -- $option {
+ "--*" {
+ }
+ "-*" {
+ set option "-$option"
+ }
+ }
+
+
+ switch -glob -- $option {
+ "--he*" { # (--help) help text
+ usage;
+ exit 0
+ }
+
+ "--v" -
+ "--verb*" { # (--verbose) verbose output
+ incr verbose
+ continue
+ }
+ }
+}
+verbose "Verbose level is $verbose" 2
+
+proc cleanfiles { directory } {
+ set filelist ""
+
+ # get a list of all the files in this directory
+ set allfiles [glob -nocomplain "$directory/*"]
+ regsub -all "$directory/" $allfiles "" allfiles
+
+ # open the .clean file, which has the list of stuff we
+ # want to save
+ catch "set cleanfile [open "$directory/.clean" r]"
+ if ![info exists cleanfile] {
+ verbose "WARNING: no .clean file in $directory, removing the default set of \"*! core CVS RCS\"" 3
+ set allfiles [glob -nocomplain "$directory/*~"]
+ append allfiles " [glob -nocomplain "$directory/core"]"
+ append allfiles " [glob -nocomplain "$directory/CVS"]"
+ append allfiles " [glob -nocomplain "$directory/RCS"]"
+ } else {
+ # read in the .clean file, line by line
+ while { [gets $cleanfile cur_line]>=0 } {
+ # ignore comments
+ if { [string index $cur_line 0] == "\#" } {
+ verbose "Ignoring comment" 2
+ continue
+ }
+ # ignore blank lines
+ if { [string length $cur_line]<=0 } {
+ verbose "Ignoring blank line" 2
+ continue
+ }
+ regsub -all "\[\+\]" $cur_line "\\+" cur_line
+ # remove the filename from the list
+ regsub -all " $cur_line " $allfiles " " allfiles
+ # also match the name if it's the last one in the file
+ regsub -all " $cur_line$" $allfiles " " allfiles
+ # also match if it's the only name in the list
+ regsub -all "^$cur_line" $allfiles " " allfiles
+ }
+ }
+
+ # remove the leading and trailing blank spaces for cleanliness sake
+ set allfiles [string trimleft $allfiles]
+ set allfiles [string trimright $allfiles]
+ # nuke the files
+ if { [string length $allfiles] > 0 } {
+ verbose "Removing \"$allfiles\" from $directory"
+ catch "exec rm -f $allfiles"
+ } else {
+ verbose "Nothing to remove from $directory" 2
+ }
+
+ # close the .clean file
+ catch "close $cleanfile"
+}
+
+
+# now that we've removed everything we don't want from this
+# directory, recur into the directories that are left to clean
+# those as well.
+
+proc getdirs { directory } {
+ set dirs ""
+ set files [glob -nocomplain "$directory/*"]
+ if { [llength $files] != 0 } {
+ foreach j $files {
+ if [file isdirectory $j] {
+ append dirs " $j"
+ append dirs " [getdirs $j]"
+ }
+ }
+ }
+ return $dirs
+}
+
+cleanfiles .
+# now we actually do it all
+foreach i [getdirs .] {
+ cleanfiles $i
+}
+
+
+
+
diff --git a/Makefile.am b/Makefile.am
index f673015..4b93a73 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,15 +1,63 @@
## Process this file with automake to generate Makefile.in
-AUTOMAKE_OPTIONS = cygnus
+AUTOMAKE_OPTIONS = dejagnu
+# Install all the associated data files
SUBDIRS = doc testsuite example
-# driver script goes in /usr/local/bin
+# Install the bourne shell script driver in the bindir
bin_SCRIPTS = runtest
-# auxiliary scripts go in /usr/local/share/dejagnu
+# Install the main DejaGnu expect file in the datadir
pkgdata_SCRIPTS = config.guess runtest.exp
+# Install config.guess too, so we can use it to figure out
+# what type of machine we're running on.
+libexecdir = $(pkgdatadir)/libexec
+libexec_SCRIPTS = config.guess
+
+TLCSH = @TCLSH@
+
+RUNTESTDEFAULTFLAGS = --tool runtest --srcdir $(srcdir)/testsuite RUNTEST=$(RUNTEST)
+RUNTEST = ` \
+ if [ -f ${srcdir}/runtest$(EXEEXT) ] ; then \
+ echo ${srcdir}/runtest$(EXEEXT) ; \
+ else echo runtest ; fi`
+
+# Set ourselves up to build a RedHat package
+dist2: rpmspec overview.html
+ -rm -fr dejagnu-${VERSION}.0
+ cp -fpr $(srcdir) dejagnu-${VERSION}.0
+ @echo "clean up stuff we don't want in the source file"
+ (cd dejagnu-${VERSION}.0 ; $(srcdir)/Clean.tcl)
+ -mkdir -p doc/overview
+ -cp -fr doc/overview dejagnu-${VERSION}.0/doc/
+ tar cvf ../dejagnu-${VERSION}.tar dejagnu-${VERSION}.0
+ gzip -9fv ../dejagnu-${VERSION}.tar
+ cp -f ../dejagnu-${VERSION}.tar.gz /usr/src/redhat/SOURCES/
+ cp -f $(srcdir)/redhat/dejagnu.spec /usr/src/redhat/SPECS/
+
+rpmspec:
+ cp -f $(srcdir)/redhat/dejagnu.spec /usr/src/redhat/SPECS/
+
+rpm: dist rpmspec
+ cp -f $(distdir).tar.gz /usr/src/redhat/SOURCES/
+ rpm -ba /usr/src/redhat/SPECS/dejagnu.spec
+
+overview.html install-doc doc html dvi ps pdf rtf:
+ cd doc && $(MAKE) $(FLAGS_TO_PASS) $@
+
+# Automake sucks when it comes to building a distribution, so
+# we just copy the source tree onto of what Automake did, and
+# then we Clean it. Automake only includes the source files.
+# We want all the testsuites, data files, and html versions of the doc.
+dist-hook: rpmspec overview.html
+ -rm -fr $(distdir)
+ cp -fpr $(srcdir) $(distdir)
+ (cd $(distdir) ; $(TCLSH) $(srcdir)/Clean.tcl)
+ -cp -fr doc/overview $(distdir)/doc/
+
+
# Below, host-independent data files that need to get installed.
# We do it this way so we can use globbing.
@@ -48,3 +96,4 @@ uninstall-local:
for f in $(baseboards_files); do \
test ! -f "$$f" || rm -f $(baseboards_dest)/`basename "$$f"`; \
done
+
diff --git a/Makefile.in b/Makefile.in
index 8687693..bb345f8 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -21,7 +21,6 @@ exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
-libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
@@ -60,22 +59,37 @@ POST_UNINSTALL = :
BOARDS = @BOARDS@
CC = @CC@
CONFIG = @CONFIG@
+DOCBOOK = @DOCBOOK@
EXEEXT = @EXEEXT@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
PACKAGE = @PACKAGE@
+TCLSH = @TCLSH@
VERSION = @VERSION@
+tclsh = @tclsh@
-AUTOMAKE_OPTIONS = cygnus
+AUTOMAKE_OPTIONS = dejagnu
+# Install all the associated data files
SUBDIRS = doc testsuite example
-# driver script goes in /usr/local/bin
+# Install the bourne shell script driver in the bindir
bin_SCRIPTS = runtest
-# auxiliary scripts go in /usr/local/share/dejagnu
+# Install the main DejaGnu expect file in the datadir
pkgdata_SCRIPTS = config.guess runtest.exp
+# Install config.guess too, so we can use it to figure out
+# what type of machine we're running on.
+libexecdir = $(pkgdatadir)/libexec
+libexec_SCRIPTS = config.guess
+
+TLCSH = @TCLSH@
+
+RUNTESTDEFAULTFLAGS = --tool runtest --srcdir $(srcdir)/testsuite RUNTEST=$(RUNTEST)
+RUNTEST = ` if [ -f ${srcdir}/runtest$(EXEEXT) ] ; then echo ${srcdir}/runtest$(EXEEXT) ; else echo runtest ; fi`
+
+
# Below, host-independent data files that need to get installed.
# We do it this way so we can use globbing.
@@ -88,29 +102,30 @@ baseboards_files = $(srcdir)/baseboards/README $(srcdir)/baseboards/*.exp
config_dest = $(DESTDIR)$(pkgdatadir)/config
config_files = $(srcdir)/config/README $(srcdir)/config/*.exp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES =
-SCRIPTS = $(bin_SCRIPTS) $(pkgdata_SCRIPTS)
+SCRIPTS = $(bin_SCRIPTS) $(libexec_SCRIPTS) $(pkgdata_SCRIPTS)
DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
-Makefile.in NEWS TODO aclocal.m4 config.guess configure configure.in \
-install-sh mkinstalldirs
+Makefile.in NEWS TODO acinclude.m4 aclocal.m4 config.guess config.sub \
+configure configure.in install-sh missing mkinstalldirs
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = gtar
+TAR = tar
GZIP_ENV = --best
+EXPECT = expect
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
cd $(srcdir) && $(ACLOCAL)
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -137,6 +152,25 @@ uninstall-binSCRIPTS:
rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
done
+install-libexecSCRIPTS: $(libexec_SCRIPTS)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(libexecdir)
+ @list='$(libexec_SCRIPTS)'; for p in $$list; do \
+ if test -f $$p; then \
+ echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(libexecdir)/`echo $$p|sed '$(transform)'`"; \
+ $(INSTALL_SCRIPT) $$p $(DESTDIR)$(libexecdir)/`echo $$p|sed '$(transform)'`; \
+ else if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(libexecdir)/`echo $$p|sed '$(transform)'`"; \
+ $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(libexecdir)/`echo $$p|sed '$(transform)'`; \
+ else :; fi; fi; \
+ done
+
+uninstall-libexecSCRIPTS:
+ @$(NORMAL_UNINSTALL)
+ list='$(libexec_SCRIPTS)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(libexecdir)/`echo $$p|sed '$(transform)'`; \
+ done
+
install-pkgdataSCRIPTS: $(pkgdata_SCRIPTS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
@@ -166,7 +200,7 @@ uninstall-pkgdataSCRIPTS:
@SET_MAKE@
all-recursive install-data-recursive install-exec-recursive \
-installdirs-recursive install-recursive uninstall-recursive install-info-recursive \
+installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive info-recursive dvi-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
@@ -283,10 +317,15 @@ distdir: $(DISTFILES)
-rm -rf $(distdir)
mkdir $(distdir)
-chmod 777 $(distdir)
+ here=`cd $(top_builddir) && pwd`; \
+ top_distdir=`cd $(distdir) && pwd`; \
+ distdir=`cd $(distdir) && pwd`; \
+ cd $(top_srcdir) \
+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile
@for file in $(DISTFILES); do \
- if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
+ cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
@@ -303,17 +342,43 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
+ $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook
+
+RUNTESTFLAGS =
+
+DEJATOOL = $(PACKAGE)
+
+check-DEJAGNU: site.exp
+ srcdir=`cd $(srcdir) && pwd`; export srcdir; \
+ EXPECT=$(EXPECT); export EXPECT; \
+ runtest=$(RUNTEST); \
+ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+ $$runtest $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
+ else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+ fi
+site.exp: Makefile
+ @echo 'Making a new site.exp file...'
+ @test ! -f site.bak || rm -f site.bak
+ @echo '## these variables are automatically generated by make ##' > $@-t
+ @echo '# Do not edit here. If you wish to override these values' >> $@-t
+ @echo '# edit the last section' >> $@-t
+ @echo 'set tool $(DEJATOOL)' >> $@-t
+ @echo 'set srcdir $(srcdir)' >> $@-t
+ @echo 'set objdir' `pwd` >> $@-t
+ @echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t
+ @test ! -f site.exp || sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t
+ @test ! -f site.exp || mv site.exp site.bak
+ @mv $@-t site.exp
info-am:
info: info-recursive
dvi-am:
dvi: dvi-recursive
-check-am:
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
check: check-recursive
installcheck-am:
installcheck: installcheck-recursive
-install-info-am:
-install-info: install-info-recursive
-install-exec-am: install-binSCRIPTS
+install-exec-am: install-binSCRIPTS install-libexecSCRIPTS
install-exec: install-exec-recursive
install-data-am: install-pkgdataSCRIPTS install-data-local
@@ -322,8 +387,8 @@ install-data: install-data-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-recursive
-uninstall-am: uninstall-binSCRIPTS uninstall-pkgdataSCRIPTS \
- uninstall-local
+uninstall-am: uninstall-binSCRIPTS uninstall-libexecSCRIPTS \
+ uninstall-pkgdataSCRIPTS uninstall-local
uninstall: uninstall-recursive
all-am: Makefile $(SCRIPTS)
all-redirect: all-recursive
@@ -331,7 +396,8 @@ install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs-recursive
installdirs-am:
- $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(pkgdatadir)
+ $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(libexecdir) \
+ $(DESTDIR)$(pkgdatadir)
mostlyclean-generic:
@@ -364,21 +430,54 @@ maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
maintainer-clean: maintainer-clean-recursive
-rm -f config.status
-.PHONY: uninstall-binSCRIPTS install-binSCRIPTS uninstall-pkgdataSCRIPTS \
-install-pkgdataSCRIPTS install-data-recursive uninstall-data-recursive \
-install-exec-recursive uninstall-exec-recursive installdirs-recursive \
-uninstalldirs-recursive all-recursive check-recursive \
-installcheck-recursive info-recursive dvi-recursive \
-mostlyclean-recursive distclean-recursive clean-recursive \
+.PHONY: uninstall-binSCRIPTS install-binSCRIPTS uninstall-libexecSCRIPTS \
+install-libexecSCRIPTS uninstall-pkgdataSCRIPTS install-pkgdataSCRIPTS \
+install-data-recursive uninstall-data-recursive install-exec-recursive \
+uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
+all-recursive check-recursive installcheck-recursive info-recursive \
+dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-info-am \
-install-info install-exec-am install-exec install-data-local \
-install-data-am install-data install-am install uninstall-local \
-uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
+distclean-tags clean-tags maintainer-clean-tags distdir check-DEJAGNU \
+info-am info dvi-am dvi check check-am installcheck-am installcheck \
+install-exec-am install-exec install-data-local install-data-am \
+install-data install-am install uninstall-local uninstall-am uninstall \
+all-redirect all-am all installdirs-am installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# Set ourselves up to build a RedHat package
+dist2: rpmspec overview.html
+ -rm -fr dejagnu-${VERSION}.0
+ cp -fpr $(srcdir) dejagnu-${VERSION}.0
+ @echo "clean up stuff we don't want in the source file"
+ (cd dejagnu-${VERSION}.0 ; $(srcdir)/Clean.tcl)
+ -mkdir -p doc/overview
+ -cp -fr doc/overview dejagnu-${VERSION}.0/doc/
+ tar cvf ../dejagnu-${VERSION}.tar dejagnu-${VERSION}.0
+ gzip -9fv ../dejagnu-${VERSION}.tar
+ cp -f ../dejagnu-${VERSION}.tar.gz /usr/src/redhat/SOURCES/
+ cp -f $(srcdir)/redhat/dejagnu.spec /usr/src/redhat/SPECS/
+
+rpmspec:
+ cp -f $(srcdir)/redhat/dejagnu.spec /usr/src/redhat/SPECS/
+
+rpm: dist rpmspec
+ cp -f $(distdir).tar.gz /usr/src/redhat/SOURCES/
+ rpm -ba /usr/src/redhat/SPECS/dejagnu.spec
+
+overview.html install-doc doc html dvi ps pdf rtf:
+ cd doc && $(MAKE) $(FLAGS_TO_PASS) $@
+
+# Automake sucks when it comes to building a distribution, so
+# we just copy the source tree onto of what Automake did, and
+# then we Clean it. Automake only includes the source files.
+# We want all the testsuites, data files, and html versions of the doc.
+dist-hook: rpmspec overview.html
+ -rm -fr $(distdir)
+ cp -fpr $(srcdir) $(distdir)
+ (cd $(distdir) ; $(TCLSH) $(srcdir)/Clean.tcl)
+ -cp -fr doc/overview $(distdir)/doc/
install-data-local:
$(mkinstalldirs) $(lib_dest)
diff --git a/README b/README
index 0e22eab..886cae0 100644
--- a/README
+++ b/README
@@ -19,7 +19,7 @@ several advantages for testing:
the testing framework and the testsuites themselves. Tests
are usually written in expect using Tcl.
- Bugs can be reported to bug-dejagnu@prep.ai.mit.edu.
+ Bugs can be reported to bug-dejagnu@gnu.org.
How To Configure and Build
@@ -280,4 +280,6 @@ Andy Oram O'Reilly & Associates, Inc. andyo@ora.com
There is a new listserv based mailing list for the FROST project. To
subscribe, send email to "listserv@cygnus.com" and the body should
contain "SUBSCRIBE FROST <your name>". Messages sent to
-frost@cygnus.com go to the mailing list. \ No newline at end of file
+frost@cygnus.com go to the mailing list.
+
+
diff --git a/TODO b/TODO
index 2f77cd5..15f08a8 100644
--- a/TODO
+++ b/TODO
@@ -6,3 +6,7 @@
record/playback.
. Add a "testing methodologies" section to the manual.
+
+. Add a configure test to make sure Tcl and expect are installed.
+. Add support to runtest to produce a better error message when expect
+ can't be found. \ No newline at end of file
diff --git a/acinclude.m4 b/acinclude.m4
new file mode 100644
index 0000000..20497d0
--- /dev/null
+++ b/acinclude.m4
@@ -0,0 +1,87 @@
+AC_DEFUN(DJ_AC_PATH_TCLSH, [
+dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../
+../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../..
+/../../../../../.."
+no_itcl=true
+AC_MSG_CHECKING(for the tclsh program)
+AC_ARG_WITH(tclinclude, [ --with-tclinclude directory where tcl header
+s are], with_tclinclude=${withval})
+AC_CACHE_VAL(ac_cv_path_tclsh,[
+dnl first check to see if --with-itclinclude was specified
+if test x"${with_tclinclude}" != x ; then
+ if test -f ${with_tclinclude}/tclsh ; then
+ ac_cv_path_tclsh=`(cd ${with_tclinclude}; pwd)`
+ elif test -f ${with_tclinclude}/src/tclsh ; then
+ ac_cv_path_tclsh=`(cd ${with_tclinclude}/src; pwd)`
+ else
+ AC_MSG_ERROR([${with_tclinclude} directory doesn't contain tclsh])
+ fi
+fi
+])
+
+dnl next check in private source directory
+dnl since ls returns lowest version numbers first, reverse its output
+if test x"${ac_cv_path_tclsh}" = x ; then
+ dnl find the top level Itcl source directory
+ for i in $dirlist; do
+ if test -n "`ls -dr $srcdir/$i/tcl* 2>/dev/null`" ; then
+ tclpath=$srcdir/$i
+ break
+ fi
+ done
+
+ dnl find the exact Itcl source dir. We do it this way, cause there
+ dnl might be multiple version of Itcl, and we want the most recent one.
+ for i in `ls -dr $tclpath/tcl* 2>/dev/null ` ; do
+ if test -f $i/src/tclsh ; then
+ ac_cv_path_tclsh=`(cd $i/src; pwd)`/tclsh
+ break
+ fi
+ done
+fi
+
+dnl see if one is installed
+if test x"${ac_cv_path_tclsh}" = x ; then
+ AC_MSG_RESULT(none)
+ AC_PATH_PROG(tclsh, tclsh)
+else
+ AC_MSG_RESULT(${ac_cv_path_tclsh})
+fi
+TCLSH="${ac_cv_path_tclsh}"
+AC_SUBST(TCLSH)
+])
+
+
+AC_DEFUN(DJ_AC_PATH_DOCBOOK, [
+dirlist=".. ../../ ../../.. ../../../.. ../../../../.. ../../../../../.. ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
+AC_MSG_CHECKING(for docbook tools)
+AC_ARG_WITH(oskith, [ --with-docbook directory where the db2 sgml tools are], with_docbook=${withval})
+AC_CACHE_VAL(ac_cv_c_docbook,[
+dnl first check to see if --with-docbook was specified
+if test x"${with_docbook}" != x ; then
+ if test -f ${with_docbook}/db2html ; then
+ ac_cv_c_docbook=`(cd ${with_docbook}; pwd)`
+ else
+ AC_MSG_ERROR([${with_docbook} directory doesn't contain SGML tools])
+ fi
+fi
+])
+if test x"${ac_cv_c_docbook}" = x ; then
+ for i in $ac_default_prefix/bin /usr/local/bin $OSKITHDIR/../bin /usr/bin /bin /opt /home; do
+ dnl See is we have an SGML tool in that directory.
+ if test -f $i/db2html ; then
+ ac_cv_c_docbook=$i
+ break
+ fi
+ done
+fi
+
+if test x"${ac_cv_c_docbook}" = x ; then
+ AC_MSG_RESULT(none)
+else
+ DOCBOOK="${ac_cv_c_docbook}"
+ AC_MSG_RESULT(${ac_cv_c_docbook})
+fi
+
+AC_SUBST(DOCBOOK)
+])
diff --git a/aclocal.m4 b/aclocal.m4
index f5379a5..4884dc2 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -10,6 +10,94 @@ dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
dnl PARTICULAR PURPOSE.
+AC_DEFUN(DJ_AC_PATH_TCLSH, [
+dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../
+../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../..
+/../../../../../.."
+no_itcl=true
+AC_MSG_CHECKING(for the tclsh program)
+AC_ARG_WITH(tclinclude, [ --with-tclinclude directory where tcl header
+s are], with_tclinclude=${withval})
+AC_CACHE_VAL(ac_cv_path_tclsh,[
+dnl first check to see if --with-itclinclude was specified
+if test x"${with_tclinclude}" != x ; then
+ if test -f ${with_tclinclude}/tclsh ; then
+ ac_cv_path_tclsh=`(cd ${with_tclinclude}; pwd)`
+ elif test -f ${with_tclinclude}/src/tclsh ; then
+ ac_cv_path_tclsh=`(cd ${with_tclinclude}/src; pwd)`
+ else
+ AC_MSG_ERROR([${with_tclinclude} directory doesn't contain tclsh])
+ fi
+fi
+])
+
+dnl next check in private source directory
+dnl since ls returns lowest version numbers first, reverse its output
+if test x"${ac_cv_path_tclsh}" = x ; then
+ dnl find the top level Itcl source directory
+ for i in $dirlist; do
+ if test -n "`ls -dr $srcdir/$i/tcl* 2>/dev/null`" ; then
+ tclpath=$srcdir/$i
+ break
+ fi
+ done
+
+ dnl find the exact Itcl source dir. We do it this way, cause there
+ dnl might be multiple version of Itcl, and we want the most recent one.
+ for i in `ls -dr $tclpath/tcl* 2>/dev/null ` ; do
+ if test -f $i/src/tclsh ; then
+ ac_cv_path_tclsh=`(cd $i/src; pwd)`/tclsh
+ break
+ fi
+ done
+fi
+
+dnl see if one is installed
+if test x"${ac_cv_path_tclsh}" = x ; then
+ AC_MSG_RESULT(none)
+ AC_PATH_PROG(tclsh, tclsh)
+else
+ AC_MSG_RESULT(${ac_cv_path_tclsh})
+fi
+TCLSH="${ac_cv_path_tclsh}"
+AC_SUBST(TCLSH)
+])
+
+
+AC_DEFUN(DJ_AC_PATH_DOCBOOK, [
+dirlist=".. ../../ ../../.. ../../../.. ../../../../.. ../../../../../.. ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
+AC_MSG_CHECKING(for docbook tools)
+AC_ARG_WITH(oskith, [ --with-docbook directory where the db2 sgml tools are], with_docbook=${withval})
+AC_CACHE_VAL(ac_cv_c_docbook,[
+dnl first check to see if --with-docbook was specified
+if test x"${with_docbook}" != x ; then
+ if test -f ${with_docbook}/db2html ; then
+ ac_cv_c_docbook=`(cd ${with_docbook}; pwd)`
+ else
+ AC_MSG_ERROR([${with_docbook} directory doesn't contain SGML tools])
+ fi
+fi
+])
+if test x"${ac_cv_c_docbook}" = x ; then
+ for i in $ac_default_prefix/bin /usr/local/bin $OSKITHDIR/../bin /usr/bin /bin /opt /home; do
+ dnl See is we have an SGML tool in that directory.
+ if test -f $i/db2html ; then
+ ac_cv_c_docbook=$i
+ break
+ fi
+ done
+fi
+
+if test x"${ac_cv_c_docbook}" = x ; then
+ AC_MSG_RESULT(none)
+else
+ DOCBOOK="${ac_cv_c_docbook}"
+ AC_MSG_RESULT(${ac_cv_c_docbook})
+fi
+
+AC_SUBST(DOCBOOK)
+])
+
# Do all the work for Automake. This macro actually does too much --
# some checks are only needed if your package does certain things.
# But this isn't really a big deal.
diff --git a/baseboards/arc-sim.exp b/baseboards/arc-sim.exp
index 4bb9d4a..8ca7c2e 100644
--- a/baseboards/arc-sim.exp
+++ b/baseboards/arc-sim.exp
@@ -11,7 +11,7 @@ load_generic_config "sim"
# basic-sim.exp is a basic description for the standard Cygnus simulator.
load_base_board_description "basic-sim"
-# "arc" is the name of the sim subdir in devo/sim.
+# "arc" is the name of the sim subdir.
setup_sim arc
# No multilib options needed by default.
diff --git a/baseboards/arm-sim.exp b/baseboards/arm-sim.exp
index 9e96c1b..32b5eeb 100644
--- a/baseboards/arm-sim.exp
+++ b/baseboards/arm-sim.exp
@@ -26,15 +26,12 @@ setup_sim arm;
# The compiler used to build for this board. This has *nothing* to do
# with what compiler is tested if we're testing gcc.
set_board_info compiler "[find_gcc]"
-
# The basic set of flags needed to build "hello world" for this
# board. This board uses libgloss and newlib.
set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]"
set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags] $additional_options"
-
# This board doesn't use a linker script.
set_board_info ldscript "";
-
# The simulator doesn't return exit statuses and we need to indicate this.
set_board_info needs_status_wrapper 1
diff --git a/baseboards/fr30-sim.exp b/baseboards/fr30-sim.exp
index 73fad4c..aed4809 100644
--- a/baseboards/fr30-sim.exp
+++ b/baseboards/fr30-sim.exp
@@ -8,7 +8,7 @@ load_generic_config "sim"
# basic-sim.exp is a basic description for the standard Cygnus simulator.
load_base_board_description "basic-sim"
-# "fr30" is the name of the sim subdir in devo/sim.
+# "fr30" is the name of the sim subdir.
setup_sim fr30
# No multilib options needed by default.
diff --git a/baseboards/m32r-sim.exp b/baseboards/m32r-sim.exp
index eaa7145..5bc73d4 100644
--- a/baseboards/m32r-sim.exp
+++ b/baseboards/m32r-sim.exp
@@ -8,7 +8,7 @@ load_generic_config "sim"
# basic-sim.exp is a basic description for the standard Cygnus simulator.
load_base_board_description "basic-sim"
-# "m32r" is the name of the sim subdir in devo/sim.
+# "m32r" is the name of the sim subdir.
setup_sim m32r
# No multilib options needed by default.
diff --git a/baseboards/mcore-sim.exp b/baseboards/mcore-sim.exp
index ae863ca..21ef68a 100644
--- a/baseboards/mcore-sim.exp
+++ b/baseboards/mcore-sim.exp
@@ -8,7 +8,7 @@ load_generic_config "sim"
# basic-sim.exp is a basic description for the standard Cygnus simulator.
load_base_board_description "basic-sim"
-# "mcore" is the name of the sim subdir in devo/sim.
+# "mcore" is the name of the sim subdir.
setup_sim mcore
# No multilib options needed by default.
diff --git a/baseboards/mn10200-sim.exp b/baseboards/mn10200-sim.exp
index 2356e3a..01c5673 100644
--- a/baseboards/mn10200-sim.exp
+++ b/baseboards/mn10200-sim.exp
@@ -9,7 +9,7 @@ load_generic_config "sim"
# basic-sim.exp is a basic description for the standard Cygnus simulator.
load_base_board_description "basic-sim"
-# This is the name of the sim subdir in devo/sim (and in the build tree).
+# This is the name of the sim subdir.
setup_sim mn10200
# No multilib flags are set by default.
diff --git a/baseboards/mn10300-sim.exp b/baseboards/mn10300-sim.exp
index eff6a62..a4f3bfd 100644
--- a/baseboards/mn10300-sim.exp
+++ b/baseboards/mn10300-sim.exp
@@ -9,7 +9,7 @@ load_generic_config "sim"
# basic-sim.exp is a basic description for the standard Cygnus simulator.
load_base_board_description "basic-sim"
-# This is the name of the sim subdir in devo/sim (and in the build tree).
+# This is the name of the sim subdir.
setup_sim mn10300
# No multilib flags are set by default.
diff --git a/baseboards/tx39-sim.exp b/baseboards/tx39-sim.exp
index 20fc722..8af9912 100644
--- a/baseboards/tx39-sim.exp
+++ b/baseboards/tx39-sim.exp
@@ -1,3 +1,8 @@
-# This file is unnecessary, but we'll keep it for now.
-# We're the same as the standard MIPS simulator.
+# We need mips16.
+add_multilib_option ""
+
+# And we use the lsi linker script.
+set_board_info ldscript "-Wl,-Tdve.ld"
+
+# Otherwise we're the same as the standard MIPS simulator.
load_base_board_description "mips-sim";
diff --git a/config.sub b/config.sub
new file mode 100755
index 0000000..edfef57
--- /dev/null
+++ b/config.sub
@@ -0,0 +1,1337 @@
+#! /bin/sh
+# Configuration validation subroutine script, version 1.1.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+# Free Software Foundation, Inc.
+
+version='2000-11-02'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine. It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Please send patches to <config-patches@gnu.org>.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit"
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case "$1" in
+ --version | --vers* | -V )
+ echo "$version" ; exit 0 ;;
+ --help | --h* | -h )
+ echo "$usage"; exit 0 ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ exec >&2
+ echo "$me: invalid option $1"
+ echo "$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit 0;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | storm-chaos*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis)
+ os=
+ basic_machine=$1
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm | xscale \
+ | arme[lb] | armv[2345] | armv[345][lb] | pyramid | mn10200 | mn10300 | tron | a29k \
+ | 580 | i960 | h8300 \
+ | x86 | ppcbe | mipsbe | mipsle | shbe | shle | armbe | armle \
+ | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
+ | hppa64 \
+ | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
+ | alphaev6[78] \
+ | we32k | ns16k | clipper | i370 | sh | sh[34] \
+ | powerpc | powerpcle \
+ | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
+ | mips64orion | mips64orionel | mipstx39 | mipstx39el \
+ | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
+ | mips64vr5000 | miprs64vr5000el | mcore \
+ | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
+ | thumb | d10v | d30v | fr30 | avr)
+ basic_machine=$basic_machine-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i[234567]86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ # FIXME: clean up the formatting here.
+ vax-* | tahoe-* | i[234567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
+ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
+ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
+ | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
+ | xmp-* | ymp-* \
+ | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* | armbe-* | armle-* \
+ | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
+ | hppa2.0n-* | hppa64-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
+ | alphaev6[78]-* \
+ | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
+ | clipper-* | orion-* \
+ | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
+ | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
+ | mips64el-* | mips64orion-* | mips64orionel-* \
+ | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
+ | mipstx39-* | mipstx39el-* | mcore-* \
+ | f301-* | armv*-* | s390-* | s390x-* | sv1-* | t3e-* \
+ | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
+ | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
+ | bs2000-* | tic54x-* | c54x-* | x86_64-*)
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ cray2)
+ basic_machine=cray2-cray
+ os=-unicos
+ ;;
+ [ctj]90-cray)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i[34567]86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i[34567]86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i[34567]86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i[34567]86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ i386-go32 | go32)
+ basic_machine=i386-unknown
+ os=-go32
+ ;;
+ i386-mingw32 | mingw32)
+ basic_machine=i386-unknown
+ os=-mingw32
+ ;;
+ i[34567]86-pw32 | pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mipsel*-linux*)
+ basic_machine=mipsel-unknown
+ os=-linux-gnu
+ ;;
+ mips*-linux*)
+ basic_machine=mips-unknown
+ os=-linux-gnu
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ mmix*)
+ basic_machine=mmix-knuth
+ os=-mmixware
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ msdos)
+ basic_machine=i386-unknown
+ os=-msdos
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pentium | p5 | k5 | k6 | nexen)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexen-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=rs6000-ibm
+ ;;
+ ppc) basic_machine=powerpc-unknown
+ ;;
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sparclite-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=t3e-cray
+ os=-unicos
+ ;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xmp)
+ basic_machine=xmp-cray
+ os=-unicos
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ mips)
+ if [ x$os = x-linux-gnu ]; then
+ basic_machine=mips-unknown
+ else
+ basic_machine=mips-mips
+ fi
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh3 | sh4)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv9)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ c4x*)
+ basic_machine=c4x-none
+ os=-coff
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
+ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -storm-chaos*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i[34567]86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto*)
+ os=-nto-qnx
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -*MiNT)
+ os=-mint
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f301-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -vxsim* | -vxworks*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -*MiNT)
+ vendor=atari
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "version='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/config/arc.exp b/config/arc.exp
index 3fffb06..e38e8e2 100644
--- a/config/arc.exp
+++ b/config/arc.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,6 +15,6 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
load_generic_config "gdb-comm";
diff --git a/config/arm-ice.exp b/config/arm-ice.exp
index 3fffb06..e38e8e2 100644
--- a/config/arm-ice.exp
+++ b/config/arm-ice.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,6 +15,6 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
load_generic_config "gdb-comm";
diff --git a/config/base-config.exp b/config/base-config.exp
index 2cd9581..8e16dcf 100644
--- a/config/base-config.exp
+++ b/config/base-config.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
#
# reboot_hook -- called to reboot a target board. Returns 1 on
diff --git a/config/base68k.exp b/config/base68k.exp
index d105ce8..ca0afb2 100644
--- a/config/base68k.exp
+++ b/config/base68k.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1994 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
# This file was written by Bob Manson (manson@cygnus.com)
# based on earlier work by JT Conklin (jtc@cygnus.com)
@@ -80,8 +80,8 @@ proc base68k_ld { dest prog } {
# dbug has problems if we go into binary mode, so this allows us to
# disable entry into binary mode.
if ![board_info $dest exists no_binary_mode] {
- remote_binary $dest;
- }
+ remote_binary $dest;
+ }
}
# if we built the srecord on a remote host, copy it back here so we
diff --git a/config/bug.exp b/config/bug.exp
index 881eccc..5155978 100644
--- a/config/bug.exp
+++ b/config/bug.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
# This file was written by Bob Manson (manson@cygnus.com).
diff --git a/config/cfdbug.exp b/config/cfdbug.exp
index 2db0ac7..182f023 100644
--- a/config/cfdbug.exp
+++ b/config/cfdbug.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1999 Free Software Foundation, Inc.
+# Copyright (C) 1999 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
# This file was written by Bob Manson (manson@cygnus.com).
diff --git a/config/cygmon.exp b/config/cygmon.exp
index 2378a12..321fce7 100644
--- a/config/cygmon.exp
+++ b/config/cygmon.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
load_generic_config "gdb-comm";
diff --git a/config/d10v.exp b/config/d10v.exp
index 3fffb06..e38e8e2 100644
--- a/config/d10v.exp
+++ b/config/d10v.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,6 +15,6 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
load_generic_config "gdb-comm";
diff --git a/config/ddb-ether.exp b/config/ddb-ether.exp
index 140c0d2..3a8716b 100644
--- a/config/ddb-ether.exp
+++ b/config/ddb-ether.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
# This file was written by Bob Manson (manson@cygnus.com)
diff --git a/config/ddb.exp b/config/ddb.exp
index 13a18e0..f2ecf86 100644
--- a/config/ddb.exp
+++ b/config/ddb.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
# This file was written by Bob Manson (manson@cygnus.com)
diff --git a/config/dos.exp b/config/dos.exp
index d1b440d..f455acb 100644
--- a/config/dos.exp
+++ b/config/dos.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
# This file was written by Bob Manson (manson@cygnus.com)
diff --git a/config/dve.exp b/config/dve.exp
index 3582b5b..668f078 100644
--- a/config/dve.exp
+++ b/config/dve.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1998 Free Software Foundation, Inc.
+# Copyright (C) 1998 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
# For Densan MIPS boards we use gdb to load and execute programs.
diff --git a/config/gdb-comm.exp b/config/gdb-comm.exp
index 3f4fffc..1f3fda7 100644
--- a/config/gdb-comm.exp
+++ b/config/gdb-comm.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+# Copyright (C) 1996 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
# Note: some of this was cribbed from the gdb testsuite since we need
# to use some pretty standard gdb features (breakpoints in particular).
diff --git a/config/gdb_stub.exp b/config/gdb_stub.exp
index 127c6eb..f1e7fc5 100644
--- a/config/gdb_stub.exp
+++ b/config/gdb_stub.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1996-98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
# This file was written by Michael Snyder <msnyder@cygnus.com>.
@@ -494,7 +494,7 @@ proc gdb_stub_load { dest prog args } {
if { $status == 0 } {
return [list "pass" $output];
- } elseif { $status > 0 } {
+ } else if { $status > 0 } {
return [list "fail" $output];
} else {
global gdb_stub_retry;
diff --git a/config/h8300.exp b/config/h8300.exp
index 3fffb06..e38e8e2 100644
--- a/config/h8300.exp
+++ b/config/h8300.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,6 +15,6 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
load_generic_config "gdb-comm";
diff --git a/config/i386-bozo.exp b/config/i386-bozo.exp
index 563da32..9175d69 100644
--- a/config/i386-bozo.exp
+++ b/config/i386-bozo.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
load_generic_config "gdb-comm";
diff --git a/config/i960.exp b/config/i960.exp
index dcca835..07f1982 100644
--- a/config/i960.exp
+++ b/config/i960.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
#
# Initialize the board on initial connection or after rebooting.
diff --git a/config/m32r-stub.exp b/config/m32r-stub.exp
index 7cdfd23..7952f4a 100644
--- a/config/m32r-stub.exp
+++ b/config/m32r-stub.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,6 +15,6 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
load_generic_config "gdb_stub";
diff --git a/config/m32r.exp b/config/m32r.exp
index 3fffb06..e38e8e2 100644
--- a/config/m32r.exp
+++ b/config/m32r.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,6 +15,6 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
load_generic_config "gdb-comm";
diff --git a/config/mips-idt.exp b/config/mips-idt.exp
index eacdb4d..8c566b8 100644
--- a/config/mips-idt.exp
+++ b/config/mips-idt.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
# For MIPS/IDT we use gdb to load and execute programs.
diff --git a/config/mn10200-eval.exp b/config/mn10200-eval.exp
index 9af6ae5..1f9c444 100644
--- a/config/mn10200-eval.exp
+++ b/config/mn10200-eval.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1998 Free Software Foundation, Inc.
+# Copyright (C) 1998 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
# For MN10200 evaluation boards we use gdb to load and execute programs.
diff --git a/config/mn10300-eval.exp b/config/mn10300-eval.exp
index 1070b42..45b0e2a 100644
--- a/config/mn10300-eval.exp
+++ b/config/mn10300-eval.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1998 Free Software Foundation, Inc.
+# Copyright (C) 1998 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
# For MN10300 evaluation boards we use gdb to load and execute programs.
diff --git a/config/netware.exp b/config/netware.exp
index 75d8149..ef47838 100644
--- a/config/netware.exp
+++ b/config/netware.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1994 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
# This file was written by J.T. Conklin. (jtc@cygnus.com)
diff --git a/config/powerpc-bug.exp b/config/powerpc-bug.exp
index 3fffb06..e38e8e2 100644
--- a/config/powerpc-bug.exp
+++ b/config/powerpc-bug.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,6 +15,6 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
load_generic_config "gdb-comm";
diff --git a/config/proelf.exp b/config/proelf.exp
index 310af21..4d822c5 100644
--- a/config/proelf.exp
+++ b/config/proelf.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
load_generic_config "base68k";
set_board_info shell_prompt "#"
diff --git a/config/rom68k.exp b/config/rom68k.exp
index 63721f8..88257cd 100644
--- a/config/rom68k.exp
+++ b/config/rom68k.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1995 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
# This file was written by Bob Manson (manson@cygnus.com)
# based on earlier work by J.T. Conklin (jtc@cygnus.com)
diff --git a/config/sh.exp b/config/sh.exp
index 3fffb06..e38e8e2 100644
--- a/config/sh.exp
+++ b/config/sh.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,6 +15,6 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
load_generic_config "gdb-comm";
diff --git a/config/sim.exp b/config/sim.exp
index 74edc6f..3143b31 100644
--- a/config/sim.exp
+++ b/config/sim.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1993, 1994, 1996, 1997, 1998 Free Software Foundation, Inc.
+# Copyright (C) 1993 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
#
# sim_load -- load the program and execute it
diff --git a/config/slite.exp b/config/slite.exp
index 19bf612..52e9807 100644
--- a/config/slite.exp
+++ b/config/slite.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1996 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,6 +15,6 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
load_generic_config "gdb_stub";
diff --git a/config/sparclet.exp b/config/sparclet.exp
index 3f86098..c0b7296 100644
--- a/config/sparclet.exp
+++ b/config/sparclet.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1996 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
# This file was written by Michael Snyder <msnyder@cygnus.com>.
diff --git a/config/udi.exp b/config/udi.exp
index 4e10c4f..298ee83 100644
--- a/config/udi.exp
+++ b/config/udi.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1994 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
-# This file was originally written by Rob Savoye. (rob@cygnus.com)
+# This file was originally written by Rob Savoye. (rob@welcomehome.org)
# and modified by Bob Manson (manson@cygnus.com)
# When using the simulator (-n iss) and running nice'd, things can naturally
diff --git a/config/unix.exp b/config/unix.exp
index d3e7fab..170ae94 100644
--- a/config/unix.exp
+++ b/config/unix.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 92, 1993, 1994, 1996, 1997, 1998 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
-# This file was written by Rob Savoye. (rob@cygnus.com)
+# This file was written by Rob Savoye. (rob@welcomehome.org)
if ![info exists board] {
error "must set $board before loading unix.exp"
diff --git a/config/vr4100.exp b/config/vr4100.exp
index 16d20b8..49943ac 100644
--- a/config/vr4100.exp
+++ b/config/vr4100.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
# We're using a ddb monitor.
load_generic_config "ddb";
diff --git a/config/vr4300.exp b/config/vr4300.exp
index 16d20b8..49943ac 100644
--- a/config/vr4300.exp
+++ b/config/vr4300.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
# We're using a ddb monitor.
load_generic_config "ddb";
diff --git a/config/vr5000.exp b/config/vr5000.exp
index 01945cf..d52f1f8 100644
--- a/config/vr5000.exp
+++ b/config/vr5000.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
# We're using a ddb monitor, but we want to use the ethernet to load files.
load_generic_config "ddb-ether";
diff --git a/config/vrtx.exp b/config/vrtx.exp
index cff962c..ff0cd4a 100644
--- a/config/vrtx.exp
+++ b/config/vrtx.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1994 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-gcc@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
-# This file was written by Rob Savoye. (rob@cygnus.com)
+# This file was written by Rob Savoye. (rob@welcomehome.org)
# This file uses the xsh protocol.
diff --git a/config/vxworks.exp b/config/vxworks.exp
index 3ab4a71..2b04e24 100644
--- a/config/vxworks.exp
+++ b/config/vxworks.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 92, 93, 94, 95, 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
-# This file was originally written by Rob Savoye. (rob@cygnus.com)
+# This file was originally written by Rob Savoye. (rob@welcomehome.org)
# and modified by Bob Manson (manson@cygnus.com)
#
diff --git a/configure b/configure
index 3fc078c..23337d6 100755
--- a/configure
+++ b/configure
@@ -14,6 +14,11 @@ ac_default_prefix=/usr/local
ac_help="$ac_help
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer"
+ac_help="$ac_help
+ --with-docbook directory where the db2 sgml tools are"
+ac_help="$ac_help
+ --with-tclinclude directory where tcl header
+s are"
# Initialize some variables set by options.
# The variables have the same names as the options, with
@@ -31,7 +36,6 @@ program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
-sitefile=
srcdir=
target=NONE
verbose=
@@ -146,7 +150,6 @@ Configuration:
--help print this message
--no-create do not create output files
--quiet, --silent do not print \`checking...' messages
- --site-file=FILE use FILE as the site file
--version print the version of autoconf that created configure
Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
@@ -317,11 +320,6 @@ EOF
-site=* | --site=* | --sit=*)
site="$ac_optarg" ;;
- -site-file | --site-file | --site-fil | --site-fi | --site-f)
- ac_prev=sitefile ;;
- -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
- sitefile="$ac_optarg" ;;
-
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
@@ -487,16 +485,12 @@ fi
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
# Prefer explicitly selected file to automatically selected ones.
-if test -z "$sitefile"; then
- if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
-else
- CONFIG_SITE="$sitefile"
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
@@ -535,8 +529,9 @@ else
fi
+
ac_aux_dir=
-for ac_dir in .. $srcdir/..; do
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
if test -f $ac_dir/install-sh; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
@@ -548,13 +543,12 @@ for ac_dir in .. $srcdir/..; do
fi
done
if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in .. $srcdir/.." 1>&2; exit 1; }
+ { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
fi
ac_config_guess=$ac_aux_dir/config.guess
ac_config_sub=$ac_aux_dir/config.sub
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
@@ -567,7 +561,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:571: checking for a BSD compatible install" >&5
+echo "configure:565: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -620,7 +614,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:624: checking whether build environment is sane" >&5
+echo "configure:618: checking whether build environment is sane" >&5
# Just in case
sleep 1
echo timestamp > conftestfile
@@ -677,7 +671,7 @@ test "$program_suffix" != NONE &&
test "$program_transform_name" = "" && program_transform_name="s,x,x,"
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:681: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:675: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -706,7 +700,7 @@ fi
PACKAGE=dejagnu
-VERSION=20000518
+VERSION=1.4
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
@@ -723,7 +717,7 @@ EOF
missing_dir=`cd $ac_aux_dir && pwd`
echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:727: checking for working aclocal" >&5
+echo "configure:721: checking for working aclocal" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -736,7 +730,7 @@ else
fi
echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:740: checking for working autoconf" >&5
+echo "configure:734: checking for working autoconf" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -749,7 +743,7 @@ else
fi
echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:753: checking for working automake" >&5
+echo "configure:747: checking for working automake" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -762,7 +756,7 @@ else
fi
echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:766: checking for working autoheader" >&5
+echo "configure:760: checking for working autoheader" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -775,7 +769,7 @@ else
fi
echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:779: checking for working makeinfo" >&5
+echo "configure:773: checking for working makeinfo" >&5
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
@@ -789,7 +783,7 @@ fi
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:793: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:787: checking whether to enable maintainer-specific portions of Makefiles" >&5
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then
enableval="$enable_maintainer_mode"
@@ -812,7 +806,7 @@ fi
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:816: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:810: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -838,106 +832,11 @@ else
SET_MAKE="MAKE=${MAKE-make}"
fi
-echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:843: checking for Cygwin environment" >&5
-if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 848 "configure"
-#include "confdefs.h"
-
-int main() {
-
-#ifndef __CYGWIN__
-#define __CYGWIN__ __CYGWIN32__
-#endif
-return __CYGWIN__;
-; return 0; }
-EOF
-if { (eval echo configure:859: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_cygwin=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_cygwin=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_cygwin" 1>&6
-CYGWIN=
-test "$ac_cv_cygwin" = yes && CYGWIN=yes
-echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:876: checking for mingw32 environment" >&5
-if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 881 "configure"
-#include "confdefs.h"
-
-int main() {
-return __MINGW32__;
-; return 0; }
-EOF
-if { (eval echo configure:888: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_mingw32=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_mingw32=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_mingw32" 1>&6
-MINGW32=
-test "$ac_cv_mingw32" = yes && MINGW32=yes
-
-
-echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:907: checking for executable suffix" >&5
-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
- ac_cv_exeext=.exe
-else
- rm -f conftest*
- echo 'int main () { return 0; }' > conftest.$ac_ext
- ac_cv_exeext=
- if { (eval echo configure:917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
- for file in conftest.*; do
- case $file in
- *.c | *.o | *.obj | *.ilk | *.pdb) ;;
- *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
- esac
- done
- else
- { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
- fi
- rm -f conftest*
- test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
-fi
-fi
-
-EXEEXT=""
-test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
-echo "$ac_t""${ac_cv_exeext}" 1>&6
-ac_exeext=$EXEEXT
-
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:941: checking for $ac_word" >&5
+echo "configure:840: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -967,7 +866,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:971: checking for $ac_word" >&5
+echo "configure:870: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1018,7 +917,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1022: checking for $ac_word" >&5
+echo "configure:921: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1050,7 +949,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1054: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:953: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1061,12 +960,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 1065 "configure"
+#line 964 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -1092,12 +991,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1096: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:995: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1101: checking whether we are using GNU C" >&5
+echo "configure:1000: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1106,7 +1005,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1110: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1009: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -1125,7 +1024,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1129: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1028: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1168,7 +1067,7 @@ fi
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1172: checking for a BSD compatible install" >&5
+echo "configure:1071: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1220,12 +1119,240 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:1124: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1129 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:1140: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:1157: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1162 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:1169: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1188: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+
+
+dirlist=".. ../../ ../../.. ../../../.. ../../../../.. ../../../../../.. ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
+echo $ac_n "checking for docbook tools""... $ac_c" 1>&6
+echo "configure:1222: checking for docbook tools" >&5
+# Check whether --with-oskith or --without-oskith was given.
+if test "${with_oskith+set}" = set; then
+ withval="$with_oskith"
+ with_docbook=${withval}
+fi
+
+if eval "test \"`echo '$''{'ac_cv_c_docbook'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+if test x"${with_docbook}" != x ; then
+ if test -f ${with_docbook}/db2html ; then
+ ac_cv_c_docbook=`(cd ${with_docbook}; pwd)`
+ else
+ { echo "configure: error: ${with_docbook} directory doesn't contain SGML tools" 1>&2; exit 1; }
+ fi
+fi
+
+fi
+
+if test x"${ac_cv_c_docbook}" = x ; then
+ for i in $ac_default_prefix/bin /usr/local/bin $OSKITHDIR/../bin /usr/bin /bin /opt /home; do
+ if test -f $i/db2html ; then
+ ac_cv_c_docbook=$i
+ break
+ fi
+ done
+fi
+
+if test x"${ac_cv_c_docbook}" = x ; then
+ echo "$ac_t""none" 1>&6
+else
+ DOCBOOK="${ac_cv_c_docbook}"
+ echo "$ac_t""${ac_cv_c_docbook}" 1>&6
+fi
+
+
+
+
+
+dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../
+../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../..
+/../../../../../.."
+no_itcl=true
+echo $ac_n "checking for the tclsh program""... $ac_c" 1>&6
+echo "configure:1268: checking for the tclsh program" >&5
+# Check whether --with-tclinclude or --without-tclinclude was given.
+if test "${with_tclinclude+set}" = set; then
+ withval="$with_tclinclude"
+ with_tclinclude=${withval}
+fi
+
+if eval "test \"`echo '$''{'ac_cv_path_tclsh'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+
+if test x"${with_tclinclude}" != x ; then
+ if test -f ${with_tclinclude}/tclsh ; then
+ ac_cv_path_tclsh=`(cd ${with_tclinclude}; pwd)`
+ elif test -f ${with_tclinclude}/src/tclsh ; then
+ ac_cv_path_tclsh=`(cd ${with_tclinclude}/src; pwd)`
+ else
+ { echo "configure: error: ${with_tclinclude} directory doesn't contain tclsh" 1>&2; exit 1; }
+ fi
+fi
+
+fi
+
+
+if test x"${ac_cv_path_tclsh}" = x ; then
+ for i in $dirlist; do
+ if test -n "`ls -dr $srcdir/$i/tcl* 2>/dev/null`" ; then
+ tclpath=$srcdir/$i
+ break
+ fi
+ done
+
+ for i in `ls -dr $tclpath/tcl* 2>/dev/null ` ; do
+ if test -f $i/src/tclsh ; then
+ ac_cv_path_tclsh=`(cd $i/src; pwd)`/tclsh
+ break
+ fi
+ done
+fi
+
+if test x"${ac_cv_path_tclsh}" = x ; then
+ echo "$ac_t""none" 1>&6
+ # Extract the first word of "tclsh", so it can be a program name with args.
+set dummy tclsh; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1313: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_tclsh'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ case "$tclsh" in
+ /*)
+ ac_cv_path_tclsh="$tclsh" # Let the user override the test with a path.
+ ;;
+ ?:/*)
+ ac_cv_path_tclsh="$tclsh" # Let the user override the test with a dos path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_path_tclsh="$ac_dir/$ac_word"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ ;;
+esac
+fi
+tclsh="$ac_cv_path_tclsh"
+if test -n "$tclsh"; then
+ echo "$ac_t""$tclsh" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ echo "$ac_t""${ac_cv_path_tclsh}" 1>&6
+fi
+TCLSH="${ac_cv_path_tclsh}"
+
+
BOARDS='$(boards)'
CONFIG='$(config)'
-
+
subdirs="example/calc"
@@ -1342,7 +1469,7 @@ done
ac_given_srcdir=$srcdir
ac_given_INSTALL="$INSTALL"
-trap 'rm -fr `echo "Makefile doc/Makefile example/Makefile testsuite/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+trap 'rm -fr `echo "Makefile doc/Makefile testsuite/Makefile example/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
cat >> $CONFIG_STATUS <<EOF
@@ -1388,8 +1515,11 @@ s%@SET_MAKE@%$SET_MAKE%g
s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
s%@MAINT@%$MAINT%g
-s%@EXEEXT@%$EXEEXT%g
s%@CC@%$CC%g
+s%@EXEEXT@%$EXEEXT%g
+s%@DOCBOOK@%$DOCBOOK%g
+s%@tclsh@%$tclsh%g
+s%@TCLSH@%$TCLSH%g
s%@BOARDS@%$BOARDS%g
s%@CONFIG@%$CONFIG%g
s%@subdirs@%$subdirs%g
@@ -1434,7 +1564,7 @@ EOF
cat >> $CONFIG_STATUS <<EOF
-CONFIG_FILES=\${CONFIG_FILES-"Makefile doc/Makefile example/Makefile testsuite/Makefile"}
+CONFIG_FILES=\${CONFIG_FILES-"Makefile doc/Makefile testsuite/Makefile example/Makefile"}
EOF
cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
diff --git a/configure.in b/configure.in
index 263f043..93bbc55 100644
--- a/configure.in
+++ b/configure.in
@@ -1,24 +1,30 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.13)
AC_INIT(runtest.exp)
-AC_CONFIG_AUX_DIR(..)
+dnl AC_CONFIG_AUX_DIR(..)
dnl These are required by automake
-AM_INIT_AUTOMAKE(dejagnu, 20000518)
+AM_INIT_AUTOMAKE(dejagnu, 1.4)
AM_MAINTAINER_MODE
AC_PROG_MAKE_SET
-AC_EXEEXT
AC_PROG_CC
AC_PROG_INSTALL
+AC_EXEEXT
+
+dnl we need the path to Docbook so we can build packages.
+DJ_AC_PATH_DOCBOOK
+
+dnl we need the path to the tcl shell to build a release
+DJ_AC_PATH_TCLSH
dnl Level of indirection for automake macro (baseboards:boards_DATA)
BOARDS='$(boards)'
AC_SUBST(BOARDS)
CONFIG='$(config)'
AC_SUBST(CONFIG)
-
+
AC_CONFIG_SUBDIRS(example/calc)
-AC_OUTPUT(Makefile doc/Makefile example/Makefile testsuite/Makefile)
+AC_OUTPUT(Makefile doc/Makefile testsuite/Makefile example/Makefile)
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 9521a40..6e367d5 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,10 +1,9 @@
## Process this file with automake to generate Makefile.in
-AUTOMAKE_OPTIONS = cygnus
+# AUTOMAKE_OPTIONS =
-info_TEXINFOS = dejagnu.texi
-
-TARGETS = overview.rtf overview.html overview.dvi overview.ps
+DOCBOOK = @DOCBOOK@
+TARGETS = overview.html overview.rtf # overview.dvi overview.ps
docs: $(TARGETS)
@@ -12,13 +11,13 @@ docs: $(TARGETS)
dvips -o $@ $<
%.pdf: %.sgml
- db2pdf $<
+ $(DOCBOOK)/db2pdf $<
%.dvi: %.sgml
- db2dvi $<
+ $(DOCBOOK)/db2dvi $<
%.rtf: %.sgml
- db2rtf -o $@ $<
+ $(DOCBOOK)/db2rtf -o $@ $<
%.gif: %.fig
convert -transparency white $< $@ # .fig -> .gif
@@ -30,18 +29,18 @@ docs: $(TARGETS)
fig2dev -L ps -m 0.7 -p dummy $< > $@ # .fig -> .eps/portrait
%.html: %.sgml
- db2html $<
+ $(DOCBOOK)/db2html $<
# now for some extra dependencies that the automatic rules will not
# catch:
-overview.pdf overview.ps overview.dvi overview.rtf overview.html: overview.sgml ref.sgml user.sgml
+html rtf overview.pdf overview.ps overview.dvi overview.rtf overview.html: overview.sgml ref.sgml user.sgml
clean:
rm -f $(TARGETS)
-# install-data-local: overview.pdf overview.html
-# $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/html
-# $(INSTALL_DATA) overview/*.html $(DESTDIR)$(pkgdatadir)/html
+install-doc: $(TARGETS)
+ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/html
+ $(INSTALL_DATA) overview/*.html $(DESTDIR)$(pkgdatadir)/html
# $(INSTALL_DATA) overview.ps $(DESTDIR)$(pkgdatadir)/dejagnu.ps
# $(INSTALL_DATA) overview.pdf $(DESTDIR)$(pkgdatadir)/dejagnu.pdf
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 31d809b..0666f86 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -10,6 +10,8 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
+# AUTOMAKE_OPTIONS =
+
SHELL = @SHELL@
@@ -64,149 +66,30 @@ EXEEXT = @EXEEXT@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
PACKAGE = @PACKAGE@
+TCLSH = @TCLSH@
VERSION = @VERSION@
+tclsh = @tclsh@
-AUTOMAKE_OPTIONS = cygnus
-
-info_TEXINFOS = dejagnu.texi
-
-TARGETS = overview.rtf overview.html overview.dvi overview.ps
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+DOCBOOK = @DOCBOOK@
+TARGETS = overview.html overview.rtf # overview.dvi overview.ps
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES =
-TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then echo $(top_srcdir)/../texinfo/util/texi2dvi; else echo texi2dvi; fi`
-TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex
-INFO_DEPS = dejagnu.info
-DVIS = dejagnu.dvi
-TEXINFOS = dejagnu.texi
DIST_COMMON = README Makefile.am Makefile.in configure configure.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = gtar
+TAR = tar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
-.SUFFIXES: .dvi .info .ps .texi .texinfo .txi
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --cygnus doc/Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-dejagnu.info: dejagnu.texi
-dejagnu.dvi: dejagnu.texi
-
-
-DVIPS = dvips
-
-.texi.info:
- @rm -f $@ $@-[0-9] $@-[0-9][0-9]
- $(MAKEINFO) -I $(srcdir) $<
-
-.texi.dvi:
- TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \
- MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
-
-.texi:
- @rm -f $@ $@-[0-9] $@-[0-9][0-9]
- $(MAKEINFO) -I $(srcdir) $<
-
-.texinfo.info:
- @rm -f $@ $@-[0-9] $@-[0-9][0-9]
- $(MAKEINFO) -I $(srcdir) $<
-
-.texinfo:
- @rm -f $@ $@-[0-9] $@-[0-9][0-9]
- $(MAKEINFO) -I $(srcdir) $<
-
-.texinfo.dvi:
- TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \
- MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
-
-.txi.info:
- @rm -f $@ $@-[0-9] $@-[0-9][0-9]
- $(MAKEINFO) -I $(srcdir) $<
-
-.txi.dvi:
- TEXINPUTS=$(top_srcdir)/../texinfo/texinfo.tex:$$TEXINPUTS \
- MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
-
-.txi:
- @rm -f $@ $@-[0-9] $@-[0-9][0-9]
- $(MAKEINFO) -I $(srcdir) $<
-.dvi.ps:
- $(DVIPS) $< -o $@
-
-install-info-am: $(INFO_DEPS)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(infodir)
- @list='$(INFO_DEPS)'; \
- for file in $$list; do \
- if test -f $$file; then d=.; else d=$(srcdir); fi; \
- for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
- if test -f $$d/$$ifile; then \
- echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \
- $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \
- else : ; fi; \
- done; \
- done
- @$(POST_INSTALL)
- @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
- install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
- done; \
- else : ; fi
-
-uninstall-info:
- $(PRE_UNINSTALL)
- @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
- ii=yes; \
- else ii=; fi; \
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- test -z "$ii" \
- || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \
- done
- @$(NORMAL_UNINSTALL)
- list='$(INFO_DEPS)'; \
- for file in $$list; do \
- (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \
- done
-
-dist-info: $(INFO_DEPS)
- list='$(INFO_DEPS)'; \
- for base in $$list; do \
- if test -f $$base; then d=.; else d=$(srcdir); fi; \
- for file in `cd $$d && eval echo $$base*`; do \
- test -f $(distdir)/$$file \
- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $$d/$$file $(distdir)/$$file; \
- done; \
- done
-
-mostlyclean-aminfo:
- -rm -f dejagnu.aux dejagnu.cp dejagnu.cps dejagnu.dvi dejagnu.fn \
- dejagnu.fns dejagnu.ky dejagnu.kys dejagnu.ps dejagnu.log \
- dejagnu.pg dejagnu.toc dejagnu.tp dejagnu.tps dejagnu.vr \
- dejagnu.vrs dejagnu.op dejagnu.tr dejagnu.cv dejagnu.cn
-
-clean-aminfo:
-
-distclean-aminfo:
-
-maintainer-clean-aminfo:
- for i in $(INFO_DEPS); do \
- rm -f $$i; \
- if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
- rm -f $$i-[0-9]*; \
- fi; \
- done
-clean-info: mostlyclean-aminfo
tags: TAGS
TAGS:
@@ -216,27 +99,29 @@ distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
subdir = doc
distdir: $(DISTFILES)
+ here=`cd $(top_builddir) && pwd`; \
+ top_distdir=`cd $(top_distdir) && pwd`; \
+ distdir=`cd $(distdir) && pwd`; \
+ cd $(top_srcdir) \
+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu doc/Makefile
@for file in $(DISTFILES); do \
- if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
+ cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
- $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info
-info-am: $(INFO_DEPS)
+info-am:
info: info-am
-dvi-am: $(DVIS)
+dvi-am:
dvi: dvi-am
-check-am:
+check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
-install-info-am:
-install-info: install-info-am
install-exec-am:
install-exec: install-exec-am
@@ -264,29 +149,26 @@ distclean-generic:
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
-mostlyclean-am: mostlyclean-aminfo mostlyclean-generic
+mostlyclean-am: mostlyclean-generic
mostlyclean: mostlyclean-am
-clean-am: clean-aminfo clean-generic mostlyclean-am
+clean-am: clean-generic mostlyclean-am
clean: clean-am
-distclean-am: distclean-aminfo distclean-generic clean-am
+distclean-am: distclean-generic clean-am
distclean: distclean-am
-maintainer-clean-am: maintainer-clean-aminfo maintainer-clean-generic \
- distclean-am
+maintainer-clean-am: maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-am
-.PHONY: install-info-am uninstall-info mostlyclean-aminfo \
-distclean-aminfo clean-aminfo maintainer-clean-aminfo tags distdir \
-info-am info dvi-am dvi check check-am installcheck-am installcheck \
-install-info-am install-info install-exec-am install-exec \
+.PHONY: tags distdir info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
@@ -299,13 +181,13 @@ docs: $(TARGETS)
dvips -o $@ $<
%.pdf: %.sgml
- db2pdf $<
+ $(DOCBOOK)/db2pdf $<
%.dvi: %.sgml
- db2dvi $<
+ $(DOCBOOK)/db2dvi $<
%.rtf: %.sgml
- db2rtf -o $@ $<
+ $(DOCBOOK)/db2rtf -o $@ $<
%.gif: %.fig
convert -transparency white $< $@ # .fig -> .gif
@@ -317,19 +199,19 @@ docs: $(TARGETS)
fig2dev -L ps -m 0.7 -p dummy $< > $@ # .fig -> .eps/portrait
%.html: %.sgml
- db2html $<
+ $(DOCBOOK)/db2html $<
# now for some extra dependencies that the automatic rules will not
# catch:
-overview.pdf overview.ps overview.dvi overview.rtf overview.html: overview.sgml ref.sgml user.sgml
+html rtf overview.pdf overview.ps overview.dvi overview.rtf overview.html: overview.sgml ref.sgml user.sgml
clean:
rm -f $(TARGETS)
-# install-data-local: overview.pdf overview.html
-# $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/html
-# $(INSTALL_DATA) overview/*.html $(DESTDIR)$(pkgdatadir)/html
+install-doc: $(TARGETS)
+ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/html
+ $(INSTALL_DATA) overview/*.html $(DESTDIR)$(pkgdatadir)/html
# $(INSTALL_DATA) overview.ps $(DESTDIR)$(pkgdatadir)/dejagnu.ps
# $(INSTALL_DATA) overview.pdf $(DESTDIR)$(pkgdatadir)/dejagnu.pdf
diff --git a/doc/dejagnu.texi b/doc/dejagnu.texi
index 68c4008..0d06cea 100644
--- a/doc/dejagnu.texi
+++ b/doc/dejagnu.texi
@@ -4,7 +4,7 @@ o\input texinfo @c -*- Texinfo -*-
@c
@c This file documents the GNU Testing Framework ``DejaGnu''
@c
-@c Copyright (C) 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
+@c Copyright (C) 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
@c
@c This text may be freely distributed under the terms of the GNU
@c General Public License.
@@ -43,7 +43,7 @@ END-INFO-DIR-ENTRY
@end tex
@vskip 0pt plus 1filll
-Copyright @copyright{} 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
+Copyright @copyright{} 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -60,7 +60,7 @@ into another language, under the above conditions for modified versions.
@end titlepage
@ifinfo
-Copyright @copyright{} 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
+Copyright @copyright{} 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
diff --git a/doc/overview.sgml b/doc/overview.sgml
index 58bce0c..4d86d25 100644
--- a/doc/overview.sgml
+++ b/doc/overview.sgml
@@ -4,18 +4,19 @@
<?Fm: Validation Off>
-<!ENTITY version "0.5">
+<!ENTITY version "1.4">
<!ENTITY dj "DejaGnu">
<!ENTITY dejagnu-copyright "
- <YEAR>1998</YEAR>
+ <YEAR>2000</YEAR>
<HOLDER>Free Software Foundation, Inc.</HOLDER>">
<!ENTITY dejagnu-code-copyright "
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This file documents the GNU Testing Framework ``DejaGnu''
-Copyright (C) 92, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+Copyright (C) 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software
+Foundation, Inc.
This text may be freely distributed under the terms of the GNU
General Public License.
@@ -23,7 +24,8 @@ General Public License.
">
<!ENTITY dejagnu-copyright "
-Copyright 92, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+Copyright 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software
+Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -51,7 +53,7 @@ into another language, under the above conditions for modified versions.
<bookinfo>
<title>&dj;</title>
<subtitle>The GNU Testing Framework</subtitle>
- <date>1998 Nov 24</date>
+ <date>2000 Jan 24</date>
<edition> &version</edition>
<releaseinfo> for circulation within Cygnus</releaseinfo>
<authorgroup>
@@ -83,8 +85,8 @@ into another language, under the above conditions for modified versions.
<!-- </legalnotice> -->
<revhistory>
<revision>
- <revnumber> 0.1</revnumber>
- <date>1998-11</date>
+ <revnumber>0.5</revnumber>
+ <date>2000-1-24</date>
<authorinitials>rob@welcomehome.org</authorinitials>
<revremark>Initial version after conversion to DocBook.</revremark>
</revision>
@@ -226,7 +228,7 @@ into another language, under the above conditions for modified versions.
<listitem><para>NT support. There is beta level support for NT
that is still a work in progress. This requires the <ulink
- URL=httpd://sourceware.cygnus.com>Cygwin</ulink> POSIX system
+ URL="http://sources.redhat.com">Cygwin</ulink> POSIX system
for NT.</para></listitem>
</itemizedlist>
@@ -235,13 +237,13 @@ into another language, under the above conditions for modified versions.
<title>NT Support</title>
<para>To use DejaGnu on NT, you need to first install the
- <ulink URL="http://sourceware.cygnus.com">Cygwin</ulink>
+ <ulink URL="http://sources.redhat.com">Cygwin</ulink>
release. This works as of the B20.1 release. Cygwin is a POSIX
system for NT. This covers both utility programs, and a libray
that adds POSIX system calls to NT. Among them is pseudo tty
support for NT that emulates the POSIX pty standard. The
latest Cygwin is always available from <ulink
- URL="http://sourceware.cygnus.com">this location</ulink>. This
+ URL="http://sources.redhat.com">this location</ulink>. This
works well enough to run <emphasis>"make check"</emphasis> of
the GNU development tree on NT after a native build. But the
nature of pty's on NT is still evolving. Your mileage may
@@ -259,16 +261,18 @@ into another language, under the above conditions for modified versions.
in many different environments, and we needed a testing tool that:</para>
<itemizedlist mark="bullet">
- <listitem><para>is useful to developers while fixing bugs.</para>
+ <listitem><para>is useful to developers while fixing
+ bugs.</para></listitem>
<listitem><para>automates running many tests during a software
- release process.</para>
+ release process.</para></listitem>
<listitem><para>is portable among a variety of host
- computers.</para>
- <listitem><para>supports cross-development testing.</para>
+ computers.</para></listitem>
+ <listitem><para>supports cross-development
+ testing.</para></listitem>
<listitem><para>permits testing interactive programs, like
- <command>GDB</command>; and </para>
+ <command>GDB</command>; and </para></listitem>
<listitem><para>permits testing batch oriented programs, like
- <command>GCC</command>.</para>
+ <command>GCC</command>.</para></listitem>
</itemizedlist>
<para>Some of the requirements proved challenging. For example,
@@ -323,7 +327,8 @@ into another language, under the above conditions for modified versions.
POSIX conforming systems, and a fifth for a conditional feature. DejaGnu
supports the use of all five output messages; in this sense a test suite
that uses exactly these messages can be considered POSIX conforming.
- These definitions specify the output of a test case:</para>
+ These definitions specify the output of a test
+ case:</para>
<variablelist>
<varlistentry>
@@ -374,30 +379,38 @@ into another language, under the above conditions for modified versions.
code.</para>
<para>Here are some of the ways a test may wind up
- <emphasis>UNRESOLVED</emphasis>:</para>
+ <emphasis>UNRESOLVED</emphasis>:</para></listitem>
- <itemizedlist mark=bullet>
- <listitem><para>A test's execution is interrupted.</listitem>
+ </varlistentry>
+ </variablelist>
- <listitem><para>A test does not produce a clear result. This is
- usually because there was an <emphasis>ERROR</emphasis> from
- DejaGnu while processing the test, or because there were three or
- more <emphasis>WARNING</emphasis> messages. Any
- <emphasis>WARNING</emphasis> or <emphasis>ERROR</emphasis> messages
- can invalidate the output of the test. This usually requires a
- human being to examine the output to determine what really
- happened---and to improve the test case.</para></listitem>
+ <itemizedlist mark=bullet>
+ <listitem><para>A test's execution is
+ interrupted.</para></listitem>
+
+ <listitem><para>A test does not produce a clear
+ result. This is usually because there was an
+ <emphasis>ERROR</emphasis> from DejaGnu while processing
+ the test, or because there were three or more
+ <emphasis>WARNING</emphasis> messages. Any
+ <emphasis>WARNING</emphasis> or <emphasis>ERROR</emphasis>
+ messages can invalidate the output of the test. This
+ usually requires a human being to examine the output to
+ determine what really happened---and to improve the test
+ case.</para></listitem>
<listitem><para>A test depends on a previous test, which
fails.</para></listitem>
- <listitem><para>The test was set up incorrectly.</para></listitem>
+ <listitem><para>The test was set up
+ incorrectly.</para></listitem>
</itemizedlist>
+ <variablelist>
<varlistentry>
<term>UNTESTED</term>
<listitem><para>A test was not run. This is a placeholder, used
- when there is no real test case yet.</para>
+ when there is no real test case yet.</para></listitem>
</varlistentry>
</variablelist>
@@ -414,7 +427,8 @@ into another language, under the above conditions for modified versions.
a testing environment (often a ``bare board'' target) lacks basic
support for compiling or running the test case. For example, a
test for the system subroutine <emphasis>gethostname</emphasis>
- would never work on a target board running only a boot monitor.
+ would never work on a target board running only a boot
+ monitor.</para></listitem>
</varlistentry>
</variablelist>
@@ -425,7 +439,7 @@ into another language, under the above conditions for modified versions.
described in the <emphasis>PASS</emphasis> section above, and you must
be careful to return <emphasis>UNRESOLVED</emphasis> where appropriate,
as described in the <emphasis>UNRESOLVED</emphasis> section
- above.</para>
+ above.</para>
</sect1>
</chapter>
diff --git a/doc/overview/addboard.html b/doc/overview/addboard.html
new file mode 100644
index 0000000..37463c7
--- /dev/null
+++ b/doc/overview/addboard.html
@@ -0,0 +1,261 @@
+<HTML
+><HEAD
+><TITLE
+>Adding A New Board</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Extending DejaGnu"
+HREF="extending.html"><LINK
+REL="PREVIOUS"
+TITLE="Adding A New Target"
+HREF="addtarget.html"><LINK
+REL="NEXT"
+TITLE="Board Config File Values"
+HREF="boarddefs.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="addtarget.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Extending DejaGnu</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="boarddefs.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="ADDBOARD"
+>Adding A New Board</A
+></H1
+><P
+>Adding a new board consists of creating a new board config
+ file. Examples are in
+ <TT
+CLASS="FILENAME"
+>dejagnu/baseboards</TT
+>. Usually to make a new
+ board file, it's easiest to copy an existing one. It is also
+ possible to have your file be based on a
+ <I
+CLASS="EMPHASIS"
+>baseboard</I
+> file with only one or two
+ changes needed. Typically, this can be as simple as just
+ changing the linker script. Once the new baseboard file is done,
+ add it to the <SPAN
+CLASS="SYMBOL"
+>boards_DATA</SPAN
+> list in the
+ <TT
+CLASS="FILENAME"
+>dejagnu/baseboards/Makefile.am</TT
+>, and regenerate the
+ Makefile.in using automake. Then just rebuild and install DejaGnu. You
+ can test it by:</P
+><P
+>There is a crude inheritance scheme going on with board files, so
+ you can include one board file into another, The two main procedures used
+ to do this are <TT
+CLASS="FUNCTION"
+><B
+>load_generic_config</B
+></TT
+> and
+ <TT
+CLASS="FUNCTION"
+><B
+>load_base_board_description</B
+></TT
+>. The generic config file
+ contains other procedures used for a certain class of target. The
+ board description file is where the board specfic settings go. Commonly
+ there are similar target environments with just different
+ processors.</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 4-6. Testing a New Board Config File</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="SCREEN"
+> make check RUNTESTFLAGS="--target_board=<I
+CLASS="EMPHASIS"
+>newboardfile</I
+>".
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>Here's an example of a board config file. There are
+ several <I
+CLASS="EMPHASIS"
+>helper procedures</I
+> used in this
+ example. A helper procedure is one that look for a tool of files
+ in commonly installed locations. These are mostly used when
+ testing in the build tree, because the executables to be tested
+ are in the same tree as the new dejagnu files. The helper
+ procedures are the ones in square braces
+ <I
+CLASS="EMPHASIS"
+>[]</I
+>, which is the Tcl execution characters.</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 4-7. Example Board Config File</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>&#13; # Load the generic configuration for this board. This will define a basic
+ # set of routines needed by the tool to communicate with the board.
+ load_generic_config "sim"
+
+ # basic-sim.exp is a basic description for the standard Cygnus simulator.
+ load_base_board_description "basic-sim"
+
+ # The compiler used to build for this board. This has *nothing* to do
+ # with what compiler is tested if we're testing gcc.
+ set_board_info compiler "[find_gcc]"
+
+ # We only support newlib on this target.
+ # However, we include libgloss so we can find the linker scripts.
+ set_board_info cflags "[newlib_include_flags] [libgloss_include_flags]"
+ set_board_info ldflags "[newlib_link_flags]"
+
+ # No linker script for this board.
+ set_board_info ldscript "-Tsim.ld";
+
+ # The simulator doesn't return exit statuses and we need to indicate this.
+ set_board_info needs_status_wrapper 1
+
+ # Can't pass arguments to this target.
+ set_board_info noargs 1
+
+ # No signals.
+ set_board_info gdb,nosignals 1
+
+ # And it can't call functions.
+ set_board_info gdb,cannot_call_functions 1
+
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="addtarget.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="boarddefs.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Adding A New Target</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="extending.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Board Config File Values</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/adding.html b/doc/overview/adding.html
new file mode 100644
index 0000000..cac339d
--- /dev/null
+++ b/doc/overview/adding.html
@@ -0,0 +1,244 @@
+<HTML
+><HEAD
+><TITLE
+>Adding A Test Case To A Test Suite.</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Extending DejaGnu"
+HREF="extending.html"><LINK
+REL="PREVIOUS"
+TITLE="Debugging A Test Case"
+HREF="debugging.html"><LINK
+REL="NEXT"
+TITLE="Hints On Writing A Test Case"
+HREF="hints.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="debugging.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Extending DejaGnu</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="hints.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="ADDING"
+>Adding A Test Case To A Test Suite.</A
+></H1
+><P
+>There are two slightly different ways to add a test
+ case. One is to add the test case to an existing directory. The
+ other is to create a new directory to hold your test. The
+ existing test directories represent several styles of testing,
+ all of which are slightly different; examine the directories for
+ the tool of interest to see which (if any) is most suitable.</P
+><P
+>Adding a GCC test can be very simple: just add the C code
+ to any directory beginning with <TT
+CLASS="FILENAME"
+>gcc</TT
+>. and it
+ runs on the next <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>runtest --tool
+ gcc</PRE
+></TD
+></TR
+></TABLE
+>.</P
+><P
+>To add a test to GDB, first add any source code you will
+ need to the test directory. Then you can either create a new
+ expect file, or add your test to an existing one (any
+ file with a <I
+CLASS="EMPHASIS"
+>.exp</I
+> suffix). Creating a new
+ .exp file is probably a better idea if the test is significantly
+ different from existing tests. Adding it as a separate file also
+ makes upgrading easier. If the C code has to be already compiled
+ before the test will run, then you'll have to add it to the
+ <TT
+CLASS="FILENAME"
+>Makefile.in</TT
+> file for that test directory,
+ then run <B
+CLASS="COMMAND"
+>configure</B
+> and
+ <B
+CLASS="COMMAND"
+>make</B
+>.</P
+><P
+>Adding a test by creating a new directory is very
+ similar:</P
+><P
+></P
+><UL
+><LI
+STYLE="list-style-type: disc"
+><P
+>Create the new directory. All subdirectory names
+ begin with the name of the tool to test; e.g. G++ tests might be
+ in a directory called <TT
+CLASS="FILENAME"
+>g++.other</TT
+>. There can
+ be multiple test directories that start with the same tool name
+ (such as <I
+CLASS="EMPHASIS"
+>g++</I
+>).</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Add the new directory name to the
+ <SPAN
+CLASS="SYMBOL"
+>configdirs</SPAN
+> definition in the
+ <TT
+CLASS="FILENAME"
+>configure.in</TT
+> file for the test suite
+ directory. This way when <B
+CLASS="COMMAND"
+>make</B
+> and
+ <B
+CLASS="COMMAND"
+>configure</B
+> next run, they include the new
+ directory.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Add the new test case to the directory, as
+ above. </P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>To add support in the new directory for
+ configure and make, you must also create a
+ <TT
+CLASS="FILENAME"
+>Makefile.in</TT
+> and a
+ <TT
+CLASS="FILENAME"
+>configure.in</TT
+>.</P
+></LI
+></UL
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="debugging.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="hints.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Debugging A Test Case</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="extending.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Hints On Writing A Test Case</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/addtarget.html b/doc/overview/addtarget.html
new file mode 100644
index 0000000..609a6ac
--- /dev/null
+++ b/doc/overview/addtarget.html
@@ -0,0 +1,206 @@
+<HTML
+><HEAD
+><TITLE
+>Adding A New Target</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Extending DejaGnu"
+HREF="extending.html"><LINK
+REL="PREVIOUS"
+TITLE="Adding A New Tool"
+HREF="addtool.html"><LINK
+REL="NEXT"
+TITLE="Adding A New Board"
+HREF="addboard.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="addtool.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Extending DejaGnu</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="addboard.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="ADDTARGET"
+>Adding A New Target</A
+></H1
+><P
+>DejaGnu has some additional requirements for target support, beyond
+ the general-purpose provisions of configure. DejaGnu must actively
+ communicate with the target, rather than simply generating or managing
+ code for the target architecture. Therefore, each tool requires an
+ initialization module for each target. For new targets, you must supply
+ a few Tcl procedures to adapt DejaGnu to the target. This permits
+ DejaGnu itself to remain target independent.</P
+><P
+>Usually the best way to write a new initialization module is to
+ edit an existing initialization module; some trial and error will be
+ required. If necessary, you can use the @samp{--debug} option to see what
+ is really going on.</P
+><P
+>When you code an initialization module, be generous in printing
+ information controlled by the <TT
+CLASS="FUNCTION"
+><B
+>verbose</B
+></TT
+>
+ procedure.</P
+><P
+>For cross targets, most of the work is in getting the
+ communications right. Communications code (for several situations
+ involving IP networks or serial lines) is available in a DejaGnu library
+ file.</P
+><P
+>If you suspect a communication problem, try running the connection
+ interactively from <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+>. (There are three
+ ways of running <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> as an interactive
+ interpreter. You can run <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> with no
+ arguments, and control it completely interactively; or you can use
+ <B
+CLASS="COMMAND"
+>expect -i</B
+> together with other command-line options and
+ arguments; or you can run the command <B
+CLASS="COMMAND"
+>interpreter</B
+> from
+ any <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> procedure. Use
+ <B
+CLASS="COMMAND"
+>return</B
+> to get back to the calling procedure (if any),
+ or <B
+CLASS="COMMAND"
+>return -tcl</B
+> to make the calling procedure itself
+ return to its caller; use <B
+CLASS="COMMAND"
+>exi</B
+>t or end-of-file to leave
+ Expect altogether.) Run the program whose name is recorded in
+ <SPAN
+CLASS="SYMBOL"
+>$connectmode</SPAN
+>, with the arguments in
+ <SPAN
+CLASS="SYMBOL"
+>$targetname</SPAN
+>, to establish a connection. You should at
+ least be able to get a prompt from any target that is physically
+ connected.</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="addtool.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="addboard.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Adding A New Tool</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="extending.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Adding A New Board</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/addtool.html b/doc/overview/addtool.html
new file mode 100644
index 0000000..a5f7330
--- /dev/null
+++ b/doc/overview/addtool.html
@@ -0,0 +1,577 @@
+<HTML
+><HEAD
+><TITLE
+>Adding A New Tool</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Extending DejaGnu"
+HREF="extending.html"><LINK
+REL="PREVIOUS"
+TITLE="Extending DejaGnu"
+HREF="extending.html"><LINK
+REL="NEXT"
+TITLE="Adding A New Target"
+HREF="addtarget.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="extending.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Extending DejaGnu</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="addtarget.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="ADDTOOL"
+>Adding A New Tool</A
+></H1
+><P
+>In general, the best way to learn how to write (code or even prose)
+ is to read something similar. This principle applies to test cases and
+ to test suites. Unfortunately, well-established test suites have a way
+ of developing their own conventions: as test writers become more
+ experienced with DejaGnu and with Tcl, they accumulate more utilities,
+ and take advantage of more and more features of
+ <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> and <SPAN
+CLASS="PRODUCTNAME"
+>Tcl</SPAN
+> in
+ general.</P
+><P
+>Inspecting such established test suites may make the prospect of
+ creating an entirely new test suite appear overwhelming. Nevertheless,
+ it is quite straightforward to get a new test suite going.</P
+><P
+>There is one test suite that is guaranteed not to grow more
+ elaborate over time: both it and the tool it tests were created expressly
+ to illustrate what it takes to get started with DejaGnu. The
+ <TT
+CLASS="FILENAME"
+>example/</TT
+> directory of the DejaGnu distribution
+ contains both an interactive tool called <B
+CLASS="COMMAND"
+>calc</B
+>, and a
+ test suite for it. Reading this test suite, and experimenting with it,
+ is a good way to supplement the information in this section. (Thanks to
+ Robert Lupton for creating calc and its test suite---and also the first
+ version of this section of the manual!)</P
+><P
+>To help orient you further in this task, here is an outline of the
+ steps to begin building a test suite for a program example.</P
+><P
+></P
+><UL
+><LI
+STYLE="list-style-type: disc"
+><P
+>Create or select a directory to contain your new
+ collection of tests. Change into that directory (shown here as
+ <TT
+CLASS="FILENAME"
+>testsuite</TT
+>):</P
+><P
+>Create a <TT
+CLASS="FILENAME"
+>configure.in</TT
+> file in this directory,
+ to control configuration-dependent choices for your tests. So far as
+ DejaGnu is concerned, the important thing is to set a value for the
+ variable <SPAN
+CLASS="SYMBOL"
+>target_abbrev</SPAN
+>; this value is the link to the
+ init file you will write soon. (For simplicity, we assume the
+ environment is Unix, and use <I
+CLASS="EMPHASIS"
+>unix</I
+> as the
+ value.)</P
+><P
+>What else is needed in <TT
+CLASS="FILENAME"
+>configure.in</TT
+> depends on
+ the requirements of your tool, your intended test environments, and which
+ configure system you use. This example is a minimal configure.in for use
+ with <SPAN
+CLASS="PRODUCTNAME"
+>GNU Autoconf</SPAN
+>. </P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Create <TT
+CLASS="FILENAME"
+>Makefile.in</TT
+> (if you are using
+ Autoconf), or <TT
+CLASS="FILENAME"
+>Makefile.am</TT
+>(if you are using
+ Automake), the source file used by configure to build your
+ <TT
+CLASS="FILENAME"
+>Makefile</TT
+>. If you are using GNU Automake.just add the
+ keyword <I
+CLASS="EMPHASIS"
+>dejagnu</I
+> to the
+ <I
+CLASS="EMPHASIS"
+>AUTOMAKE_OPTIONS</I
+> variable in your
+ <TT
+CLASS="FILENAME"
+>Makefile.am</TT
+> file. This will add all the Makefile
+ support needed to run DejaGnu, and support the <A
+HREF="runningtests.html#MAKECHECK"
+><I
+>Make Check</I
+></A
+>
+ target.</P
+><P
+>You also need to include two targets important to DejaGnu:
+ <I
+CLASS="EMPHASIS"
+>check</I
+>, to run the tests, and
+ <I
+CLASS="EMPHASIS"
+>site.exp</I
+>, to set up the Tcl copies of
+ configuration-dependent values. This is called the <A
+HREF="customizing.html#LOCAL"
+><I
+>Local Config File</I
+></A
+>
+ The check target must run the <B
+CLASS="COMMAND"
+>runtest</B
+> program to
+ execute the tests.</P
+><P
+>The <TT
+CLASS="FILENAME"
+>site.exp</TT
+> target should usually set up
+ (among other things) the $tool variable for the name of your program. If
+ the local site.exp file is setup correctly, it is possible to execute the
+ tests by merely typing <B
+CLASS="COMMAND"
+>runtest</B
+> on the command
+ line.</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 4-1. Sample Makefile.in Fragment</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> # Look for a local version of DejaGnu, otherwise use one in the path
+ RUNTEST = `if test -f $(top_srcdir)/../dejagnu/runtest; then \
+ echo $(top_srcdir) ../dejagnu/runtest; \
+ else \
+ echo runtest; \
+ fi`
+
+ # The flags to pass to runtest
+ RUNTESTFLAGS =
+
+ # Execute the tests
+ check: site.exp all
+ $(RUNTEST) $(RUNTESTFLAGS) \
+ --tool <SPAN
+CLASS="SYMBOL"
+>${example}</SPAN
+> --srcdir $(srcdir)
+
+ # Make the local config file
+ site.exp: ./config.status Makefile
+ @echo "Making a new config file..."
+ -@rm -f ./tmp?
+ @touch site.exp
+
+ -@mv site.exp site.bak
+ @echo "## these variables are automatically\
+ generated by make ##" &#62; ./tmp0
+ @echo "# Do not edit here. If you wish to\
+ override these values" &#62;&#62; ./tmp0
+ @echo "# add them to the last section" &#62;&#62; ./tmp0
+ @echo "set host_os ${host_os}" &#62;&#62; ./tmp0
+ @echo "set host_alias ${host_alias}" &#62;&#62; ./tmp0
+ @echo "set host_cpu ${host_cpu}" &#62;&#62; ./tmp0
+ @echo "set host_vendor ${host_vendor}" &#62;&#62; ./tmp0
+ @echo "set target_os ${target_os}" &#62;&#62; ./tmp0
+ @echo "set target_alias ${target_alias}" &#62;&#62; ./tmp0
+ @echo "set target_cpu ${target_cpu}" &#62;&#62; ./tmp0
+ @echo "set target_vendor ${target_vendor}" &#62;&#62; ./tmp0
+ @echo "set host_triplet ${host_canonical}" &#62;&#62; ./tmp0
+ @echo "set target_triplet ${target_canonical}"&#62;&#62;./tmp0
+ @echo "set tool binutils" &#62;&#62; ./tmp0
+ @echo "set srcdir ${srcdir}" &#62;&#62; ./tmp0
+ @echo "set objdir `pwd`" &#62;&#62; ./tmp0
+ @echo "set <SPAN
+CLASS="SYMBOL"
+>${examplename}</SPAN
+> <SPAN
+CLASS="SYMBOL"
+>${example}</SPAN
+>" &#62;&#62; ./tmp0
+ @echo "## All variables above are generated by\
+ configure. Do Not Edit ##" &#62;&#62; ./tmp0
+ @cat ./tmp0 &#62; site.exp
+ @sed &#60; site.bak \
+ -e '1,/^## All variables above are.*##/ d' \
+ &#62;&#62; site.exp
+ -@rm -f ./tmp?
+
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Create a directory (in <TT
+CLASS="FILENAME"
+>testsuite</TT
+>)
+ called <TT
+CLASS="FILENAME"
+>config</TT
+>. Make a <I
+CLASS="EMPHASIS"
+>Tool Init
+ File</I
+> in this directory. Its name must start with the
+ <SPAN
+CLASS="SYMBOL"
+>target_abbrev</SPAN
+> value, or be named
+ <TT
+CLASS="FILENAME"
+>default.exp</TT
+> so call it
+ <TT
+CLASS="FILENAME"
+>config/unix.exp</TT
+> for our Unix based example. This
+ is the file that contains the target-dependent procedures.
+ Fortunately, on Unix, most of them do not have to do very much in
+ order for <B
+CLASS="COMMAND"
+>runtest</B
+> to run.</P
+><P
+>If the program being tested is not interactive, you can get
+ away with this minimal <TT
+CLASS="FILENAME"
+>unix.exp</TT
+> to begin
+ with:</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 4-2. Simple Batch Program Tool Init File</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>
+ proc foo_exit {} {}
+ proc foo_version {} {}
+
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>If the program being tested is interactive, however, you might
+ as well define a <I
+CLASS="EMPHASIS"
+>start</I
+> routine and invoke it by
+ using an init file like this:</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 4-3. Simple Interactive Program Tool Init File</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>
+ proc foo_exit {} {}
+ proc foo_version {} {}
+
+ proc foo_start {} {
+ global ${examplename}
+ spawn ${examplename}
+ expect {
+ -re "" {}
+ }
+ }
+
+ # Start the program running we want to test
+ foo_start
+
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Create a directory whose name begins with your tool's
+ name, to contain tests. For example, if your tool's name is
+ <I
+CLASS="EMPHASIS"
+>gcc</I
+>, then the directories all need to start with
+ <I
+CLASS="EMPHASIS"
+>"gcc."</I
+>.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Create a sample test file. Its name must end with
+ <TT
+CLASS="FILENAME"
+>.exp</TT
+>. You can use
+ <TT
+CLASS="FILENAME"
+>first-try.exp</TT
+>. To begin with, just write there a
+ line of Tcl code to issue a message.</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 4-4. Testing A New Tool Config</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>&#13; send_user "Testing: one, two...\n"
+
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Back in the <TT
+CLASS="FILENAME"
+>testsuite</TT
+> (top
+ level) directory, run <B
+CLASS="COMMAND"
+>configure</B
+>. Typically you do
+ this while in the build directory. You may have to specify more of a
+ path, if a suitable configure is not available in your execution
+ path.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>e now ready to triumphantly type <B
+CLASS="COMMAND"
+>make
+ check</B
+> or <B
+CLASS="COMMAND"
+>runtest</B
+>. You should see
+ something like this:</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 4-5. Example Test Case Run</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="90%"
+><TR
+><TD
+><PRE
+CLASS="SCREEN"
+> Test Run By rhl on Fri Jan 29 16:25:44 EST 1993
+
+ === example tests ===
+
+ Running ./example.0/first-try.exp ...
+ Testing: one, two...
+
+ === example Summary ===
+
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>There is no output in the summary, because so far the example
+ does not call any of the procedures that establish a test
+ outcome.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Write some real tests. For an interactive tool, you
+ should probably write a real exit routine in fairly short order. In
+ any case, you should also write a real version routine
+ soon. </P
+></LI
+></UL
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="extending.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="addtarget.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Extending DejaGnu</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="extending.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Adding A New Target</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/boardconfig.html b/doc/overview/boardconfig.html
new file mode 100644
index 0000000..95d6643
--- /dev/null
+++ b/doc/overview/boardconfig.html
@@ -0,0 +1,254 @@
+<HTML
+><HEAD
+><TITLE
+>Board Config File</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Customizing DejaGnu"
+HREF="customizing.html"><LINK
+REL="PREVIOUS"
+TITLE="Global Config File"
+HREF="global.html"><LINK
+REL="NEXT"
+TITLE="Remote Host Testing"
+HREF="releng.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="global.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 3. Customizing DejaGnu</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="releng.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="BOARDCONFIG"
+>Board Config File</A
+></H1
+><P
+>The board config file is where board specfic config data
+ is stored. A board config file contains all the higher-level
+ configuration settings. There is a rough inheritance scheme, where it is
+ possible to base a new board description file on an existing one. There
+ are also collections of custom procedures for common environments. For
+ more information on adding a new board config file, go to the <A
+HREF="addboard.html"
+><I
+>Adding A New Board</I
+></A
+> chapter. </P
+><P
+>An example board config file for a GNU simulator is as
+ follows. <TT
+CLASS="FUNCTION"
+><B
+>set_board_info</B
+></TT
+> is a procedure that sets the
+ field name to the specified value. The procedures in square brackets
+ <I
+CLASS="EMPHASIS"
+>[]</I
+> are <I
+CLASS="EMPHASIS"
+>helper procedures</I
+>. Thes
+ are used to find parts of a tool chain required to build an executable
+ image that may reside in various locations. This is mostly of use for
+ when the startup code, the standard C lobraries, or the tool chain itself
+ is part of your build tree.</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 3-5. Board Config File</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> # This is a list of toolchains that are supported on this board.
+ set_board_info target_install {sparc64-elf}
+
+ # Load the generic configuration for this board. This will define any
+ # routines needed by the tool to communicate with the board.
+ load_generic_config "sim"
+
+ # We need this for find_gcc and *_include_flags/*_link_flags.
+ load_base_board_description "basic-sim"
+
+ # Use long64 by default.
+ process_multilib_options "long64"
+
+ setup_sim sparc64
+
+ # We only support newlib on this target. We assume that all multilib
+ # options have been specified before we get here.
+ set_board_info compiler "[find_gcc]"
+ set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]"
+ set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]"
+ # No linker script.
+ set_board_info ldscript "";
+
+ # Used by a few gcc.c-torture testcases to delimit how large the
+ # stack can be.
+ set_board_info gcc,stack_size 16384
+ # The simulator doesn't return exit statuses and we need to indicate this
+ # the standard GCC wrapper will work with this target.
+ set_board_info needs_status_wrapper 1
+ # We can't pass arguments to programs.
+ set_board_info noargs 1
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>There are five helper procedures used in this example. The first
+ one, <TT
+CLASS="FUNCTION"
+><B
+>find gcc</B
+></TT
+> looks for a copy of the GNU compiler in
+ your build tree, or it uses the one in your path. This will also return
+ the proper transformed name for a cross compiler if you whole build tree
+ is configured for one. The next helper procedures are
+ <TT
+CLASS="FUNCTION"
+><B
+>libgloss_include_flags</B
+></TT
+> &#38;
+ <TT
+CLASS="FUNCTION"
+><B
+>libgloss_link_flags</B
+></TT
+>. These return the proper flags to
+ compiler and link an executable image using <A
+HREF="builtins.html#LIBGLOSS"
+><I
+>Libgloss</I
+></A
+>, the GNU BSP (Board Support Package). The final
+ procedures are <TT
+CLASS="FUNCTION"
+><B
+>newlib_include_flag</B
+></TT
+> &#38;
+ <TT
+CLASS="FUNCTION"
+><B
+>newlib_include_flag</B
+></TT
+>. These find the Newlib C
+ library, which is a reentrant standard C library for embedded systems
+ comprising of non GPL'd code.</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="global.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="releng.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Global Config File</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="customizing.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Remote Host Testing</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/boarddefs.html b/doc/overview/boarddefs.html
new file mode 100644
index 0000000..d89694c
--- /dev/null
+++ b/doc/overview/boarddefs.html
@@ -0,0 +1,887 @@
+<HTML
+><HEAD
+><TITLE
+>Board Config File Values</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Extending DejaGnu"
+HREF="extending.html"><LINK
+REL="PREVIOUS"
+TITLE="Adding A New Board"
+HREF="addboard.html"><LINK
+REL="NEXT"
+TITLE="Writing A Test Case"
+HREF="writing.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="addboard.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Extending DejaGnu</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="writing.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="BOARDDEFS"
+>Board Config File Values</A
+></H1
+><P
+>These fields are all in the <SPAN
+CLASS="SYMBOL"
+>board_info</SPAN
+> These are
+ all set by using the <TT
+CLASS="FUNCTION"
+><B
+>set_board_info</B
+></TT
+> procedure. The
+ parameters are the field name, followed by the value to set the field
+ to.</P
+><P
+><DIV
+CLASS="TABLE"
+><P
+><B
+>Table 4-1. Common Board Info Fields</B
+></P
+><TABLE
+BORDER="1"
+CLASS="CALSTABLE"
+><TR
+><TH
+ALIGN="LEFT"
+VALIGN="TOP"
+>Field</TH
+><TH
+ALIGN="LEFT"
+VALIGN="TOP"
+>Sample Value</TH
+><TH
+ALIGN="LEFT"
+VALIGN="TOP"
+>Description</TH
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>compiler</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"[find_gcc]"</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>The path to the compiler to use.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>cflags</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"-mca"</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Compilation flags for the compiler.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>ldflags</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"[libgloss_link_flags] [newlib_link_flags]"</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Linking flags for the compiler.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>ldscript</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"-Wl,-Tidt.ld"</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>The linker script to use when cross compiling.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>libs</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"-lgcc"</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Any additional libraries to link in.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>shell_prompt</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"cygmon&#62;"</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>The command prompt of the remote shell.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>hex_startaddr</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"0xa0020000"</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>The Starting address as a string.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>start_addr</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>0xa0008000</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>The starting address as a value.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>startaddr</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"a0020000"</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>exit_statuses_bad</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Whether there is an accurate exit status.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>reboot_delay</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>10</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>The delay between power off and power on.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>unreliable</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Whether communication with the board is unreliable.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>sim</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>[find_sim]</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>The path to the simulator to use.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>objcopy</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>$tempfil</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>The path to the <B
+CLASS="COMMAND"
+>objcopy</B
+> program.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>support_libs</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"${prefix_dir}/i386-coff/"</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Support libraries needed for cross compiling.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>addl_link_flags</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"-N"</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Additional link flags, rarely used.</TD
+></TR
+></TABLE
+></DIV
+>
+ </P
+><P
+>These fields are used by the GCC and GDB tests, and are mostly
+ only useful to somewhat trying to debug a new board file for one of
+ these tools. Many of these are used only by a few testcases, and their
+ purpose is esoteric. These are listed with sample values as a guide to
+ better guessing if you need to change any of these.</P
+><P
+><DIV
+CLASS="TABLE"
+><P
+><B
+>Table 4-2. Board Info Fields For GCC &#38; GDB</B
+></P
+><TABLE
+BORDER="1"
+CLASS="CALSTABLE"
+><TR
+><TH
+ALIGN="LEFT"
+VALIGN="TOP"
+>Field</TH
+><TH
+ALIGN="LEFT"
+VALIGN="TOP"
+>Sample Value</TH
+><TH
+ALIGN="LEFT"
+VALIGN="TOP"
+>Description</TH
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>strip</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>$tempfile</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Strip the executable of symbols.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb_load_offset</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"0x40050000"</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb_protocol</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"remote"</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>The GDB debugging protocol to use.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb_sect_offset</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"0x41000000";</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb_stub_ldscript</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"-Wl,-Teva-stub.ld"</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>The linker script to use with a GDB stub.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb_init_command</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"set mipsfpu none"</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb,cannot_call_functions</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Whether GDB can call functions on the target,</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb,noargs</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Whether the target can take command line arguments.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb,nosignals</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Whether there are signals on the target.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb,short_int</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb,start_symbol</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"_start";</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>The starting symbol in the executable.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb,target_sim_options</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"-sparclite"</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Special options to pass to the simulator.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb,timeout</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>540</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Timeout value to use for remote communication.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb_init_command</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"print/x \$fsr = 0x0"</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb_load_offset</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"0x12020000"</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb_opts</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"--command gdbinit"</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb_prompt</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"\\(gdb960\\)"</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>The prompt GDB is using.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb_run_command</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"jump start"</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gdb_stub_offset</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"0x12010000"</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>use_gdb_stub</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Whether to use a GDB stub.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>use_vma_offset</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>wrap_m68k_aout</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gcc,no_label_values</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gcc,no_trampolines</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gcc,no_varargs</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>gcc,stack_size</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>16384</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>Stack size to use with some GCC testcases.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>ieee_multilib_flags</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"-mieee";</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>is_simulator</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>needs_status_wrapper</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>no_double</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>no_long_long</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>noargs</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>1</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>nullstone,lib</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>"mips-clock.c"</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>nullstone,ticks_per_sec</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>3782018</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>sys_speed_value</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>200</TD
+><TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>target_install</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>{sh-hms}</TD
+><TD
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+>
+ </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="addboard.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="writing.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Adding A New Board</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="extending.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Writing A Test Case</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/book1.html b/doc/overview/book1.html
new file mode 100644
index 0000000..68347e0
--- /dev/null
+++ b/doc/overview/book1.html
@@ -0,0 +1,403 @@
+<HTML
+><HEAD
+><TITLE
+>DejaGnu</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="NEXT"
+TITLE="Abstract"
+HREF="preface.html"></HEAD
+><BODY
+><DIV
+CLASS="BOOK"
+><A
+NAME="AEN1"
+></A
+><DIV
+CLASS="TITLEPAGE"
+><H1
+CLASS="TITLE"
+><A
+NAME="AEN2"
+>DejaGnu</A
+></H1
+><H2
+CLASS="SUBTITLE"
+>The GNU Testing Framework</H2
+><H3
+CLASS="AUTHOR"
+>Rob Savoye</H3
+><DIV
+CLASS="AFFILIATION"
+><SPAN
+CLASS="ORGNAME"
+>Free Software Foundation<BR></SPAN
+></DIV
+><P
+CLASS="COPYRIGHT"
+>Copyright © 2000 by <SPAN
+CLASS="HOLDER"
+>Free Software Foundation, Inc.</SPAN
+></P
+><HR></DIV
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="preface.html"
+>Abstract</A
+></DT
+><DT
+>1. <A
+HREF="overview.html"
+>Overview</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="overview.html#WHATIS"
+>What is DejaGnu ?</A
+></DT
+><DT
+><A
+HREF="new.html"
+>What's New In This Release</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="new.html#CYGWIN"
+>NT Support</A
+></DT
+></DL
+></DD
+><DT
+><A
+HREF="designgoals.html"
+>Design Goals</A
+></DT
+><DT
+><A
+HREF="posix.html"
+>A POSIX conforming test framework</A
+></DT
+></DL
+></DD
+><DT
+>2. <A
+HREF="runningtests.html"
+>Running Tests</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="runningtests.html#MAKECHECK"
+>Make check</A
+></DT
+><DT
+><A
+HREF="runtest.html"
+>Runtest</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="runtest.html#OUTPUTS"
+>Output States</A
+></DT
+><DT
+><A
+HREF="runtest.html#INVOKING"
+>Invoking Runtest</A
+></DT
+><DT
+><A
+HREF="runtest.html#COMMON"
+>Common Options</A
+></DT
+></DL
+></DD
+><DT
+><A
+HREF="outputfiles.html"
+>The files DejaGnu produces.</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="outputfiles.html#SUM"
+>Summary File</A
+></DT
+><DT
+><A
+HREF="outputfiles.html#LOG"
+>Log File</A
+></DT
+><DT
+><A
+HREF="outputfiles.html#DEBUGFILE"
+>Debug Log File</A
+></DT
+></DL
+></DD
+></DL
+></DD
+><DT
+>3. <A
+HREF="customizing.html"
+>Customizing DejaGnu</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="customizing.html#LOCAL"
+>Local Config File</A
+></DT
+><DT
+><A
+HREF="global.html"
+>Global Config File</A
+></DT
+><DT
+><A
+HREF="boardconfig.html"
+>Board Config File</A
+></DT
+><DT
+><A
+HREF="releng.html"
+>Remote Host Testing</A
+></DT
+><DT
+><A
+HREF="configfile.html"
+>Config File Values</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="configfile.html#OPTIONDEFS"
+>Command Line Option Variables</A
+></DT
+><DT
+><A
+HREF="configfile.html#PERSONAL"
+>Personal Config File</A
+></DT
+></DL
+></DD
+></DL
+></DD
+><DT
+>4. <A
+HREF="extending.html"
+>Extending DejaGnu</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="extending.html#ADDSUITE"
+>Adding A New Test Suite</A
+></DT
+><DT
+><A
+HREF="addtool.html"
+>Adding A New Tool</A
+></DT
+><DT
+><A
+HREF="addtarget.html"
+>Adding A New Target</A
+></DT
+><DT
+><A
+HREF="addboard.html"
+>Adding A New Board</A
+></DT
+><DT
+><A
+HREF="boarddefs.html"
+>Board Config File Values</A
+></DT
+><DT
+><A
+HREF="writing.html"
+>Writing A Test Case</A
+></DT
+><DT
+><A
+HREF="debugging.html"
+>Debugging A Test Case</A
+></DT
+><DT
+><A
+HREF="adding.html"
+>Adding A Test Case To A Test Suite.</A
+></DT
+><DT
+><A
+HREF="hints.html"
+>Hints On Writing A Test Case</A
+></DT
+><DT
+><A
+HREF="tvariables.html"
+>Special variables used by test cases.</A
+></DT
+></DL
+></DD
+><DT
+>5. <A
+HREF="reference.html"
+>Reference</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="reference.html#INSTALLATION"
+>Installation</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="reference.html#CONFIGURING"
+>Configuring DejaGnu</A
+></DT
+><DT
+><A
+HREF="reference.html#INSTALLING"
+>Installing DejaGnu</A
+></DT
+></DL
+></DD
+><DT
+><A
+HREF="builtins.html"
+>Builtin Procedures</A
+></DT
+><DD
+><DL
+><DT
+><A
+HREF="builtins.html#COREPROCS"
+>Core Internal Procedures</A
+></DT
+><DT
+><A
+HREF="builtins.html#REMOTEPROCS"
+>Procedures For Remote Communication</A
+></DT
+><DT
+><A
+HREF="builtins.html#CONNPROCS"
+>Procedures For Using Utilities to Connect</A
+></DT
+><DT
+><A
+HREF="builtins.html#TARGETPROCS"
+>Procedures For Target Boards</A
+></DT
+><DT
+><A
+HREF="builtins.html#TARGETDB"
+>Target Database Procedures</A
+></DT
+><DT
+><A
+HREF="builtins.html#PLATFORMPROCS"
+>Platform Dependant Procedures</A
+></DT
+><DT
+><A
+HREF="builtins.html#UTILPROCS"
+>Utility Procedures</A
+></DT
+><DT
+><A
+HREF="builtins.html#LIBGLOSS"
+>Libgloss, A Free BSP</A
+></DT
+><DT
+><A
+HREF="builtins.html#DEBUGPROCS"
+>Procedures for debugging your Tcl code.</A
+></DT
+></DL
+></DD
+><DT
+><A
+HREF="filemap.html"
+>File Map</A
+></DT
+></DL
+></DD
+></DL
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="preface.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Abstract</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/builtins.html b/doc/overview/builtins.html
new file mode 100644
index 0000000..8a01039
--- /dev/null
+++ b/doc/overview/builtins.html
@@ -0,0 +1,10723 @@
+<HTML
+><HEAD
+><TITLE
+>Builtin Procedures</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Reference"
+HREF="reference.html"><LINK
+REL="PREVIOUS"
+TITLE="Reference"
+HREF="reference.html"><LINK
+REL="NEXT"
+TITLE="File Map"
+HREF="filemap.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="reference.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 5. Reference</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="filemap.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="BUILTINS"
+>Builtin Procedures</A
+></H1
+><P
+>DejaGnu provides these Tcl procedures.</P
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="COREPROCS"
+>Core Internal Procedures</A
+></H2
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="MAILFILE"
+>Mail_file Procedure</A
+></H3
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>mail_file</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>file to subject</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="OPENLOGS"
+>Open_logs Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>open_logs</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="CLOSELOGS"
+>Close_logs Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>close_logs</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="ISBUILD"
+>Isbuild Procedure</A
+></H3
+><P
+>Tests for a particular build host environment. If the
+ currently configured host matches the argument string, the result is
+ <I
+CLASS="EMPHASIS"
+>1</I
+>; otherwise the result is
+ <I
+CLASS="EMPHASIS"
+>0</I
+>. <I
+CLASS="EMPHASIS"
+>host</I
+> must be a full
+ three-part configure host name; in particular, you may not use the
+ shorter nicknames supported by configure (but you can use wildcard
+ characters, using shell syntax, to specify sets of names). If it is
+ passed a NULL string, then it returns the name of the build canonical
+ configuration.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>isbuild</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>pattern</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="ISREMOTE"
+>Is_remote Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>is_remote</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>board</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="IS3WAY"
+>is3way Procedure</A
+></H3
+><P
+>Tests for a canadian cross. This is when the tests will be run
+ on a remotly hosted cross compiler. If it is a canadian cross, then
+ the result is <I
+CLASS="EMPHASIS"
+>1</I
+>; otherwise the result is
+ <I
+CLASS="EMPHASIS"
+>0</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>is3way</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="ISHOST"
+>Ishost Procedure</A
+></H3
+><P
+>Tests for a particular host environment. If the currently
+ configured host matches the argument string, the result is
+ <I
+CLASS="EMPHASIS"
+>1</I
+>; otherwise the result is
+ <I
+CLASS="EMPHASIS"
+>0</I
+>. <I
+CLASS="EMPHASIS"
+>host</I
+> must be a full
+ three-part configure host name; in particular, you may not use the
+ shorter nicknames supported by configure (but you can use wildcard
+ characters, using shell syntax, to specify sets of names).</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>ishost</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>pattern</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="ISTARGET"
+>Istarget Procedure</A
+></H3
+><P
+>Tests for a particular target environment. If the currently
+ configured target matches the argument string, the result is
+ <I
+CLASS="EMPHASIS"
+>1</I
+> ; otherwise the result is
+ <I
+CLASS="EMPHASIS"
+>0</I
+>. target must be a full three-part configure
+ target name; in particular, you may not use the shorter nicknames
+ supported by configure (but you can use wildcard characters, using
+ shell syntax, to specify sets of names). If it is passed a
+ <I
+CLASS="EMPHASIS"
+>NULL</I
+> string, then it returns the name of the
+ build canonical configuration.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>istarget</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="ISNATIVE"
+>Isnative Procedure</A
+></H3
+><P
+>Tests whether the current configuration has the same host and
+ target. When it runs in a native configuration this procedure returns
+ a <I
+CLASS="EMPHASIS"
+>1</I
+>; otherwise it returns a
+ <I
+CLASS="EMPHASIS"
+>0</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>isnative</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="UNKNOWN"
+>Unknown Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>unknown</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="CLONEOUTPUT"
+>Clone_output Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>clone_output</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>message</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>message</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="RESETVARS"
+>Reset_vars Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>reset_vars</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="LOGANDEXIT"
+>Log_and_exit Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>log_and_exit</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="LOGSUMMARY"
+>Log_summary Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>log_summary</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="CLEANUP"
+>Cleanup Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>cleanup</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="SETUPXFAIL"
+>Setup_xfail Procedure</A
+></H3
+><P
+>Declares that the test is expected to fail on a particular set
+ of configurations. The config argument must be a list of full
+ three-part configure target name; in particular, you may not use the
+ shorter nicknames supported by configure (but you can use the common
+ shell wildcard characters to specify sets of names). The
+ <I
+CLASS="EMPHASIS"
+>bugid</I
+> argument is optional, and used only in the
+ logging file output; use it as a link to a bug-tracking system such
+ as <SPAN
+CLASS="PRODUCTNAME"
+>GNATS</SPAN
+>.</P
+><P
+>Once you use <TT
+CLASS="FUNCTION"
+><B
+>setup_xfail</B
+></TT
+>, the
+ <TT
+CLASS="FUNCTION"
+><B
+>fail</B
+></TT
+> and <TT
+CLASS="FUNCTION"
+><B
+>pass</B
+></TT
+> procedures
+ produce the messages <I
+CLASS="EMPHASIS"
+>XFAIL</I
+> and
+ <I
+CLASS="EMPHASIS"
+>XPASS</I
+> respectively, allowing you to distinguish
+ expected failures (and unexpected success!) from other test
+ outcomes.</P
+><DIV
+CLASS="WARNING"
+><P
+></P
+><TABLE
+CLASS="WARNING"
+BORDER="1"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="CENTER"
+><B
+>Warning</B
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+><P
+>Warning you must clear the expected failure after
+ using setup_xfail in a test case. Any call to <TT
+CLASS="FUNCTION"
+><B
+>pass
+ </B
+></TT
+>or <TT
+CLASS="FUNCTION"
+><B
+>fail</B
+></TT
+>l clears the expected failure
+ implicitly; if the test has some other outcome, e.g. an error, you
+ can call <TT
+CLASS="FUNCTION"
+><B
+>clear_xfail</B
+></TT
+> to clear the expected
+ failure explicitly. Otherwise, the expected-failure declaration
+ applies to whatever test runs next, leading to surprising
+ results.</P
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>setup_xfail</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>config</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>bugid</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+></DT
+><DD
+><P
+>The config triplet to trigger whether this is an
+ unexpected or expect failure.</P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>bugid</I
+></TT
+></DT
+><DD
+><P
+>The optional bugid, used to tie it this test case
+ to a bug tracking system.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="RECORDTEST"
+>Record_test Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>record_test</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>type</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>message</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>type</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>message</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="PASS"
+>Pass Procedure</A
+></H3
+><P
+>Declares a test to have passed. <TT
+CLASS="FUNCTION"
+><B
+>pass</B
+></TT
+>
+ writes in the log files a message beginning with
+ <I
+CLASS="EMPHASIS"
+>PASS</I
+> (or <I
+CLASS="EMPHASIS"
+>XPASS</I
+>, if failure
+ was expected), appending the argument
+ <TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>pass</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>string</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+></DT
+><DD
+><P
+>The string to use for this PASS
+ message.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="FAIL"
+>Fail Procedure</A
+></H3
+><P
+>Declares a test to have failed. <TT
+CLASS="FUNCTION"
+><B
+>fail</B
+></TT
+>
+ writes in the log files a message beginning with
+ <I
+CLASS="EMPHASIS"
+>FAIL</I
+> (or <I
+CLASS="EMPHASIS"
+>XFAIL</I
+>, if failure
+ was expected), appending the argument
+ <TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>fail</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>string</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+></DT
+><DD
+><P
+>The string to use for this FAIL
+ message.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="XPASS"
+>Xpass Procedure</A
+></H3
+><P
+>Declares a test to have unexpectably passed, when it was
+ expected to be a failure. <TT
+CLASS="FUNCTION"
+><B
+>xpass</B
+></TT
+>
+ writes in the log files a message beginning with
+ <I
+CLASS="EMPHASIS"
+>XPASS</I
+> (or <I
+CLASS="EMPHASIS"
+>XFAIL</I
+>, if failure
+ was expected), appending the argument
+ <TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>xpass</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>string</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+></DT
+><DD
+><P
+>The string to use for this output
+ state.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="XFAIL"
+>Xfail Procedure</A
+></H3
+><P
+>Declares a test to have expectably
+ failed. <TT
+CLASS="FUNCTION"
+><B
+>xfail</B
+></TT
+>
+ writes in the log files a message beginning with
+ <I
+CLASS="EMPHASIS"
+>XFAIL</I
+> (or <I
+CLASS="EMPHASIS"
+>PASS</I
+>, if success
+ was expected), appending the argument
+ <TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>xpass</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>string</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+></DT
+><DD
+><P
+>The string to use for this output
+ state.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="SETWARNINGTHRESHOLD"
+>Set_warning_threshold Procedure</A
+></H3
+><P
+>Sets the value of <SPAN
+CLASS="SYMBOL"
+>warning_threshold</SPAN
+>. A value
+ of <I
+CLASS="EMPHASIS"
+>0</I
+> disables it: calls to
+ <TT
+CLASS="FUNCTION"
+><B
+>warning</B
+></TT
+> will not turn a
+ <I
+CLASS="EMPHASIS"
+>PASS</I
+> or <I
+CLASS="EMPHASIS"
+>FAIL</I
+> into an
+ <I
+CLASS="EMPHASIS"
+>UNRESOLVED</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>set_warning_threshold</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>threshold</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>threshold</I
+></TT
+></DT
+><DD
+><P
+>This is the value of the new warning
+ threshold.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="GETWARNINGTHRESHOLD"
+>Get_warning_threshold Procedure</A
+></H3
+><P
+>Returns the current value of
+ <SPAN
+CLASS="SYMBOL"
+>{warning_threshold</SPAN
+>. The default value is 3. This
+ value controls how many <TT
+CLASS="FUNCTION"
+><B
+>warning</B
+></TT
+> procedures can
+ be called before becoming <I
+CLASS="EMPHASIS"
+>UNRESOLVED</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>get_warning_threshold</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="WARNING"
+>Warning Procedure</A
+></H3
+><P
+>Declares detection of a minor error in the test case
+ itself. <TT
+CLASS="FUNCTION"
+><B
+>warning</B
+></TT
+> writes in the log files a message
+ beginning with <I
+CLASS="EMPHASIS"
+>WARNING</I
+>, appending the argument
+ <TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+>. Use <TT
+CLASS="FUNCTION"
+><B
+>warning</B
+></TT
+> rather
+ than <TT
+CLASS="FUNCTION"
+><B
+>perror</B
+></TT
+> for cases (such as communication
+ failure to be followed by a retry) where the test case can recover from
+ the error. If the optional <TT
+CLASS="PARAMETER"
+><I
+>number</I
+></TT
+> is supplied,
+ then this is used to set the internal count of warnings to that
+ value.</P
+><P
+>As a side effect, <SPAN
+CLASS="SYMBOL"
+>warning_threshold</SPAN
+> or more
+ calls to warning in a single test case also changes the effect of the
+ next <TT
+CLASS="FUNCTION"
+><B
+>pass</B
+></TT
+> or <TT
+CLASS="FUNCTION"
+><B
+>fail</B
+></TT
+> command:
+ the test outcome becomes <I
+CLASS="EMPHASIS"
+>UNRESOLVED</I
+> since an
+ automatic <I
+CLASS="EMPHASIS"
+>PASS</I
+> or <I
+CLASS="EMPHASIS"
+>FAIL</I
+> may
+ not be trustworthy after many warnings. If the optional numeric value
+ is <I
+CLASS="EMPHASIS"
+>0</I
+>, then there are no further side effects to
+ calling this function, and the following test outcome doesn't become
+ <I
+CLASS="EMPHASIS"
+>UNRESOLVED</I
+>. This can be used for errors with no
+ known side effects.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>warning</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>string</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>number</VAR
+>
+ );<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>number</I
+></TT
+></DT
+><DD
+><P
+>The optional number to set the error counter. Thius
+ is only used to fake out the counter when using the
+ <TT
+CLASS="FUNCTION"
+><B
+>xfail</B
+></TT
+> procedure to control when it flips the
+ output over to <I
+CLASS="EMPHASIS"
+>UNRESOLVED</I
+>
+ state.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="PERROR"
+>Perror Procedure</A
+></H3
+><P
+>Declares a severe error in the testing framework
+ itself. <TT
+CLASS="FUNCTION"
+><B
+>perror</B
+></TT
+> writes in the log files a message
+ beginning with <I
+CLASS="EMPHASIS"
+>ERROR</I
+>, appending the argument
+ <TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+>.</P
+><P
+>As a side effect, perror also changes the effect of the next
+ <TT
+CLASS="FUNCTION"
+><B
+>pass</B
+></TT
+> or <TT
+CLASS="FUNCTION"
+><B
+>fail</B
+></TT
+> command: the
+ test outcome becomes <I
+CLASS="EMPHASIS"
+>UNRESOLVED</I
+>, since an
+ automatic <I
+CLASS="EMPHASIS"
+>PASS</I
+> or <I
+CLASS="EMPHASIS"
+>FAIL</I
+> cannot
+ be trusted after a severe error in the test framework. If the optional
+ numeric value is <I
+CLASS="EMPHASIS"
+>0</I
+>, then there are no further side
+ effects to calling this function, and the following test outcome
+ doesn't become <I
+CLASS="EMPHASIS"
+>UNRESOLVED</I
+>. This can be used for
+ errors with no known side effects.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>perror</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>string</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>number</VAR
+>
+ );<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>number</I
+></TT
+></DT
+><DD
+><P
+>The optional number to set the error counter. Thius
+ is only used to fake out the counter when using the
+ <TT
+CLASS="FUNCTION"
+><B
+>xfail</B
+></TT
+> procedure to control when it flips the
+ output over to <I
+CLASS="EMPHASIS"
+>UNRESOLVED</I
+>
+ state.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="NOTE"
+>Note Procedure</A
+></H3
+><P
+>Appends an informational message to the log
+ file. <TT
+CLASS="FUNCTION"
+><B
+>note</B
+></TT
+> writes in the log files a message
+ beginning with <I
+CLASS="EMPHASIS"
+>NOTE</I
+>, appending the argument
+ <TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+>. Use <TT
+CLASS="FUNCTION"
+><B
+>note</B
+></TT
+>
+ sparingly. The <TT
+CLASS="FUNCTION"
+><B
+>verbose</B
+></TT
+> should be used for most
+ such messages, but in cases where a message is needed in the log file
+ regardless of the verbosity level use <TT
+CLASS="FUNCTION"
+><B
+>note</B
+></TT
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>note</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>string</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+></DT
+><DD
+><P
+>The string to use for this note.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="UNTESTED"
+>Untested Procedure</A
+></H3
+><P
+>Declares a test was not run. <TT
+CLASS="FUNCTION"
+><B
+>untested</B
+></TT
+> writes
+ in the log file a message beginning with <I
+CLASS="EMPHASIS"
+>UNTESTED</I
+>,
+ appending the argument <I
+CLASS="EMPHASIS"
+>string</I
+>. For example, you
+ might use this in a dummy test whose only role is to record that a test
+ does not yet exist for some feature.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>untested</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>string</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+></DT
+><DD
+><P
+>The string to use for this output
+ state.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="UNRESOLVED"
+>Unresolved Procedure</A
+></H3
+><P
+>Declares a test to have an unresolved
+ outcome. <TT
+CLASS="FUNCTION"
+><B
+>unresolved</B
+></TT
+> writes in the log file a
+ message beginning with <I
+CLASS="EMPHASIS"
+>UNRESOLVED</I
+>, appending the
+ argument <I
+CLASS="EMPHASIS"
+>string</I
+>. This usually means the test did
+ not execute as expected, and a human being must go over results to
+ determine if it passed or failed (and to improve the test case).</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>unresolved</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>string</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+></DT
+><DD
+><P
+>The string to use for this output
+ state.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="UNSUPPORTED"
+>Unsupported Procedure</A
+></H3
+><P
+>Declares that a test case depends on some facility that does not
+ exist in the testing environment. <TT
+CLASS="FUNCTION"
+><B
+>unsupported</B
+></TT
+>
+ writes in the log file a message beginning with
+ <I
+CLASS="EMPHASIS"
+>UNSUPPORTED</I
+>, appending the argument string.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>unsupported</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>string</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+></DT
+><DD
+><P
+>The string to use for this output
+ state.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="INITTESTCOUNTS"
+>Init_testcounts Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>init_testcounts</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="INCRCOUNT"
+>Incr_count Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>incr_count</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>name</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="TRANSFORM"
+>transform Procedure</A
+></H3
+><P
+>Generates a string for the name of a tool as it was configured
+ and installed, given its native name (as the argument
+ <TT
+CLASS="PARAMETER"
+><I
+>toolname</I
+></TT
+>). This makes the assumption that all
+ tools are installed using the same naming conventions: For example,
+ for a cross compiler supporting the <I
+CLASS="EMPHASIS"
+>m68k-vxworks</I
+>
+ configuration, the result of transform <B
+CLASS="COMMAND"
+>gcc</B
+> is
+ <B
+CLASS="COMMAND"
+>m68k-vxworks-gcc</B
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>transform</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>toolname</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>toolname</I
+></TT
+></DT
+><DD
+><P
+>The name of the cross-development program to
+ transform.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="CHECKCONDITIONALXFAIL"
+>Check_conditional_xfail Procedure</A
+></H3
+><P
+>This procedure adds a condition xfail, based on compiler
+ options used to create a test case executable. If an include options
+ is found in the compiler flags, and it's the right architecture,
+ it'll trigger an <I
+CLASS="EMPHASIS"
+>XFAIL</I
+>. Otherwise it'll produce
+ an ordinary <I
+CLASS="EMPHASIS"
+>FAIL</I
+>. You can also specify flags to
+ exclude. This makes a result be a <I
+CLASS="EMPHASIS"
+>FAIL</I
+>, even if
+ the included options are found. To set the conditional, set
+ the variable <SPAN
+CLASS="SYMBOL"
+>compiler_conditional_xfail_data</SPAN
+> to the
+ fields <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>"[message string] [targets list] [includes
+ list] [excludes list]"</PRE
+></TD
+></TR
+></TABLE
+> (descriptions below). This is
+ the checked at pass/fail decision time, so there is no need to call
+ the procedure yourself, unless you wish to know if it gets
+ triggered. After a pass/fail, the variable is reset, so it doesn't
+ effect other tests. It returns <I
+CLASS="EMPHASIS"
+>1</I
+> if the
+ conditional is true, or <I
+CLASS="EMPHASIS"
+>0</I
+> if the conditional is
+ false.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>check_conditional_xfail</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>message</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>targets</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>includes</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>excludes</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>message</I
+></TT
+></DT
+><DD
+><P
+>This is the message to print with the normal test
+ result.</P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>targets</I
+></TT
+></DT
+><DD
+><P
+>This is a string with the list targets to activate
+ this conditional on.</P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>includes</I
+></TT
+></DT
+><DD
+><P
+>This is a list of sets of options to search for in
+ the compiler options to activate this conditional. If any set of
+ the options matches, then this conditional is
+ true.</P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>excludes</I
+></TT
+></DT
+><DD
+><P
+>This is a list of sets of options to search for in
+ the compiler options to activate this conditional. If any set of
+ the options matches, (regardless of whether any of the include sets
+ match) then this conditional is de-activated.</P
+></DD
+></DL
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 5-1. Specifying the conditional xfail data</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> set compiler_conditional_xfail_data { \
+ "I sure wish I knew why this was hosed" \
+ "sparc*-sun*-* *-pc-*-*" \
+ {"-Wall -v" "-O3"} \
+ {"-O1" "-Map"} \
+ }
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>What this does is it matches only for these two targets if
+ "-Wall -v" or "-O3" is set, but neither "-O1" or "-Map" is set. For
+ a set to match, the options specified are searched for independantly
+ of each other, so a "-Wall -v" matches either "-Wall -v" or "-v
+ -Wall". A space seperates the options in the string. Glob-style
+ regular expressions are also permitted.</P
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="CLEARXFAIL"
+>Clear_xfail Procedure</A
+></H3
+><P
+>Cancel an expected failure (previously declared with
+ <B
+CLASS="COMMAND"
+>setup_xfail</B
+>) for a particular set of
+ configurations. The <TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+> argument is a list
+ of configuration target names. It is only necessary to call
+ <B
+CLASS="COMMAND"
+>clear_xfail</B
+> if a test case ends without calling
+ either <B
+CLASS="COMMAND"
+>pass</B
+> or <B
+CLASS="COMMAND"
+>fail</B
+>, after
+ calling <B
+CLASS="COMMAND"
+>setup_xfail</B
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>clear_xfail</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>config</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>config</I
+></TT
+></DT
+><DD
+><P
+>The configuration triplets to
+ clear.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="VERBOSE"
+>Verbose Procedure</A
+></H3
+><P
+>Test cases can use this function to issue helpful messages
+ depending on the number of <TT
+CLASS="OPTION"
+>--verbose</TT
+> options on the
+ runtest command line. It prints string if the value of the variable
+ <SPAN
+CLASS="SYMBOL"
+>verbose</SPAN
+> is higher than or equal to the optional
+ number. The default value for number is <I
+CLASS="EMPHASIS"
+>1</I
+>. Use
+ the optional <TT
+CLASS="OPTION"
+>-log</TT
+> argument to cause string to always
+ be added to the log file, even if it won't be printed. Use the
+ optional <TT
+CLASS="OPTION"
+>-n</TT
+> argument to print string without a
+ trailing newline. Use the optional <TT
+CLASS="OPTION"
+>--</TT
+> argument if
+ string begins with "-".</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>verbose</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>-log</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>-n</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>-r</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>string</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>number</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>-log</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>-n</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>--</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>number</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="LOADLIB"
+>Load_lib Procedure</A
+></H3
+><P
+>Loads a DejaGnu library file by searching a fixed path built
+ into DejaGnu. If DejaGnu has been installed, it looks in a path
+ starting with the installed library directory. If you are running
+ DejaGnu directly from a source directory, without first running
+ <B
+CLASS="COMMAND"
+>make install</B
+>, this path defaults to the current
+ directory. In either case, it then looks in the current directory
+ for a directory called <TT
+CLASS="FILENAME"
+>lib</TT
+>. If there are
+ duplicate definitions, the last one loaded takes precedence over the
+ earlier ones.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>load_lib</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>filespec</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>filespec</I
+></TT
+></DT
+><DD
+><P
+>The name of the DejaGnu library file to
+ load.</P
+></DD
+></DL
+></DIV
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="REMOTEPROCS"
+>Procedures For Remote Communication</A
+></H2
+><P
+><TT
+CLASS="FILENAME"
+>lib/remote.exp</TT
+> defines these
+ functions, for establishing and managing communications. Each
+ of these procedures tries to establish the connection up to
+ three times before returning. Warnings (if retries will
+ continue) or errors (if the attempt is abandoned) report on
+ communication failures. The result for any of these
+ procedures is either <I
+CLASS="EMPHASIS"
+>-1</I
+>, when the
+ connection cannot be established, or the spawn ID returned by
+ the <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> command
+ <B
+CLASS="COMMAND"
+>spawn</B
+>.</P
+><P
+>It use the value of the <SPAN
+CLASS="SYMBOL"
+>connect</SPAN
+> field
+ in the <SPAN
+CLASS="SYMBOL"
+>target_info</SPAN
+> array (was
+ <SPAN
+CLASS="SYMBOL"
+>connectmode</SPAN
+> as the type of connection to
+ make. Current supported connection types are tip, kermit,
+ telnet, rsh, rlogin, and netdata. If the <TT
+CLASS="OPTION"
+>--reboot</TT
+>
+ option was used on the runtest command line, then the target
+ is rebooted before the connection is made.</P
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="CALLREMOTE"
+>Call_remote Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>call_remote</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>type</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>proc</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>proc</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="CHECKFORBOARDSTATUS"
+>Check_for_board_status Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>check_for_board_status</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>variable</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>variable</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="FILEONBUILD"
+>File_on_build Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>file_on_build</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>op</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>file</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>op</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="FILEONHOST"
+>File_on_host Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>file_on_host</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>op</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>file</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>op</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="LOCALEXEC"
+>Local_exec Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>local_exec</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>commandline</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>inp</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>outp</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>timeout</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>inp</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>outp</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>timeout</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTEBINARY"
+>Remote_binary Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_binary</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>host</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>host</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTECLOSE"
+>Remote_close Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_close</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>shellid</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>shellid</I
+></TT
+></DT
+><DD
+><P
+>This is the value returned by a call
+ to <TT
+CLASS="FUNCTION"
+><B
+>remote_open</B
+></TT
+>. This closes the
+ connection to the target so resources can be used by
+ others. This parameter can be left off if the
+ <SPAN
+CLASS="SYMBOL"
+>fileid</SPAN
+> field in the
+ <SPAN
+CLASS="SYMBOL"
+>target_info</SPAN
+> array is set.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTEDOWNLOAD"
+>Remote_download Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_download</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>file</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTEEXEC"
+>Remote_exec Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_exec</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>hostname</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>program</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>hostname</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>program</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTEEXPECT"
+>Remote_expect Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_expect</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>board</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>timeout</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>board</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>timeout</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTEFILE"
+>Remote_file Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_file</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTELD"
+>Remote_ld Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_ld</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>prog</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>prog</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTELOAD"
+>Remote_load Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_load</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>prog</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>prog</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTEOPEN"
+>Remote_open Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_open</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>type</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>type</I
+></TT
+></DT
+><DD
+><P
+>This is passed <TT
+CLASS="OPTION"
+>host</TT
+> or
+ <TT
+CLASS="OPTION"
+>target</TT
+>. Host or target refers to
+ whether it is a connection to a remote target, or a
+ remote host. This opens the connection to the desired
+ target or host using the default values in the
+ configuration system. It returns that
+ <SPAN
+CLASS="SYMBOL"
+>spawn_id</SPAN
+> of the process that manages
+ the connection. This value can be used in
+ <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> or
+ <B
+CLASS="COMMAND"
+>exp_send</B
+> statements, or passed to
+ other procedures that need the connection process's
+ id. This also sets the <SPAN
+CLASS="SYMBOL"
+>fileid</SPAN
+> field in
+ the <SPAN
+CLASS="SYMBOL"
+>target_info</SPAN
+> array.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTEPOPCONN"
+>Remote_pop_conn Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_pop_conn</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>host</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>host</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTEPUSHCONN"
+>Remote_push_conn Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_push_conn</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>host</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>host</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTERAWBINARY"
+>Remote_raw_binary Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_raw_binary</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>host</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>host</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTERAWCLOSE"
+>Remote_raw_close Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_raw_close</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>host</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>host</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTERAWFILE"
+>Remote_raw_file Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_raw_file</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTERAWLD"
+>remote_raw_ld Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_raw_ld</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>prog</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>prog</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTERAWLOAD"
+>Remote_raw_load Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_raw_load</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>prog</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>prog</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTERAWOPEN"
+>Remote_raw_open Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_raw_open</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTERAWSEND"
+>Remote_raw_send Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_raw_send</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>string</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTERAWSPAWN"
+>Remote_raw_spawn Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_raw_spawn</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>commandline</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>commandline</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTERAWTRANSMIT"
+>Remote_raw_transmit Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_raw_transmit</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>file</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTERAWWAIT"
+>Remote_raw_wait Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_raw_wait</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>timeout</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>timeout</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTEREBOOT"
+>Remote_reboot Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_reboot</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>host</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>host</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTESEND"
+>Remote_send Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_send</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>string</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTESPAWN"
+>Remote_spawn Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_spawn</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>commandline</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>commandline</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTESWAPCONN"
+>Remote_swap_conn Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_swap_conn</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>host</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTETRANSMIT"
+>Remote_transmit Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_transmit</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>file</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTEUPLOAD"
+>Remote_upload Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_upload</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>srcfile</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>arg</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>srcfile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>arg</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REMOTEWAIT"
+>Remote_wait Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>remote_wait</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>timeout</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>timeout</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="STANDARDCLOSE"
+>Standard_close Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>standard_close</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>host</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>host</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="STANDARDDOWNLOAD"
+>Standard_download Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>standard_download</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>file</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>destfile</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>destfile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="STANDARDEXEC"
+>Standard_exec Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>standard_exec</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>hostname</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>hostname</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="STANDARDFILE"
+>Standard_file Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>standard_file</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>, <VAR
+CLASS="PDPARAM"
+>op</VAR
+>, <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="STANDARDLOAD"
+>Standard_load Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>standard_load</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>prog</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>prog</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="STANDARDREBOOT"
+>Standard_reboot Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>standard_reboot</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>host</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>host</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="STANDARDSEND"
+>Standard_send Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>standard_send</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>string</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="STANDARDSPAWN"
+>Standard_spawn Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>standard_spawn</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>commandline</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>commndline</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="STANDARDTRANSMIT"
+>Standard_transmit Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>standard_transmit</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>file</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="STANDARDUPLOAD"
+>Standard_upload Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>standard_upload</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest srcfile destfile</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>srcfile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>destfile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="STANDARDWAIT"
+>Standard_wait Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>standard_wait</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>timeout</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>timeout</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="UNIXCLEANFILENAME"
+>Unix_clean_filename Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>unix_clean_filename</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>file</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="CONNPROCS"
+>Procedures For Using Utilities to Connect</A
+></H2
+><P
+>telnet, rsh, tip, kermit</P
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="TELNET"
+>telnet Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>telnet</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>hostname</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>port</VAR
+>);<P
+></P
+></DIV
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>rlogin</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>hostname</VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="RSH"
+>rsh Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>rsh</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>hostname</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>hostname</I
+></TT
+></DT
+><DD
+><P
+>This refers to the IP address or name
+ (for example, an entry in
+ <TT
+CLASS="FILENAME"
+>/etc/hosts</TT
+>) for this target. The
+ procedure names reflect the Unix utility used to
+ establish a connection. The optional
+ <TT
+CLASS="PARAMETER"
+><I
+>port</I
+></TT
+> is used to specify the IP
+ port number. The value of the
+ <TT
+CLASS="PARAMETER"
+><I
+>netport</I
+></TT
+> field in the
+ <SPAN
+CLASS="SYMBOL"
+>target_info</SPAN
+> array is used. (was
+ <SPAN
+CLASS="SYMBOL"
+>$netport</SPAN
+>) This value has two parts,
+ the hostname and the port number, seperated by a
+ <I
+CLASS="EMPHASIS"
+>:</I
+>. If host or target is used in
+ the <SPAN
+CLASS="SYMBOL"
+>hostname</SPAN
+> field, than the
+ config array is used for all information.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="TIP"
+>Tip Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>tip</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>port</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>port</I
+></TT
+></DT
+><DD
+><P
+>Connect using the Unix utility
+ <B
+CLASS="COMMAND"
+>tip</B
+>. <TT
+CLASS="PARAMETER"
+><I
+>Port</I
+></TT
+>must
+ be a name from the <SPAN
+CLASS="PRODUCTNAME"
+>tip</SPAN
+>
+ configuration file
+ <TT
+CLASS="FILENAME"
+>/etc/remote</TT
+>. Often, this is called
+ <SPAN
+CLASS="SYMBOL"
+>hardwire</SPAN
+>, or something like
+ <SPAN
+CLASS="SYMBOL"
+>ttya</SPAN
+>. This file holds all the
+ configuration data for the serial port. The value of
+ the <SPAN
+CLASS="SYMBOL"
+>serial</SPAN
+> field in the
+ <SPAN
+CLASS="SYMBOL"
+>target_info</SPAN
+> array is used. (was
+ <SPAN
+CLASS="SYMBOL"
+>$serialport</SPAN
+>) If <TT
+CLASS="OPTION"
+>host</TT
+>
+ or <TT
+CLASS="OPTION"
+>target</TT
+> is used in the
+ <TT
+CLASS="PARAMETER"
+><I
+>port</I
+></TT
+> field, than the config
+ array is used for all information. the
+ config array is used for all information.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="KERMIT"
+>Kermit Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>kermit</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>port</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>bps</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>port</I
+></TT
+></DT
+><DD
+><P
+>Connect using the program
+ <B
+CLASS="COMMAND"
+>kermit</B
+>. <TT
+CLASS="PARAMETER"
+><I
+>Port</I
+></TT
+>
+ is the device name,
+ e.g. <TT
+CLASS="FILENAME"
+>/dev/ttyb</TT
+>.
+ </P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>bps</I
+></TT
+></DT
+><DD
+><P
+><TT
+CLASS="PARAMETER"
+><I
+>bps</I
+></TT
+> is the line
+ speed to use (in its per second) for the
+ connection. The value of the <SPAN
+CLASS="SYMBOL"
+>serial</SPAN
+>
+ field in the <SPAN
+CLASS="SYMBOL"
+>target_info</SPAN
+> array is
+ used. (was <SPAN
+CLASS="SYMBOL"
+>$serialport</SPAN
+>) If
+ <TT
+CLASS="OPTION"
+>host</TT
+> or <TT
+CLASS="OPTION"
+>target</TT
+> is
+ used in the <TT
+CLASS="PARAMETER"
+><I
+>port</I
+></TT
+> field, than the
+ config array is used for all information. the
+ config array is used for all information.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="KERMITOPEN"
+>kermit_open Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>kermit_open</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="KERMITCOMMAND"
+>Kermit_command Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>kermit_command</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="KERMITSEND"
+>Kermit_send Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>kermit_send</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest string args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="KERMITTRANSMIT"
+>Kermit_transmit Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>kermit_transmit</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>file</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="TELNETOPEN"
+>Telnet_open Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>telnet_open</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>hostname</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>hostname</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="TELNETBINARY"
+>Telnet_binary Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>telnet_binary</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>hostname</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>hostname</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="TELNETTRANSMIT"
+>Telnet_transmit Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>telnet_transmit</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>file</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="TIPOPEN"
+>Tip_open Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>tip_open</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>hostname</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>hostname</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="RLOGINOPEN"
+>Rlogin_open Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>rlogin_open</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>arg</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>arg</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="RLOGINSPAWN"
+>Rlogin_spawn Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>rlogin_spawn</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>dest</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>cmdline</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>dest</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>cmdline</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="RSHOPEN"
+>Rsh_open Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>rsh_open</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>hostname</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>hostname</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="RSHDOWNLOAD"
+>Rsh_download Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>rsh_download</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>desthost</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>srcfile</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>destfile</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>desthost</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>srcfile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>destfile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="RSHUPLOAD"
+>Rsh_upload Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>rsh_upload</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>desthost</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>srcfile</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>destfile</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>desthost</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>srcfile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>destfile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="RSHEXEC"
+>Rsh_exec Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>rsh_exec</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>boardname</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>cmd</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>boardname</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>cmd</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="FTPOPEN"
+>Ftp_open Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>ftp_open</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>host</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>host</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="FTPUPLOAD"
+>Ftp_upload Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>ftp_upload</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>host</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>remotefile</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>localfile</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>host</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>remotefile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>localfile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="FTPDOWNLOAD"
+>Ftp_download Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>ftp_download</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>host</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>localfile</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>remotefile</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>host</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>localfile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>remotefile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="FTPCLOSE"
+>Ftp_close Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>ftp_close</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>host</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>host</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="TIPDOWNLOAD"
+>Tip_download Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>tip_download</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>spawnid</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>file</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>spawnid</I
+></TT
+></DT
+><DD
+><P
+>Download <TT
+CLASS="OPTION"
+>file</TT
+> to the
+ process <SPAN
+CLASS="SYMBOL"
+>spawnid</SPAN
+> (the value returned
+ when the connection was established), using the
+ <B
+CLASS="COMMAND"
+>~put</B
+> command under
+ <SPAN
+CLASS="PRODUCTNAME"
+>tip</SPAN
+>. Most often used for
+ single board computers that require downloading
+ programs in ASCII S-records. Returns
+ <I
+CLASS="EMPHASIS"
+>1</I
+> if an error occurs,
+ <I
+CLASS="EMPHASIS"
+>0</I
+> otherwise.</P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+></DT
+><DD
+><P
+>This is the filename to
+ downlaod.</P
+></DD
+></DL
+></DIV
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="TARGETPROCS"
+>Procedures For Target Boards</A
+></H2
+><P
+></P
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="DEFAULTLINK"
+>Default_link Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>default_link</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>board</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>objects</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>destfile</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>flags</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>board</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>objects</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>destfile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>flags</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="DEFAULTTARGETASSEMBLE"
+>Default_target_assemble Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>default_target_assemble</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>source</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>destfile</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>flags</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>source</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>destfile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>flags</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="DEFAULTTARGETCOMPILE"
+>default_target_compile Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>default_target_compile</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>source</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>destfile</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>type</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>options</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>source</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>destfile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>type</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>options</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="POPCONFIG"
+>Pop_config Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>pop_config</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>type</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>type</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="PRUNEWARNINGS"
+>Prune_warnings Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>prune_warnings</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>text</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>text</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="PUSHBUILD"
+>Push_build Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>push_build</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>name</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="PUSHCONFIG"
+>push_config Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>push_config</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>type</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>name</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>type</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="REBOOTTARGET"
+>Reboot_target Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>reboot_target</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="TARGETASSEMBLE"
+>Target_assemble Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>target_assemble</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>source destfile flags</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>source</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>destfile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>flags</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="TARGETCOMPILE"
+>Target_compile Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>target_compile</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>source</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>destfile</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>type</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>options</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>source</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>destfile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>type</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>options</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="TARGETDB"
+>Target Database Procedures</A
+></H2
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="BOARDINFO"
+>Board_info Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>board_info</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>machine</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>op</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>machine</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>op</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="HOSTINFO"
+>Host_info Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>host_info</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>op</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>op</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="SETBOARDINFO"
+>Set_board_info Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>set_board_info</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>entry</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>value</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>entry</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>value</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="SETCURRTARGETINFO"
+>Set_currtarget_info Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>set_currtarget_info</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>entry</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>value</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>entry</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>value</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="TARGETINFO"
+>Target_info Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>target_info</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>op</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>op</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="UNSETBOARDINFO"
+>Unset_board_info Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>unset_board_info</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>entry</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>entry</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="UNSETCURRTARGETINFO"
+>Unset_currtarget_info Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>unset_currtarget_info</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>entry</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>entry</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="PUSHTARGET"
+>Push_target Procedure</A
+></H3
+><P
+>This makes the target named <I
+CLASS="EMPHASIS"
+>name</I
+> be the
+ current target connection. The value of <I
+CLASS="EMPHASIS"
+>name</I
+> is
+ an index into the <SPAN
+CLASS="SYMBOL"
+>target_info</SPAN
+> array and is set in
+ the global config file.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>push_target</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>name</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+></DT
+><DD
+><P
+>The name of the target to make current
+ connection.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="POPTARGET"
+>Pop_target Procedure</A
+></H3
+><P
+>This unsets the current target connection.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>pop_target</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="LISTTARGETS"
+>List_targets Procedure</A
+></H3
+><P
+>This lists all the supported targets for this
+ architecture.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>list_targets</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="PUSHHOST"
+>Push_host Procedure</A
+></H3
+><P
+>This makes the host named <I
+CLASS="EMPHASIS"
+>name</I
+> be the
+ current remote host connection. The value of
+ <I
+CLASS="EMPHASIS"
+>name</I
+> is an index into the
+ <SPAN
+CLASS="SYMBOL"
+>target_info</SPAN
+> array and is set in the global config
+ file.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>push_host</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>name</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="POPHOST"
+>Pop_host Procedure</A
+></H3
+><P
+>This unsets the current host connection.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>pop_host</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="COMPILE"
+>Compile Procedure</A
+></H3
+><P
+>This invokes the compiler as set by CC to compile the
+ file <TT
+CLASS="FILENAME"
+>file</TT
+>. The default options for many cross
+ compilation targets are <I
+CLASS="EMPHASIS"
+>guessed</I
+> by DejaGnu, and
+ these options can be added to by passing in more parameters as
+ arguments to <B
+CLASS="COMMAND"
+>compile</B
+>. Optionally, this will also
+ use the value of the <I
+CLASS="EMPHASIS"
+>cflags</I
+> field in the target
+ config array. If the host is not the same as the build machines, then
+ then compiler is run on the remote host using
+ <B
+CLASS="COMMAND"
+>execute_anywhere</B
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>compile</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>file</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="ARCHIVE"
+>Archive Procedure</A
+></H3
+><P
+>This produces an archive file. Any parameters passed to
+ <B
+CLASS="COMMAND"
+>archive</B
+> are used in addition to the default
+ flags. Optionally, this will also use the value of the
+ <I
+CLASS="EMPHASIS"
+>arflags</I
+> field in the target config array. If the
+ host is not the same as the build machines, then then archiver is run
+ on the remote host using <B
+CLASS="COMMAND"
+>execute_anywhere</B
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>archive</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>file</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="RANLIB"
+>Ranlib Procedure</A
+></H3
+><P
+>This generates an index for the archive file for systems that
+ aren't POSIX yet. Any parameters passed to <B
+CLASS="COMMAND"
+>ranlib</B
+>
+ are used in for the flags.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>ranlib</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>file</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="EXECUTEANYWHERE"
+>Execute_anywhere Procedure</A
+></H3
+><P
+>This executes the <I
+CLASS="EMPHASIS"
+>cmdline</I
+> on the proper
+ host. This should be used as a replacement for the Tcl command
+ <B
+CLASS="COMMAND"
+>exec</B
+> as this version utilizes the target config
+ info to execute this command on the build machine or a remote
+ host. All config information for the remote host must be setup to
+ have this command work. If this is a canadian cross, (where we test a
+ cross compiler that runs on a different host then where DejaGnu is
+ running) then a connection is made to the remote host and the command
+ is executed there. It returns either REMOTERROR (for an error) or the
+ output produced when the command was executed. This is used for
+ running the tool to be tested, not a test case.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>execute_anywhere</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>cmdline</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>cmdline</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="PLATFORMPROCS"
+>Platform Dependant Procedures</A
+></H2
+><P
+>Each combination of target and tool requires some
+ target-dependent procedures. The names of these procedures have
+ a common form: the tool name, followed by an underbar
+ <I
+CLASS="EMPHASIS"
+>_</I
+>, and finally a suffix describing the
+ procedure's purpose. For example, a procedure to extract the
+ version from <SPAN
+CLASS="PRODUCTNAME"
+>GDB</SPAN
+> is called
+ <SPAN
+CLASS="SYMBOL"
+>gdb_version</SPAN
+>.</P
+><P
+><B
+CLASS="COMMAND"
+>runtest</B
+> itself calls only two of these
+ procedures, <SPAN
+CLASS="SYMBOL"
+>${tool}_exit</SPAN
+> and
+ <SPAN
+CLASS="SYMBOL"
+>${tool}_version</SPAN
+>; these procedures use no
+ arguments.</P
+><P
+>The other two procedures, <SPAN
+CLASS="SYMBOL"
+>${tool}_start</SPAN
+>
+ and <SPAN
+CLASS="SYMBOL"
+>${tool}_load</SPAN
+>}, are only called by the test
+ suites themselves (or by testsuite-specific initialization
+ code); they may take arguments or not, depending on the
+ conventions used within each test suite.</P
+><P
+>The usual convention for return codes from any of these
+ procedures (although it is not required by
+ <B
+CLASS="COMMAND"
+>runtest</B
+>) is to return <I
+CLASS="EMPHASIS"
+>0</I
+>
+ if the procedure succeeded, <I
+CLASS="EMPHASIS"
+>1</I
+> if it failed,
+ and <I
+CLASS="EMPHASIS"
+>-1</I
+> if there was a communication error.</P
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="TOOLSTART"
+>${tool}_start Procedure</A
+></H3
+><P
+>Starts a particular tool. For an interactive tool,
+ <TT
+CLASS="FUNCTION"
+><B
+>${tool}_start</B
+></TT
+> starts and initializes the
+ tool, leaving the tool up and running for the test cases; an
+ example is <TT
+CLASS="FUNCTION"
+><B
+>gdb_start</B
+></TT
+>, the start function
+ for GDB. For a batch oriented tool,
+ <TT
+CLASS="FUNCTION"
+><B
+>${tool}_start</B
+></TT
+> is optional; the recommended
+ convention is to let <TT
+CLASS="FUNCTION"
+><B
+>${tool}_start</B
+></TT
+> run the
+ tool, leaving the output in a variable called
+ <TT
+CLASS="FUNCTION"
+><B
+>comp_output</B
+></TT
+>. Test scripts can then analyze
+ <TT
+CLASS="FUNCTION"
+><B
+>$comp_output</B
+></TT
+> to determine the test results.
+ An example of this second kind of start function is
+ <TT
+CLASS="FUNCTION"
+><B
+>gcc_start</B
+></TT
+>, the start function for GCC.</P
+><P
+>DejaGnu itself does not call
+ <TT
+CLASS="FUNCTION"
+><B
+>${tool}_start</B
+></TT
+>. The initialization
+ module <TT
+CLASS="FUNCTION"
+><B
+>${tool}_init.exp</B
+></TT
+> must call
+ <TT
+CLASS="FUNCTION"
+><B
+>${tool}_start</B
+></TT
+> for interactive tools;
+ for batch-oriented tools, each individual test script calls
+ <TT
+CLASS="FUNCTION"
+><B
+>${tool}_start</B
+></TT
+> (or makes other
+ arrangements to run the tool).</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>${tool}_start</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="TOOLLOAD"
+>${tool}_load Procedure</A
+></H3
+><P
+>Loads something into a tool. For an interactive tool,
+ this conditions the tool for a particular test case; for
+ example, <TT
+CLASS="FUNCTION"
+><B
+>gdb_load</B
+></TT
+> loads a new
+ executable file into the debugger. For batch oriented tools,
+ <TT
+CLASS="FUNCTION"
+><B
+>${tool}_load</B
+></TT
+> may do nothing---though,
+ for example, the GCC support uses
+ <TT
+CLASS="FUNCTION"
+><B
+>gcc_load</B
+></TT
+> to load and run a binary on
+ the target environment. Conventionally,
+ <TT
+CLASS="FUNCTION"
+><B
+>${tool}_load</B
+></TT
+> leaves the output of any
+ program it runs in a variable called
+ <SPAN
+CLASS="SYMBOL"
+>$exec_output</SPAN
+>. Writing
+ <TT
+CLASS="FUNCTION"
+><B
+>${tool}_load</B
+></TT
+> can be the most complex
+ part of extending DejaGnu to a new tool or a new target, if
+ it requires much communication coding or file
+ downloading. Test scripts call
+ <TT
+CLASS="FUNCTION"
+><B
+>${tool}_load</B
+></TT
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>${tool}_load</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="TOOLEXIT"
+>${tool}_exit Procedure</A
+></H3
+><P
+>Cleans up (if necessary) before DejaGnu exits. For
+ interactive tools, this usually ends the interactive
+ session. You can also use <TT
+CLASS="FUNCTION"
+><B
+>${tool}_exit</B
+></TT
+>
+ to remove any temporary files left over from the
+ tests. <B
+CLASS="COMMAND"
+>runtest</B
+> calls
+ <TT
+CLASS="FUNCTION"
+><B
+>${tool}_exit</B
+></TT
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>${tool}_exit</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="TOOLVERSION"
+>${tool}_version Procedure</A
+></H3
+><P
+>Prints the version label and number for
+ <SPAN
+CLASS="SYMBOL"
+>${tool}</SPAN
+>. This is called by the DejaGnu
+ procedure that prints the final summary report. The output
+ should consist of the full path name used for the tested
+ tool, and its version number.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>${tool}_version</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="UTILPROCS"
+>Utility Procedures</A
+></H2
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="GETDIRS"
+>Getdirs Procedure</A
+></H3
+><P
+>Returns a list of all the directories in the single
+ directory a single directory that match an optional
+ pattern. </P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>getdirs</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>rootdir</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>pattern</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+></DT
+><DD
+><P
+>If you do not specify
+ <TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+>,
+ <TT
+CLASS="FUNCTION"
+><B
+>Getdirs</B
+></TT
+> assumes a default pattern of
+ <I
+CLASS="EMPHASIS"
+>*</I
+>. You may use the common shell
+ wildcard characters in the pattern. If no directories
+ match the pattern, then a NULL string is
+ returned</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="FIND"
+>Find Procedure</A
+></H3
+><P
+>Search for files whose names match <I
+CLASS="EMPHASIS"
+>pattern</I
+>
+ (using shell wildcard characters for filename expansion). Search
+ subdirectories recursively, starting at
+ <I
+CLASS="EMPHASIS"
+>rootdir</I
+>. The result is the list of files whose
+ names match; if no files match, the result is empty. Filenames in the
+ result include all intervening subdirectory names. If no files match
+ the pattern, then a NULL string is returned.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>find</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>rootdir</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>pattern</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>rootdir</I
+></TT
+></DT
+><DD
+><P
+>The top level directory to search the search
+ from.</P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+></DT
+><DD
+><P
+>A csh "glob" style regular expression reprsenting
+ the files to find.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="WHICH"
+>Which Procedure</A
+></H3
+><P
+>Searches the execution path for an executable file
+ <I
+CLASS="EMPHASIS"
+>binary</I
+>, like the the BSD <B
+CLASS="COMMAND"
+>which</B
+>
+ utility. This procedure uses the shell environment variable
+ <I
+CLASS="EMPHASIS"
+>PATH</I
+>. It returns <I
+CLASS="EMPHASIS"
+>0</I
+> if the
+ binary is not in the path, or if there is no <I
+CLASS="EMPHASIS"
+>PATH</I
+>
+ environment variable. If <B
+CLASS="COMMAND"
+>binary</B
+> is in the path, it
+ returns the full path to <B
+CLASS="COMMAND"
+>binary</B
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>which</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>file</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>binary</I
+></TT
+></DT
+><DD
+><P
+>The executable program or shell script to look
+ for.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="GREP"
+>Grep Procedure</A
+></H3
+><P
+>Search the file called <TT
+CLASS="FILENAME"
+>filename</TT
+> (a fully
+ specified path) for lines that contain a match for regular expression
+ <I
+CLASS="EMPHASIS"
+>regexp</I
+>. The result is a list of all the lines that
+ match. If no lines match, the result is an empty string. Specify
+ <I
+CLASS="EMPHASIS"
+>regexp</I
+> using the standard regular expression style
+ used by the Unix utility program grep.</P
+><P
+>Use the optional third argument <I
+CLASS="EMPHASIS"
+>line</I
+> to
+ start lines in the result with the line number in
+ <TT
+CLASS="FILENAME"
+>filename</TT
+>. (This argument is simply an option
+ flag; type it just as shown <TT
+CLASS="OPTION"
+>--line</TT
+>.)</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>grep</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>filename</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>regexp</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>--line</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>filename</I
+></TT
+></DT
+><DD
+><P
+>The file to search.</P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>regexp</I
+></TT
+></DT
+><DD
+><P
+>The Unix style regular expression (as used by the
+ <B
+CLASS="COMMAND"
+>grep</B
+> Unix utility) to search
+ for.</P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>--line</I
+></TT
+></DT
+><DD
+><P
+>Prefix the line number to each line where the
+ regexp matches.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="PRUNE"
+>Prune Procedure</A
+></H3
+><P
+>Remove elements of the Tcl list <I
+CLASS="EMPHASIS"
+>list</I
+>.
+ Elements are fields delimited by spaces. The result is a copy of
+ list, without any elements that match <I
+CLASS="EMPHASIS"
+>pattern</I
+>.
+ You can use the common shell wildcard characters to specify the
+ pattern.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>prune</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>list</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>pattern</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>list</I
+></TT
+></DT
+><DD
+><P
+>A Tcl list containing the original data. Commonly
+ this is the output of a batch executed command, like running a
+ compiler.</P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+></DT
+><DD
+><P
+>The csh shell "glob" style pattern to search
+ for.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="SLAY"
+>Slay Procedure</A
+></H3
+><P
+>This look in the process table for <I
+CLASS="EMPHASIS"
+>name</I
+>
+ and send it a unix SIGINT, killing the process. This will only work
+ under NT if you have Cygwin or another Unix system for NT
+ installed.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>slay</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>name</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+></DT
+><DD
+><P
+>The name of the program to kill.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="ABSOLUTE"
+>Absolute Procedure</A
+></H3
+><P
+>This procedure takes the relative <I
+CLASS="EMPHASIS"
+>path</I
+>,
+ and converts it to an absolute path.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>absolute</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>path</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>path</I
+></TT
+></DT
+><DD
+><P
+>The path to convert.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="PSOURCE"
+>Psource Procedure</A
+></H3
+><P
+>This sources the file <I
+CLASS="EMPHASIS"
+>filename</I
+>, and traps
+ all errors. It also ignores all extraneous output. If there was an
+ error it returns a <I
+CLASS="EMPHASIS"
+>1</I
+>, otherwise it returns a
+ <I
+CLASS="EMPHASIS"
+>0</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>psource</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>file</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>filename</I
+></TT
+></DT
+><DD
+><P
+>The filename to Tcl script to
+ source.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="RUNTESTFILEP"
+>Runtest_file_p Procedure</A
+></H3
+><P
+>Search <I
+CLASS="EMPHASIS"
+>runtest</I
+>s for
+ <I
+CLASS="EMPHASIS"
+>testcase</I
+> and return <I
+CLASS="EMPHASIS"
+>1</I
+> if
+ found, <I
+CLASS="EMPHASIS"
+>0</I
+> if not. <I
+CLASS="EMPHASIS"
+>runtests</I
+>
+ is a list of two elements. The first is the pathname of the
+ testsuite expect script running. The second is a copy of what was on
+ the right side of the <I
+CLASS="EMPHASIS"
+>=</I
+> if
+ <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>foo.exp="..."</PRE
+></TD
+></TR
+></TABLE
+>" was specified, or
+ an empty string if no such argument is present. This is used by tools
+ like compilers where each testcase is a file.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>runtest_file_p</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>runtests</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>testcase</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>runtests</I
+></TT
+></DT
+><DD
+><P
+>The pathname of the testsuite expect script
+ running</P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>testcase</I
+></TT
+></DT
+><DD
+><P
+>The test case filename.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="DIFF"
+>Diff Procedure</A
+></H3
+><P
+>Compares the two files and returns a <I
+CLASS="EMPHASIS"
+>1</I
+> if
+ they match, or a <I
+CLASS="EMPHASIS"
+>0</I
+> if they don't. If
+ <SPAN
+CLASS="SYMBOL"
+>verbose</SPAN
+> is set, then it'll print the differences to
+ the screen.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>diff</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>file_1</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>file_2</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file_1</I
+></TT
+></DT
+><DD
+><P
+>The first file to compare.</P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>file_2</I
+></TT
+></DT
+><DD
+><P
+>The second file to compare.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="SETENV"
+>Setenv Procedure</A
+></H3
+><P
+>Sets the environment variable <I
+CLASS="EMPHASIS"
+>var</I
+> to the
+ value <I
+CLASS="EMPHASIS"
+>val</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>setenv</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>var</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>val</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>var</I
+></TT
+></DT
+><DD
+><P
+>The environment variable to set.</P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>val</I
+></TT
+></DT
+><DD
+><P
+>The value to set the variable to.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="UNSETENV"
+>unsetenv Procedure</A
+></H3
+><P
+>Unsets the environment variable
+ <I
+CLASS="EMPHASIS"
+>var</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>unsetenv</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>var</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>var</I
+></TT
+></DT
+><DD
+><P
+>The environment variable to
+ unset.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="GETENV"
+>Getenv Procedure</A
+></H3
+><P
+>Returns the value of <I
+CLASS="EMPHASIS"
+>var</I
+> in the
+ environment if it exists, otherwise it returns NULL.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>getenv</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>var</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>var</I
+></TT
+></DT
+><DD
+><P
+>The environment variable to get the value
+ of.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="PRUNESYSTEMCRUD"
+>Prune_system_crud Procedure</A
+></H3
+><P
+>For system <I
+CLASS="EMPHASIS"
+>system</I
+>, delete text the host or
+ target operating system might issue that will interfere with pattern
+ matching of program output in <I
+CLASS="EMPHASIS"
+>text</I
+>. An example
+ is the message that is printed if a shared library is out of
+ date.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>prune_system_crud</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>system</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>test</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>system</I
+></TT
+></DT
+><DD
+><P
+>The system error messages to look for to screen out
+ .</P
+></DD
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>text</I
+></TT
+></DT
+><DD
+><P
+>The Tcl variable containing the
+ text.</P
+></DD
+></DL
+></DIV
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="LIBGLOSS"
+>Libgloss, A Free BSP</A
+></H2
+><P
+>Libgloss is a free <I
+CLASS="FIRSTTERM"
+>BSP</I
+> (Board Support
+ Package) commonly used with GCC and G++ to produce a fully linked
+ executable image for an embedded systems.</P
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="LIBGLOSSLINKFLAGS"
+>Libgloss_link_flags Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>libgloss_link_flags</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="LIBGLOSSINCLUDEFLAGS"
+>Libgloss_include_flags Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>libgloss_include_flags</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="NEWLIBLINKFLAGS"
+>Newlib_link_flags Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>newlib_link_flags</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="NEWLIBINCLUDEFLAGS"
+>Newlib_include_flags Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>newlib_include_flags</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="LIBIOINCLUDEFLAGS"
+>Libio_include_flags Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>libio_include_flags</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="LIBIOLINKFLAGS"
+>Libio_link_flags Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>libio_link_flags</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="GXXINCLUDEFLAGS"
+>G++_include_flags Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>g++_include_flags</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="GXXLINKFLAGS"
+>G++_link_flags Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>g++_link_flags</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="LIBSTDCXXINCLUDEFLAGS"
+>Libstdc++_include_flags Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>libstdc++_include_flags</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="LIBSTDCXXLINKFLAGS"
+>Libstdc++_link_flags Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>libstdc++_link_flags</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="GETMULTILIBS"
+>Get_multilibs Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>get_multilibs</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="FINDBINUTILSPROG"
+>Find_binutils_prog Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>find_binutils_prog</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>name</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="FINDGCC"
+>Find_gcc Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>find_gcc</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="FINDGCJ"
+>Find_gcj Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>find_gcj</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="FINDGXX"
+>Find_g++ Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>find_g++</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="FINDG77"
+>Find_g77 Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>find_g77</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="PROCESSMULTILIBOPTIONS"
+>Process_multilib_options Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>process_multilib_options</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="ADDMULTILIBOPTION"
+>Add_multilib_option Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>add_multilib_option</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="FINDGAS"
+>Find_gas Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>find_gas</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="FINDLD"
+>Find_ld Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>find_ld</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="BUILDWRAPPER"
+>Build_wrapper Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>build_wrapper</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>gluefile</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>gluefile</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="WINSUPINCLUDEFLAGS"
+>Winsup_include_flags Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>winsup_include_flags</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="WINSUPLINKFLAGS"
+>Winsup_link_flags Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>winsup_link_flags</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="DEBUGPROCS"
+>Procedures for debugging your Tcl code.</A
+></H2
+><P
+><TT
+CLASS="FILENAME"
+>lib/debugger.exp</TT
+>defines these utility
+ procedures:</P
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="DUMPVARS"
+>Dumpvars Procedure</A
+></H3
+><P
+>This takes a csh style regular expression (glob rules) and prints
+ the values of the global variable names that match. It is abbreviated
+ as <I
+CLASS="EMPHASIS"
+>dv</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>dumpvars</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>vars</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>vars</I
+></TT
+></DT
+><DD
+><P
+>The variables to dump.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="DUMPLOCALS"
+>Dumplocals Procedure</A
+></H3
+><P
+>This takes a csh style regular expression (glob rules) and
+ prints the values of the local variable names that match. It is
+ abbreviated as <I
+CLASS="EMPHASIS"
+>dl</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>dumplocals</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="DUMPROCS"
+>Dumprocs Procedure</A
+></H3
+><P
+>This takes a csh style regular expression (glob rules) and
+ prints the body of all procs that match. It is abbreviated as
+ <I
+CLASS="EMPHASIS"
+>dp</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>dumprocs</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>pattern</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+></DT
+><DD
+><P
+>The csh "glob" style pattern to look
+ for.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="DUMPWATCH"
+>Dumpwatch Procedure</A
+></H3
+><P
+>This takes a csh style regular expression (glob rules) and
+ prints all the watchpoints. It is abbreviated as
+ <I
+CLASS="EMPHASIS"
+>dw</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>dumpwatch</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>pattern</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>pattern</I
+></TT
+></DT
+><DD
+><P
+>The csh "glob" style pattern to look
+ for.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="WATCHARRAY"
+>Watcharray Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>watcharray</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>element</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>type</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>type</I
+></TT
+></DT
+><DD
+><P
+>The csh "glob" style pattern to look
+ for.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="WATCHVAR"
+>Watchvar Procedure</A
+></H3
+><P
+></P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>watchvar</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>var</VAR
+>
+ <VAR
+CLASS="PDPARAM"
+>type</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="WATCHUNSET"
+>Watchunset Procedure</A
+></H3
+><P
+>This breaks program execution when the variable
+ <SPAN
+CLASS="SYMBOL"
+>var</SPAN
+> is unset. It is abbreviated as
+ <I
+CLASS="EMPHASIS"
+>wu</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>watchunset</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>arg</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="WATCHWRITE"
+>Watchwrite Procedure</A
+></H3
+><P
+>This breaks program execution when the variable
+ <SPAN
+CLASS="SYMBOL"
+>var</SPAN
+> is written. It is abbreviated as
+ <I
+CLASS="EMPHASIS"
+>ww</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>watchwrite</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>var</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>var</I
+></TT
+></DT
+><DD
+><P
+>The variable to watch.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="WATCHREAD"
+>Watchread Procedure</A
+></H3
+><P
+>This breaks program execution when the variable
+ <SPAN
+CLASS="SYMBOL"
+>var</SPAN
+> is read. It is abbreviated as
+ <I
+CLASS="EMPHASIS"
+>wr</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>watchread</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>var</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>var</I
+></TT
+></DT
+><DD
+><P
+>The variable to watch.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="WATCHDEL"
+>Watchdel Procedure</A
+></H3
+><P
+>This deletes a the watchpoint from the watch list. It is
+ abbreviated as <I
+CLASS="EMPHASIS"
+>wd</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>watchdel</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>args</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>args</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="PRINT"
+>Print Procedure</A
+></H3
+><P
+>This prints the value of the variable
+ <TT
+CLASS="PARAMETER"
+><I
+>var</I
+></TT
+>. It is abbreviated as
+ <I
+CLASS="EMPHASIS"
+>p</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>print</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+>var</VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+>var</I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT3"
+><H3
+CLASS="SECT3"
+><A
+NAME="QUIT"
+>Quit Procedure</A
+></H3
+><P
+>This makes runtest exit. It is abbreviated as
+ <I
+CLASS="EMPHASIS"
+>q</I
+>.</P
+><DIV
+CLASS="FUNCSYNOPSIS"
+><P
+></P
+><CODE
+CLASS="FUNCDEF"
+><B
+CLASS="FSFUNC"
+>quit</B
+></CODE
+>(<VAR
+CLASS="PDPARAM"
+></VAR
+>);<P
+></P
+></DIV
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="PARAMETER"
+><I
+></I
+></TT
+></DT
+><DD
+><P
+></P
+></DD
+></DL
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="reference.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="filemap.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Reference</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="reference.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>File Map</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/configfile.html b/doc/overview/configfile.html
new file mode 100644
index 0000000..da718e5
--- /dev/null
+++ b/doc/overview/configfile.html
@@ -0,0 +1,513 @@
+<HTML
+><HEAD
+><TITLE
+>Config File Values</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Customizing DejaGnu"
+HREF="customizing.html"><LINK
+REL="PREVIOUS"
+TITLE="Remote Host Testing"
+HREF="releng.html"><LINK
+REL="NEXT"
+TITLE="Extending DejaGnu"
+HREF="extending.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="releng.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 3. Customizing DejaGnu</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="extending.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="CONFIGFILE"
+>Config File Values</A
+></H1
+><P
+>DejaGnu uses a named array in Tcl to hold all the info for
+ each machine. In the case of a canadian cross, this means host
+ information as well as target information. The named array is
+ called <SPAN
+CLASS="SYMBOL"
+>target_info</SPAN
+>, and it has two indices. The
+ following fields are part of the array.</P
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="OPTIONDEFS"
+>Command Line Option Variables</A
+></H2
+><P
+>In the user editable second section of the <A
+HREF="configfile.html#PERSONAL"
+><I
+>Personal Config File</I
+></A
+> you can not only override the configuration
+ variables captured in the first section, but also specify
+ default values for all on the <B
+CLASS="COMMAND"
+>runtest</B
+>
+ command line options. Save for <TT
+CLASS="OPTION"
+>--debug</TT
+>,
+ <TT
+CLASS="OPTION"
+>--help</TT
+>, and <TT
+CLASS="OPTION"
+>--version</TT
+>, each
+ command line option has an associated Tcl variable. Use the
+ Tcl <B
+CLASS="COMMAND"
+>set</B
+> command to specify a new default
+ value (as for the configuration variables). The following
+ table describes the correspondence between command line
+ options and variables you can set in
+ <TT
+CLASS="FILENAME"
+>site.exp</TT
+>. <A
+HREF="runtest.html#INVOKING"
+><I
+>Invoking Runtest</I
+></A
+>, for
+ explanations of the command-line options.</P
+><P
+><DIV
+CLASS="TABLE"
+><P
+><B
+>Table 3-1. Tcl Variables For Command Line Options</B
+></P
+><TABLE
+BORDER="1"
+CLASS="CALSTABLE"
+><TR
+><TH
+ALIGN="LEFT"
+VALIGN="TOP"
+>runtest</TH
+><TH
+ALIGN="LEFT"
+VALIGN="TOP"
+>Tcl</TH
+><TH
+ALIGN="LEFT"
+VALIGN="TOP"
+>option</TH
+><TH
+ALIGN="LEFT"
+VALIGN="TOP"
+>variable</TH
+><TH
+ALIGN="LEFT"
+VALIGN="TOP"
+>description</TH
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>--all</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>all_flag</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>display all test results if set</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>--baud</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>baud</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>set the default baud rate to something other than
+ 9600.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>--connect</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>connectmode</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><B
+CLASS="COMMAND"
+>rlogin</B
+>,
+ <B
+CLASS="COMMAND"
+>telnet</B
+>, <B
+CLASS="COMMAND"
+>rsh</B
+>,
+ <B
+CLASS="COMMAND"
+>kermit</B
+>, <B
+CLASS="COMMAND"
+>tip</B
+>, or
+ <B
+CLASS="COMMAND"
+>mondfe</B
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>--outdir</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>outdir</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>directory for <TT
+CLASS="FILENAME"
+>tool.sum</TT
+> and
+ <TT
+CLASS="FILENAME"
+>tool.log.</TT
+></TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>--objdir</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>objdir</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>directory for pre-compiled binaries</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>--reboot</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>reboot</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>reboot the target if set to
+ <I
+CLASS="EMPHASIS"
+>"1"</I
+>; do not reboot if set to
+ <I
+CLASS="EMPHASIS"
+>"0"</I
+> (the default).</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>--srcdir</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>srcdir</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>directory of test subdirectories</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>--strace</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>tracelevel</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>a number: Tcl trace depth</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>--tool</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>tool</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>name of tool to test; identifies init, test subdir</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>--verbose</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>verbose</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>verbosity level. As option, use multiple times; as
+ variable, set a number, 0 or greater.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>--target</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>target_triplet</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>The canonical configuration string for the target.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>--host</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>host_triplet</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>The canonical configuration string for the host.</TD
+></TR
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>--build</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>build_triplet</TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+>The canonical configuration string for the build
+ host.</TD
+></TR
+></TABLE
+></DIV
+>
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="PERSONAL"
+>Personal Config File</A
+></H2
+><P
+>The personal config file is used to customize
+ <B
+CLASS="COMMAND"
+>runtest's</B
+> behaviour for each person. It's
+ typically used to set the user prefered setting for verbosity,
+ and any experimental Tcl procedures. My personal
+ <TT
+CLASS="FILENAME"
+>~/.dejagnurc</TT
+> file looks like:</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 3-12. Personal Config File</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> set all_flag 1
+ set RLOGIN /usr/ucb/rlogin
+ set RSH /usr/local/sbin/ssh
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>Here I set <SPAN
+CLASS="SYMBOL"
+>all_flag</SPAN
+> so I see all the test
+ cases that PASS along with the ones that FAIL. I also set
+ <SPAN
+CLASS="SYMBOL"
+>RLOGIN</SPAN
+> to the BSD version. I have
+ <SPAN
+CLASS="PRODUCTNAME"
+>Kerberos</SPAN
+> installed, and when I rlogin
+ to a target board, it usually isn't supported. So I use the non
+ secure version rather than the default that's in my path. I also
+ set <SPAN
+CLASS="SYMBOL"
+>RSH</SPAN
+> to the <SPAN
+CLASS="PRODUCTNAME"
+>SSH</SPAN
+>
+ secure shell, as rsh is mostly used to test unix
+ machines within a local network here.</P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="releng.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="extending.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Remote Host Testing</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="customizing.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Extending DejaGnu</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/customizing.html b/doc/overview/customizing.html
new file mode 100644
index 0000000..e42ce19
--- /dev/null
+++ b/doc/overview/customizing.html
@@ -0,0 +1,470 @@
+<HTML
+><HEAD
+><TITLE
+>Customizing DejaGnu</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="The files DejaGnu produces."
+HREF="outputfiles.html"><LINK
+REL="NEXT"
+TITLE="Global Config File"
+HREF="global.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="outputfiles.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="global.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="CUSTOMIZING"
+>Chapter 3. Customizing DejaGnu</A
+></H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="customizing.html#LOCAL"
+>Local Config File</A
+></DT
+><DT
+><A
+HREF="global.html"
+>Global Config File</A
+></DT
+><DT
+><A
+HREF="boardconfig.html"
+>Board Config File</A
+></DT
+><DT
+><A
+HREF="releng.html"
+>Remote Host Testing</A
+></DT
+><DT
+><A
+HREF="configfile.html"
+>Config File Values</A
+></DT
+></DL
+></DIV
+><P
+>The site configuration file, <TT
+CLASS="FILENAME"
+>site.exp</TT
+>,
+ captures configuration-dependent values and propagates them to the
+ DejaGnu test environment using Tcl variables. This ties the
+ DejaGnu test scripts into the <B
+CLASS="COMMAND"
+>configure</B
+> and
+ <B
+CLASS="COMMAND"
+>make</B
+> programs. If this file is setup correctly,
+ it is possible to execute a test suite merely by typing
+ <B
+CLASS="COMMAND"
+>runtest</B
+>.</P
+><P
+>DejaGnu supports two <TT
+CLASS="FILENAME"
+>site.exp</TT
+>
+ files. The multiple instances of <TT
+CLASS="FILENAME"
+>site.exp</TT
+> are
+ loaded in a fixed order built into DejaGnu. The first file loaded
+ is the local file <TT
+CLASS="FILENAME"
+>site.exp</TT
+>, and then the
+ optional global <TT
+CLASS="FILENAME"
+>site.exp</TT
+> file as
+ pointed to by the <SPAN
+CLASS="SYMBOL"
+>DEJAGNU</SPAN
+> environment
+ variable.</P
+><P
+>There is an optional <I
+CLASS="EMPHASIS"
+>master</I
+>
+ <TT
+CLASS="FILENAME"
+>site.exp</TT
+>, capturing configuration values that
+ apply to DejaGnu across the board, in each configuration-specific
+ subdirectory of the DejaGnu library directory.
+ <B
+CLASS="COMMAND"
+>runtest</B
+> loads these values first. The master
+ <TT
+CLASS="FILENAME"
+>site.exp</TT
+> contains the default values for all
+ targets and hosts supported by DejaGnu. This master file is
+ identified by setting the environment variable
+ <SPAN
+CLASS="SYMBOL"
+>DEJAGNU</SPAN
+> to the name of the file. This is also
+ refered to as the ``global'' config file.</P
+><P
+>Any directory containing a configured test suite also has a
+ local <TT
+CLASS="FILENAME"
+>site.exp</TT
+>, capturing configuration values
+ specific to the tool under test. Since <B
+CLASS="COMMAND"
+>runtest</B
+>
+ loads these values last, the individual test configuration can
+ either rely on and use, or override, any of the global values from
+ the global <TT
+CLASS="FILENAME"
+>site.exp</TT
+> file.</P
+><P
+>You can usually generate or update the testsuite's local
+ <TT
+CLASS="FILENAME"
+>site.exp</TT
+> by typing <B
+CLASS="COMMAND"
+>make
+ site.exp</B
+> in the test suite directory, after the test
+ suite is configured.</P
+><P
+>You can also have a file in your home directory called
+ <TT
+CLASS="FILENAME"
+>.dejagnurc</TT
+>. This gets loaded first before the
+ other config files. Usually this is used for personal stuff, like
+ setting the <SPAN
+CLASS="SYMBOL"
+>all_flag</SPAN
+> so all the output gets
+ printed, or your own verbosity levels. This file is usually
+ restricted to setting command line options.</P
+><P
+>You can further override the default values in a
+ user-editable section of any <TT
+CLASS="FILENAME"
+>site.exp</TT
+>, or by
+ setting variables on the <B
+CLASS="COMMAND"
+>runtest</B
+> command
+ line.</P
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="LOCAL"
+>Local Config File</A
+></H1
+><P
+>It is usually more convenient to keep these <I
+CLASS="EMPHASIS"
+>manual
+ overrides</I
+> in the <TT
+CLASS="FILENAME"
+>site.exp</TT
+>
+ local to each test directory, rather than in the global
+ <TT
+CLASS="FILENAME"
+>site.exp</TT
+> in the installed DejaGnu
+ library. This file is mostly for supplying tool specific info
+ that is required by the test suite.</P
+><P
+>All local <TT
+CLASS="FILENAME"
+>site.exp</TT
+> files have
+ two sections, separated by comment text. The first section is
+ the part that is generated by <B
+CLASS="COMMAND"
+>make</B
+>. It is
+ essentially a collection of Tcl variable definitions based on
+ <TT
+CLASS="FILENAME"
+>Makefile</TT
+> environment variables. Since they
+ are generated by <B
+CLASS="COMMAND"
+>make</B
+>, they contain the
+ values as specified by <B
+CLASS="COMMAND"
+>configure</B
+>. (You can
+ also customize these values by using the <TT
+CLASS="OPTION"
+>--site</TT
+>
+ option to <B
+CLASS="COMMAND"
+>configure</B
+>.) In particular, this
+ section contains the <TT
+CLASS="FILENAME"
+>Makefile</TT
+>
+ variables for host and target configuration data. Do not edit
+ this first section; if you do, your changes are replaced next
+ time you run <B
+CLASS="COMMAND"
+>make</B
+>.</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 3-1. The first section starts with</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> ## these variables are automatically generated by make ##
+ # Do not edit here. If you wish to override these values
+ # add them to the last section
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>In the second section, you can override any default values
+ (locally to DejaGnu) for all the variables. The second section
+ can also contain your preferred defaults for all the command
+ line options to <B
+CLASS="COMMAND"
+>runtest</B
+>. This allows you to
+ easily customize <B
+CLASS="COMMAND"
+>runtest</B
+> for your preferences
+ in each configured test-suite tree, so that you need not type
+ options repeatedly on the command line. (The second section may
+ also be empty, if you do not wish to override any defaults.)</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 3-2. The first section ends with this line</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> ## All variables above are generated by configure. Do Not Edit ##
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>You can make any changes under this line. If you wish to
+ redefine a variable in the top section, then just put a
+ duplicate value in this second section. Usually the values
+ defined in this config file are related to the configuration of
+ the test run. This is the ideal place to set the variables
+ <SPAN
+CLASS="SYMBOL"
+>host_triplet</SPAN
+>, <SPAN
+CLASS="SYMBOL"
+>build_triplet</SPAN
+>,
+ <SPAN
+CLASS="SYMBOL"
+>target_triplet</SPAN
+>. All other variables are tool
+ dependant. ie for testing a compiler, the value for
+ <SPAN
+CLASS="SYMBOL"
+>CC</SPAN
+> might be set to a freshly built binary, as
+ opposed to one in the user's path.</P
+><P
+>Here's an example local site.exp file, as used for
+ <SPAN
+CLASS="PRODUCTNAME"
+>GCC/G++</SPAN
+> testing.</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 3-3. Local Config File</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>
+ ## these variables are automatically generated by make ##
+ # Do not edit here. If you wish to override these values
+ # add them to the last section
+ set rootme "/build/devo-builds/i586-pc-linux-gnulibc1/gcc"
+ set host_triplet i586-pc-linux-gnulibc1
+ set build_triplet i586-pc-linux-gnulibc1
+ set target_triplet i586-pc-linux-gnulibc1
+ set target_alias i586-pc-linux-gnulibc1
+ set CFLAGS ""
+ set CXXFLAGS "-I/build/devo-builds/i586-pc-linux-gnulibc1/gcc/../libio -I$srcdir/../libg++/src -I$srcdir/../libio -I$srcdir/../libstdc++ -I$srcdir/../libstdc++/stl -L/build/devo-builds/i586-pc-linux-gnulibc1/gcc/../libg++ -L/build/devo-builds/i586-pc-linux-gnulibc1/gcc/../libstdc++"
+ append LDFLAGS " -L/build/devo-builds/i586-pc-linux-gnulibc1/gcc/../ld"
+ set tmpdir /build/devo-builds/i586-pc-linux-gnulibc1/gcc/testsuite
+ set srcdir "${srcdir}/testsuite"
+ ## All variables above are generated by configure. Do Not Edit ##
+
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>This file defines the required fields for a local config
+ file, namely the three config triplets, and the srcdir. It also
+ defines several other Tcl variables that are used exclusivly by
+ the GCC test suite. For most test cases, the CXXFLAGS and LDFLAGS
+ are supplied by DejaGnu itself for cross testing, but to test a
+ compiler, GCC needs to manipulate these itself.</P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="outputfiles.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="global.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>The files DejaGnu produces.</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Global Config File</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/debugging.html b/doc/overview/debugging.html
new file mode 100644
index 0000000..9dc71f0
--- /dev/null
+++ b/doc/overview/debugging.html
@@ -0,0 +1,248 @@
+<HTML
+><HEAD
+><TITLE
+>Debugging A Test Case</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Extending DejaGnu"
+HREF="extending.html"><LINK
+REL="PREVIOUS"
+TITLE="Writing A Test Case"
+HREF="writing.html"><LINK
+REL="NEXT"
+TITLE="Adding A Test Case To A Test Suite."
+HREF="adding.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="writing.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Extending DejaGnu</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="adding.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="DEBUGGING"
+>Debugging A Test Case</A
+></H1
+><P
+>These are the kinds of debugging information available
+ from DejaGnu:</P
+><P
+></P
+><UL
+><LI
+STYLE="list-style-type: disc"
+><P
+>Output controlled by test scripts themselves,
+ explicitly allowed for by the test author. This kind of
+ debugging output appears in the detailed output recorded in the
+ DejaGnu log file. To do the same for new tests, use the
+ <B
+CLASS="COMMAND"
+>verbose</B
+> procedure (which in turn uses the
+ variable also called <I
+CLASS="EMPHASIS"
+>verbose</I
+>) to control
+ how much output to generate. This will make it easier for other
+ people running the test to debug it if necessary. Whenever
+ possible, if <I
+CLASS="EMPHASIS"
+>$verbose</I
+> is
+ <I
+CLASS="EMPHASIS"
+>0</I
+>, there should be no output other than the
+ output from <I
+CLASS="EMPHASIS"
+>pass</I
+>,
+ <I
+CLASS="EMPHASIS"
+>fail</I
+>, <I
+CLASS="EMPHASIS"
+>error</I
+>, and
+ <I
+CLASS="EMPHASIS"
+>warning</I
+>. Then, to whatever extent is
+ appropriate for the particular test, allow successively higher
+ values of <I
+CLASS="EMPHASIS"
+>$verbose</I
+> to generate more
+ information. Be kind to other programmers who use your tests:
+ provide for a lot of debugging information.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Output from the internal debugging functions of
+ Tcl and <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+>. There is a command
+ line options for each; both forms of debugging output are
+ recorded in the file <TT
+CLASS="FILENAME"
+>dbg.log</TT
+> in the current
+ directory.</P
+><P
+>Use <TT
+CLASS="OPTION"
+>--debug</TT
+> for information from the
+ expect level; it generates displays of the expect attempts to
+ match the tool output with the patterns specified. This output
+ can be very helpful while developing test scripts, since it
+ shows precisely the characters received. Iterating between the
+ latest attempt at a new test script and the corresponding
+ <TT
+CLASS="FILENAME"
+>dbg.log</TT
+> can allow you to create the final
+ patterns by ``cut and paste''. This is sometimes the best way
+ to write a test case.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Use <TT
+CLASS="OPTION"
+>--strace</TT
+> to see more
+ detail at the Tcl level; this shows how Tcl procedure
+ definitions expand, as they execute. The associated number
+ controls the depth of definitions expanded.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Finally, if the value of
+ <I
+CLASS="EMPHASIS"
+>verbose</I
+> is 3 or greater,DejaGnu turns on
+ the expect command <B
+CLASS="COMMAND"
+>log_user</B
+>. This command
+ prints all expect actions to the expect standard output, to the
+ detailed log file, and (if <TT
+CLASS="OPTION"
+>--debug</TT
+> is on) to
+ <TT
+CLASS="FILENAME"
+>dbg.log</TT
+>.</P
+></LI
+></UL
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="writing.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="adding.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Writing A Test Case</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="extending.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Adding A Test Case To A Test Suite.</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/designgoals.html b/doc/overview/designgoals.html
new file mode 100644
index 0000000..d2d88a4
--- /dev/null
+++ b/doc/overview/designgoals.html
@@ -0,0 +1,219 @@
+<HTML
+><HEAD
+><TITLE
+>Design Goals</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Overview"
+HREF="overview.html"><LINK
+REL="PREVIOUS"
+TITLE="What's New In This Release"
+HREF="new.html"><LINK
+REL="NEXT"
+TITLE="A POSIX conforming test framework"
+HREF="posix.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="new.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 1. Overview</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="posix.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="DESIGNGOALS"
+>Design Goals</A
+></H1
+><P
+>DejaGnu grew out of the internal needs of Cygnus Solutions. (then
+ Cygnus Support). Cygnus maintains and enhances a variety of free programs
+ in many different environments, and we needed a testing tool that:</P
+><P
+></P
+><UL
+><LI
+STYLE="list-style-type: disc"
+><P
+>is useful to developers while fixing
+ bugs.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>automates running many tests during a software
+ release process.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>is portable among a variety of host
+ computers.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>supports cross-development
+ testing.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>permits testing interactive programs, like
+ <B
+CLASS="COMMAND"
+>GDB</B
+>; and </P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>permits testing batch oriented programs, like
+ <B
+CLASS="COMMAND"
+>GCC</B
+>.</P
+></LI
+></UL
+><P
+>Some of the requirements proved challenging. For example,
+ interactive programs do not lend themselves very well to automated testing.
+ But all the requirements are important: for instance, it is imperative to
+ make sure that <B
+CLASS="COMMAND"
+>GDB</B
+> works as well when cross-debugging
+ as it does in a native configuration. </P
+><P
+>Probably the greatest challenge was testing in a cross-development
+ environment (which can be a real nightmare). Most cross-development
+ environments are customized by each developer. Even when buying packaged
+ boards from vendors there are many differences. The communication
+ interfaces vary from a serial line to ethernet. DejaGnu was designed with
+ a modular communication setup, so that each kind of communication can be
+ added as required, and supported thereafter. Once a communication
+ procedure is coded, any test can use it. Currently DejaGnu can use
+ <B
+CLASS="COMMAND"
+>rsh</B
+>, <B
+CLASS="COMMAND"
+>rlogin</B
+>,
+ <B
+CLASS="COMMAND"
+>telnet</B
+>, <B
+CLASS="COMMAND"
+>tip</B
+>,
+ <B
+CLASS="COMMAND"
+>kermit</B
+>, and <B
+CLASS="COMMAND"
+>mondfe</B
+> for remote
+ communications.</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="new.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="posix.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>What's New In This Release</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="overview.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>A POSIX conforming test framework</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/docbook.css b/doc/overview/docbook.css
new file mode 100755
index 0000000..b42fb27
--- /dev/null
+++ b/doc/overview/docbook.css
@@ -0,0 +1,20 @@
+.BOOK .TITLE { text-align: center }
+.BOOK .SUBTITLE { text-align: center }
+.BOOK .CORPAUTHOR { text-align: center }
+.BOOK .AUTHOR { text-align: center }
+.BOOK .AFFILIATION { text-align: center }
+.BOOK .EDITEDBY { text-align: center }
+.BOOK .EDITOR { text-align: center }
+.BOOK .GRAPHIC { text-align: center }
+
+.ARTICLE .TITLE { text-align: center }
+.ARTICLE .SUBTITLE { text-align: center }
+.ARTICLE .CORPAUTHOR { text-align: center }
+.ARTICLE .AUTHOR { text-align: center }
+.ARTICLE .AFFILIATION { text-align: center }
+.ARTICLE .EDITEDBY { text-align: center }
+.ARTICLE .EDITOR { text-align: center }
+.ARTICLE .GRAPHIC { text-align: center }
+.ARTICLE .ABSTRACT { margin-left: 0.5in;
+ margin-right: 0.5in;
+ font-style: italic }
diff --git a/doc/overview/extending.html b/doc/overview/extending.html
new file mode 100644
index 0000000..4cce3b7
--- /dev/null
+++ b/doc/overview/extending.html
@@ -0,0 +1,206 @@
+<HTML
+><HEAD
+><TITLE
+>Extending DejaGnu</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="Config File Values"
+HREF="configfile.html"><LINK
+REL="NEXT"
+TITLE="Adding A New Tool"
+HREF="addtool.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="configfile.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="addtool.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="EXTENDING"
+>Chapter 4. Extending DejaGnu</A
+></H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="extending.html#ADDSUITE"
+>Adding A New Test Suite</A
+></DT
+><DT
+><A
+HREF="addtool.html"
+>Adding A New Tool</A
+></DT
+><DT
+><A
+HREF="addtarget.html"
+>Adding A New Target</A
+></DT
+><DT
+><A
+HREF="addboard.html"
+>Adding A New Board</A
+></DT
+><DT
+><A
+HREF="boarddefs.html"
+>Board Config File Values</A
+></DT
+><DT
+><A
+HREF="writing.html"
+>Writing A Test Case</A
+></DT
+><DT
+><A
+HREF="debugging.html"
+>Debugging A Test Case</A
+></DT
+><DT
+><A
+HREF="adding.html"
+>Adding A Test Case To A Test Suite.</A
+></DT
+><DT
+><A
+HREF="hints.html"
+>Hints On Writing A Test Case</A
+></DT
+><DT
+><A
+HREF="tvariables.html"
+>Special variables used by test cases.</A
+></DT
+></DL
+></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="ADDSUITE"
+>Adding A New Test Suite</A
+></H1
+><P
+>The testsuite for a new tool should always be located in that tools
+ source directory. DejaGnu require the directory be named
+ <TT
+CLASS="FILENAME"
+>testsuite</TT
+>. Under this directory, the test cases go
+ in a subdirectory whose name begins with the tool name. For example, for
+ a tool named <I
+CLASS="EMPHASIS"
+>flubber</I
+>, each subdirectory containing
+ testsuites must start with <I
+CLASS="EMPHASIS"
+>"flubber."</I
+>.</P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="configfile.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="addtool.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Config File Values</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Adding A New Tool</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/filemap.html b/doc/overview/filemap.html
new file mode 100644
index 0000000..bb894c9
--- /dev/null
+++ b/doc/overview/filemap.html
@@ -0,0 +1,222 @@
+<HTML
+><HEAD
+><TITLE
+>File Map</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Reference"
+HREF="reference.html"><LINK
+REL="PREVIOUS"
+TITLE="Builtin Procedures"
+HREF="builtins.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="builtins.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 5. Reference</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+>&nbsp;</TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="FILEMAP"
+>File Map</A
+></H1
+><P
+>This is a map of the files in DejaGnu.</P
+><P
+></P
+><UL
+><LI
+><P
+>runtest</P
+></LI
+><LI
+><P
+>runtest.exp</P
+></LI
+><LI
+><P
+>stub-loader.c</P
+></LI
+><LI
+><P
+>testglue.c</P
+></LI
+><LI
+><P
+>config</P
+></LI
+><LI
+><P
+>baseboards</P
+></LI
+><LI
+><P
+>lib/debugger.exp</P
+></LI
+><LI
+><P
+>lib/dg.exp</P
+></LI
+><LI
+><P
+>lib/framework.exp</P
+></LI
+><LI
+><P
+>lib/ftp.exp</P
+></LI
+><LI
+><P
+>lib/kermit.exp</P
+></LI
+><LI
+><P
+>lib/libgloss.exp</P
+></LI
+><LI
+><P
+>lib/mondfe.exp</P
+></LI
+><LI
+><P
+>lib/remote.exp</P
+></LI
+><LI
+><P
+>lib/rlogin.exp</P
+></LI
+><LI
+><P
+>lib/rsh.exp</P
+></LI
+><LI
+><P
+>lib/standard.exp</P
+></LI
+><LI
+><P
+>lib/target.exp</P
+></LI
+><LI
+><P
+>lib/targetdb.exp</P
+></LI
+><LI
+><P
+>lib/telnet.exp</P
+></LI
+><LI
+><P
+>lib/tip.exp</P
+></LI
+><LI
+><P
+>lib/util-defs.exp</P
+></LI
+><LI
+><P
+>lib/utils.exp</P
+></LI
+><LI
+><P
+>lib/xsh.exp</P
+></LI
+></UL
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="builtins.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Builtin Procedures</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="reference.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>&nbsp;</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/global.html b/doc/overview/global.html
new file mode 100644
index 0000000..cc102f3
--- /dev/null
+++ b/doc/overview/global.html
@@ -0,0 +1,245 @@
+<HTML
+><HEAD
+><TITLE
+>Global Config File</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Customizing DejaGnu"
+HREF="customizing.html"><LINK
+REL="PREVIOUS"
+TITLE="Customizing DejaGnu"
+HREF="customizing.html"><LINK
+REL="NEXT"
+TITLE="Board Config File"
+HREF="boardconfig.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="customizing.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 3. Customizing DejaGnu</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="boardconfig.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="GLOBAL"
+>Global Config File</A
+></H1
+><P
+>The master config file is where all the target specific
+ config variables get set for a whole site get set. The idea is
+ that for a centralized testing lab where people have to share a
+ target between multiple developers. There are settings for both
+ remote targets and remote hosts. Here's an example of a Master
+ Config File (also called the Global config file) for a
+ <I
+CLASS="EMPHASIS"
+>canadian cross</I
+>. A canadian cross is when
+ you build and test a cross compiler on a machine other than the
+ one it's to be hosted on.</P
+><P
+>Here we have the config settings for our California
+ office. Note that all config values are site dependant. Here we
+ have two sets of values that we use for testing m68k-aout cross
+ compilers. As both of these target boards has a different
+ debugging protocol, we test on both of them in sequence.</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 3-4. Global Config file</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>&#13; # Make sure we look in the right place for the board description files.
+ if ![info exists boards_dir] {
+ set boards_dir {}
+ }
+ lappend boards_dir "/nfs/cygint/s1/cygnus/dejagnu/boards"
+
+ verbose "Global Config File: target_triplet is $target_triplet" 2
+ global target_list
+
+ case "$target_triplet" in {
+ { "native" } {
+ set target_list "unix"
+ }
+ { "sparc64-*elf" } {
+ set target_list "sparc64-sim"
+ }
+ { "mips-*elf" } {
+ set target_list "mips-sim wilma barney"
+ }
+ { "mips-lsi-elf" } {
+ set target_list "mips-lsi-sim{,soft-float,el}"
+ }
+ { "sh-*hms" } {
+ set target_list { "sh-hms-sim" "bloozy" }
+ }
+ }
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>In this case, we have support for several cross compilers,
+ that all run on this host. For testing on operating systems that
+ don't support Expect, DejaGnu can be run on the local build
+ machine, and it can connect to the remote host and run all the
+ tests for this cross compiler on that host. All the remote OS
+ requires is a working telnetd.</P
+><P
+>As you can see, all one does is set the variable
+ <SPAN
+CLASS="SYMBOL"
+>target_list</SPAN
+> to the list of targets and options to
+ test. The simple settings, like for
+ <I
+CLASS="EMPHASIS"
+>sparc64-elf</I
+> only require setting the name of
+ the single board config file. The <I
+CLASS="EMPHASIS"
+>mips-elf</I
+>
+ target is more complicated. Here it sets the list to three target
+ boards. One is the default mips target, and both
+ <I
+CLASS="EMPHASIS"
+>wilma</I
+> <I
+CLASS="EMPHASIS"
+>barney</I
+> are
+ symbolic names for other mips boards. Symbolic names are covered
+ in the <A
+HREF="addboard.html"
+><I
+>Adding A New Board</I
+></A
+> chapter. The more complicated
+ example is the one for <I
+CLASS="EMPHASIS"
+>mips-lsi-elf</I
+>. This one
+ runs the tests with multiple iterations using all possible
+ combinations of the <TT
+CLASS="OPTION"
+>--soft-float</TT
+> and the
+ <TT
+CLASS="OPTION"
+>--el</TT
+> (little endian) option. Needless to say,
+ this last feature is mostly compiler specific.</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="customizing.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="boardconfig.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Customizing DejaGnu</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="customizing.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Board Config File</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/hints.html b/doc/overview/hints.html
new file mode 100644
index 0000000..aaf59ee
--- /dev/null
+++ b/doc/overview/hints.html
@@ -0,0 +1,258 @@
+<HTML
+><HEAD
+><TITLE
+>Hints On Writing A Test Case</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Extending DejaGnu"
+HREF="extending.html"><LINK
+REL="PREVIOUS"
+TITLE="Adding A Test Case To A Test Suite."
+HREF="adding.html"><LINK
+REL="NEXT"
+TITLE="Special variables used by test cases."
+HREF="tvariables.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="adding.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Extending DejaGnu</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="tvariables.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="HINTS"
+>Hints On Writing A Test Case</A
+></H1
+><P
+>It is safest to write patterns that match all the output
+ generated by the tested program; this is called closure.
+ If a pattern does not match the entire output, any output that
+ remains will be examined by the next <B
+CLASS="COMMAND"
+>expect</B
+>
+ command. In this situation, the precise boundary that determines
+ which <B
+CLASS="COMMAND"
+>expect</B
+> command sees what is very
+ sensitive to timing between the Expect task and the task running
+ the tested tool. As a result, the test may sometimes appear to
+ work, but is likely to have unpredictable results. (This problem
+ is particularly likely for interactive tools, but can also
+ affect batch tools---especially for tests that take a long time
+ to finish.) The best way to ensure closure is to use the
+ <TT
+CLASS="OPTION"
+>-re</TT
+> option for the <B
+CLASS="COMMAND"
+>expect</B
+>
+ command to write the pattern as a full regular expressions; then
+ you can match the end of output using a <I
+CLASS="EMPHASIS"
+>$</I
+>.
+ It is also a good idea to write patterns that match all
+ available output by using <I
+CLASS="EMPHASIS"
+>.*\</I
+> after the
+ text of interest; this will also match any intervening blank
+ lines. Sometimes an alternative is to match end of line using
+ <I
+CLASS="EMPHASIS"
+>\r</I
+> or <I
+CLASS="EMPHASIS"
+>\n</I
+>, but this is
+ usually too dependent on terminal settings.</P
+><P
+>Always escape punctuation, such as <I
+CLASS="EMPHASIS"
+>(</I
+>
+ or <I
+CLASS="EMPHASIS"
+>"</I
+>, in your patterns; for example, write
+ <I
+CLASS="EMPHASIS"
+>\(</I
+>. If you forget to escape punctuation,
+ you will usually see an error message like <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>extra
+ characters after close-quote.</PRE
+></TD
+></TR
+></TABLE
+></P
+><P
+>If you have trouble understanding why a pattern does not
+ match the program output, try using the <TT
+CLASS="OPTION"
+>--debug</TT
+>
+ option to <B
+CLASS="COMMAND"
+>runtest</B
+>, and examine the debug log
+ carefully.</P
+><P
+>Be careful not to neglect output generated by setup rather
+ than by the interesting parts of a test case. For example,
+ while testing GDB, I issue a send <I
+CLASS="EMPHASIS"
+>set height
+ 0\n</I
+> command. The purpose is simply to make sure GDB
+ never calls a paging program. The <I
+CLASS="EMPHASIS"
+>set
+ height</I
+> command in GDB does not generate any
+ output; but running any command makes GDB issue a new
+ <I
+CLASS="EMPHASIS"
+>(gdb) </I
+> prompt. If there were no
+ <B
+CLASS="COMMAND"
+>expect</B
+> command to match this prompt, the
+ output <I
+CLASS="EMPHASIS"
+>(gdb) </I
+> begins the text seen by the
+ next <B
+CLASS="COMMAND"
+>expect</B
+> command---which might make that
+ pattern fail to match.</P
+><P
+>To preserve basic sanity, I also recommended that no test
+ ever pass if there was any kind of problem in the test case. To
+ take an extreme case, tests that pass even when the tool will
+ not spawn are misleading. Ideally, a test in this sort of
+ situation should not fail either. Instead, print an error
+ message by calling one of the DejaGnu procedures
+ <B
+CLASS="COMMAND"
+>error</B
+> or <B
+CLASS="COMMAND"
+>warning</B
+>.</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="adding.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="tvariables.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Adding A Test Case To A Test Suite.</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="extending.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Special variables used by test cases.</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/new.html b/doc/overview/new.html
new file mode 100644
index 0000000..edf4c6d
--- /dev/null
+++ b/doc/overview/new.html
@@ -0,0 +1,228 @@
+<HTML
+><HEAD
+><TITLE
+>What's New In This Release</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Overview"
+HREF="overview.html"><LINK
+REL="PREVIOUS"
+TITLE="Overview"
+HREF="overview.html"><LINK
+REL="NEXT"
+TITLE="Design Goals"
+HREF="designgoals.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="overview.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 1. Overview</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="designgoals.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="NEW"
+>What's New In This Release</A
+></H1
+><P
+>This release has a number of substantial changes over version
+ 1.3. The most visible change is that the version of Expect and Tcl
+ included in the release are up-to-date with the current stable net
+ releases. The biggest change is years of modifications to the
+ target configuration system, used for cross testing. While this
+ greatly improved cross testing, is has made that subsystem very
+ complicated. The goal is to have this entirely rewritten using
+ <SPAN
+CLASS="PRODUCTNAME"
+>iTcl</SPAN
+> by the next release. Other changes
+ are:</P
+><P
+></P
+><UL
+><LI
+><P
+>More builtin support for building target binaries
+ with the correct linker flags. Currently this only works with
+ <SPAN
+CLASS="PRODUCTNAME"
+>GCC</SPAN
+> as the cross compiler,
+ preferably with a target supported by
+ <A
+HREF="builtins.html#LIBGLOSS"
+><I
+>Libgloss</I
+></A
+>.</P
+></LI
+><LI
+><P
+>Lots of little bug fixes from years of heavy
+ use at Cygnus Solutions.</P
+></LI
+><LI
+><P
+>DejaGnu now uses
+ <SPAN
+CLASS="PRODUCTNAME"
+>Automake</SPAN
+> for Makefile
+ configuration.</P
+></LI
+><LI
+><P
+>Updated documentation, now in SGML
+ (using the <A
+HREF="http://nis-www.lanl.gov/~rosalia/mydocs/docbook-intro.html"
+TARGET="_top"
+>free
+ GNU DocBook tools</A
+>) format.</P
+></LI
+><LI
+><P
+>NT support. There is beta level support for NT
+ that is still a work in progress. This requires the <A
+HREF="http://sources.redhat.com"
+TARGET="_top"
+>Cygwin</A
+> POSIX system
+ for NT.</P
+></LI
+></UL
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="CYGWIN"
+>NT Support</A
+></H2
+><P
+>To use DejaGnu on NT, you need to first install the
+ <A
+HREF="http://sources.redhat.com"
+TARGET="_top"
+>Cygwin</A
+>
+ release. This works as of the B20.1 release. Cygwin is a POSIX
+ system for NT. This covers both utility programs, and a libray
+ that adds POSIX system calls to NT. Among them is pseudo tty
+ support for NT that emulates the POSIX pty standard. The
+ latest Cygwin is always available from <A
+HREF="http://sources.redhat.com"
+TARGET="_top"
+>this location</A
+>. This
+ works well enough to run <I
+CLASS="EMPHASIS"
+>"make check"</I
+> of
+ the GNU development tree on NT after a native build. But the
+ nature of pty's on NT is still evolving. Your mileage may
+ vary...</P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="overview.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="designgoals.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Overview</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="overview.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Design Goals</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
diff --git a/doc/overview/outputfiles.html b/doc/overview/outputfiles.html
new file mode 100644
index 0000000..97931b3
--- /dev/null
+++ b/doc/overview/outputfiles.html
@@ -0,0 +1,596 @@
+<HTML
+><HEAD
+><TITLE
+>The files DejaGnu produces.</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Running Tests"
+HREF="runningtests.html"><LINK
+REL="PREVIOUS"
+TITLE="Runtest"
+HREF="runtest.html"><LINK
+REL="NEXT"
+TITLE="Customizing DejaGnu"
+HREF="customizing.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="runtest.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 2. Running Tests</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="customizing.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="OUTPUTFILES"
+>The files DejaGnu produces.</A
+></H1
+><P
+>DejaGnu always writes two kinds of output files: summary
+ logs and detailed logs. The contents of both of these are
+ determined by your tests.</P
+><P
+>For troubleshooting, a third kind of output file is useful:
+ use <TT
+CLASS="OPTION"
+>--debug</TT
+> to request an output file showing
+ details of what <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> is doing
+ internally.</P
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="SUM"
+>Summary File</A
+></H2
+><P
+>DejaGnu always produces a summary output file
+ <TT
+CLASS="FILENAME"
+>tool.sum</TT
+>. This summary shows the names of
+ all test files run; for each test file, one line of output from
+ each <B
+CLASS="COMMAND"
+>pass</B
+> command (showing status
+ <I
+CLASS="EMPHASIS"
+>PASS</I
+> or <I
+CLASS="EMPHASIS"
+>XPASS</I
+>) or
+ <B
+CLASS="COMMAND"
+>fail</B
+> command (status
+ <I
+CLASS="EMPHASIS"
+>FAIL</I
+> or <I
+CLASS="EMPHASIS"
+>XFAIL</I
+>);
+ trailing summary statistics that count passing and failing tests
+ (expected and unexpected); and the full pathname and version
+ number of the tool tested. (All possible outcomes, and all
+ errors, are always reflected in the summary output file,
+ regardless of whether or not you specify
+ <TT
+CLASS="OPTION"
+>--all</TT
+>.)</P
+><P
+>If any of your tests use the procedures
+ <B
+CLASS="COMMAND"
+>unresolved</B
+>, <B
+CLASS="COMMAND"
+>unsupported</B
+>,
+ or <B
+CLASS="COMMAND"
+>runtested</B
+>, the summary output also
+ tabulates the corresponding outcomes.</P
+><P
+>For example, after <B
+CLASS="COMMAND"
+>runtest --tool
+ binutils</B
+>, look for a summary log in
+ <TT
+CLASS="FILENAME"
+>binutils.sum</TT
+>. Normally, DejaGnu writes this
+ file in your current working directory; use the
+ <TT
+CLASS="OPTION"
+>--outdir</TT
+> option to select a different
+ directory.</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 2-1. Here is a short sample summary log</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="SCREEN"
+> Test Run By rob on Mon May 25 21:40:57 PDT 1992
+ === gdb tests ===
+ Running ./gdb.t00/echo.exp ...
+ PASS: Echo test
+ Running ./gdb.all/help.exp ...
+ PASS: help add-symbol-file
+ PASS: help aliases
+ PASS: help breakpoint "bre" abbreviation
+ FAIL: help run "r" abbreviation
+ Running ./gdb.t10/crossload.exp ...
+ PASS: m68k-elf (elf-big) explicit format; loaded
+ XFAIL: mips-ecoff (ecoff-bigmips) "ptype v_signed_char" signed C types
+ === gdb Summary ===
+ # of expected passes 5
+ # of expected failures 1
+ # of unexpected failures 1
+ /usr/latest/bin/gdb version 4.6.5 -q
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="LOG"
+>Log File</A
+></H2
+><P
+>DejaGnu also saves a detailed log file
+ <TT
+CLASS="FILENAME"
+>tool.log</TT
+>, showing any output generated by
+ tests as well as the summary output. For example, after
+ <B
+CLASS="COMMAND"
+>runtest --tool binutils</B
+>, look for a detailed
+ log in <TT
+CLASS="FILENAME"
+>binutils.log</TT
+>. Normally, DejaGnu
+ writes this file in your current working directory; use the
+ <TT
+CLASS="OPTION"
+>--outdir</TT
+> option to select a different
+ directory.</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 2-2. Here is a brief example showing a detailed log for
+ <SPAN
+CLASS="PRODUCTNAME"
+>G++</SPAN
+> tests</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="SCREEN"
+> Test Run By rob on Mon May 25 21:40:43 PDT 1992
+
+ === g++ tests ===
+
+ --- Running ./g++.other/t01-1.exp ---
+ PASS: operate delete
+
+ --- Running ./g++.other/t01-2.exp ---
+ FAIL: i960 bug EOF
+ p0000646.C: In function `int warn_return_1 ()':
+ p0000646.C:109: warning: control reaches end of non-void function
+ p0000646.C: In function `int warn_return_arg (int)':
+ p0000646.C:117: warning: control reaches end of non-void function
+ p0000646.C: In function `int warn_return_sum (int, int)':
+ p0000646.C:125: warning: control reaches end of non-void function
+ p0000646.C: In function `struct foo warn_return_foo ()':
+ p0000646.C:132: warning: control reaches end of non-void function
+
+ --- Running ./g++.other/t01-4.exp ---
+ FAIL: abort
+ 900403_04.C:8: zero width for bit-field `foo'
+ --- Running ./g++.other/t01-3.exp ---
+ FAIL: segment violation
+ 900519_12.C:9: parse error before `;'
+ 900519_12.C:12: Segmentation violation
+ /usr/latest/bin/gcc: Internal compiler error: program cc1plus got fatal signal
+
+ === g++ Summary ===
+
+ # of expected passes 1
+ # of expected failures 3
+ /usr/latest/bin/g++ version cygnus-2.0.1
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="DEBUGFILE"
+>Debug Log File</A
+></H2
+><P
+>With the <TT
+CLASS="OPTION"
+>--debug</TT
+> option, you can request
+ a log file showing the output from
+ <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> itself, running in debugging
+ mode. This file (<TT
+CLASS="FILENAME"
+>dbg.log</TT
+>, in the directory
+ where you start <B
+CLASS="COMMAND"
+>runtest</B
+>) shows each pattern
+ <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> considers in analyzing test
+ output.</P
+><P
+>This file reflects each <B
+CLASS="COMMAND"
+>send</B
+> command,
+ showing the string sent as input to the tool under test; and
+ each <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> command, showing each
+ pattern it compares with the tool output.</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 2-3. The log messages begin with a message of the form</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="SCREEN"
+>&#13; expect: does {<SPAN
+CLASS="SYMBOL"
+>tool output</SPAN
+>} (spawn_id <SPAN
+CLASS="SYMBOL"
+>n</SPAN
+>)
+ match pattern {<I
+CLASS="EMPHASIS"
+>expected pattern</I
+>}?
+
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>For every unsuccessful match,
+ <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> issues a
+ <I
+CLASS="EMPHASIS"
+>no</I
+> after this message; if other patterns
+ are specified for the same <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+>
+ command, they are reflected also, but without the first part of
+ the message (<I
+CLASS="EMPHASIS"
+>expect... match pattern</I
+>).</P
+><P
+>When <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> finds a match, the
+ log for the successful match ends with <I
+CLASS="EMPHASIS"
+>yes</I
+>,
+ followed by a record of the <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+>
+ variables set to describe a successful match.</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 2-4. Here is an excerpt from the debugging log for a
+ <SPAN
+CLASS="PRODUCTNAME"
+>GDB</SPAN
+> test:</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="SCREEN"
+> send: sent {break gdbme.c:34\n} to spawn id 6
+ expect: does {} (spawn_id 6) match pattern {Breakpoint.*at.* file
+ gdbme.c, line 34.*\(gdb\) $}? no
+ {.*\(gdb\) $}? no
+ expect: does {} (spawn_id 0) match pattern {return} ? no
+ {\(y or n\) }? no
+ {buffer_full}? no
+ {virtual}? no
+ {memory}? no
+ {exhausted}? no
+ {Undefined}? no
+ {command}? no
+ break gdbme.c:34
+ Breakpoint 8 at 0x23d8: file gdbme.c, line 34.
+ (gdb) expect: does {break gdbme.c:34\r\nBreakpoint 8 at 0x23d8:
+ file gdbme.c, line 34.\r\n(gdb) } (spawn_id 6) match pattern
+ {Breakpoint.*at.* file gdbme.c, line 34.*\(gdb\) $}? yes
+ expect: set expect_out(0,start) {18}
+ expect: set expect_out(0,end) {71}
+ expect: set expect_out(0,string) {Breakpoint 8 at 0x23d8: file
+ gdbme.c, line 34.\r\n(gdb) }
+ epect: set expect_out(spawn_id) {6}
+ expect: set expect_out(buffer) {break gdbme.c:34\r\nBreakpoint 8
+ at 0x23d8: file gdbme.c, line 34.\r\n(gdb) }
+ PASS: 70 0 breakpoint line number in file
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>This example exhibits three properties of
+ <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> and
+ <SPAN
+CLASS="PRODUCTNAME"
+>DejaGnu</SPAN
+> that might be surprising at
+ first glance:</P
+><P
+></P
+><UL
+><LI
+STYLE="list-style-type: disc"
+><P
+>Empty output for the first attempted match. The
+ first set of attempted matches shown ran against the output
+ <I
+CLASS="EMPHASIS"
+>{}</I
+> --- that is, no
+ output. <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> begins
+ attempting to match the patterns supplied immediately; often,
+ the first pass is against incomplete output (or completely
+ before all output, as in this case).</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Interspersed tool output. The beginning of
+ the log entry for the second attempted match may be hard to
+ spot: this is because the prompt <I
+CLASS="EMPHASIS"
+>{(gdb) }</I
+>
+ appears on the same line, just before the
+ <I
+CLASS="EMPHASIS"
+>expect:</I
+> that marks the beginning of the
+ log entry.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Fail-safe patterns. Many of the patterns
+ tested are fail-safe patterns provided by
+ <SPAN
+CLASS="PRODUCTNAME"
+>GDB</SPAN
+> testing utilities, to reduce
+ possible indeterminacy. It is useful to anticipate potential
+ variations caused by extreme system conditions
+ (<SPAN
+CLASS="PRODUCTNAME"
+>GDB</SPAN
+> might issue the message
+ <I
+CLASS="EMPHASIS"
+>virtual memory exhausted</I
+> in rare
+ circumstances), or by changes in the tested program
+ (<I
+CLASS="EMPHASIS"
+>Undefined command</I
+> is the likeliest
+ outcome if the name of a tested command changes).</P
+><P
+>The pattern <I
+CLASS="EMPHASIS"
+>{return}</I
+> is a
+ particularly interesting fail-safe to notice; it checks for an
+ unexpected <B
+CLASS="KEYCAP"
+>RET</B
+> prompt. This may happen,
+ for example, if the tested tool can filter output through a
+ pager.</P
+><P
+>These fail-safe patterns (like the debugging log itself)
+ are primarily useful while developing test scripts. Use the
+ <B
+CLASS="COMMAND"
+>error</B
+> procedure to make the actions for
+ fail-safe patterns produce messages starting with
+ <I
+CLASS="EMPHASIS"
+>ERROR</I
+> on standard output, and in the
+ detailed log file.</P
+></LI
+></UL
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="runtest.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="customizing.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Runtest</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="runningtests.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Customizing DejaGnu</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/overview.html b/doc/overview/overview.html
new file mode 100644
index 0000000..6be010f
--- /dev/null
+++ b/doc/overview/overview.html
@@ -0,0 +1,279 @@
+<HTML
+><HEAD
+><TITLE
+>Overview</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="Abstract"
+HREF="preface.html"><LINK
+REL="NEXT"
+TITLE="What's New In This Release"
+HREF="new.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="preface.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="new.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="OVERVIEW"
+>Chapter 1. Overview</A
+></H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="overview.html#WHATIS"
+>What is DejaGnu ?</A
+></DT
+><DT
+><A
+HREF="new.html"
+>What's New In This Release</A
+></DT
+><DT
+><A
+HREF="designgoals.html"
+>Design Goals</A
+></DT
+><DT
+><A
+HREF="posix.html"
+>A POSIX conforming test framework</A
+></DT
+></DL
+></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="WHATIS"
+>What is DejaGnu ?</A
+></H1
+><P
+><SPAN
+CLASS="PRODUCTNAME"
+>DejaGnu</SPAN
+> is a framework for
+ testing other programs. Its purpose is to provide a single
+ front end for all tests. Think of it as a custom library of
+ Tcl procedures crafted to support writing a test harness. A
+ <I
+CLASS="EMPHASIS"
+>Test Harness</I
+> is the testing
+ infrastructure that is created to support a specific program
+ or tool. Each program can have multiple test suites, all
+ supported by a single test harness. DejaGnu is written in
+ <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+>, which in turn uses
+ <SPAN
+CLASS="PRODUCTNAME"
+>Tcl</SPAN
+> -- Tool command
+ language. There is more information on Tcl at the <A
+HREF="http://www.scriptics.com"
+TARGET="_top"
+>Scriptics</A
+> web site, and the
+ Expect web site is at <A
+HREF="http://expect.nist.gov"
+TARGET="_top"
+>NIST</A
+>.</P
+><P
+>DejaGnu offers several advantages for testing:</P
+><P
+></P
+><UL
+COMPACT="COMPACT"
+><LI
+STYLE="list-style-type: disc"
+><P
+>The flexibility and consistency of the DejaGnu
+ framework make it easy to write tests for any program, with
+ either batch oriented, or interactive programs.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>DejaGnu provides a layer of abstraction which
+ allows you to write tests that are portable to any host or
+ target where a program must be tested. For instance, a test
+ for <B
+CLASS="COMMAND"
+>GDB</B
+> can run (from any Unix
+ based host) on any target architecture that DejaGnu
+ supports. Currently DejaGnu runs tests on many single board
+ computers, whose operating software ranges from just a boot
+ monitor to a full-fledged, Unix-like realtime OS.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>All tests have the same output format. This
+ makes it easy to integrate testing into other software
+ development processes. DejaGnu's output is designed to be
+ parsed by other filtering script, and it is also human
+ readable.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Using Tcl and expect, it's easy to create wrappers
+ for existing test suites. By incorporating existing tests under
+ DejaGnu, it's easier to have a single set of report analyse
+ programs..</P
+></LI
+></UL
+><P
+>Running tests requires two things: the testing framework, and
+ the test suites themselves. Tests are usually written in
+ <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> using Tcl, but you can also use a
+ Tcl script to run a test suite that is not based on
+ <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+>.
+ (<SPAN
+CLASS="PRODUCTNAME"
+>expect</SPAN
+> script filenames conventionally
+ use <I
+CLASS="EMPHASIS"
+>.exp</I
+> as a suffix; for example, the main
+ implementation of the DejaGnu test driver is in the file
+ <SPAN
+CLASS="PRODUCTNAME"
+>runtest.exp</SPAN
+>.)</P
+><P
+>Julia Menapace first coined the term ``Deja Gnu'' to describe an
+ earlier testing framework at Cygnus Support she had written for
+ <B
+CLASS="COMMAND"
+>GDB</B
+>. When we replaced it with the Expect-based
+ framework, it was like DejaGnu all over again... But more importantly, it
+ was also named after my daughter,<A
+HREF="mailto:deja@welcomehome.org"
+TARGET="_top"
+>Deja Snow Savoye</A
+> (now 9
+ years old in Dec of 1998), who was a toddler during DejaGnu's
+ creation.</P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="preface.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="new.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Abstract</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>What's New In This Release</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/posix.html b/doc/overview/posix.html
new file mode 100644
index 0000000..4a35a55
--- /dev/null
+++ b/doc/overview/posix.html
@@ -0,0 +1,365 @@
+<HTML
+><HEAD
+><TITLE
+>A POSIX conforming test framework</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Overview"
+HREF="overview.html"><LINK
+REL="PREVIOUS"
+TITLE="Design Goals"
+HREF="designgoals.html"><LINK
+REL="NEXT"
+TITLE="Running Tests"
+HREF="runningtests.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="designgoals.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 1. Overview</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="runningtests.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="POSIX"
+>A POSIX conforming test framework</A
+></H1
+><P
+>DejaGnu conforms to the POSIX 1003.3 standard for test
+ frameworks. I was also a member of that committe.</P
+><P
+>The POSIX standard 1003.3 defines what a testing framework needs to
+ provide, in order to permit the creation of POSIX conformance test
+ suites. This standard is primarily oriented to running POSIX conformance
+ tests, but its requirements also support testing of features not related
+ to POSIX conformance. POSIX 1003.3 does not specify a particular testing
+ framework, but at this time there is only one other POSIX conforming test
+ framework: TET. TET was created by Unisoft for a consortium comprised of
+ X/Open, Unix International, and the Open Software Foundation.</P
+><P
+>The POSIX documentation refers to <I
+CLASS="FIRSTTERM"
+>assertions</I
+>.
+ An assertion is a description of behavior. For example, if a standard
+ says ``The sun shall shine'', a corresponding assertion might be ``The
+ sun is shining.'' A test based on this assertion would pass or fail
+ depending on whether it is daytime or nighttime. It is important to note
+ that the standard being tested is never 1003.3; the standard being tested
+ is some other standard, for which the assertions were written.</P
+><P
+>As there is no test suite to test testing frameworks for POSIX
+ 1003.3 conformance, verifying conformance to this standard is done by
+ repeatedly reading the standard and experimenting. One of the main
+ things 1003.3 does specify is the set of allowed output messages, and
+ their definitions. Four messages are supported for a required feature of
+ POSIX conforming systems, and a fifth for a conditional feature. DejaGnu
+ supports the use of all five output messages; in this sense a test suite
+ that uses exactly these messages can be considered POSIX conforming.
+ These definitions specify the output of a test
+ case:</P
+><P
+></P
+><DL
+><DT
+>PASS</DT
+><DD
+><P
+>A test has succeeded. That is, it demonstrated that
+ the assertion is true.</P
+></DD
+><DT
+>XFAIL</DT
+><DD
+><P
+>POSIX 1003.3 does not incorporate the notion of
+ expected failures, so <I
+CLASS="EMPHASIS"
+>PASS</I
+>, instead of
+ <I
+CLASS="EMPHASIS"
+>XPASS</I
+>, must also be returned for test cases
+ which were expected to fail and did not. This means that
+ <I
+CLASS="EMPHASIS"
+>PASS</I
+> is in some sense more ambiguous than if
+ <I
+CLASS="EMPHASIS"
+>XPASS</I
+> is also used.</P
+></DD
+><DT
+>FAIL</DT
+><DD
+><P
+>A test has produced the bug it was intended to
+ capture. That is, it has demonstrated that the assertion is false.
+ The <I
+CLASS="EMPHASIS"
+>FAIL</I
+> message is based on the test case only.
+ Other messages are used to indicate a failure of the framework. As
+ with <I
+CLASS="EMPHASIS"
+>PASS</I
+>, POSIX tests must return
+ <I
+CLASS="EMPHASIS"
+>FAIL</I
+> rather than <I
+CLASS="EMPHASIS"
+>XFAIL</I
+> even
+ if a failure was expected.</P
+></DD
+><DT
+>UNRESOLVED</DT
+><DD
+><P
+>A test produced indeterminate results. Usually, this
+ means the test executed in an unexpected fashion; this outcome
+ requires that a human being go over results, to determine if the test
+ should have passed or failed. This message is also used for any test
+ that requires human intervention because it is beyond the abilities
+ of the testing framework. Any unresolved test should resolved to
+ <I
+CLASS="EMPHASIS"
+>PASS</I
+> or <I
+CLASS="EMPHASIS"
+>FAIL</I
+> before a test
+ run can be considered finished.</P
+><P
+>Note that for POSIX, each assertion must produce a test result
+ code. If the test isn't actually run, it must produce
+ <I
+CLASS="EMPHASIS"
+>UNRESOLVED</I
+> rather than just leaving that test
+ out of the output. This means that you have to be careful when
+ writing tests, to not carelessly use tcl statements like
+ <I
+CLASS="EMPHASIS"
+>return</I
+>---if you alter the flow of control of the
+ tcl code you must insure that every test still produces some result
+ code.</P
+><P
+>Here are some of the ways a test may wind up
+ <I
+CLASS="EMPHASIS"
+>UNRESOLVED</I
+>:</P
+></DD
+></DL
+><P
+></P
+><UL
+><LI
+STYLE="list-style-type: disc"
+><P
+>A test's execution is
+ interrupted.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>A test does not produce a clear
+ result. This is usually because there was an
+ <I
+CLASS="EMPHASIS"
+>ERROR</I
+> from DejaGnu while processing
+ the test, or because there were three or more
+ <I
+CLASS="EMPHASIS"
+>WARNING</I
+> messages. Any
+ <I
+CLASS="EMPHASIS"
+>WARNING</I
+> or <I
+CLASS="EMPHASIS"
+>ERROR</I
+>
+ messages can invalidate the output of the test. This
+ usually requires a human being to examine the output to
+ determine what really happened---and to improve the test
+ case.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>A test depends on a previous test, which
+ fails.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>The test was set up
+ incorrectly.</P
+></LI
+></UL
+><P
+></P
+><DL
+><DT
+>UNTESTED</DT
+><DD
+><P
+>A test was not run. This is a placeholder, used
+ when there is no real test case yet.</P
+></DD
+></DL
+><P
+>The only remaining output message left is intended to test
+ features that are specified by the applicable POSIX standard as
+ conditional:</P
+><P
+></P
+><DL
+><DT
+>UNSUPPORTED</DT
+><DD
+><P
+>There is no support for the tested case. This may
+ mean that a conditional feature of an operating system, or of a
+ compiler, is not implemented. DejaGnu also uses this message when
+ a testing environment (often a ``bare board'' target) lacks basic
+ support for compiling or running the test case. For example, a
+ test for the system subroutine <I
+CLASS="EMPHASIS"
+>gethostname</I
+>
+ would never work on a target board running only a boot
+ monitor.</P
+></DD
+></DL
+><P
+>DejaGnu uses the same output procedures to produce these messages
+ for all test suites, and these procedures are already known to conform
+ to POSIX 1003.3. For a DejaGnu test suite to conform to POSIX 1003.3,
+ you must avoid the <I
+CLASS="EMPHASIS"
+>setup</I
+>xfail} procedure as
+ described in the <I
+CLASS="EMPHASIS"
+>PASS</I
+> section above, and you must
+ be careful to return <I
+CLASS="EMPHASIS"
+>UNRESOLVED</I
+> where appropriate,
+ as described in the <I
+CLASS="EMPHASIS"
+>UNRESOLVED</I
+> section
+ above.</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="designgoals.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="runningtests.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Design Goals</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="overview.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Running Tests</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/preface.html b/doc/overview/preface.html
new file mode 100644
index 0000000..acceb36
--- /dev/null
+++ b/doc/overview/preface.html
@@ -0,0 +1,157 @@
+<HTML
+><HEAD
+><TITLE
+>Abstract</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="NEXT"
+TITLE="Overview"
+HREF="overview.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="book1.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="overview.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="PREFACE"
+><H1
+><A
+NAME="PREFACE"
+>Abstract</A
+></H1
+><P
+>This document attempts to describe the functionality of
+ DejaGnu, the GNU Testing Framework. DejaGnu is entirely written in
+ <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+>, which uses
+ <SPAN
+CLASS="PRODUCTNAME"
+>Tcl</SPAN
+> as a command
+ language. <SPAN
+CLASS="PRODUCTNAME"
+>Expect</SPAN
+> serves as a very
+ programmable shell; you can run any program, as with the usual
+ Unix command shells---but once the program is started, your
+ test script has fully programmable control of
+ its input and output. This does not just apply to the programs
+ under test; <B
+CLASS="COMMAND"
+>expect</B
+> can also run any auxiliary
+ program, such as <B
+CLASS="COMMAND"
+>diff</B
+> or <B
+CLASS="COMMAND"
+>sh</B
+>,
+ with full control over its input and output.</P
+><P
+>DejaGnu itself is merely a framework for creation of a test
+ suites. Test suites are distributed separately for each GNU
+ tool.</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="overview.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>DejaGnu</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Overview</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/reference.html b/doc/overview/reference.html
new file mode 100644
index 0000000..9c2f57b
--- /dev/null
+++ b/doc/overview/reference.html
@@ -0,0 +1,373 @@
+<HTML
+><HEAD
+><TITLE
+>Reference</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="Special variables used by test cases."
+HREF="tvariables.html"><LINK
+REL="NEXT"
+TITLE="Builtin Procedures"
+HREF="builtins.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="tvariables.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="builtins.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="REFERENCE"
+>Chapter 5. Reference</A
+></H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="reference.html#INSTALLATION"
+>Installation</A
+></DT
+><DT
+><A
+HREF="builtins.html"
+>Builtin Procedures</A
+></DT
+><DT
+><A
+HREF="filemap.html"
+>File Map</A
+></DT
+></DL
+></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="INSTALLATION"
+>Installation</A
+></H1
+><P
+>Once you have the DejaGnu source unpacked and available, you must
+ first configure the software to specify where it is to run (and the
+ associated defaults); then you can proceed to installing it.</P
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="CONFIGURING"
+>Configuring DejaGnu</A
+></H2
+><P
+>It is usually best to configure in a directory separate from the
+ source tree, specifying where to find the source with the optional
+ <I
+CLASS="EMPHASIS"
+>--srcdir</I
+> option to
+ <I
+CLASS="EMPHASIS"
+>configure</I
+>. DejaGnu uses the GNU
+ <I
+CLASS="EMPHASIS"
+>autoconf</I
+> to configure itself. For more info on using
+ autoconf, read the GNU autoconf manual. To configure, execute the
+ <TT
+CLASS="FILENAME"
+>configure</TT
+> program, no other options are
+ required. For an example, to configure in a seperate tree for objects,
+ execute the configure script from the source tree like this:</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="SCREEN"
+> ../dejagnu-1.4/configure
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+>DejaGnu doesn't care at config time if it's for testing a native
+ system or a cross system. That is determined at runtime by using the
+ config files.</P
+><P
+>You may also want to use the <B
+CLASS="COMMAND"
+>configure</B
+> option
+ <I
+CLASS="EMPHASIS"
+>--prefix</I
+> to specify where you want DejaGnu and its
+ supporting code installed. By default, installation is in subdirectories
+ of <TT
+CLASS="FILENAME"
+>/usr/local</TT
+>, but you can select any alternate
+ directory <SPAN
+CLASS="SYMBOL"
+>altdir</SPAN
+> by including
+ <TT
+CLASS="OPTION"
+>--prefix</TT
+>{altdir}} on the
+ <B
+CLASS="COMMAND"
+>configure</B
+> command line. (This value is captured in
+ the Makefile variables <I
+CLASS="EMPHASIS"
+>prefix</I
+> and
+ <I
+CLASS="EMPHASIS"
+>exec</I
+>prefix}.)</P
+><P
+>Save for a small number of example tests, the DejaGnu distribution
+ itself does not include any test suites; these are available
+ separately. Test suites for the GNU development tools are included in
+ those releases. After configuring the top-level DejaGnu directory, unpack
+ and configure the test directories for the tools you want to test; then,
+ in each test directory, run <I
+CLASS="EMPHASIS"
+>make check</I
+> to build
+ auxiliary programs required by some of the tests, and run the test
+ suites.</P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="INSTALLING"
+>Installing DejaGnu</A
+></H2
+><P
+>To install DejaGnu in your filesystem (either in
+ <TT
+CLASS="FILENAME"
+>/usr/local</TT
+>, or as specified by your
+ <I
+CLASS="EMPHASIS"
+>--prefix</I
+> option to <I
+CLASS="EMPHASIS"
+>configure</I
+>),
+ execute.</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="SCREEN"
+> eg$ make install
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+><I
+CLASS="EMPHASIS"
+>make install</I
+>does thes things for
+ DejaGnu:</P
+><P
+></P
+><UL
+><LI
+STYLE="list-style-type: disc"
+><P
+>Look in the path specified for executables
+ <SPAN
+CLASS="SYMBOL"
+>$exec_prefix</SPAN
+>) for directories called
+ <TT
+CLASS="FILENAME"
+>lib</TT
+> and <TT
+CLASS="FILENAME"
+>bin</TT
+>. If these
+ directories do not exist, <I
+CLASS="EMPHASIS"
+>make install</I
+> creates
+ them.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Create another directory in the
+ <TT
+CLASS="FILENAME"
+>share</TT
+> directory, called
+ <TT
+CLASS="FILENAME"
+>dejagnu</TT
+>, and copy all the library files into
+ it.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Create a directory in the
+ <TT
+CLASS="FILENAME"
+>dejagnu/share</TT
+> directory, called
+ <TT
+CLASS="FILENAME"
+>config</TT
+>, and copy all the configuration files into
+ it.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Copy the <I
+CLASS="EMPHASIS"
+>runtest</I
+> shell script into
+ <TT
+CLASS="FILENAME"
+>$exec_prefix/bin</TT
+>.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Copy <TT
+CLASS="FILENAME"
+>runtest.exp</TT
+> into
+ <TT
+CLASS="FILENAME"
+>$exec_prefix/lib/dejagnu</TT
+>. This is the main Tcl
+ code implementing DejaGnu.</P
+></LI
+></UL
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="tvariables.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="builtins.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Special variables used by test cases.</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Builtin Procedures</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/releng.html b/doc/overview/releng.html
new file mode 100644
index 0000000..58f9cd4
--- /dev/null
+++ b/doc/overview/releng.html
@@ -0,0 +1,354 @@
+<HTML
+><HEAD
+><TITLE
+>Remote Host Testing</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Customizing DejaGnu"
+HREF="customizing.html"><LINK
+REL="PREVIOUS"
+TITLE="Board Config File"
+HREF="boardconfig.html"><LINK
+REL="NEXT"
+TITLE="Config File Values"
+HREF="configfile.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="boardconfig.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 3. Customizing DejaGnu</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="configfile.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="RELENG"
+>Remote Host Testing</A
+></H1
+><DIV
+CLASS="NOTE"
+><BLOCKQUOTE
+CLASS="NOTE"
+><P
+><B
+>Note: </B
+>Thanks to Dj Delorie for the original paper that
+ this section is based on.</P
+></BLOCKQUOTE
+></DIV
+><P
+>DejaGnu also supports running the tests on a remote
+ host. To set this up, the remote host needs an ftp server, and a
+ telnet server. Currently foreign operating systems used as
+ remote hosts are VxWorks, VRTX, Dos/Win3.1, MacOS, and
+ win95/win98/NT.</P
+><P
+>The recommended source for a win95/win98/NT based ftp
+ server is to get IIS (either IIS 1 or Personal Web Server) from
+ <A
+HREF="http://www.microsoft.com"
+TARGET="_top"
+>http://www.microsoft.com</A
+>.
+ When you install it, make sure you install the FTP server - it's
+ not selected by default. Go into the IIS manager and change the
+ FTP server so that it does not allow anonymous ftp. Set the home
+ directory to the root directory (i.e. c:\) of a suitable
+ drive. Allow writing via ftp.</P
+><P
+>It will create an account like IUSR_FOOBAR where foobar is
+ the name of your machine. Go into the user editor and give that
+ account a password that you don't mind hanging around in the
+ clear (i.e. not the same as your admin or personal
+ passwords). Also, add it to all the various permission groups.</P
+><P
+>You'll also need a telnet server. For win95/win98/NT, go
+ to the <A
+HREF="http://ataman.com"
+TARGET="_top"
+>Ataman</A
+> web site,
+ pick up the Ataman Remote Logon Services for Windows, and
+ install it. You can get started on the eval period anyway. Add
+ IUSR_FOOBAR to the list of allowed users, set the HOME directory
+ to be the same as the FTP default directory. Change the Mode
+ prompt to simple.</P
+><P
+>Ok, now you need to pick a directory name to do all the
+ testing in. For the sake of this example, we'll call it piggy
+ (i.e. c:\piggy). Create this directory.</P
+><P
+>You'll need a unix machine. Create a directory for the
+ scripts you'll need. For this example, we'll use
+ /usr/local/swamp/testing. You'll need to have a source tree
+ somewhere, say /usr/src/devo. Now, copy some files from
+ releng's area in SV to your machine:</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 3-6. Remote host setup</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="SCREEN"
+> cd /usr/local/swamp/testing
+ mkdir boards
+ scp darkstar.welcomehome.org:/dejagnu/cst/bin/MkTestDir .
+ scp darkstar.welcomehome.org:/dejagnu/site.exp .
+ scp darkstar.welcomehome.org:/dejagnu/boards/useless98r2.exp boards/foobar.exp
+ export DEJAGNU=/usr/local/swamp/testing/site.exp
+
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>You must edit the boards/foobar.exp file to reflect your
+ machine; change the hostname (foobar.com), username
+ (iusr_foobar), password, and ftp_directory (c:/piggy) to match
+ what you selected.</P
+><P
+>Edit the global <TT
+CLASS="FILENAME"
+> site.exp</TT
+> to reflect your
+ boards directory:</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 3-7. Add The Board Directory</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> lappend boards_dir "/usr/local/swamp/testing/boards"
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>Now run MkTestDir, which is in the contrib
+ directory. The first parameter is the toolchain prefix, the
+ second is the location of your devo tree. If you are testing a
+ cross compiler (ex: you have sh-hms-gcc.exe in your PATH on
+ the PC), do something like this:</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 3-8. Setup Cross Remote Testing</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> ./MkTestDir sh-hms /usr/dejagnu/src/devo
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>If you are testing a native PC compiler (ex: you have
+ gcc.exe in your PATH on the PC), do this:</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 3-9. Setup Native Remote Testing</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> ./MkTestDir '' /usr/dejagnu/src/devo
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>To test the setup, <B
+CLASS="COMMAND"
+>ftp</B
+> to your PC
+ using the username (iusr_foobar) and password you selected. CD
+ to the test directory. Upload a file to the PC. Now telnet to
+ your PC using the same username and password. CD to the test
+ directory. Make sure the file is there. Type "set" and/or "gcc
+ -v" (or sh-hms-gcc -v) and make sure the default PATH contains
+ the installation you want to test.</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 3-10. Run Test Remotely</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> cd /usr/local/swamp/testing
+ make -k -w check RUNTESTFLAGS="--host_board foobar --target_board foobar -v -v" &#62; check.out 2&#62;&#38;1
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>To run a specific test, use a command like this (for
+ this example, you'd run this from the gcc directory that
+ MkTestDir created):</P
+><DIV
+CLASS="EXAMPLE"
+><P
+><B
+>Example 3-11. Run a Test Remotely</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+> make check RUNTESTFLAGS="--host_board sloth --target_board sloth -v compile.exp=921202-1.c"
+ </PRE
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>Note: if you are testing a cross-compiler, put in the
+ correct target board. You'll also have to download more .exp
+ files and modify them for your local configuration. The -v's
+ are optional.</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="boardconfig.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="configfile.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Board Config File</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="customizing.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Config File Values</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/runningtests.html b/doc/overview/runningtests.html
new file mode 100644
index 0000000..54e3291
--- /dev/null
+++ b/doc/overview/runningtests.html
@@ -0,0 +1,257 @@
+<HTML
+><HEAD
+><TITLE
+>Running Tests</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="PREVIOUS"
+TITLE="A POSIX conforming test framework"
+HREF="posix.html"><LINK
+REL="NEXT"
+TITLE="Runtest"
+HREF="runtest.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="posix.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="runtest.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="CHAPTER"
+><H1
+><A
+NAME="RUNNINGTESTS"
+>Chapter 2. Running Tests</A
+></H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+><A
+HREF="runningtests.html#MAKECHECK"
+>Make check</A
+></DT
+><DT
+><A
+HREF="runtest.html"
+>Runtest</A
+></DT
+><DT
+><A
+HREF="outputfiles.html"
+>The files DejaGnu produces.</A
+></DT
+></DL
+></DIV
+><P
+>There are two ways to execute a test suite. The most
+ common way is when there is existing support in the
+ <TT
+CLASS="FILENAME"
+>Makefile</TT
+>. This support consists of a
+ <I
+CLASS="EMPHASIS"
+>check</I
+> target. The other way is to execute the
+ <B
+CLASS="COMMAND"
+>runtest</B
+> program directly. To run
+ <B
+CLASS="COMMAND"
+>runtest</B
+> directcly from the command line requires
+ either all the correct options, or the <A
+HREF="customizing.html#LOCAL"
+><I
+>Local Config File</I
+></A
+> must be setup
+ correctly.</P
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="MAKECHECK"
+>Make check</A
+></H1
+><P
+>To run tests from an existing collection, first use
+ <B
+CLASS="COMMAND"
+>configure</B
+> as usual to set up the
+ build directory. Then try typing:</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="SCREEN"
+> make check
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+>If the <I
+CLASS="EMPHASIS"
+>check</I
+> target exists, it
+ usually saves you some trouble. For instance, it can set up any
+ auxiliary programs or other files needed by the tests. The most
+ common file the check builds is the
+ <I
+CLASS="EMPHASIS"
+>site.exp</I
+>. The site.exp file contains
+ various variables that DejaGnu used to dertermine the
+ configuration of the program being tested. This is mostly for
+ supporting remote testing.</P
+><P
+>The <I
+CLASS="EMPHASIS"
+>check</I
+> target is supported by GNU
+ <SPAN
+CLASS="PRODUCTNAME"
+>Automake</SPAN
+>. To have DejaGnu support added to your
+ generated <TT
+CLASS="FILENAME"
+>Makefile.in</TT
+>, just add the keyword
+ dejagnu to the AUTOMAKE_OPTIONS variable in your
+ <TT
+CLASS="FILENAME"
+>Makefile.am</TT
+> file.</P
+><P
+>Once you have run <I
+CLASS="EMPHASIS"
+>make check</I
+> to build
+ any auxiliary files, you can invoke the test driver
+ <B
+CLASS="COMMAND"
+>runtest</B
+> directly to repeat the tests.
+ You will also have to execute <B
+CLASS="COMMAND"
+>runtest</B
+>
+ directly for test collections with no
+ <I
+CLASS="EMPHASIS"
+>check</I
+> target in the
+ <TT
+CLASS="FILENAME"
+>Makefile</TT
+>.</P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="posix.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="runtest.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>A POSIX conforming test framework</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Runtest</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/runtest.html b/doc/overview/runtest.html
new file mode 100644
index 0000000..8188e4b
--- /dev/null
+++ b/doc/overview/runtest.html
@@ -0,0 +1,1142 @@
+<HTML
+><HEAD
+><TITLE
+>Runtest</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Running Tests"
+HREF="runningtests.html"><LINK
+REL="PREVIOUS"
+TITLE="Running Tests"
+HREF="runningtests.html"><LINK
+REL="NEXT"
+TITLE="The files DejaGnu produces."
+HREF="outputfiles.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="runningtests.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 2. Running Tests</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="outputfiles.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="RUNTEST"
+>Runtest</A
+></H1
+><P
+><B
+CLASS="COMMAND"
+>runtest</B
+> is the executable test driver
+ for DejaGnu. You can specify two kinds of things on the
+ <B
+CLASS="COMMAND"
+>runtest</B
+> command line: command line options,
+ and Tcl variables for the test scripts. The options are listed
+ alphabetically below.</P
+><P
+><B
+CLASS="COMMAND"
+>runtest</B
+> returns an exit code of
+ <I
+CLASS="EMPHASIS"
+>1</I
+> if any test has an unexpected result; otherwise
+ (if all tests pass or fail as expected) it returns <I
+CLASS="EMPHASIS"
+>0</I
+>
+ as the exit code.</P
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="OUTPUTS"
+>Output States</A
+></H2
+><P
+><TT
+CLASS="FILENAME"
+>runtest</TT
+> flags the outcome of each
+ test as one of these cases. <A
+HREF="posix.html"
+><I
+>A POSIX Conforming Test Framework</I
+></A
+> for a
+ discussion of how POSIX specifies the meanings of these
+ cases.</P
+><P
+></P
+><DL
+><DT
+>PASS</DT
+><DD
+><P
+>The most desirable outcome: the test succeeded, and
+ was expected to succeed.</P
+></DD
+><DT
+>XPASS</DT
+><DD
+><P
+>A pleasant kind of failure: a test was expected to
+ fail, but succeeded. This may indicate progress; inspect the test
+ case to determine whether you should amend it to stop expecting
+ failure.</P
+></DD
+><DT
+>FAIL</DT
+><DD
+><P
+>A test failed, although it was expected to succeed.
+ This may indicate regress; inspect the test case and the failing
+ software to ocate the bug.</P
+></DD
+><DT
+>XFAIL</DT
+><DD
+><P
+>A test failed, but it was expected to fail. This
+ result indicates no change in a known bug. If a test fails because
+ the operating system where the test runs lacks some facility required
+ by the test, the outcome is <I
+CLASS="EMPHASIS"
+>UNSUPPORTED</I
+>
+ instead.</P
+></DD
+><DT
+>UNRESOLVED</DT
+><DD
+><P
+>Output from a test requires manual inspection; the
+ test suite could not automatically determine the outcome. For
+ example, your tests can report this outcome is when a test does not
+ complete as expected.</P
+></DD
+><DT
+>UNTESTED</DT
+><DD
+><P
+>A test case is not yet complete, and in particular
+ cannot yet produce a <I
+CLASS="EMPHASIS"
+>PASS</I
+> or
+ <I
+CLASS="EMPHASIS"
+>FAIL</I
+>. You can also use this outcome in dummy
+ ``tests'' that note explicitly the absence of a real test case for a
+ particular property.</P
+></DD
+><DT
+>UNSUPPORTED</DT
+><DD
+><P
+>A test depends on a conditionally available feature
+ that does not exist (in the configured testing environment). For
+ example, you can use this outcome to report on a test case that does
+ not work on a particular target because its operating system support
+ does not include a required subroutine.</P
+></DD
+></DL
+><P
+>runtest may also display the following messages:</P
+><P
+></P
+><DL
+><DT
+>ERROR</DT
+><DD
+><P
+>Indicates a major problem (detected by the test case
+ itself) in running the test. This is usually an unrecoverable error,
+ such as a missing file or loss of communication to the target. (POSIX
+ test suites should not emit this message; use
+ <I
+CLASS="EMPHASIS"
+>UNSUPPORTED</I
+>, <I
+CLASS="EMPHASIS"
+>UNTESTED</I
+>, or
+ <I
+CLASS="EMPHASIS"
+>UNRESOLVED</I
+> instead, as
+ appropriate.)</P
+></DD
+><DT
+>WARNING</DT
+><DD
+><P
+>Indicates a possible problem in running the
+ test. Usually warnings correspond to recoverable errors, or display
+ an important message about the following tests.</P
+></DD
+><DT
+>NOTE</DT
+><DD
+><P
+>An informational message about the test
+ case.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="INVOKING"
+>Invoking Runtest</A
+></H2
+><P
+>This is the full set of command line options that
+ <TT
+CLASS="FILENAME"
+>runtest</TT
+> recognizes. Arguments may be
+ abbreviated to the shortest unique string.</P
+><P
+></P
+><DL
+><DT
+><TT
+CLASS="OPTION"
+>--all</TT
+> (-a)</DT
+><DD
+><P
+>Display all test output. By default,
+ <I
+CLASS="EMPHASIS"
+>runtest</I
+> shows only the output of tests that
+ produce unexpected results; that is, tests with status
+ <I
+CLASS="EMPHASIS"
+>FAIL</I
+> (unexpected failure),
+ <I
+CLASS="EMPHASIS"
+>XPASS</I
+> (unexpected success), or
+ <I
+CLASS="EMPHASIS"
+>ERROR</I
+> (a severe error in the test case
+ itself). Specify <I
+CLASS="EMPHASIS"
+>--all</I
+> to see output for tests
+ with status <I
+CLASS="EMPHASIS"
+>PASS</I
+> (success, as expected)
+ <I
+CLASS="EMPHASIS"
+>XFAIL</I
+> (failure, as expected), or
+ <I
+CLASS="EMPHASIS"
+>WARNING</I
+> (minor error in the test case
+ itself).</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--build [string]</TT
+></DT
+><DD
+><P
+><I
+CLASS="EMPHASIS"
+>string</I
+> is a full configuration
+ ``triple'' name as used by <B
+CLASS="COMMAND"
+>configure</B
+>. This
+ is the type of machine DejaGnu and the tools to be tested are built
+ on. For a normal cross this is the same as the host, but for a
+ canadian cross, they are seperate.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--host [string]</TT
+></DT
+><DD
+><P
+><SPAN
+CLASS="SYMBOL"
+>string</SPAN
+> is a full configuration
+ ``triple'' name as used by <I
+CLASS="EMPHASIS"
+>configure</I
+>. Use this
+ option to override the default string recorded by your
+ configuration's choice of host. This choice does not change how
+ anything is actually configured unless --build is also specified; it
+ affects <I
+CLASS="EMPHASIS"
+>only</I
+> DejaGnu procedures that compare the
+ host string with particular values. The procedures
+ <I
+CLASS="EMPHASIS"
+>ishost</I
+>, <I
+CLASS="EMPHASIS"
+>istarget</I
+>,
+ <I
+CLASS="EMPHASIS"
+>isnative</I
+>, and <I
+CLASS="EMPHASIS"
+>setup</I
+>xfail}
+ are affected by <I
+CLASS="EMPHASIS"
+>--host</I
+>. In this usage,
+ <I
+CLASS="EMPHASIS"
+>host</I
+> refers to the machine that the tests are to
+ be run on, which may not be the same as the
+ <I
+CLASS="EMPHASIS"
+>build</I
+> machine. If <I
+CLASS="EMPHASIS"
+>--build</I
+>
+ is also specified, then <I
+CLASS="EMPHASIS"
+>--host</I
+> refers to the
+ machine that the tests wil, be run on, not the machine DejaGnu is run
+ on.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--host_board [name]</TT
+></DT
+><DD
+><P
+>The host board to use.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--target [string]</TT
+></DT
+><DD
+><P
+>Use this option to override the default setting
+ (running native tests). <I
+CLASS="EMPHASIS"
+>string</I
+> is a full
+ configuration ``triple'' name of the form
+ <I
+CLASS="EMPHASIS"
+>cpu-vendor-os</I
+> as used by
+ <B
+CLASS="COMMAND"
+>configure</B
+>. This option changes the
+ configuration <I
+CLASS="EMPHASIS"
+>runtest</I
+> uses for the default tool
+ names, and other setup information.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--debug</TT
+> (-de)</DT
+><DD
+><P
+>Turns on the <I
+CLASS="EMPHASIS"
+>expect</I
+> internal
+ debugging output. Debugging output is displayed as part of the
+ <I
+CLASS="EMPHASIS"
+>runtest</I
+> output, and logged to a file called
+ <TT
+CLASS="FILENAME"
+>dbg.log</TT
+>. The extra debugging output does
+ <I
+CLASS="EMPHASIS"
+>not</I
+> appear on standard output, unless the
+ verbose level is greater than 2 (for instance, to see debug output
+ immediately, specify <I
+CLASS="EMPHASIS"
+>--debug</I
+>-v -v}). The
+ debugging output shows all attempts at matching the test output of
+ the tool with the scripted patterns describing expected output. The
+ output generated with <I
+CLASS="EMPHASIS"
+>--strace</I
+> also goes into
+ <TT
+CLASS="FILENAME"
+>dbg.log</TT
+>.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--help</TT
+> (-he)</DT
+><DD
+><P
+>Prints out a short summary of the
+ <I
+CLASS="EMPHASIS"
+>runtest</I
+> options, then exits (even if you also
+ specify other options).</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--ignore [name(s)] </TT
+></DT
+><DD
+><P
+>The names of specific tests to
+ ignore.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--objdir [path]</TT
+></DT
+><DD
+><P
+>Use <I
+CLASS="EMPHASIS"
+>path</I
+> as the top directory
+ containing any auxiliary compiled test code. This defaults to
+ <TT
+CLASS="FILENAME"
+>.</TT
+>. Use this option to locate pre-compiled test
+ code. You can normally prepare any auxiliary files needed with
+ <I
+CLASS="EMPHASIS"
+>make</I
+>.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--outdir [path]</TT
+></DT
+><DD
+><P
+>Write output logs in directory
+ <TT
+CLASS="FILENAME"
+>path</TT
+>. The default is <I
+CLASS="EMPHASIS"
+>.},
+ the</I
+> directory where you start
+ <I
+CLASS="EMPHASIS"
+>runtest</I
+>. This option affects only the summary
+ and the detailed log files
+ <TT
+CLASS="FILENAME"
+>tool.sum</TT
+> and
+ <TT
+CLASS="FILENAME"
+>tool.log</TT
+>. The DejaGnu debug
+ log <TT
+CLASS="FILENAME"
+>dbg.log</TT
+> always appears (when requested) in
+ the local directory.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--reboot [name]</TT
+></DT
+><DD
+><P
+>Reboot the target board when
+ <I
+CLASS="EMPHASIS"
+>runtest</I
+> initializes. Usually, when running tests
+ on a separate target board, it is safer to reboot the target to be
+ certain of its state. However, when developing test scripts,
+ rebooting takes a lot of time.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--srcdir [path]</TT
+></DT
+><DD
+><P
+>Use <TT
+CLASS="FILENAME"
+>path</TT
+> as the top directory
+ for test scripts to run. <I
+CLASS="EMPHASIS"
+>runtest</I
+> looks in this
+ directory for any subdirectory whose name begins with the toolname
+ (specified with <I
+CLASS="EMPHASIS"
+>--tool</I
+>). For instance, with
+ <I
+CLASS="EMPHASIS"
+>--tool</I
+>gdb}, <I
+CLASS="EMPHASIS"
+>runtest</I
+> uses
+ tests in subdirectories <TT
+CLASS="FILENAME"
+>gdb.*</TT
+> (with the usual
+ shell-like filename expansion). If you do not use
+ <I
+CLASS="EMPHASIS"
+>--srcdir</I
+>, <I
+CLASS="EMPHASIS"
+>runtest</I
+> looks for
+ test directories under the current working
+ directory.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--strace [number]</TT
+></DT
+><DD
+><P
+>Turn on internal tracing for
+ <I
+CLASS="EMPHASIS"
+>expect</I
+>, to n levels deep. By adjusting the
+ level, you can control the extent to which your output expands
+ multi-level Tcl statements. This allows you to ignore some levels of
+ <I
+CLASS="EMPHASIS"
+>case</I
+> or <I
+CLASS="EMPHASIS"
+>if</I
+> statements.
+ Each procedure call or control structure counts as one ``level''. The
+ output is recorded in the same file, <TT
+CLASS="FILENAME"
+>dbg.log</TT
+>,
+ used for output from <I
+CLASS="EMPHASIS"
+>--debug</I
+>.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--connect [program]</TT
+></DT
+><DD
+><P
+>Connect to a target testing environment as specified
+ by <I
+CLASS="EMPHASIS"
+>type</I
+>, if the target is not the computer
+ running <I
+CLASS="EMPHASIS"
+>runtest</I
+>. For example, use
+ <I
+CLASS="EMPHASIS"
+>--connect</I
+> to change the program used to connect
+ to a ``bare board'' boot monitor. The choices for
+ <I
+CLASS="EMPHASIS"
+>type</I
+> in the DejaGnu 1.4 distribution are
+ <I
+CLASS="EMPHASIS"
+>rlogin</I
+>, <I
+CLASS="EMPHASIS"
+>telnet</I
+>,
+ <I
+CLASS="EMPHASIS"
+>rsh</I
+>, <I
+CLASS="EMPHASIS"
+>tip</I
+>,
+ <I
+CLASS="EMPHASIS"
+>kermit</I
+>, and <I
+CLASS="EMPHASIS"
+>mondfe</I
+>.</P
+><P
+>The default for this option depends on the configuration most
+ convenient communication method available, but often other
+ alternatives work as well; you may find it useful to try alternative
+ connect methods if you suspect a communication problem with your
+ testing target.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--baud [number]</TT
+></DT
+><DD
+><P
+>Set the default baud rate to something other than
+ 9600. (Some serial interface programs, like <I
+CLASS="EMPHASIS"
+>tip</I
+>,
+ use a separate initialization file instead of this
+ value.)</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--target_board [name(s)]</TT
+></DT
+><DD
+><P
+>The list of target boards to run tests
+ on.</P
+></DD
+><DT
+><A
+NAME="TOOL-OPT"
+><TT
+CLASS="OPTION"
+>--tool[name(s)]</TT
+></A
+></DT
+><DD
+><P
+>Specifies which test suite to run, and what
+ initialization module to use. <TT
+CLASS="OPTION"
+>--tool</TT
+> is used
+ <I
+CLASS="EMPHASIS"
+>only</I
+> for these two purposes. It is
+ <I
+CLASS="EMPHASIS"
+>not</I
+> used to name the executable program to
+ test. Executable tool names (and paths) are recorded in
+ <TT
+CLASS="FILENAME"
+>site.exp</TT
+> and you can override them by specifying
+ Tcl variables on the command line.</P
+><P
+>For example, including "<TT
+CLASS="OPTION"
+>--tool</TT
+> gcc" on the
+ <I
+CLASS="EMPHASIS"
+>runtest</I
+> command line runs tests from all test
+ subdirectories whose names match <TT
+CLASS="FILENAME"
+>gcc.*</TT
+>, and uses
+ one of the initialization modules named
+ <TT
+CLASS="FILENAME"
+>config/*-gcc.exp</TT
+>. To specify the name of the
+ compiler (perhaps as an alternative path to what
+ <I
+CLASS="EMPHASIS"
+>runtest</I
+> would use by default), use
+ <I
+CLASS="EMPHASIS"
+>GCC=binname</I
+> on the <I
+CLASS="EMPHASIS"
+>runtest</I
+>
+ command line.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--tool_exec [name]</TT
+></DT
+><DD
+><P
+>The path to the tool executable to
+ test.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--tool_opts [options]</TT
+></DT
+><DD
+><P
+>A list of additional options to pass to the
+ tool.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--verbose</TT
+> (-v)</DT
+><DD
+><P
+>Turns on more output. Repeating this option increases
+ the amount of output displayed. Level one (<I
+CLASS="EMPHASIS"
+>-v</I
+>)
+ is simply test output. Level two (<I
+CLASS="EMPHASIS"
+>-v</I
+>-v}) shows
+ messages on options, configuration, and process control. Verbose
+ messages appear in the detailed (<TT
+CLASS="FILENAME"
+>*.log</TT
+>) log
+ file, but not in the summary (<TT
+CLASS="FILENAME"
+>*.sum</TT
+>) log
+ file.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--version</TT
+> (-V)</DT
+><DD
+><P
+>Prints out the version numbers of DejaGnu,
+ <I
+CLASS="EMPHASIS"
+>expect</I
+> and Tcl, and exits without running any
+ tests.</P
+></DD
+><DT
+><TT
+CLASS="OPTION"
+>--D[0-1]</TT
+></DT
+><DD
+><P
+>Start the internal Tcl debugger. The Tcl debugger
+ supports breakpoints, single stepping, and other common debugging
+ activities. See the document "Debugger for Tcl Applications} by Don
+ Libes. (Distributed in PostScript form with
+ <I
+CLASS="EMPHASIS"
+>expect</I
+> as the file
+ <TT
+CLASS="FILENAME"
+>expect/tcl-debug.ps.</TT
+>. If you specify
+ <I
+CLASS="EMPHASIS"
+>-D1</I
+>, the <I
+CLASS="EMPHASIS"
+>expect</I
+> shell stops
+ at a breakpoint as soon as DejaGnu invokes it. If you specify
+ <I
+CLASS="EMPHASIS"
+>-D0</I
+>, DejaGnu starts as usual, but you can enter
+ the debugger by sending an interrupt (e.g. by typing
+ <B
+CLASS="KEYCAP"
+>C</B
+>-<B
+CLASS="KEYCAP"
+>c</B
+>).
+ </P
+></DD
+><DT
+><TT
+CLASS="FILENAME"
+>testfile</TT
+>.exp[=arg(s)]</DT
+><DD
+><P
+>Specify the names of testsuites to run. By default,
+ <I
+CLASS="EMPHASIS"
+>runtest</I
+> runs all tests for the tool, but you can
+ restrict it to particular testsuites by giving the names of the
+ <I
+CLASS="EMPHASIS"
+>.exp expect</I
+> scripts that control
+ them. <I
+CLASS="EMPHASIS"
+>testsuite</I
+>.exp may not include path
+ information; use plain filenames.</P
+></DD
+><DT
+><TT
+CLASS="FILENAME"
+>testfile</TT
+>.exp="testfile1 ..."</DT
+><DD
+><P
+>Specify a subset of tests in a suite to run. For
+ compiler or assembler tests, which often use a single
+ <I
+CLASS="EMPHASIS"
+>.exp</I
+> script covering many different source
+ files, this option allows you to further restrict the tests by
+ listing particular source files to compile. Some tools even support
+ wildcards here. The wildcards supported depend upon the tool, but
+ typically they are <I
+CLASS="EMPHASIS"
+>?</I
+>, <I
+CLASS="EMPHASIS"
+>*</I
+>,
+ and <I
+CLASS="EMPHASIS"
+>[chars]</I
+>.</P
+></DD
+><DT
+><SPAN
+CLASS="SYMBOL"
+>tclvar</SPAN
+>=value</DT
+><DD
+><P
+>You can define Tcl variables for use by your test
+ scripts in the same style used with <I
+CLASS="EMPHASIS"
+>make</I
+> for
+ environment variables. For example, <I
+CLASS="EMPHASIS"
+>runtest
+ GDB=gdb.old</I
+> defines a variable called
+ <B
+CLASS="COMMAND"
+>GDB</B
+>; when your scripts refer to
+ <SPAN
+CLASS="SYMBOL"
+>$GDB</SPAN
+> in this run, they use the value
+ <I
+CLASS="EMPHASIS"
+>gdb.old</I
+>.</P
+><P
+>The default Tcl variables used for most tools are defined in
+ the main DejaGnu <I
+CLASS="EMPHASIS"
+>Makefile</I
+>; their values are
+ captured in the <TT
+CLASS="FILENAME"
+>site.exp</TT
+> file.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="COMMON"
+>Common Options</A
+></H2
+><P
+>Typically, you don't need must to use any command-line options.
+ <TT
+CLASS="OPTION"
+>--tool</TT
+> used is only required when there are more than
+ one test suite in the same directory. The default options are in the
+ local site.exp file, created by "make site.exp".</P
+><P
+>For example, if the directory <TT
+CLASS="FILENAME"
+>gdb/testsuite</TT
+>
+ contains a collection of DejaGnu tests for GDB, you can run them like
+ this:</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="SCREEN"
+> eg$ cd gdb/testsuite
+ eg$ runtest --tool gdb
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+>Test output follows, ending with:</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="SCREEN"
+> === gdb Summary ===
+
+ # of expected passes 508
+ # of expected failures 103
+ /usr/latest/bin/gdb version 4.14.4 -nx
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+>You can use the option <I
+CLASS="EMPHASIS"
+>--srcdir</I
+> to point to
+ some other directory containing a collection of tests:</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><PRE
+CLASS="SCREEN"
+> eg$ runtest--srcdir /devo/gdb/testsuite
+ </PRE
+></TD
+></TR
+></TABLE
+><P
+>By default, <B
+CLASS="COMMAND"
+>runtest</B
+> prints only the
+ names of the tests it runs, output from any tests that have unexpected
+ results, and a summary showing how many tests passed and how many
+ failed. To display output from all tests (whether or not they behave
+ as expected), use the <I
+CLASS="EMPHASIS"
+>--all</I
+> option. For more
+ verbose output about processes being run, communication, and so on, use
+ <I
+CLASS="EMPHASIS"
+>--verbose</I
+>. To see even more output, use multiple
+ <I
+CLASS="EMPHASIS"
+>--verbose</I
+> options. for a more detailed explanation
+ of each <B
+CLASS="COMMAND"
+>runtest</B
+> option.</P
+><P
+>Test output goes into two files in your current directory:
+ summary output in <TT
+CLASS="FILENAME"
+>tool.sum</TT
+>,
+ and detailed output in <TT
+CLASS="FILENAME"
+> tool.log</TT
+>. (<I
+CLASS="EMPHASIS"
+>tool</I
+>
+ refers to the collection of tests; for example, after a run with
+ <I
+CLASS="EMPHASIS"
+>--tool</I
+> gdb, look for output files
+ <TT
+CLASS="FILENAME"
+>gdb.sum</TT
+> and
+ <TT
+CLASS="FILENAME"
+>gdb.log</TT
+>.)</P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="runningtests.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="outputfiles.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Running Tests</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="runningtests.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>The files DejaGnu produces.</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/tvariables.html b/doc/overview/tvariables.html
new file mode 100644
index 0000000..0bcb733
--- /dev/null
+++ b/doc/overview/tvariables.html
@@ -0,0 +1,208 @@
+<HTML
+><HEAD
+><TITLE
+>Special variables used by test cases.</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Extending DejaGnu"
+HREF="extending.html"><LINK
+REL="PREVIOUS"
+TITLE="Hints On Writing A Test Case"
+HREF="hints.html"><LINK
+REL="NEXT"
+TITLE="Reference"
+HREF="reference.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="hints.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Extending DejaGnu</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="reference.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="TVARIABLES"
+>Special variables used by test cases.</A
+></H1
+><P
+>There are special variables used by test cases. These contain
+ other information from DejaGnu. Your test cases can use these variables,
+ with conventional meanings (as well as the variables saved in
+ <TT
+CLASS="FILENAME"
+>site.exp</TT
+>. You can use the value of these variables,
+ but they should never be changed.</P
+><P
+></P
+><DL
+><DT
+>$prms_id</DT
+><DD
+><P
+>The tracking system (e.g. GNATS) number identifying
+ a corresponding bugreport. (<I
+CLASS="EMPHASIS"
+>0</I
+>} if you do not
+ specify it in the test script.)</P
+></DD
+><DT
+>$item bug_id</DT
+><DD
+><P
+>An optional bug id; may reflect a bug
+ identification from another organization. (<I
+CLASS="EMPHASIS"
+>0</I
+>
+ if you do not specify it.)</P
+></DD
+><DT
+>$subdir</DT
+><DD
+><P
+>The subdirectory for the current test
+ case.</P
+></DD
+><DT
+>$expect_out(buffer)</DT
+><DD
+><P
+>The output from the last command. This is an
+ internal variable set by Expect. More information can be found in
+ the Expect manual.</P
+></DD
+><DT
+>$exec_output</DT
+><DD
+><P
+>This is the output from a
+ <TT
+CLASS="FUNCTION"
+><B
+>${tool}_load</B
+></TT
+> command. This only applies to
+ tools like GCC and GAS which produce an object file that must in
+ turn be executed to complete a test.</P
+></DD
+><DT
+>$comp_output</DT
+><DD
+><P
+>This is the output from a
+ <TT
+CLASS="FUNCTION"
+><B
+>${tool}_start</B
+></TT
+> command. This is conventionally
+ used for batch oriented programs, like GCC and GAS, that may
+ produce interesting output (warnings, errors) without further
+ interaction.</P
+></DD
+></DL
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="hints.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="reference.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Hints On Writing A Test Case</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="extending.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Reference</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/overview/writing.html b/doc/overview/writing.html
new file mode 100644
index 0000000..b8b8e0f
--- /dev/null
+++ b/doc/overview/writing.html
@@ -0,0 +1,202 @@
+<HTML
+><HEAD
+><TITLE
+>Writing A Test Case</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+REL="HOME"
+TITLE="DejaGnu"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Extending DejaGnu"
+HREF="extending.html"><LINK
+REL="PREVIOUS"
+TITLE="Board Config File Values"
+HREF="boarddefs.html"><LINK
+REL="NEXT"
+TITLE="Debugging A Test Case"
+HREF="debugging.html"></HEAD
+><BODY
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>DejaGnu</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="boarddefs.html"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Extending DejaGnu</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="debugging.html"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="WRITING"
+>Writing A Test Case</A
+></H1
+><P
+>The easiest way to prepare a new test case is to base it
+ on an existing one for a similar situation. There are two major
+ categories of tests: batch or interactive. Batch oriented tests
+ are usually easier to write.</P
+><P
+>The GCC tests are a good example of batch oriented tests.
+ All GCC tests consist primarily of a call to a single common
+ procedure, Since all the tests either have no output, or only
+ have a few warning messages when successfully compiled. Any
+ non-warning output is a test failure. All the C code needed is
+ kept in the test directory. The test driver, written in Tcl,
+ need only get a listing of all the C files in the directory, and
+ compile them all using a generic procedure. This procedure and a
+ few others supporting for these tests are kept in the library
+ module <TT
+CLASS="FILENAME"
+>lib/c-torture.exp</TT
+> in the GCC test
+ suite. Most tests of this kind use very few
+ <SPAN
+CLASS="PRODUCTNAME"
+>expect</SPAN
+> features, and are coded almost
+ purely in Tcl.</P
+><P
+>Writing the complete suite of C tests, then, consisted of
+ these steps:</P
+><P
+></P
+><UL
+><LI
+STYLE="list-style-type: disc"
+><P
+>Copying all the C code into the test directory.
+ These tests were based on the C-torture test created by Torbjorn
+ Granlund (on behalf of the Free Software Foundation) for GCC
+ development.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Writing (and debugging) the generic Tcl procedures for
+ compilation.</P
+></LI
+><LI
+STYLE="list-style-type: disc"
+><P
+>Writing the simple test driver: its main task is to
+ search the directory (using the Tcl procedure
+ <I
+CLASS="EMPHASIS"
+>glob</I
+> for filename expansion with wildcards)
+ and call a Tcl procedure with each filename. It also checks for
+ a few errors from the testing procedure.</P
+></LI
+></UL
+><P
+>Testing interactive programs is intrinsically more
+ complex. Tests for most interactive programs require some trial
+ and error before they are complete.</P
+><P
+>However, some interactive programs can be tested in a
+ simple fashion reminiscent of batch tests. For example, prior
+ to the creation of DejaGnu, the GDB distribution already
+ included a wide-ranging testing procedure. This procedure was
+ very robust, and had already undergone much more debugging and
+ error checking than many recent DejaGnu test cases.
+ Accordingly, the best approach was simply to encapsulate the
+ existing GDB tests, for reporting purposes. Thereafter, new GDB
+ tests built up a family of Tcl procedures specialized for GDB
+ testing.</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="boarddefs.html"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="book1.html"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="debugging.html"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Board Config File Values</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="extending.html"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Debugging A Test Case</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file
diff --git a/doc/ref.sgml b/doc/ref.sgml
index 6a1a7d6..1256e00 100644
--- a/doc/ref.sgml
+++ b/doc/ref.sgml
@@ -75,15 +75,15 @@
<listitem><para>Create another directory in the
<filename>share</filename> directory, called
<filename>dejagnu</filename>, and copy all the library files into
- it.</listitem>
+ it.</para></listitem>
<listitem><para>Create a directory in the
<filename>dejagnu/share</filename> directory, called
<filename>config</filename>, and copy all the configuration files into
- it.</listitem>
+ it.</para></listitem>
<listitem><para>Copy the <emphasis>runtest</emphasis> shell script into
- <filename>$exec_prefix/bin</filename>.
+ <filename>$exec_prefix/bin</filename>.</para></listitem>
<listitem><para>Copy <filename>runtest.exp</filename> into
<filename>$exec_prefix/lib/dejagnu</filename>. This is the main Tcl
@@ -539,6 +539,7 @@
<paramdef><parameter></parameter></paramdef>
</funcsynopsis>
+ </sect3>
<sect3 id=warning xreflabel="warning procedure">
<title>Warning Procedure</title>
@@ -584,6 +585,7 @@
</varlistentry>
</variablelist>
+ </sect3>
<sect3 id=perror xreflabel="perror procedure">
<title>Perror Procedure</title>
@@ -623,6 +625,7 @@
</varlistentry>
</variablelist>
+ </sect3>
<sect3 id=note xreflabel="note procedure">
<title>Note Procedure</title>
@@ -3118,6 +3121,7 @@
</variablelist>
</sect3>
+ </sect2>
<sect2 id=platformprocs xreflabel="platform dependant procedures">
<title>Platform Dependant Procedures</title>
@@ -3210,7 +3214,7 @@
session. You can also use <function>${tool}_exit</function>
to remove any temporary files left over from the
tests. <command>runtest</command> calls
- <function>${tool}_exit</function>.<para>
+ <function>${tool}_exit</function>.</para>
<funcsynopsis role="tcl">
<funcdef><function>${tool}_exit</function></funcdef>
@@ -3335,7 +3339,7 @@
<para>Use the optional third argument <emphasis>line</emphasis> to
start lines in the result with the line number in
<filename>filename</filename>. (This argument is simply an option
- flag; type it just as shown <option>--line</option>.)
+ flag; type it just as shown <option>--line</option>.)</para>
<funcsynopsis role="tcl">
<funcdef><function>grep</function></funcdef>
@@ -3360,8 +3364,8 @@
regexp matches.</para></listitem>
</varlistentry>
</variablelist>
-
</sect3>
+
<sect3 id=prune xreflabel="prune procedure">
<title>Prune Procedure</title>
@@ -3437,7 +3441,7 @@
<para>This sources the file <emphasis>filename</emphasis>, and traps
all errors. It also ignores all extraneous output. If there was an
error it returns a <emphasis>1</emphasis>, otherwise it returns a
- <emphasis>0</emphasis>.
+ <emphasis>0</emphasis>.</para>
<funcsynopsis role="tcl">
<funcdef><function>psource</function></funcdef>
@@ -3530,6 +3534,7 @@
</varlistentry>
</variablelist>
+ </sect3>
<sect3 id=unsetenv xreflabel="unsetenv procedure">
<title>unsetenv Procedure</title>
@@ -3553,7 +3558,7 @@
<title>Getenv Procedure</title>
<para>Returns the value of <emphasis>var</emphasis> in the
- environment if it exists, otherwise it returns NULL.
+ environment if it exists, otherwise it returns NULL.</para>
<funcsynopsis role="tcl">
<funcdef><function>getenv</function></funcdef>
@@ -3567,6 +3572,7 @@
</varlistentry>
</variablelist>
+ </sect3>
<sect3 id=prunesystemcrud xreflabel="prune_system_crud procedure">
<title>Prune_system_crud Procedure</title>
diff --git a/doc/runtest.1 b/doc/runtest.1
index 2c3a357..861ec66 100644
--- a/doc/runtest.1
+++ b/doc/runtest.1
@@ -53,9 +53,8 @@ The configuration string for the host.
.TP
.BI --ignore \ test1.exp\ test2.exp\ ...
Do not run the specified tests.
-.BI --mail \ \'name1\ name2\ ...\'
Electronic mail addresses to receive test results.
-.TP
+.TP
.BI --name \ hostname
The network hostname of the target board.
.TP
diff --git a/doc/user.sgml b/doc/user.sgml
index 2154d74..143e1ac 100644
--- a/doc/user.sgml
+++ b/doc/user.sgml
@@ -490,7 +490,7 @@
verbose output about processes being run, communication, and so on, use
<emphasis>--verbose</emphasis>. To see even more output, use multiple
<emphasis>--verbose</emphasis> options. for a more detailed explanation
- of each <command>runtest</command> option.
+ of each <command>runtest</command> option.</para>
<para>Test output goes into two files in your current directory:
summary output in <filename>tool.sum</filename>,
@@ -498,7 +498,8 @@
tool.log</filename>. (<emphasis>tool</emphasis>
refers to the collection of tests; for example, after a run with
<emphasis>--tool</emphasis> gdb, look for output files
- <filename>gdb.sum</filename> and <filename>gdb.log</filename>.)
+ <filename>gdb.sum</filename> and
+ <filename>gdb.log</filename>.)</para>
</sect2>
</sect1>
@@ -529,7 +530,8 @@
(expected and unexpected); and the full pathname and version
number of the tool tested. (All possible outcomes, and all
errors, are always reflected in the summary output file,
- regardless of whether or not you specify <option>--all</option>.)
+ regardless of whether or not you specify
+ <option>--all</option>.)</para>
<para>If any of your tests use the procedures
<command>unresolved</command>, <command>unsupported</command>,
@@ -1137,7 +1139,7 @@
</example>
<para>If you are testing a native PC compiler (ex: you have
- gcc.exe in your PATH on the PC), do this:
+ gcc.exe in your PATH on the PC), do this:</para>
<example>
<title>Setup Native Remote Testing</title>
@@ -1192,7 +1194,7 @@
called <symbol>target_info</symbol>, and it has two indices. The
following fields are part of the array.</para>
- <sect1 id=optiondefs xreflabel="Option Variables">
+ <sect2 id=optiondefs xreflabel="Option Variables">
<title>Command Line Option Variables</title>
<para>In the user editable second section of the <xref
@@ -1311,9 +1313,9 @@
</table>
</para>
- </sect1>
+ </sect2>
- <sect1 id=personal xreflabel="Personal Config File">
+ <sect2 id=personal xreflabel="Personal Config File">
<title>Personal Config File</title>
<para>The personal config file is used to customize
@@ -1342,6 +1344,7 @@
secure shell, as rsh is mostly used to test unix
machines within a local network here.</para>
+ </sect2>
</sect1>
</chapter>
@@ -2146,13 +2149,13 @@
appropriate for the particular test, allow successively higher
values of <emphasis>$verbose</emphasis> to generate more
information. Be kind to other programmers who use your tests:
- provide for a lot of debugging information.</para>
+ provide for a lot of debugging information.</para></listitem>
<listitem><para>Output from the internal debugging functions of
Tcl and <productname>Expect</productname>. There is a command
line options for each; both forms of debugging output are
recorded in the file <filename>dbg.log</filename> in the current
- directory.</para>
+ directory.</para>
<para>Use <option>--debug</option> for information from the
expect level; it generates displays of the expect attempts to
@@ -2162,7 +2165,7 @@
latest attempt at a new test script and the corresponding
<filename>dbg.log</filename> can allow you to create the final
patterns by ``cut and paste''. This is sometimes the best way
- to write a test case.</para>
+ to write a test case.</para></listitem>
<listitem><para>Use <option>--strace</option> to see more
detail at the Tcl level; this shows how Tcl procedure
@@ -2174,7 +2177,7 @@
the expect command <command>log_user</command>. This command
prints all expect actions to the expect standard output, to the
detailed log file, and (if <option>--debug</option> is on) to
- <filename>dbg.log</filename>.</para>
+ <filename>dbg.log</filename>.</para></listitem>
</itemizedlist>
</sect1>
@@ -2225,7 +2228,7 @@
directory.</para></listitem>
<listitem><para>Add the new test case to the directory, as
- above. </para>
+ above. </para></listitem>
<listitem><para>To add support in the new directory for
configure and make, you must also create a
diff --git a/example/Makefile.am b/example/Makefile.am
index ae19604..9408769 100644
--- a/example/Makefile.am
+++ b/example/Makefile.am
@@ -1,6 +1,5 @@
## Process this file with automake to generate Makefile.in
-AUTOMAKE_OPTIONS = dejagnu cygnus
+AUTOMAKE_OPTIONS = dejagnu
-all-local:
- cd calc; $(MAKE) all
+SUBDIRS = calc
diff --git a/example/Makefile.in b/example/Makefile.in
index 8131e73..7b5faf6 100644
--- a/example/Makefile.in
+++ b/example/Makefile.in
@@ -60,52 +60,158 @@ POST_UNINSTALL = :
BOARDS = @BOARDS@
CC = @CC@
CONFIG = @CONFIG@
+DOCBOOK = @DOCBOOK@
EXEEXT = @EXEEXT@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
PACKAGE = @PACKAGE@
+TCLSH = @TCLSH@
VERSION = @VERSION@
+tclsh = @tclsh@
-AUTOMAKE_OPTIONS = dejagnu cygnus
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+AUTOMAKE_OPTIONS = dejagnu
+
+SUBDIRS = calc
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = gtar
+TAR = tar
GZIP_ENV = --best
-EXPECT = `if test -f $(top_builddir)/../expect/expect; then echo $(top_builddir)/../expect/expect; else echo expect; fi`
-RUNTEST = `if test -f $(top_srcdir)/../dejagnu/runtest; then echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi`
+EXPECT = expect
+RUNTEST = runtest
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --cygnus example/Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu example/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
+ rev="$$subdir $$rev"; \
+ test "$$subdir" = "." && dot_seen=yes; \
+ done; \
+ test "$$dot_seen" = "no" && rev=". $$rev"; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+
tags: TAGS
-TAGS:
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
subdir = example
distdir: $(DISTFILES)
+ here=`cd $(top_builddir) && pwd`; \
+ top_distdir=`cd $(top_distdir) && pwd`; \
+ distdir=`cd $(distdir) && pwd`; \
+ cd $(top_srcdir) \
+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu example/Makefile
@for file in $(DISTFILES); do \
- if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
+ cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
+ for subdir in $(SUBDIRS); do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ chmod 777 $(distdir)/$$subdir; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
+ || exit 1; \
+ fi; \
+ done
RUNTESTFLAGS =
@@ -116,10 +222,6 @@ RUNTESTDEFAULTFLAGS = --tool $(DEJATOOL) --srcdir $$srcdir
check-DEJAGNU: site.exp
srcdir=`cd $(srcdir) && pwd`; export srcdir; \
EXPECT=$(EXPECT); export EXPECT; \
- if [ -f $(top_builddir)/../expect/expect ]; then \
- TCL_LIBRARY=`cd $(top_srcdir)/../tcl/library && pwd`; \
- export TCL_LIBRARY; \
- fi; \
runtest=$(RUNTEST); \
if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
$$runtest $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
@@ -139,32 +241,31 @@ site.exp: Makefile
@test ! -f site.exp || mv site.exp site.bak
@mv $@-t site.exp
info-am:
-info: info-am
+info: info-recursive
dvi-am:
-dvi: dvi-am
-check-am:
+dvi: dvi-recursive
+check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
-check: check-am
+check: check-recursive
installcheck-am:
-installcheck: installcheck-am
-install-info-am:
-install-info: install-info-am
+installcheck: installcheck-recursive
install-exec-am:
-install-exec: install-exec-am
+install-exec: install-exec-recursive
install-data-am:
-install-data: install-data-am
+install-data: install-data-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
+install: install-recursive
uninstall-am:
-uninstall: uninstall-am
-all-am: Makefile all-local
-all-redirect: all-am
+uninstall: uninstall-recursive
+all-am: Makefile
+all-redirect: all-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
+installdirs: installdirs-recursive
+installdirs-am:
mostlyclean-generic:
@@ -176,35 +277,39 @@ distclean-generic:
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
-mostlyclean-am: mostlyclean-generic
+mostlyclean-am: mostlyclean-tags mostlyclean-generic
-mostlyclean: mostlyclean-am
+mostlyclean: mostlyclean-recursive
-clean-am: clean-generic mostlyclean-am
+clean-am: clean-tags clean-generic mostlyclean-am
-clean: clean-am
+clean: clean-recursive
-distclean-am: distclean-generic clean-am
+distclean-am: distclean-tags distclean-generic clean-am
-distclean: distclean-am
+distclean: distclean-recursive
-maintainer-clean-am: maintainer-clean-generic distclean-am
+maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
+ distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
-maintainer-clean: maintainer-clean-am
+maintainer-clean: maintainer-clean-recursive
-.PHONY: tags distdir check-DEJAGNU info-am info dvi-am dvi check \
-check-am installcheck-am installcheck install-info-am install-info \
+.PHONY: install-data-recursive uninstall-data-recursive \
+install-exec-recursive uninstall-exec-recursive installdirs-recursive \
+uninstalldirs-recursive all-recursive check-recursive \
+installcheck-recursive info-recursive dvi-recursive \
+mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir check-DEJAGNU \
+info-am info dvi-am dvi check check-am installcheck-am installcheck \
install-exec-am install-exec install-data-am install-data install-am \
-install uninstall-am uninstall all-local all-redirect all-am all \
+install uninstall-am uninstall all-redirect all-am all installdirs-am \
installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-all-local:
- cd calc; $(MAKE) all
-
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/example/calc/AUTHORS b/example/calc/AUTHORS
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/calc/AUTHORS
diff --git a/example/calc/COPYING b/example/calc/COPYING
new file mode 100644
index 0000000..d60c31a
--- /dev/null
+++ b/example/calc/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/example/calc/INSTALL b/example/calc/INSTALL
new file mode 100644
index 0000000..b42a17a
--- /dev/null
+++ b/example/calc/INSTALL
@@ -0,0 +1,182 @@
+Basic Installation
+==================
+
+ These are generic installation instructions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, a file
+`config.cache' that saves the results of its tests to speed up
+reconfiguring, and a file `config.log' containing compiler output
+(useful mainly for debugging `configure').
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If at some point `config.cache'
+contains results you don't want to keep, you may remove or edit it.
+
+ The file `configure.in' is used to create `configure' by a program
+called `autoconf'. You only need `configure.in' if you want to change
+it or regenerate `configure' using a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system. If you're
+ using `csh' on an old version of System V, you might need to type
+ `sh ./configure' instead to prevent `csh' from trying to execute
+ `configure' itself.
+
+ Running `configure' takes awhile. While running, it prints some
+ messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation.
+
+ 5. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. You can give `configure'
+initial values for variables by setting them in the environment. Using
+a Bourne-compatible shell, you can do that on the command line like
+this:
+ CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+
+Or on systems that have the `env' program, you can do it like this:
+ env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+ If you have to use a `make' that does not supports the `VPATH'
+variable, you have to compile the package for one architecture at a time
+in the source code directory. After you have installed the package for
+one architecture, use `make distclean' before reconfiguring for another
+architecture.
+
+Installation Names
+==================
+
+ By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc. You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PATH'.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+give `configure' the option `--exec-prefix=PATH', the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=PATH' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' can not figure out
+automatically, but needs to determine by the type of host the package
+will run on. Usually `configure' can figure that out, but if it prints
+a message saying it can not guess the host type, give it the
+`--host=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name with three fields:
+ CPU-COMPANY-SYSTEM
+
+See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the host type.
+
+ If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE' option to select the type of system they will
+produce code for and the `--build=TYPE' option to select the type of
+system on which you are compiling the package.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Operation Controls
+==================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--cache-file=FILE'
+ Use and save the results of the tests in FILE instead of
+ `./config.cache'. Set FILE to `/dev/null' to disable caching, for
+ debugging `configure'.
+
+`--help'
+ Print a summary of the options to `configure', and exit.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to `/dev/null' (any error
+ messages will still be shown).
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--version'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`configure' also accepts some other, not widely useful, options.
diff --git a/example/calc/Makefile.am b/example/calc/Makefile.am
new file mode 100644
index 0000000..4767579
--- /dev/null
+++ b/example/calc/Makefile.am
@@ -0,0 +1,23 @@
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 1, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+
+AUTOMAKE_OPTIONS = dejagnu
+
+bin_PROGRAMS = calc
+calc_SOURCES = calc.c
+
+RUNTESTDEFAULTFLAGS = --tool calc CALC=`pwd`/calc --srcdir $$srcdir/testsuite \ No newline at end of file
diff --git a/example/calc/Makefile.in b/example/calc/Makefile.in
index f892c7b..8951ec0 100644
--- a/example/calc/Makefile.in
+++ b/example/calc/Makefile.in
@@ -1,4 +1,16 @@
-# Copyright (C) 92, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,100 +27,411 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
-# target name
-PROG= calc
-# compiler specifics
-CC = @CC@
-CFLAGS = -g -I$(srcdir) -I.
-CALC = calc
+SHELL = @SHELL@
-# directory specifics
-VPATH = @srcdir@
srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
-# testsuite specifics
-# Setup the testing framework, if you have one
-# Flags that we pass when building the testsuite.
-EXPECT = ` \
- if [ -f $${rootme}/../../../expect/expect ] ; then \
- echo $${rootme}/../../../expect/expect ; \
- else echo expect ; fi`
-
-RUNTEST = ` \
- if [ -f $${srcdir}/../../../dejagnu/runtest ] ; then \
- echo $${srcdir}/../../../dejagnu/runtest ; \
- else echo runtest ; fi`
-
-RUNTESTFLAGS=
-
-## --- NOTHING BELOW HERE SHOULD REQUIRE MODIFICATIONS --- ##
-
-SRCS= calc.c
-
-OBJS= calc.o
-
-all: ${PROG}
-
-calc.o: calc.c
-
-.c.o:
- ${CC} ${CFLAGS} -I$(srcdir) -I. -c $<
-
-${PROG}: ${OBJS} ${DPADD}
- ${CC} ${LDFLAGS} ${CFLAGS} -o $@ ${OBJS} ${DPADD} ${LDADD}
-
-check: site.exp all
- rootme=`pwd`; export rootme; \
- srcdir=${srcdir} ; export srcdir ; \
- EXPECT=${EXPECT} ; export EXPECT ; \
- if [ -f $${rootme}/../../expect/expect ] ; then \
- TCL_LIBRARY=$${srcdir}/../../tcl/library ; \
- export TCL_LIBRARY ; fi ; \
- ${RUNTEST} ${RUNTESTFLAGS} --tool ${PROG} CALC=${PROG} --srcdir ${srcdir}/testsuite
-
-site.exp: ./config.status Makefile
- @echo "Making a new config file..."
- -@rm -f ./tmp?
- @touch site.exp
-
- -@mv site.exp site.bak
- @echo "## these variables are automatically generated by make ##" > ./tmp0
- @echo "# Do not edit here. If you wish to override these values" >> ./tmp0
- @echo "# add them to the last section" >> ./tmp0
- @echo "set tool calc" >> ./tmp0
- @echo "set srcdir ${srcdir}" >> ./tmp0
- @echo "set objdir `pwd`" >> ./tmp0
- @echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0
- @cat ./tmp0 > site.exp
- @cat site.bak | sed \
- -e '1,/^## All variables above are.*##/ d' >> site.exp
- -@rm -f ./tmp?
-
-install: ${PROG}
-
-clean mostlyclean:
- rm -f a.out [Ee]rrs tags mklog core ${OBJS} ${PROG}
-
-distclean maintainer-clean realclean: clean
- rm -f config.status Makefile calc.h calc.log calc.plog calc.psum
- rm -f calc.sum site.exp config.log
-
-Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) config.status
- @echo "Rebuilding the Makefile..."
- $(SHELL) ./config.status
-
-configure: $(srcdir)/configure.in $(srcdir)/Makefile.in $(srcdir)/../../aclocal.m4
- @echo "Rebuilding configure..."
- @cd ${srcdir} ;\
- autoconf --localdir=${srcdir}/../..
-
-config.status:
- @echo "Rebuilding config.status..."
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+CC = @CC@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+
+AUTOMAKE_OPTIONS = dejagnu
+
+bin_PROGRAMS = calc
+calc_SOURCES = calc.c
+
+RUNTESTDEFAULTFLAGS = --tool calc CALC=`pwd`/calc --srcdir $$srcdir/testsuite
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_HEADER = calc.h
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(bin_PROGRAMS)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir) -I.
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+calc_OBJECTS = calc.o
+calc_LDADD = $(LDADD)
+calc_DEPENDENCIES =
+calc_LDFLAGS =
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = ./stamp-h.in COPYING INSTALL Makefile.am Makefile.in \
+aclocal.m4 calc.h.in configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+DEP_FILES = .deps/calc.P
+EXPECT = expect
+RUNTEST = runtest
+SOURCES = $(calc_SOURCES)
+OBJECTS = $(calc_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): configure.in
+ cd $(srcdir) && $(ACLOCAL)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
+$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+calc.h: stamp-h
+ @if test ! -f $@; then \
+ rm -f stamp-h; \
+ $(MAKE) stamp-h; \
+ else :; fi
+stamp-h: $(srcdir)/calc.h.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES= CONFIG_HEADERS=calc.h \
+ $(SHELL) ./config.status
+ @echo timestamp > stamp-h 2> /dev/null
+$(srcdir)/calc.h.in: $(srcdir)/stamp-h.in
+ @if test ! -f $@; then \
+ rm -f $(srcdir)/stamp-h.in; \
+ $(MAKE) $(srcdir)/stamp-h.in; \
+ else :; fi
+$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOHEADER)
+ @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
+
+mostlyclean-hdr:
+
+clean-hdr:
+
+distclean-hdr:
+ -rm -f calc.h
+
+maintainer-clean-hdr:
+
+mostlyclean-binPROGRAMS:
+
+clean-binPROGRAMS:
+ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+distclean-binPROGRAMS:
+
+maintainer-clean-binPROGRAMS:
+
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ if test -f $$p; then \
+ echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ list='$(bin_PROGRAMS)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ done
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+calc: $(calc_OBJECTS) $(calc_DEPENDENCIES)
+ @rm -f calc
+ $(LINK) $(calc_LDFLAGS) $(calc_OBJECTS) $(calc_LDADD) $(LIBS)
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) calc.h.in $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)calc.h.in$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags calc.h.in $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ here=`cd $(top_builddir) && pwd`; \
+ top_distdir=`cd $(distdir) && pwd`; \
+ distdir=`cd $(distdir) && pwd`; \
+ cd $(top_srcdir) \
+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+ -rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+ @echo '$(COMPILE) -c $<'; \
+ $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+ @-cp .deps/$(*F).pp .deps/$(*F).P; \
+ tr ' ' '\012' < .deps/$(*F).pp \
+ | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+ >> .deps/$(*F).P; \
+ rm .deps/$(*F).pp
+
+%.lo: %.c
+ @echo '$(LTCOMPILE) -c $<'; \
+ $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+ @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
+ < .deps/$(*F).pp > .deps/$(*F).P; \
+ tr ' ' '\012' < .deps/$(*F).pp \
+ | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+ >> .deps/$(*F).P; \
+ rm -f .deps/$(*F).pp
+
+RUNTESTFLAGS =
+
+DEJATOOL = $(PACKAGE)
+
+check-DEJAGNU: site.exp
+ srcdir=`cd $(srcdir) && pwd`; export srcdir; \
+ EXPECT=$(EXPECT); export EXPECT; \
+ runtest=$(RUNTEST); \
+ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+ $$runtest $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
+ else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+ fi
+site.exp: Makefile
+ @echo 'Making a new site.exp file...'
+ @test ! -f site.bak || rm -f site.bak
+ @echo '## these variables are automatically generated by make ##' > $@-t
+ @echo '# Do not edit here. If you wish to override these values' >> $@-t
+ @echo '# edit the last section' >> $@-t
+ @echo 'set tool $(DEJATOOL)' >> $@-t
+ @echo 'set srcdir $(srcdir)' >> $@-t
+ @echo 'set objdir' `pwd` >> $@-t
+ @echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t
+ @test ! -f site.exp || sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t
+ @test ! -f site.exp || mv site.exp site.bak
+ @mv $@-t site.exp
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+all-recursive-am: calc.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+install-exec-am: install-binPROGRAMS
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-binPROGRAMS
+uninstall: uninstall-am
+all-am: Makefile $(PROGRAMS) calc.h
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-hdr mostlyclean-binPROGRAMS \
+ mostlyclean-compile mostlyclean-tags mostlyclean-depend \
+ mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-hdr clean-binPROGRAMS clean-compile clean-tags \
+ clean-depend clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-hdr distclean-binPROGRAMS distclean-compile \
+ distclean-tags distclean-depend distclean-generic \
+ clean-am
+
+distclean: distclean-am
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-hdr maintainer-clean-binPROGRAMS \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-depend maintainer-clean-generic \
+ distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+ -rm -f config.status
+
+.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
+mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
+maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir mostlyclean-depend \
+distclean-depend clean-depend maintainer-clean-depend check-DEJAGNU \
+info-am info dvi-am dvi check check-am installcheck-am installcheck \
+all-recursive-am install-exec-am install-exec install-data-am \
+install-data install-am install uninstall-am uninstall all-redirect \
+all-am all installdirs mostlyclean-generic distclean-generic \
+clean-generic maintainer-clean-generic clean mostlyclean distclean \
+maintainer-clean
+
-info:
-install-info:
-# Nothing.
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/example/calc/NEWS b/example/calc/NEWS
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/calc/NEWS
diff --git a/example/calc/README b/example/calc/README
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/calc/README
diff --git a/example/calc/aclocal.m4 b/example/calc/aclocal.m4
new file mode 100644
index 0000000..bd4779c
--- /dev/null
+++ b/example/calc/aclocal.m4
@@ -0,0 +1,127 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+# Like AC_CONFIG_HEADER, but automatically create stamp file.
+
+AC_DEFUN(AM_CONFIG_HEADER,
+[AC_PREREQ([2.12])
+AC_CONFIG_HEADER([$1])
+dnl When config.status generates a header, we must update the stamp-h file.
+dnl This file resides in the same directory as the config header
+dnl that is generated. We must strip everything past the first ":",
+dnl and everything past the last "/".
+AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
+ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
+<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
+<<am_indx=1
+for am_file in <<$1>>; do
+ case " <<$>>CONFIG_HEADERS " in
+ *" <<$>>am_file "*<<)>>
+ echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
+ ;;
+ esac
+ am_indx=`expr "<<$>>am_indx" + 1`
+done<<>>dnl>>)
+changequote([,]))])
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
diff --git a/example/calc/calc.c b/example/calc/calc.c
index 784e39b..119971a 100644
--- a/example/calc/calc.c
+++ b/example/calc/calc.c
@@ -1,12 +1,17 @@
+#include "calc.h"
+
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#include <ctype.h>
#include <stdio.h>
-#include "calc.h"
static int words();
+#define NWORD 10
+#define SIZE 100
+#define VERSION "1.1"
+
int main()
{
char line[SIZE];
diff --git a/example/calc/calc.h.in b/example/calc/calc.h.in
index 1e420a7..1fddcd0 100644
--- a/example/calc/calc.h.in
+++ b/example/calc/calc.h.in
@@ -1,18 +1,11 @@
-/*
- * Check for headers
- */
-#ifndef __CALC_H__
-#define __CALC_H__
+/* calc.h.in. Generated automatically from configure.in by autoheader. */
+/* Define if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
-/*
- * Check for functions
- */
-#undef HAVE_STRCMP
+/* Name of package */
+#undef PACKAGE
-#define NWORD 10
-#define SIZE 100
-#define VERSION "1.0 Beta"
+/* Version number of package */
+#undef VERSION
-#endif /* __CALC_H__ */
diff --git a/example/calc/configure b/example/calc/configure
index e58d5cf..bf67346 100755
--- a/example/calc/configure
+++ b/example/calc/configure
@@ -1,7 +1,7 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.12.1
+# Generated automatically using autoconf version 2.13
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
@@ -333,7 +333,7 @@ EOF
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.12.1"
+ echo "configure generated by autoconf version 2.13"
exit 0 ;;
-with-* | --with-*)
@@ -503,9 +503,11 @@ ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
+ac_exeext=
+ac_objext=o
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
@@ -520,13 +522,552 @@ fi
-CC=${CC-cc}
+
+
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:559: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:612: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:669: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+PACKAGE=calc
+
+VERSION=1.1
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:715: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:728: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:741: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:754: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:767: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:784: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:814: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test -z "$CC"; then
+ case "`uname -s`" in
+ *win32* | *WIN32*)
+ # Extract the first word of "cl", so it can be a program name with args.
+set dummy cl; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:865: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="cl"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+ ;;
+ esac
+ fi
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:897: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+cat > conftest.$ac_ext << EOF
+
+#line 908 "configure"
+#include "confdefs.h"
+
+main(){return(0);}
+EOF
+if { (eval echo configure:913: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ ac_cv_prog_cc_works=yes
+ # If we can't run a trivial program, we are probably using a cross compiler.
+ if (./conftest; exit) 2>/dev/null; then
+ ac_cv_prog_cc_cross=no
+ else
+ ac_cv_prog_cc_cross=yes
+ fi
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ac_cv_prog_cc_works=no
+fi
+rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+if test $ac_cv_prog_cc_works = no; then
+ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:939: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:944: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:953: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+
+ac_test_CFLAGS="${CFLAGS+set}"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS=
+echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:972: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1015: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
#
# Look for various header files
#
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:530: checking how to run the C preprocessor" >&5
+echo "configure:1071: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -541,14 +1082,14 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 545 "configure"
+#line 1086 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:551: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:1092: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
else
@@ -558,14 +1099,31 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 562 "configure"
+#line 1103 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:568: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:1109: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ CPP="${CC-cc} -nologo -E"
+ cat > conftest.$ac_ext <<EOF
+#line 1120 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
:
else
@@ -578,6 +1136,8 @@ fi
rm -f conftest*
fi
rm -f conftest*
+fi
+rm -f conftest*
ac_cv_prog_CPP="$CPP"
fi
CPP="$ac_cv_prog_CPP"
@@ -586,20 +1146,22 @@ else
fi
echo "$ac_t""$CPP" 1>&6
-ac_safe=`echo "stdlib.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for stdlib.h""... $ac_c" 1>&6
-echo "configure:592: checking for stdlib.h" >&5
+for ac_hdr in stdlib.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1154: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 597 "configure"
+#line 1159 "configure"
#include "confdefs.h"
-#include <stdlib.h>
+#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:602: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:1164: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then
rm -rf conftest*
eval "ac_cv_header_$ac_safe=yes"
@@ -614,26 +1176,27 @@ rm -f conftest*
fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
- :
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
else
echo "$ac_t""no" 1>&6
-cat >> confdefs.h <<\EOF
-#define HAVE_STDLIB_H 1
-EOF
-
fi
+done
#
# Look for various functions
#
echo $ac_n "checking for strcmp""... $ac_c" 1>&6
-echo "configure:632: checking for strcmp" >&5
+echo "configure:1195: checking for strcmp" >&5
if eval "test \"`echo '$''{'ac_cv_func_strcmp'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 637 "configure"
+#line 1200 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char strcmp(); below. */
@@ -656,7 +1219,7 @@ strcmp();
; return 0; }
EOF
-if { (eval echo configure:660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_strcmp=yes"
else
@@ -670,10 +1233,7 @@ fi
if eval "test \"`echo '$ac_cv_func_'strcmp`\" = yes"; then
echo "$ac_t""yes" 1>&6
- cat >> confdefs.h <<\EOF
-#define HAVE_STRCMP 1
-EOF
-
+ :
else
echo "$ac_t""no" 1>&6
fi
@@ -705,7 +1265,7 @@ EOF
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(set) 2>&1 |
- case `(ac_space=' '; set) 2>&1 | grep ac_space` in
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
*ac_space=\ *)
# `set' does not quote correctly, so add quotes (double-quote substitution
# turns \\\\ into \\, and sed turns \\ into \).
@@ -772,7 +1332,7 @@ do
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.12.1"
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
exit 0 ;;
-help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;;
@@ -781,6 +1341,7 @@ do
done
ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
trap 'rm -fr `echo "Makefile calc.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF
@@ -795,6 +1356,7 @@ s%@SHELL@%$SHELL%g
s%@CFLAGS@%$CFLAGS%g
s%@CPPFLAGS@%$CPPFLAGS%g
s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
s%@DEFS@%$DEFS%g
s%@LDFLAGS@%$LDFLAGS%g
s%@LIBS@%$LIBS%g
@@ -813,8 +1375,19 @@ s%@includedir@%$includedir%g
s%@oldincludedir@%$oldincludedir%g
s%@infodir@%$infodir%g
s%@mandir@%$mandir%g
-s%@CPP@%$CPP%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
s%@CC@%$CC%g
+s%@CPP@%$CPP%g
CEOF
EOF
@@ -891,6 +1464,10 @@ for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
top_srcdir="$ac_dots$ac_given_srcdir" ;;
esac
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
echo creating "$ac_file"
rm -f "$ac_file"
@@ -906,6 +1483,7 @@ for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
s%@configure_input@%$configure_input%g
s%@srcdir@%$srcdir%g
s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
fi; done
rm -f conftest.s*
@@ -1020,8 +1598,10 @@ fi; done
EOF
cat >> $CONFIG_STATUS <<EOF
+
EOF
cat >> $CONFIG_STATUS <<\EOF
+test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
exit 0
EOF
diff --git a/example/calc/configure.in b/example/calc/configure.in
index 3ee022a..73a3204 100644
--- a/example/calc/configure.in
+++ b/example/calc/configure.in
@@ -1,18 +1,20 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.5)
AC_INIT(calc.c)
-AC_CONFIG_HEADER(calc.h)
-CC=${CC-cc}
+AM_CONFIG_HEADER(calc.h)
+AM_INIT_AUTOMAKE(calc, 1.1)
+AC_PROG_CC
+AC_PROG_INSTALL
#
# Look for various header files
#
-AC_HEADER_CHECK(stdlib.h, ,AC_DEFINE(HAVE_STDLIB_H))
+AC_CHECK_HEADERS(stdlib.h)
#
# Look for various functions
#
-AC_FUNC_CHECK(strcmp, AC_DEFINE(HAVE_STRCMP))
+AC_CHECK_FUNC(strcmp)
#
# Output Makefile with substitutions
diff --git a/example/calc/stamp-h.in b/example/calc/stamp-h.in
new file mode 100644
index 0000000..9788f70
--- /dev/null
+++ b/example/calc/stamp-h.in
@@ -0,0 +1 @@
+timestamp
diff --git a/example/calc/testsuite/calc.test/calc.exp b/example/calc/testsuite/calc.test/calc.exp
index 8986cf5..6a904ad 100644
--- a/example/calc/testsuite/calc.test/calc.exp
+++ b/example/calc/testsuite/calc.test/calc.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
set timeout 3
#
diff --git a/example/calc/testsuite/config/unix.exp b/example/calc/testsuite/config/unix.exp
index 9b73ac7..5686564 100644
--- a/example/calc/testsuite/config/unix.exp
+++ b/example/calc/testsuite/config/unix.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
if ![info exists prompt] then {
set prompt "calc: "
diff --git a/lib/debugger.exp b/lib/debugger.exp
index f00076d..3b7fa5a 100644
--- a/lib/debugger.exp
+++ b/lib/debugger.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 92, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
-# This file was written by Rob Savoye. (rob@cygnus.com)
+# This file was written by Rob Savoye. (rob@welcomehome.org)
#
# Dump the values of a shell expression representing variable
diff --git a/lib/dg.exp b/lib/dg.exp
index 35c4afa..3c9b4e1 100644
--- a/lib/dg.exp
+++ b/lib/dg.exp
@@ -1,5 +1,5 @@
# `dg' general purpose testcase driver.
-# Copyright (C) 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1994 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,7 +16,7 @@
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# dje@cygnus.com.
+# bug-dejagnu@gnu.org
# This file was written by Doug Evans (dje@cygnus.com).
@@ -587,11 +587,11 @@ proc dg-runtest { testcases flags default-extra-flags } {
}
# dg-trim-dirname -- rip DIR_NAME out of FILE_NAME
-#
+#
# Syntax: dg-trim-dirname dir_name file_name
# We need to go through this contorsion in order to properly support
# directory-names which might have embedded regexp special characters.
-
+
proc dg-trim-dirname { dir_name file_name } {
set special_character "\[\?\+\-\.\(\)\$\|\]"
regsub -all $special_character $dir_name "\\\\&" dir_name
@@ -612,7 +612,7 @@ proc dg-test { args } {
global dg-do-what-default dg-interpreter-batch-mode dg-linenum-format
global errorCode errorInfo
global tool
- global srcdir ;# eg: /calvin/dje/devo/gcc/./testsuite/
+ global srcdir ;# eg: /calvin/dje/build/gcc/./testsuite/
global host_triplet target_triplet
set keep 0
diff --git a/lib/framework.exp b/lib/framework.exp
index b72d38e..2b26fb2 100644
--- a/lib/framework.exp
+++ b/lib/framework.exp
@@ -1,5 +1,4 @@
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001
-# Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,9 +15,9 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
-# This file was written by Rob Savoye. (rob@cygnus.com)
+# This file was written by Rob Savoye. (rob@welcomehome.org)
# These variables are local to this file.
# This or more warnings and a test fails.
diff --git a/lib/ftp.exp b/lib/ftp.exp
index 641f112..bdc6bfd 100644
--- a/lib/ftp.exp
+++ b/lib/ftp.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 92, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
#
# Support downloading files using ftp.
diff --git a/lib/kermit.exp b/lib/kermit.exp
index 6e1ac37..ab8747e 100644
--- a/lib/kermit.exp
+++ b/lib/kermit.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 92, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
#
# Connect to DEST using kermit. Note that we're just using kermit as a
diff --git a/lib/mondfe.exp b/lib/mondfe.exp
index b46484e..912f0f7 100644
--- a/lib/mondfe.exp
+++ b/lib/mondfe.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 92, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
-# This file was written by Rob Savoye. (rob@cygnus.com)
+# This file was written by Rob Savoye. (rob@welcomehome.org)
#
# Connect to udi using mondfe
diff --git a/lib/remote.exp b/lib/remote.exp
index 0bc8ed0..1c2941d 100644
--- a/lib/remote.exp
+++ b/lib/remote.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 92, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
-# This file was written by Rob Savoye. (rob@cygnus.com)
+# This file was written by Rob Savoye. (rob@welcomehome.org)
# load various protocol support modules
@@ -212,7 +212,7 @@ proc local_exec { commandline inp outp timeout } {
}
verbose "output is $output";
if { $outp == "" } {
- return [list $status $output];
+ return [list $status $output];
} else {
return [list $status ""];
}
@@ -602,7 +602,7 @@ proc remote_raw_file { dest args } {
proc standard_file { dest op args } {
set file [lindex $args 0];
- verbose "dest in standard_file is $dest";
+ verbose "dest in proc standard_file is $dest" 3;
if { ![is_remote $dest] } {
switch $op {
cmp {
diff --git a/lib/rlogin.exp b/lib/rlogin.exp
index 78745ba..3676481 100644
--- a/lib/rlogin.exp
+++ b/lib/rlogin.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 92, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
#
# Connect to ARG using rlogin. This is for systems using rlogin to
diff --git a/lib/rsh.exp b/lib/rsh.exp
index b099fd5..13c0feb 100644
--- a/lib/rsh.exp
+++ b/lib/rsh.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
#
# Connect to hostname using rlogin
diff --git a/lib/standard.exp b/lib/standard.exp
index f1822e4..5c6a71c 100644
--- a/lib/standard.exp
+++ b/lib/standard.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
#
# A set of standard functions for tools. Calls the
diff --git a/lib/target.exp b/lib/target.exp
index f71c6f6..5cb6288 100644
--- a/lib/target.exp
+++ b/lib/target.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 92, 93, 94, 95, 96, 97, 98, 1999, 2000 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
-# This file was written by Rob Savoye. (rob@cygnus.com)
+# This file was written by Rob Savoye. (rob@welcomehome.org)
# and extensively modified by Bob Manson. (manson@cygnus.com)
# a hairy pattern to recognize text
diff --git a/lib/targetdb.exp b/lib/targetdb.exp
index b682d04..28e06ad 100644
--- a/lib/targetdb.exp
+++ b/lib/targetdb.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
#
# Searches in the appropriate place (the board_info array) for the specified
diff --git a/lib/telnet.exp b/lib/telnet.exp
index 48c72ac..397822d 100644
--- a/lib/telnet.exp
+++ b/lib/telnet.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
#
# Connect using telnet. This takes two arguments. The first one is the
diff --git a/lib/tip.exp b/lib/tip.exp
index 25877a9..3c1598d 100644
--- a/lib/tip.exp
+++ b/lib/tip.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
#
# Connect via tip as part of remote_open.
diff --git a/lib/util-defs.exp b/lib/util-defs.exp
index 6048242..35c468e 100644
--- a/lib/util-defs.exp
+++ b/lib/util-defs.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 92, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
-# This file was written by Rob Savoye. (rob@cygnus.com)
+# This file was written by Rob Savoye. (rob@welcomehome.org)
#
# Run a utility and test the result.
diff --git a/lib/utils.exp b/lib/utils.exp
index 565f18e..39e1150 100644
--- a/lib/utils.exp
+++ b/lib/utils.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 92, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
-# This file was written by Rob Savoye. (rob@cygnus.com)
+# This file was written by Rob Savoye. (rob@welcomehome.org)
#
# Most of the procedures found here mimic their unix counter-part.
@@ -72,7 +72,7 @@ proc getdirs { args } {
}
}
}
- }
+ }
} else {
perror "$tmp"
return ""
diff --git a/lib/xsh.exp b/lib/xsh.exp
index 694241d..ed1043c 100644
--- a/lib/xsh.exp
+++ b/lib/xsh.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 92, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
-# This file was written by Rob Savoye. (rob@cygnus.com)
+# This file was written by Rob Savoye. (rob@welcomehome.org)
#
# Connect to Spectra (VTRX) using xsh
diff --git a/runtest b/runtest
index 7c4fe7d..8bc6a53 100755
--- a/runtest
+++ b/runtest
@@ -3,7 +3,7 @@
# runtest -- basically all this script does is find the proper expect
# shell and then run DejaGnu.
#
-# Written by Rob Savoye <rob@cygnus.com>
+# Written by Rob Savoye <rob@welcomehome.org>
#
#
@@ -65,7 +65,7 @@ fi
if [ -x "$expectbin-bld.sh" ]; then
expectbin="${CONFIG_SHELL-/bin/sh} $expectbin-bld.sh"
fi
-
+
#
# Extract a few options from the option list.
#
diff --git a/runtest.exp b/runtest.exp
index cfc2ea8..28663d3 100755
--- a/runtest.exp
+++ b/runtest.exp
@@ -1,5 +1,5 @@
# Test Framework Driver
-# Copyright (C) 92, 93, 94, 95, 96, 97, 98, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,11 +16,11 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
-# This file was written by Rob Savoye. (rob@cygnus.com)
+# This file was written by Rob Savoye. (rob@welcomehome.org)
-set frame_version 1.3.1
+set frame_version 1.4.0
if ![info exists argv0] {
send_error "Must use a version of Expect greater than 5.0\n"
exit 1
@@ -661,7 +661,7 @@ unset arg_host_triplet arg_build_triplet
if [expr { $build_triplet == "" && $host_triplet == ""} ] {
# find config.guess
- foreach dir "$libdir $libdir/.. $srcdir/.. $srcdir/../.." {
+ foreach dir "$libdir $libdir/libexec $libdir/.. $srcdir/.. $srcdir/../.." {
verbose "Looking for ${dir}/config.guess" 2
if [file exists ${dir}/config.guess] {
set config_guess ${dir}/config.guess
diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am
index 88dab63..13fe9da 100644
--- a/testsuite/Makefile.am
+++ b/testsuite/Makefile.am
@@ -1,5 +1,9 @@
## Process this file with automake to generate Makefile.in
-AUTOMAKE_OPTIONS = cygnus dejagnu
+AUTOMAKE_OPTIONS = dejagnu
+
+all:
+ @echo "Nothing to be done for all"
+
+RUNTESTDEFAULTFLAGS = --tool runtest --srcdir $$srcdir
-DEJATOOL = runtest
diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in
index eea1b06..11d0fa1 100644
--- a/testsuite/Makefile.in
+++ b/testsuite/Makefile.in
@@ -60,32 +60,35 @@ POST_UNINSTALL = :
BOARDS = @BOARDS@
CC = @CC@
CONFIG = @CONFIG@
+DOCBOOK = @DOCBOOK@
EXEEXT = @EXEEXT@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
PACKAGE = @PACKAGE@
+TCLSH = @TCLSH@
VERSION = @VERSION@
+tclsh = @tclsh@
-AUTOMAKE_OPTIONS = cygnus dejagnu
+AUTOMAKE_OPTIONS = dejagnu
-DEJATOOL = runtest
-mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+RUNTESTDEFAULTFLAGS = --tool runtest --srcdir $$srcdir
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES =
-DIST_COMMON = Makefile.am Makefile.in
+DIST_COMMON = Makefile.am Makefile.in configure.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-TAR = gtar
+TAR = tar
GZIP_ENV = --best
-EXPECT = `if test -f $(top_builddir)/../expect/expect; then echo $(top_builddir)/../expect/expect; else echo expect; fi`
-RUNTEST = `if test -f $(top_srcdir)/../dejagnu/runtest; then echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi`
+EXPECT = expect
+RUNTEST = runtest
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
- cd $(top_srcdir) && $(AUTOMAKE) --cygnus testsuite/Makefile
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu testsuite/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
@@ -98,10 +101,15 @@ distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
subdir = testsuite
distdir: $(DISTFILES)
+ here=`cd $(top_builddir) && pwd`; \
+ top_distdir=`cd $(top_distdir) && pwd`; \
+ distdir=`cd $(distdir) && pwd`; \
+ cd $(top_srcdir) \
+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu testsuite/Makefile
@for file in $(DISTFILES); do \
- if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ d=$(srcdir); \
if test -d $$d/$$file; then \
- cp -pr $$d/$$file $(distdir)/$$file; \
+ cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
@@ -111,15 +119,11 @@ distdir: $(DISTFILES)
RUNTESTFLAGS =
-RUNTESTDEFAULTFLAGS = --tool $(DEJATOOL) --srcdir $$srcdir
+DEJATOOL = $(PACKAGE)
check-DEJAGNU: site.exp
srcdir=`cd $(srcdir) && pwd`; export srcdir; \
EXPECT=$(EXPECT); export EXPECT; \
- if [ -f $(top_builddir)/../expect/expect ]; then \
- TCL_LIBRARY=`cd $(top_srcdir)/../tcl/library && pwd`; \
- export TCL_LIBRARY; \
- fi; \
runtest=$(RUNTEST); \
if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
$$runtest $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
@@ -142,13 +146,11 @@ info-am:
info: info-am
dvi-am:
dvi: dvi-am
-check-am:
+check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
check: check-am
installcheck-am:
installcheck: installcheck-am
-install-info-am:
-install-info: install-info-am
install-exec-am:
install-exec: install-exec-am
@@ -195,13 +197,16 @@ maintainer-clean-am: maintainer-clean-generic distclean-am
maintainer-clean: maintainer-clean-am
.PHONY: tags distdir check-DEJAGNU info-am info dvi-am dvi check \
-check-am installcheck-am installcheck install-info-am install-info \
-install-exec-am install-exec install-data-am install-data install-am \
-install uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+check-am installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+all:
+ @echo "Nothing to be done for all"
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/testsuite/config/default.exp b/testsuite/config/default.exp
index 0d427d0..81f153d 100644
--- a/testsuite/config/default.exp
+++ b/testsuite/config/default.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1988, 90-93, 1995, 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
-# This file was written by Rob Savoye. (rob@cygnus.com)
+# This file was written by Rob Savoye. (rob@welcomehome.org)
global RUNTEST
if ![info exists RUNTEST] then {
diff --git a/testsuite/lib/libsup.exp b/testsuite/lib/libsup.exp
index eecf5f7..cfdd547 100644
--- a/testsuite/lib/libsup.exp
+++ b/testsuite/lib/libsup.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
-# This file was written by Rob Savoye. (rob@cygnus.com)
+# This file was written by Rob Savoye. (rob@welcomehome.org)
#
# Setup an environment so we can execute library procs without DejaGnu
diff --git a/testsuite/runtest.all/libs.exp b/testsuite/runtest.all/libs.exp
index eb5e1af..a03d9e2 100644
--- a/testsuite/runtest.all/libs.exp
+++ b/testsuite/runtest.all/libs.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
load_lib libsup.exp
diff --git a/testsuite/runtest.all/options.exp b/testsuite/runtest.all/options.exp
index 0c396ce..c6ae172 100644
--- a/testsuite/runtest.all/options.exp
+++ b/testsuite/runtest.all/options.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1988, 90-92, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1992 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
-# This file was written by Rob Savoye. (rob@cygnus.com)
+# This file was written by Rob Savoye. (rob@welcomehome.org)
load_lib util-defs.exp
diff --git a/testsuite/runtest.all/stats-sub.exp b/testsuite/runtest.all/stats-sub.exp
index deb52f8..fc686e2 100644
--- a/testsuite/runtest.all/stats-sub.exp
+++ b/testsuite/runtest.all/stats-sub.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1997 Free Software Foundation, Inc.
+# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# DejaGnu@cygnus.com
+# bug-dejagnu@gnu.org
# Subordinate to stats.exp.
diff --git a/testsuite/runtest.all/stats.exp b/testsuite/runtest.all/stats.exp
index 157cb27..4349cbd 100644
--- a/testsuite/runtest.all/stats.exp
+++ b/testsuite/runtest.all/stats.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1995 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Please email any bugs, comments, and/or additions to this file to:
-# bug-dejagnu@prep.ai.mit.edu
+# bug-dejagnu@gnu.org
# This file tests pass/fail/etc.
# The way we do this is to recursively invoke ourselves on a small testsuite