[llvm-commits] CVS: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/COPYING ChangeLog INSTALL LICENSE.TXT Makefile Makefile.am Makefile.in aclocal.m4 config.h config.h.in configure configure.ac definitions definitions_with_numbers fdl.txt gpl.txt input lambda.cc node.cc node.h parse.cc parse.h token_stream.cc token_stream.h

John Criswell criswell at cs.uiuc.edu
Mon Dec 29 11:38:09 PST 2003


Changes in directory llvm/test/Programs/MultiSource/Applications/lambda-0.1.3:

COPYING added (r1.1)
ChangeLog added (r1.1)
INSTALL added (r1.1)
LICENSE.TXT added (r1.1)
Makefile added (r1.1)
Makefile.am added (r1.1)
Makefile.in added (r1.1)
aclocal.m4 added (r1.1)
config.h added (r1.1)
config.h.in added (r1.1)
configure added (r1.1)
configure.ac added (r1.1)
definitions added (r1.1)
definitions_with_numbers added (r1.1)
fdl.txt added (r1.1)
gpl.txt added (r1.1)
input added (r1.1)
lambda.cc added (r1.1)
node.cc added (r1.1)
node.h added (r1.1)
parse.cc added (r1.1)
parse.h added (r1.1)
token_stream.cc added (r1.1)
token_stream.h added (r1.1)

---
Log message:

Adding the C++ program lambda to the test suite.  This is a "real" C++
application that currently appears to work on both Linux and Solaris.



---
Diffs of the changes:  (+10774 -0)

Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/COPYING
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/COPYING:1.1
*** /dev/null	Mon Dec 29 11:37:45 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/COPYING	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,7 ----
+ This software is distributed under the provisions of the
+ GNU GENERAL PUBLIC LICENSE, Version 2, June 1991,
+ a copy of which may be found in gpl.txt.
+ 
+ The documentation is distributed under the provisions of the
+ GNU Free Documentation License, Version 1.2, November 2002,
+ a copy of which may be found in fdl.txt.


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/ChangeLog
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/ChangeLog:1.1
*** /dev/null	Mon Dec 29 11:37:45 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/ChangeLog	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,149 ----
+ 2003-08-19 22:10  narwhal
+ 
+ 	* docs/lambdamanual_src.html: spelling
+ 
+ 2003-08-19 21:48  narwhal
+ 
+ 	* docs/lambda.html: Updated news and download in lambda web page.
+ 
+ 2003-08-19 21:38  narwhal
+ 
+ 	* lambda, node.cc, node.h, parse.cc, docs/lambdamanual_src.html:
+ 	  Added flag xapp to command "ext" to make it more consistent in
+ 	  the way it extracts from a constant expression.
+ 
+ 2003-08-19 19:14  narwhal
+ 
+ 	* docs/lambdamanual_src.html: Spacing and spans.
+ 
+ 2003-08-19 18:45  narwhal
+ 
+ 	* Makefile.am, configure.ac, docs/.cvsignore, docs/Makefile.am,
+ 	  docs/lambdamanual.html, docs/lambdamanual_src.html,
+ 	  docs/trans_xml_for_cat.pl, docs/user_manual_style.css: Make
+ 	  lambdamanual.html from lambdamanual_src.html using
+ 	  trans_xml_for_cat.pl Added Files:docs/.cvsignore docs/Makefile.am
+ 	  docs/lambdamanual_src.html docs/trans_xml_for_cat.pl
+ 
+ 2003-08-19 16:11  narwhal
+ 
+ 	* docs/: lambda.html, lambdamanual.html: Minor edit.
+ 
+ 2003-08-18 22:02  narwhal
+ 
+ 	* docs/lambdamanual.html: Minor Edit.
+ 
+ 2003-08-18 21:54  narwhal
+ 
+ 	* docs/lambda.html: Update download version.
+ 
+ 2003-08-18 21:53  narwhal
+ 
+ 	* docs/lambda.html: Updated News for release of version 0.1.2.
+ 
+ 2003-08-18 21:18  narwhal
+ 
+ 	* Makefile.am, configure.ac: Updated version to 0.1.2 Changed docs
+ 	  dist to only those that are useful.
+ 
+ 2003-08-18 21:13  narwhal
+ 
+ 	* docs/lambdamanual.html: Spelling
+ 
+ 2003-08-18 21:10  narwhal
+ 
+ 	* docs/: lambdamanual.html, user_manual_style.css: Added List to
+ 	  lambdamanual Added: user_manual_style.css
+ 
+ 2003-08-18 11:57  narwhal
+ 
+ 	* docs/lambdamanual.html: More Curry Algebra.
+ 
+ 2003-08-18 03:25  narwhal
+ 
+ 	* docs/lambdamanual.html: More curry algebra completeness.
+ 
+ 2003-08-18 00:56  narwhal
+ 
+ 	* docs/lambdamanual.html: Adding info about functional completeness
+ 	  to manual.
+ 
+ 2003-08-17 22:47  narwhal
+ 
+ 	* texput.log: Removed Files:texput.log
+ 
+ 2003-08-17 19:48  narwhal
+ 
+ 	* docs/lambda.html: Updated news.
+ 
+ 2003-08-17 19:28  narwhal
+ 
+ 	* docs/lambdamanual.html: Correction for definition of: ext x
+ 	  lambda-exp.
+ 
+ 2003-08-16 01:03  narwhal
+ 
+ 	* docs/lambda.html: Minor correction.
+ 
+ 2003-08-16 00:53  narwhal
+ 
+ 	* docs/lambda.html: Added lambda.html
+ 
+ 2003-08-16 00:28  narwhal
+ 
+ 	* COPYING, INSTALL, fdl.txt, gpl.txt, lambda,
+ 	  docs/lambdamanual.html: Minor documentation changes Modified
+ 	  Files: Added Files: COPYING fdl.txt gpl.txt
+ 
+ 2003-08-16 00:06  narwhal
+ 
+ 	* INSTALL, lambda.cc, node.cc, node.h, parse.cc, parse.h,
+ 	  token_stream.cc, token_stream.h: Add gpl notice
+ 
+ 2003-08-15 23:57  narwhal
+ 
+ 	* .Makefile, .cvsignore, .makefile, .makefile.root, .makerules.sh,
+ 	  Makefile, Makefile.am, bootstrap, configure.ac, do_configure,
+ 	  lambda, lambda.cc, makefile, makefile.root, makerules.sh,
+ 	  node.cc, parse.cc, token_stream.cc: Converted to auto tools
+ 
+ 2003-08-15 21:37  narwhal
+ 
+ 	* docs/lambdamanual.html: Clean up html
+ 
+ 2002-12-02 18:15  narwhal
+ 
+ 	* .cvsignore, Makefile, lambda, token_stream.cc,
+ 	  docs/lambdamanual.html: added Makefile and .cvsignore repair
+ 	  bracket warning in toke_stream.cc
+ 
+ 2001-07-18 10:32  narwhal
+ 
+ 	* lambda, node.cc: debug
+ 
+ 2001-07-15 18:35  narwhal
+ 
+ 	* lambda, makefile, node.cc: Changed make to compile for debug
+ 	  (-g).  In lam_node::reduce_eta, when body_v is an app_node,
+ 	  changed this->body_v = 0 to set_body(0,true) to avoid what
+ 	  appears to bea memory leak.  Added: when printing app_node, with
+ 	  print "()" for NULL left_v or right_v.
+ 
+ 2001-07-15 14:49  narwhal
+ 
+ 	* definitions, definitions_with_numbers, lambda, lambda.cc,
+ 	  makefile, makefile.root, makerules.sh, node.cc, node.h, parse.cc,
+ 	  parse.h, texput.log, token_stream.cc, token_stream.h,
+ 	  docs/definitions, docs/equalities.txt, docs/lambdaabstract.doc,
+ 	  docs/lambdaexamples.doc, docs/lambdamanual.doc,
+ 	  docs/lambdamanual.html: Initial revision
+ 
+ 2001-07-15 14:49  narwhal
+ 
+ 	* definitions, definitions_with_numbers, lambda, lambda.cc,
+ 	  makefile, makefile.root, makerules.sh, node.cc, node.h, parse.cc,
+ 	  parse.h, texput.log, token_stream.cc, token_stream.h,
+ 	  docs/definitions, docs/equalities.txt, docs/lambdaabstract.doc,
+ 	  docs/lambdaexamples.doc, docs/lambdamanual.doc,
+ 	  docs/lambdamanual.html: lambda source
+ 


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/INSTALL
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/INSTALL:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/INSTALL	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,7 ----
+ ./do_configure
+ make
+ make install
+ 
+ Unfortunately, the name
+ lambda clashes with another program lambda
+ which is part of the tetex-1.0.7-57.1 package


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/LICENSE.TXT
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/LICENSE.TXT:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/LICENSE.TXT	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,5 ----
+ Lambda
+ ------------------------------------------------------------------------------
+ Lambda is licensed under the GNU General Public License.  Please see the
+ file COPYING for more information.
+ 


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/Makefile
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/Makefile:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/Makefile	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,6 ----
+ LEVEL = ../../../../..
+ PROG = lambda
+ LDFLAGS = -lsupc++
+ LIBS += -lsupc++
+ STDIN_FILENAME=$(BUILD_SRC_DIR)/input
+ include ../../Makefile.multisrc


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/Makefile.am
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/Makefile.am:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/Makefile.am	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,24 ----
+ SUBDIRS=docs
+ bin_PROGRAMS = lambda
+ data_DATA = definitions
+ lambda_SOURCES=\
+ lambda.cc \
+ node.cc \
+ node.h \
+ parse.cc \
+ parse.h \
+ token_stream.cc \
+ token_stream.h
+ 
+ lambda_LDADD=-lstdc++
+ AM_CXXFLAGS=-Wall
+ AM_LDFLAGS=
+ 
+ EXTRA_DIST=definitions definitions_with_numbers \
+ fdl.txt gpl.txt
+ 
+ CLEANFILES=lambda
+ 
+ ChangeLog: FORCE
+ 	cvs2cl.pl
+ FORCE:


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/Makefile.in
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/Makefile.in:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/Makefile.in	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,553 ----
+ # Makefile.in generated by automake 1.6.3 from Makefile.am.
+ # @configure_input@
+ 
+ # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+ # 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.
+ 
+ @SET_MAKE@
+ SHELL = @SHELL@
+ 
+ srcdir = @srcdir@
+ top_srcdir = @top_srcdir@
+ VPATH = @srcdir@
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+ 
+ 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
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+ top_builddir = .
+ 
+ ACLOCAL = @ACLOCAL@
+ AUTOCONF = @AUTOCONF@
+ AUTOMAKE = @AUTOMAKE@
+ AUTOHEADER = @AUTOHEADER@
+ 
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+ INSTALL = @INSTALL@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_DATA = @INSTALL_DATA@
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+ install_sh_SCRIPT = $(install_sh) -c
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_HEADER = $(INSTALL_DATA)
+ transform = @program_transform_name@
+ NORMAL_INSTALL = :
+ PRE_INSTALL = :
+ POST_INSTALL = :
+ NORMAL_UNINSTALL = :
+ PRE_UNINSTALL = :
+ POST_UNINSTALL = :
+ 
+ EXEEXT = @EXEEXT@
+ OBJEXT = @OBJEXT@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
+ AMTAR = @AMTAR@
+ AWK = @AWK@
+ CC = @CC@
+ CXX = @CXX@
+ DEPDIR = @DEPDIR@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ PACKAGE = @PACKAGE@
+ STRIP = @STRIP@
+ VERSION = @VERSION@
+ am__include = @am__include@
+ am__quote = @am__quote@
+ install_sh = @install_sh@
+ SUBDIRS = docs
+ bin_PROGRAMS = lambda
+ data_DATA = definitions
+ lambda_SOURCES = \
+ lambda.cc \
+ node.cc \
+ node.h \
+ parse.cc \
+ parse.h \
+ token_stream.cc \
+ token_stream.h
+ 
+ 
+ lambda_LDADD = -lstdc++
+ AM_CXXFLAGS = -Wall
+ AM_LDFLAGS = 
+ 
+ EXTRA_DIST = definitions definitions_with_numbers \
+ fdl.txt gpl.txt
+ 
+ 
+ CLEANFILES = lambda
+ subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+ CONFIG_HEADER = config.h
+ CONFIG_CLEAN_FILES =
+ bin_PROGRAMS = lambda$(EXEEXT)
+ PROGRAMS = $(bin_PROGRAMS)
+ 
+ am_lambda_OBJECTS = lambda.$(OBJEXT) node.$(OBJEXT) parse.$(OBJEXT) \
+ 	token_stream.$(OBJEXT)
+ lambda_OBJECTS = $(am_lambda_OBJECTS)
+ lambda_DEPENDENCIES =
+ lambda_LDFLAGS =
+ 
+ DEFS = @DEFS@
+ DEFAULT_INCLUDES =  -I. -I$(srcdir) -I.
+ CPPFLAGS = @CPPFLAGS@
+ LDFLAGS = @LDFLAGS@
+ LIBS = @LIBS@
+ depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+ am__depfiles_maybe = depfiles
+ @AMDEP_TRUE at DEP_FILES = ./$(DEPDIR)/lambda.Po ./$(DEPDIR)/node.Po \
+ @AMDEP_TRUE@	./$(DEPDIR)/parse.Po ./$(DEPDIR)/token_stream.Po
+ CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+ CXXLD = $(CXX)
+ CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+ 	-o $@
+ CXXFLAGS = @CXXFLAGS@
+ CFLAGS = @CFLAGS@
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+ CCLD = $(CC)
+ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+ DIST_SOURCES = $(lambda_SOURCES)
+ DATA = $(data_DATA)
+ 
+ 
+ RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
+ 	uninstall-info-recursive all-recursive install-data-recursive \
+ 	install-exec-recursive installdirs-recursive install-recursive \
+ 	uninstall-recursive check-recursive installcheck-recursive
+ DIST_COMMON = COPYING ChangeLog INSTALL Makefile.am Makefile.in \
+ 	aclocal.m4 config.h.in config/depcomp config/install-sh \
+ 	config/missing config/mkinstalldirs configure configure.ac
+ DIST_SUBDIRS = $(SUBDIRS)
+ SOURCES = $(lambda_SOURCES)
+ 
+ all: config.h
+ 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
+ 
+ .SUFFIXES:
+ .SUFFIXES: .cc .o .obj
+ 
+ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+  configure.lineno
+ $(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ 	cd $(top_srcdir) && \
+ 	  $(AUTOMAKE) --foreign  Makefile
+ Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
+ 	cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
+ 
+ $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ 	$(SHELL) ./config.status --recheck
+ $(srcdir)/configure:  $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ 	cd $(srcdir) && $(AUTOCONF)
+ 
+ $(ACLOCAL_M4):  configure.ac 
+ 	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+ 
+ config.h: stamp-h1
+ 	@if test ! -f $@; then \
+ 	  rm -f stamp-h1; \
+ 	  $(MAKE) stamp-h1; \
+ 	else :; fi
+ 
+ stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ 	@rm -f stamp-h1
+ 	cd $(top_builddir) && $(SHELL) ./config.status config.h
+ 
+ $(srcdir)/config.h.in:  $(top_srcdir)/configure.ac $(ACLOCAL_M4) 
+ 	cd $(top_srcdir) && $(AUTOHEADER)
+ 	touch $(srcdir)/config.h.in
+ 
+ distclean-hdr:
+ 	-rm -f config.h stamp-h1
+ binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+ install-binPROGRAMS: $(bin_PROGRAMS)
+ 	@$(NORMAL_INSTALL)
+ 	$(mkinstalldirs) $(DESTDIR)$(bindir)
+ 	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+ 	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ 	  if test -f $$p \
+ 	  ; then \
+ 	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ 	   echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
+ 	   $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \
+ 	  else :; fi; \
+ 	done
+ 
+ uninstall-binPROGRAMS:
+ 	@$(NORMAL_UNINSTALL)
+ 	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+ 	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ 	  echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
+ 	  rm -f $(DESTDIR)$(bindir)/$$f; \
+ 	done
+ 
+ clean-binPROGRAMS:
+ 	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+ lambda$(EXEEXT): $(lambda_OBJECTS) $(lambda_DEPENDENCIES) 
+ 	@rm -f lambda$(EXEEXT)
+ 	$(CXXLINK) $(lambda_LDFLAGS) $(lambda_OBJECTS) $(lambda_LDADD) $(LIBS)
+ 
+ mostlyclean-compile:
+ 	-rm -f *.$(OBJEXT) core *.core
+ 
+ distclean-compile:
+ 	-rm -f *.tab.c
+ 
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lambda.Po at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/node.Po at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/parse.Po at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/token_stream.Po at am__quote@
+ 
+ distclean-depend:
+ 	-rm -rf ./$(DEPDIR)
+ 
+ .cc.o:
+ @AMDEP_TRUE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+ @AMDEP_TRUE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ 	$(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+ 
+ .cc.obj:
+ @AMDEP_TRUE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ @AMDEP_TRUE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+ @AMDEP_TRUE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ 	$(CXXCOMPILE) -c -o $@ `cygpath -w $<`
+ CXXDEPMODE = @CXXDEPMODE@
+ uninstall-info-am:
+ dataDATA_INSTALL = $(INSTALL_DATA)
+ install-dataDATA: $(data_DATA)
+ 	@$(NORMAL_INSTALL)
+ 	$(mkinstalldirs) $(DESTDIR)$(datadir)
+ 	@list='$(data_DATA)'; for p in $$list; do \
+ 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ 	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+ 	  echo " $(dataDATA_INSTALL) $$d$$p $(DESTDIR)$(datadir)/$$f"; \
+ 	  $(dataDATA_INSTALL) $$d$$p $(DESTDIR)$(datadir)/$$f; \
+ 	done
+ 
+ uninstall-dataDATA:
+ 	@$(NORMAL_UNINSTALL)
+ 	@list='$(data_DATA)'; for p in $$list; do \
+ 	  f="`echo $$p | sed -e 's|^.*/||'`"; \
+ 	  echo " rm -f $(DESTDIR)$(datadir)/$$f"; \
+ 	  rm -f $(DESTDIR)$(datadir)/$$f; \
+ 	done
+ 
+ # 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.
+ $(RECURSIVE_TARGETS):
+ 	@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; \
+ 	case "$@" in \
+ 	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ 	  *) list='$(SUBDIRS)' ;; \
+ 	esac; \
+ 	rev=''; for subdir in $$list; do \
+ 	  if test "$$subdir" = "."; then :; else \
+ 	    rev="$$subdir $$rev"; \
+ 	  fi; \
+ 	done; \
+ 	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
+ 
+ ETAGS = etags
+ ETAGSFLAGS =
+ 
+ tags: TAGS
+ 
+ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ 	unique=`for i in $$list; do \
+ 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ 	  done | \
+ 	  $(AWK) '    { files[$$0] = 1; } \
+ 	       END { for (i in files) print i; }'`; \
+ 	mkid -fID $$unique
+ 
+ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ 		$(TAGS_FILES) $(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) config.h.in $(LISP) $(TAGS_FILES)'; \
+ 	unique=`for i in $$list; do \
+ 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ 	  done | \
+ 	  $(AWK) '    { files[$$0] = 1; } \
+ 	       END { for (i in files) print i; }'`; \
+ 	test -z "$(ETAGS_ARGS)$$tags$$unique" \
+ 	  || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ 	     $$tags $$unique
+ 
+ GTAGS:
+ 	here=`$(am__cd) $(top_builddir) && pwd` \
+ 	  && cd $(top_srcdir) \
+ 	  && gtags -i $(GTAGS_ARGS) $$here
+ 
+ distclean-tags:
+ 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ 
+ top_distdir = .
+ distdir = $(PACKAGE)-$(VERSION)
+ 
+ am__remove_distdir = \
+   { test ! -d $(distdir) \
+     || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+          && rm -fr $(distdir); }; }
+ 
+ GZIP_ENV = --best
+ distcleancheck_listfiles = find . -type f -print
+ 
+ distdir: $(DISTFILES)
+ 	$(am__remove_distdir)
+ 	mkdir $(distdir)
+ 	$(mkinstalldirs) $(distdir)/config
+ 	@list='$(DISTFILES)'; for file in $$list; do \
+ 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ 	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ 	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ 	    dir="/$$dir"; \
+ 	    $(mkinstalldirs) "$(distdir)$$dir"; \
+ 	  else \
+ 	    dir=''; \
+ 	  fi; \
+ 	  if test -d $$d/$$file; then \
+ 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ 	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ 	    fi; \
+ 	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ 	  else \
+ 	    test -f $(distdir)/$$file \
+ 	    || cp -p $$d/$$file $(distdir)/$$file \
+ 	    || exit 1; \
+ 	  fi; \
+ 	done
+ 	list='$(SUBDIRS)'; for subdir in $$list; do \
+ 	  if test "$$subdir" = .; then :; else \
+ 	    test -d $(distdir)/$$subdir \
+ 	    || mkdir $(distdir)/$$subdir \
+ 	    || exit 1; \
+ 	    (cd $$subdir && \
+ 	      $(MAKE) $(AM_MAKEFLAGS) \
+ 	        top_distdir="$(top_distdir)" \
+ 	        distdir=../$(distdir)/$$subdir \
+ 	        distdir) \
+ 	      || exit 1; \
+ 	  fi; \
+ 	done
+ 	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ 	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ 	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ 	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+ 	|| chmod -R a+r $(distdir)
+ dist-gzip: distdir
+ 	$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ 	$(am__remove_distdir)
+ 
+ dist dist-all: distdir
+ 	$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ 	$(am__remove_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
+ 	$(am__remove_distdir)
+ 	GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
+ 	chmod -R a-w $(distdir); chmod a+w $(distdir)
+ 	mkdir $(distdir)/=build
+ 	mkdir $(distdir)/=inst
+ 	chmod a-w $(distdir)
+ 	dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
+ 	  && cd $(distdir)/=build \
+ 	  && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ 	    $(DISTCHECK_CONFIGURE_FLAGS) \
+ 	  && $(MAKE) $(AM_MAKEFLAGS) \
+ 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ 	  && $(MAKE) $(AM_MAKEFLAGS) check \
+ 	  && $(MAKE) $(AM_MAKEFLAGS) install \
+ 	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ 	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ 	  && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
+ 	      || { echo "ERROR: files left after uninstall:" ; \
+ 	           find $$dc_install_base -type f -print ; \
+ 	           exit 1; } >&2 ) \
+ 	  && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
+ 	  && rm -f $(distdir).tar.gz \
+ 	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+ 	$(am__remove_distdir)
+ 	@echo "$(distdir).tar.gz is ready for distribution" | \
+ 	  sed 'h;s/./=/g;p;x;p;x'
+ distcleancheck: distclean
+ 	if test '$(srcdir)' = . ; then \
+ 	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ 	  exit 1 ; \
+ 	fi
+ 	test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ 	  || { echo "ERROR: files left after distclean:" ; \
+ 	       $(distcleancheck_listfiles) ; \
+ 	       exit 1; } >&2
+ check-am: all-am
+ check: check-recursive
+ all-am: Makefile $(PROGRAMS) $(DATA) config.h
+ installdirs: installdirs-recursive
+ installdirs-am:
+ 	$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(datadir)
+ 
+ install: install-recursive
+ install-exec: install-exec-recursive
+ install-data: install-data-recursive
+ uninstall: uninstall-recursive
+ 
+ install-am: all-am
+ 	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+ 
+ installcheck: installcheck-recursive
+ install-strip:
+ 	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ 	  INSTALL_STRIP_FLAG=-s \
+ 	  `test -z '$(STRIP)' || \
+ 	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ mostlyclean-generic:
+ 
+ clean-generic:
+ 	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+ 
+ distclean-generic:
+ 	-rm -f Makefile $(CONFIG_CLEAN_FILES)
+ 
+ maintainer-clean-generic:
+ 	@echo "This command is intended for maintainers to use"
+ 	@echo "it deletes files that may require special tools to rebuild."
+ clean: clean-recursive
+ 
+ clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
+ 
+ distclean: distclean-recursive
+ 	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ distclean-am: clean-am distclean-compile distclean-depend \
+ 	distclean-generic distclean-hdr distclean-tags
+ 
+ dvi: dvi-recursive
+ 
+ dvi-am:
+ 
+ info: info-recursive
+ 
+ info-am:
+ 
+ install-data-am: install-dataDATA
+ 
+ install-exec-am: install-binPROGRAMS
+ 
+ install-info: install-info-recursive
+ 
+ install-man:
+ 
+ installcheck-am:
+ 
+ maintainer-clean: maintainer-clean-recursive
+ 	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ 	-rm -rf autom4te.cache
+ maintainer-clean-am: distclean-am maintainer-clean-generic
+ 
+ mostlyclean: mostlyclean-recursive
+ 
+ mostlyclean-am: mostlyclean-compile mostlyclean-generic
+ 
+ uninstall-am: uninstall-binPROGRAMS uninstall-dataDATA uninstall-info-am
+ 
+ uninstall-info: uninstall-info-recursive
+ 
+ .PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
+ 	clean-binPROGRAMS clean-generic clean-recursive dist dist-all \
+ 	dist-gzip distcheck distclean distclean-compile \
+ 	distclean-depend distclean-generic distclean-hdr \
+ 	distclean-recursive distclean-tags distcleancheck distdir dvi \
+ 	dvi-am dvi-recursive info info-am info-recursive install \
+ 	install-am install-binPROGRAMS install-data install-data-am \
+ 	install-data-recursive install-dataDATA install-exec \
+ 	install-exec-am install-exec-recursive install-info \
+ 	install-info-am install-info-recursive install-man \
+ 	install-recursive install-strip installcheck installcheck-am \
+ 	installdirs installdirs-am installdirs-recursive \
+ 	maintainer-clean maintainer-clean-generic \
+ 	maintainer-clean-recursive mostlyclean mostlyclean-compile \
+ 	mostlyclean-generic mostlyclean-recursive tags tags-recursive \
+ 	uninstall uninstall-am uninstall-binPROGRAMS uninstall-dataDATA \
+ 	uninstall-info-am uninstall-info-recursive uninstall-recursive
+ 
+ 
+ ChangeLog: FORCE
+ 	cvs2cl.pl
+ FORCE:
+ # 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:


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/aclocal.m4
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/aclocal.m4:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/aclocal.m4	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,836 ----
+ # aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*-
+ 
+ # Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
+ # Free Software Foundation, Inc.
+ # This file 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.
+ 
+ # Do all the work for Automake.                            -*- Autoconf -*-
+ 
+ # 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.
+ 
+ # Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
+ # 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, 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.
+ 
+ # serial 8
+ 
+ # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+ # written in clear, in which case automake, when reading aclocal.m4,
+ # will think it sees a *use*, and therefore will trigger all it's
+ # C support machinery.  Also note that it means that autoscan, seeing
+ # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+ 
+ 
+ AC_PREREQ([2.52])
+ 
+ # Autoconf 2.50 wants to disallow AM_ names.  We explicitly allow
+ # the ones we care about.
+ m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+ 
+ # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+ # AM_INIT_AUTOMAKE([OPTIONS])
+ # -----------------------------------------------
+ # The call with PACKAGE and VERSION arguments is the old style
+ # call (pre autoconf-2.50), which is being phased out.  PACKAGE
+ # and VERSION should now be passed to AC_INIT and removed from
+ # the call to AM_INIT_AUTOMAKE.
+ # We support both call styles for the transition.  After
+ # the next Automake release, Autoconf can make the AC_INIT
+ # arguments mandatory, and then we can depend on a new Autoconf
+ # release and drop the old call support.
+ AC_DEFUN([AM_INIT_AUTOMAKE],
+ [AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+  AC_REQUIRE([AC_PROG_INSTALL])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
+ 
+ # Define the identity of the package.
+ dnl Distinguish between old-style and new-style calls.
+ m4_ifval([$2],
+ [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+  AC_SUBST([PACKAGE], [$1])dnl
+  AC_SUBST([VERSION], [$2])],
+ [_AM_SET_OPTIONS([$1])dnl
+  AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl
+  AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl
+ 
+ _AM_IF_OPTION([no-define],,
+ [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+  AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+ 
+ # Some tools Automake needs.
+ AC_REQUIRE([AM_SANITY_CHECK])dnl
+ AC_REQUIRE([AC_ARG_PROGRAM])dnl
+ AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+ AM_MISSING_PROG(AUTOCONF, autoconf)
+ AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+ AM_MISSING_PROG(AUTOHEADER, autoheader)
+ AM_MISSING_PROG(MAKEINFO, makeinfo)
+ AM_MISSING_PROG(AMTAR, tar)
+ AM_PROG_INSTALL_SH
+ AM_PROG_INSTALL_STRIP
+ # We need awk for the "check" target.  The system "awk" is bad on
+ # some platforms.
+ AC_REQUIRE([AC_PROG_AWK])dnl
+ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+ 
+ _AM_IF_OPTION([no-dependencies],,
+ [AC_PROVIDE_IFELSE([AC_PROG_][CC],
+                   [_AM_DEPENDENCIES(CC)],
+                   [define([AC_PROG_][CC],
+                           defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
+ AC_PROVIDE_IFELSE([AC_PROG_][CXX],
+                   [_AM_DEPENDENCIES(CXX)],
+                   [define([AC_PROG_][CXX],
+                           defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+ ])
+ ])
+ 
+ # Copyright 2002  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, 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
+ 
+ # AM_AUTOMAKE_VERSION(VERSION)
+ # ----------------------------
+ # Automake X.Y traces this macro to ensure aclocal.m4 has been
+ # generated from the m4 files accompanying Automake X.Y.
+ AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.6"])
+ 
+ # AM_SET_CURRENT_AUTOMAKE_VERSION
+ # -------------------------------
+ # Call AM_AUTOMAKE_VERSION so it can be traced.
+ # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+ 	 [AM_AUTOMAKE_VERSION([1.6.3])])
+ 
+ # Helper functions for option handling.                    -*- Autoconf -*-
+ 
+ # Copyright 2001, 2002  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, 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.
+ 
+ # serial 2
+ 
+ # _AM_MANGLE_OPTION(NAME)
+ # -----------------------
+ AC_DEFUN([_AM_MANGLE_OPTION],
+ [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+ 
+ # _AM_SET_OPTION(NAME)
+ # ------------------------------
+ # Set option NAME.  Presently that only means defining a flag for this option.
+ AC_DEFUN([_AM_SET_OPTION],
+ [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+ 
+ # _AM_SET_OPTIONS(OPTIONS)
+ # ----------------------------------
+ # OPTIONS is a space-separated list of Automake options.
+ AC_DEFUN([_AM_SET_OPTIONS],
+ [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+ 
+ # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+ # -------------------------------------------
+ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+ AC_DEFUN([_AM_IF_OPTION],
+ [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+ 
+ #
+ # Check to make sure that the build environment is sane.
+ #
+ 
+ # Copyright 1996, 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
+ # the Free Software Foundation; either version 2, 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.
+ 
+ # serial 3
+ 
+ # AM_SANITY_CHECK
+ # ---------------
+ AC_DEFUN([AM_SANITY_CHECK],
+ [AC_MSG_CHECKING([whether build environment is sane])
+ # Just in case
+ sleep 1
+ echo timestamp > conftest.file
+ # 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 conftest.file 2> /dev/null`
+    if test "$[*]" = "X"; then
+       # -L didn't work.
+       set X `ls -t $srcdir/configure conftest.file`
+    fi
+    rm -f conftest.file
+    if test "$[*]" != "X $srcdir/configure conftest.file" \
+       && test "$[*]" != "X conftest.file $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]" = conftest.file
+    )
+ then
+    # Ok.
+    :
+ else
+    AC_MSG_ERROR([newly created file is older than distributed files!
+ Check your system clock])
+ fi
+ AC_MSG_RESULT(yes)])
+ 
+ #  -*- Autoconf -*-
+ 
+ 
+ # Copyright 1997, 1999, 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, 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.
+ 
+ # serial 3
+ 
+ # AM_MISSING_PROG(NAME, PROGRAM)
+ # ------------------------------
+ AC_DEFUN([AM_MISSING_PROG],
+ [AC_REQUIRE([AM_MISSING_HAS_RUN])
+ $1=${$1-"${am_missing_run}$2"}
+ AC_SUBST($1)])
+ 
+ 
+ # AM_MISSING_HAS_RUN
+ # ------------------
+ # Define MISSING if not defined so far and test if it supports --run.
+ # If it does, set am_missing_run to use it, otherwise, to nothing.
+ AC_DEFUN([AM_MISSING_HAS_RUN],
+ [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+ test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+ # Use eval to expand $SHELL
+ if eval "$MISSING --run true"; then
+   am_missing_run="$MISSING --run "
+ else
+   am_missing_run=
+   AC_MSG_WARN([`missing' script is too old or missing])
+ fi
+ ])
+ 
+ # AM_AUX_DIR_EXPAND
+ 
+ # Copyright 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, 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.
+ 
+ # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+ # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+ # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+ #
+ # Of course, Automake must honor this variable whenever it calls a
+ # tool from the auxiliary directory.  The problem is that $srcdir (and
+ # therefore $ac_aux_dir as well) can be either absolute or relative,
+ # depending on how configure is run.  This is pretty annoying, since
+ # it makes $ac_aux_dir quite unusable in subdirectories: in the top
+ # source directory, any form will work fine, but in subdirectories a
+ # relative path needs to be adjusted first.
+ #
+ # $ac_aux_dir/missing
+ #    fails when called from a subdirectory if $ac_aux_dir is relative
+ # $top_srcdir/$ac_aux_dir/missing
+ #    fails if $ac_aux_dir is absolute,
+ #    fails when called from a subdirectory in a VPATH build with
+ #          a relative $ac_aux_dir
+ #
+ # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+ # are both prefixed by $srcdir.  In an in-source build this is usually
+ # harmless because $srcdir is `.', but things will broke when you
+ # start a VPATH build or use an absolute $srcdir.
+ #
+ # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+ # iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+ #   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+ # and then we would define $MISSING as
+ #   MISSING="\${SHELL} $am_aux_dir/missing"
+ # This will work as long as MISSING is not called from configure, because
+ # unfortunately $(top_srcdir) has no meaning in configure.
+ # However there are other variables, like CC, which are often used in
+ # configure, and could therefore not use this "fixed" $ac_aux_dir.
+ #
+ # Another solution, used here, is to always expand $ac_aux_dir to an
+ # absolute PATH.  The drawback is that using absolute paths prevent a
+ # configured tree to be moved without reconfiguration.
+ 
+ # Rely on autoconf to set up CDPATH properly.
+ AC_PREREQ([2.50])
+ 
+ AC_DEFUN([AM_AUX_DIR_EXPAND], [
+ # expand $ac_aux_dir to an absolute path
+ am_aux_dir=`cd $ac_aux_dir && pwd`
+ ])
+ 
+ # AM_PROG_INSTALL_SH
+ # ------------------
+ # Define $install_sh.
+ 
+ # Copyright 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, 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.
+ 
+ AC_DEFUN([AM_PROG_INSTALL_SH],
+ [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+ install_sh=${install_sh-"$am_aux_dir/install-sh"}
+ AC_SUBST(install_sh)])
+ 
+ # AM_PROG_INSTALL_STRIP
+ 
+ # Copyright 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, 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.
+ 
+ # One issue with vendor `install' (even GNU) is that you can't
+ # specify the program used to strip binaries.  This is especially
+ # annoying in cross-compiling environments, where the build's strip
+ # is unlikely to handle the host's binaries.
+ # Fortunately install-sh will honor a STRIPPROG variable, so we
+ # always use install-sh in `make install-strip', and initialize
+ # STRIPPROG with the value of the STRIP variable (set by the user).
+ AC_DEFUN([AM_PROG_INSTALL_STRIP],
+ [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+ # Installed binaries are usually stripped using `strip' when the user
+ # run `make install-strip'.  However `strip' might not be the right
+ # tool to use in cross-compilation environments, therefore Automake
+ # will honor the `STRIP' environment variable to overrule this program.
+ dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+ if test "$cross_compiling" != no; then
+   AC_CHECK_TOOL([STRIP], [strip], :)
+ fi
+ INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+ AC_SUBST([INSTALL_STRIP_PROGRAM])])
+ 
+ # serial 4						-*- Autoconf -*-
+ 
+ # Copyright 1999, 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, 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.
+ 
+ 
+ # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+ # written in clear, in which case automake, when reading aclocal.m4,
+ # will think it sees a *use*, and therefore will trigger all it's
+ # C support machinery.  Also note that it means that autoscan, seeing
+ # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+ 
+ 
+ 
+ # _AM_DEPENDENCIES(NAME)
+ # ----------------------
+ # See how the compiler implements dependency checking.
+ # NAME is "CC", "CXX", "GCJ", or "OBJC".
+ # We try a few techniques and use that to set a single cache variable.
+ #
+ # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+ # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+ # dependency, and given that the user is not expected to run this macro,
+ # just rely on AC_PROG_CC.
+ AC_DEFUN([_AM_DEPENDENCIES],
+ [AC_REQUIRE([AM_SET_DEPDIR])dnl
+ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+ AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+ AC_REQUIRE([AM_DEP_TRACK])dnl
+ 
+ ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+        [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+        [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+        [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                    [depcc="$$1"   am_compiler_list=])
+ 
+ AC_CACHE_CHECK([dependency style of $depcc],
+                [am_cv_$1_dependencies_compiler_type],
+ [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+   # We make a subdir and do the tests there.  Otherwise we can end up
+   # making bogus files that we don't know about and never remove.  For
+   # instance it was reported that on HP-UX the gcc test will end up
+   # making a dummy file named `D' -- because `-MD' means `put the output
+   # in D'.
+   mkdir conftest.dir
+   # Copy depcomp to subdir because otherwise we won't find it if we're
+   # using a relative directory.
+   cp "$am_depcomp" conftest.dir
+   cd conftest.dir
+ 
+   am_cv_$1_dependencies_compiler_type=none
+   if test "$am_compiler_list" = ""; then
+      am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+   fi
+   for depmode in $am_compiler_list; do
+     # We need to recreate these files for each test, as the compiler may
+     # overwrite some of them when testing with obscure command lines.
+     # This happens at least with the AIX C compiler.
+     echo '#include "conftest.h"' > conftest.c
+     echo 'int i;' > conftest.h
+     echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
+ 
+     case $depmode in
+     nosideeffect)
+       # after this tag, mechanisms are not by side-effect, so they'll
+       # only be used when explicitly requested
+       if test "x$enable_dependency_tracking" = xyes; then
+ 	continue
+       else
+ 	break
+       fi
+       ;;
+     none) break ;;
+     esac
+     # We check with `-c' and `-o' for the sake of the "dashmstdout"
+     # mode.  It turns out that the SunPro C++ compiler does not properly
+     # handle `-M -o', and we need to detect this.
+     if depmode=$depmode \
+        source=conftest.c object=conftest.o \
+        depfile=conftest.Po tmpdepfile=conftest.TPo \
+        $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
+        grep conftest.h conftest.Po > /dev/null 2>&1 &&
+        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+       am_cv_$1_dependencies_compiler_type=$depmode
+       break
+     fi
+   done
+ 
+   cd ..
+   rm -rf conftest.dir
+ else
+   am_cv_$1_dependencies_compiler_type=none
+ fi
+ ])
+ AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+ ])
+ 
+ 
+ # AM_SET_DEPDIR
+ # -------------
+ # Choose a directory name for dependency files.
+ # This macro is AC_REQUIREd in _AM_DEPENDENCIES
+ AC_DEFUN([AM_SET_DEPDIR],
+ [rm -f .deps 2>/dev/null
+ mkdir .deps 2>/dev/null
+ if test -d .deps; then
+   DEPDIR=.deps
+ else
+   # MS-DOS does not allow filenames that begin with a dot.
+   DEPDIR=_deps
+ fi
+ rmdir .deps 2>/dev/null
+ AC_SUBST([DEPDIR])
+ ])
+ 
+ 
+ # AM_DEP_TRACK
+ # ------------
+ AC_DEFUN([AM_DEP_TRACK],
+ [AC_ARG_ENABLE(dependency-tracking,
+ [  --disable-dependency-tracking Speeds up one-time builds
+   --enable-dependency-tracking  Do not reject slow dependency extractors])
+ if test "x$enable_dependency_tracking" != xno; then
+   am_depcomp="$ac_aux_dir/depcomp"
+   AMDEPBACKSLASH='\'
+ fi
+ AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+ AC_SUBST([AMDEPBACKSLASH])
+ ])
+ 
+ # Generate code to set up dependency tracking.   -*- Autoconf -*-
+ 
+ # Copyright 1999, 2000, 2001, 2002 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, 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.
+ 
+ #serial 2
+ 
+ # _AM_OUTPUT_DEPENDENCY_COMMANDS
+ # ------------------------------
+ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [for mf in $CONFIG_FILES; do
+   # Strip MF so we end up with the name of the file.
+   mf=`echo "$mf" | sed -e 's/:.*$//'`
+   # Check whether this is an Automake generated Makefile or not.
+   # We used to match only the files named `Makefile.in', but
+   # some people rename them; so instead we look at the file content.
+   # Grep'ing the first line is not enough: some people post-process
+   # each Makefile.in and add a new line on top of each file to say so.
+   # So let's grep whole file.
+   if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+     dirpart=`AS_DIRNAME("$mf")`
+   else
+     continue
+   fi
+   grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
+   # Extract the definition of DEP_FILES from the Makefile without
+   # running `make'.
+   DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
+   test -z "$DEPDIR" && continue
+   # When using ansi2knr, U may be empty or an underscore; expand it
+   U=`sed -n -e '/^U = / s///p' < "$mf"`
+   test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
+   # We invoke sed twice because it is the simplest approach to
+   # changing $(DEPDIR) to its actual value in the expansion.
+   for file in `sed -n -e '
+     /^DEP_FILES = .*\\\\$/ {
+       s/^DEP_FILES = //
+       :loop
+ 	s/\\\\$//
+ 	p
+ 	n
+ 	/\\\\$/ b loop
+       p
+     }
+     /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
+        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+     # Make sure the directory exists.
+     test -f "$dirpart/$file" && continue
+     fdir=`AS_DIRNAME(["$file"])`
+     AS_MKDIR_P([$dirpart/$fdir])
+     # echo "creating $dirpart/$file"
+     echo '# dummy' > "$dirpart/$file"
+   done
+ done
+ ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+ 
+ 
+ # AM_OUTPUT_DEPENDENCY_COMMANDS
+ # -----------------------------
+ # This macro should only be invoked once -- use via AC_REQUIRE.
+ #
+ # This code is only required when automatic dependency tracking
+ # is enabled.  FIXME.  This creates each `.P' file that we will
+ # need in order to bootstrap the dependency handling code.
+ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AC_CONFIG_COMMANDS([depfiles],
+      [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+      [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+ ])
+ 
+ # Copyright 2001 Free Software Foundation, Inc.             -*- Autoconf -*-
+ 
+ # 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, 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.
+ 
+ # serial 2
+ 
+ # AM_MAKE_INCLUDE()
+ # -----------------
+ # Check to see how make treats includes.
+ AC_DEFUN([AM_MAKE_INCLUDE],
+ [am_make=${MAKE-make}
+ cat > confinc << 'END'
+ doit:
+ 	@echo done
+ END
+ # If we don't find an include directive, just comment out the code.
+ AC_MSG_CHECKING([for style of include used by $am_make])
+ am__include="#"
+ am__quote=
+ _am_result=none
+ # First try GNU make style include.
+ echo "include confinc" > confmf
+ # We grep out `Entering directory' and `Leaving directory'
+ # messages which can occur if `w' ends up in MAKEFLAGS.
+ # In particular we don't look at `^make:' because GNU make might
+ # be invoked under some other name (usually "gmake"), in which
+ # case it prints its new name instead of `make'.
+ if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
+    am__include=include
+    am__quote=
+    _am_result=GNU
+ fi
+ # Now try BSD make style include.
+ if test "$am__include" = "#"; then
+    echo '.include "confinc"' > confmf
+    if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+       am__include=.include
+       am__quote="\""
+       _am_result=BSD
+    fi
+ fi
+ AC_SUBST(am__include)
+ AC_SUBST(am__quote)
+ AC_MSG_RESULT($_am_result)
+ rm -f confinc confmf
+ ])
+ 
+ # AM_CONDITIONAL                                              -*- Autoconf -*-
+ 
+ # Copyright 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
+ # the Free Software Foundation; either version 2, 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.
+ 
+ # serial 5
+ 
+ AC_PREREQ(2.52)
+ 
+ # AM_CONDITIONAL(NAME, SHELL-CONDITION)
+ # -------------------------------------
+ # Define a conditional.
+ AC_DEFUN([AM_CONDITIONAL],
+ [ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+         [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+ AC_SUBST([$1_TRUE])
+ AC_SUBST([$1_FALSE])
+ if $2; then
+   $1_TRUE=
+   $1_FALSE='#'
+ else
+   $1_TRUE='#'
+   $1_FALSE=
+ fi
+ AC_CONFIG_COMMANDS_PRE(
+ [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+   AC_MSG_ERROR([conditional \"$1\" was never defined.
+ Usually this means the macro was only invoked conditionally.])
+ fi])])
+ 
+ # Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
+ 
+ # Copyright 1996, 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
+ # the Free Software Foundation; either version 2, 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.
+ 
+ AC_PREREQ([2.52])
+ 
+ # serial 6
+ 
+ # When config.status generates a header, we must update the stamp-h file.
+ # This file resides in the same directory as the config header
+ # that is generated.  We must strip everything past the first ":",
+ # and everything past the last "/".
+ 
+ # _AM_DIRNAME(PATH)
+ # -----------------
+ # Like AS_DIRNAME, only do it during macro expansion
+ AC_DEFUN([_AM_DIRNAME],
+        [m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
+ 	      m4_if(regexp([$1], [^//\([^/]\|$\)]), -1,
+ 		    m4_if(regexp([$1], [^/.*]), -1,
+ 			  [.],
+ 			  patsubst([$1], [^\(/\).*], [\1])),
+ 		    patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
+ 	      patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
+ ])# _AM_DIRNAME
+ 
+ 
+ # The stamp files are numbered to have different names.
+ # We could number them on a directory basis, but that's additional
+ # complications, let's have a unique counter.
+ m4_define([_AM_STAMP_Count], [0])
+ 
+ 
+ # _AM_STAMP(HEADER)
+ # -----------------
+ # The name of the stamp file for HEADER.
+ AC_DEFUN([_AM_STAMP],
+ [m4_define([_AM_STAMP_Count], m4_incr(_AM_STAMP_Count))dnl
+ AS_ESCAPE(_AM_DIRNAME(patsubst([$1],
+                                [:.*])))/stamp-h[]_AM_STAMP_Count])
+ 
+ 
+ # _AM_CONFIG_HEADER(HEADER[:SOURCES], COMMANDS, INIT-COMMANDS)
+ # ------------------------------------------------------------
+ # We used to try to get a real timestamp in stamp-h.  But the fear is that
+ # that will cause unnecessary cvs conflicts.
+ AC_DEFUN([_AM_CONFIG_HEADER],
+ [# Add the stamp file to the list of files AC keeps track of,
+ # along with our hook.
+ AC_CONFIG_HEADERS([$1],
+                   [# update the timestamp
+ echo 'timestamp for $1' >"_AM_STAMP([$1])"
+ $2],
+                   [$3])
+ ])# _AM_CONFIG_HEADER
+ 
+ 
+ # AM_CONFIG_HEADER(HEADER[:SOURCES]..., COMMANDS, INIT-COMMANDS)
+ # --------------------------------------------------------------
+ AC_DEFUN([AM_CONFIG_HEADER],
+ [AC_FOREACH([_AM_File], [$1], [_AM_CONFIG_HEADER(_AM_File, [$2], [$3])])
+ ])# AM_CONFIG_HEADER
+ 


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/config.h
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/config.h:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/config.h	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,74 ----
+ /* config.h.  Generated by configure.  */
+ /* config.h.in.  Generated from configure.ac by autoheader.  */
+ 
+ /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
+ #define HAVE_DOPRNT 1
+ 
+ /* Define to 1 if you have the `getcwd' function. */
+ #define HAVE_GETCWD 1
+ 
+ /* Define to 1 if you have the <inttypes.h> header file. */
+ #define HAVE_INTTYPES_H 1
+ 
+ /* Define to 1 if you have the <memory.h> header file. */
+ #define HAVE_MEMORY_H 1
+ 
+ /* Define to 1 if you have the <stdint.h> header file. */
+ #define HAVE_STDINT_H 1
+ 
+ /* Define to 1 if you have the <stdlib.h> header file. */
+ #define HAVE_STDLIB_H 1
+ 
+ /* Define to 1 if you have the `strchr' function. */
+ #define HAVE_STRCHR 1
+ 
+ /* Define to 1 if you have the `strerror' function. */
+ #define HAVE_STRERROR 1
+ 
+ /* Define to 1 if you have the <strings.h> header file. */
+ #define HAVE_STRINGS_H 1
+ 
+ /* Define to 1 if you have the <string.h> header file. */
+ #define HAVE_STRING_H 1
+ 
+ /* Define to 1 if you have the <sys/param.h> header file. */
+ #define HAVE_SYS_PARAM_H 1
+ 
+ /* Define to 1 if you have the <sys/stat.h> header file. */
+ #define HAVE_SYS_STAT_H 1
+ 
+ /* Define to 1 if you have the <sys/types.h> header file. */
+ #define HAVE_SYS_TYPES_H 1
+ 
+ /* Define to 1 if you have the <unistd.h> header file. */
+ #define HAVE_UNISTD_H 1
+ 
+ /* Define to 1 if you have the `vprintf' function. */
+ #define HAVE_VPRINTF 1
+ 
+ /* Name of package */
+ #define PACKAGE "lambda"
+ 
+ /* Define to the address where bug reports for this package should be sent. */
+ #define PACKAGE_BUGREPORT "usdesign at earthlink.net"
+ 
+ /* Define to the full name of this package. */
+ #define PACKAGE_NAME "lambda"
+ 
+ /* Define to the full name and version of this package. */
+ #define PACKAGE_STRING "lambda 0.1.3"
+ 
+ /* Define to the one symbol short name of this package. */
+ #define PACKAGE_TARNAME "lambda"
+ 
+ /* Define to the version of this package. */
+ #define PACKAGE_VERSION "0.1.3"
+ 
+ /* Define to 1 if you have the ANSI C header files. */
+ #define STDC_HEADERS 1
+ 
+ /* Version number of package */
+ #define VERSION "0.1.3"
+ 
+ /* Define to empty if `const' does not conform to ANSI C. */
+ /* #undef const */


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/config.h.in
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/config.h.in:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/config.h.in	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,73 ----
+ /* config.h.in.  Generated from configure.ac by autoheader.  */
+ 
+ /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
+ #undef HAVE_DOPRNT
+ 
+ /* Define to 1 if you have the `getcwd' function. */
+ #undef HAVE_GETCWD
+ 
+ /* Define to 1 if you have the <inttypes.h> header file. */
+ #undef HAVE_INTTYPES_H
+ 
+ /* Define to 1 if you have the <memory.h> header file. */
+ #undef HAVE_MEMORY_H
+ 
+ /* Define to 1 if you have the <stdint.h> header file. */
+ #undef HAVE_STDINT_H
+ 
+ /* Define to 1 if you have the <stdlib.h> header file. */
+ #undef HAVE_STDLIB_H
+ 
+ /* Define to 1 if you have the `strchr' function. */
+ #undef HAVE_STRCHR
+ 
+ /* Define to 1 if you have the `strerror' function. */
+ #undef HAVE_STRERROR
+ 
+ /* Define to 1 if you have the <strings.h> header file. */
+ #undef HAVE_STRINGS_H
+ 
+ /* Define to 1 if you have the <string.h> header file. */
+ #undef HAVE_STRING_H
+ 
+ /* Define to 1 if you have the <sys/param.h> header file. */
+ #undef HAVE_SYS_PARAM_H
+ 
+ /* Define to 1 if you have the <sys/stat.h> header file. */
+ #undef HAVE_SYS_STAT_H
+ 
+ /* Define to 1 if you have the <sys/types.h> header file. */
+ #undef HAVE_SYS_TYPES_H
+ 
+ /* Define to 1 if you have the <unistd.h> header file. */
+ #undef HAVE_UNISTD_H
+ 
+ /* Define to 1 if you have the `vprintf' function. */
+ #undef HAVE_VPRINTF
+ 
+ /* Name of package */
+ #undef PACKAGE
+ 
+ /* Define to the address where bug reports for this package should be sent. */
+ #undef PACKAGE_BUGREPORT
+ 
+ /* Define to the full name of this package. */
+ #undef PACKAGE_NAME
+ 
+ /* Define to the full name and version of this package. */
+ #undef PACKAGE_STRING
+ 
+ /* Define to the one symbol short name of this package. */
+ #undef PACKAGE_TARNAME
+ 
+ /* Define to the version of this package. */
+ #undef PACKAGE_VERSION
+ 
+ /* Define to 1 if you have the ANSI C header files. */
+ #undef STDC_HEADERS
+ 
+ /* Version number of package */
+ #undef VERSION
+ 
+ /* Define to empty if `const' does not conform to ANSI C. */
+ #undef const


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/configure
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/configure:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/configure	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,5090 ----
+ #! /bin/sh
+ # Guess values for system-dependent variables and create Makefiles.
+ # Generated by GNU Autoconf 2.53 for lambda 0.1.3.
+ #
+ # Report bugs to <usdesign at earthlink.net>.
+ #
+ # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
+ # Free Software Foundation, Inc.
+ # This configure script is free software; the Free Software Foundation
+ # gives unlimited permission to copy, distribute and modify it.
+ 
+ if expr a : '\(a\)' >/dev/null 2>&1; then
+   as_expr=expr
+ else
+   as_expr=false
+ fi
+ 
+ 
+ ## --------------------- ##
+ ## M4sh Initialization.  ##
+ ## --------------------- ##
+ 
+ # Be Bourne compatible
+ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+   emulate sh
+   NULLCMD=:
+ elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+   set -o posix
+ fi
+ 
+ # NLS nuisances.
+ # Support unset when possible.
+ if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+   as_unset=unset
+ else
+   as_unset=false
+ fi
+ 
+ (set +x; test -n "`(LANG=C; export LANG) 2>&1`") &&
+     { $as_unset LANG || test "${LANG+set}" != set; } ||
+       { LANG=C; export LANG; }
+ (set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") &&
+     { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } ||
+       { LC_ALL=C; export LC_ALL; }
+ (set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") &&
+     { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } ||
+       { LC_TIME=C; export LC_TIME; }
+ (set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") &&
+     { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } ||
+       { LC_CTYPE=C; export LC_CTYPE; }
+ (set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") &&
+     { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } ||
+       { LANGUAGE=C; export LANGUAGE; }
+ (set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") &&
+     { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } ||
+       { LC_COLLATE=C; export LC_COLLATE; }
+ (set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") &&
+     { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } ||
+       { LC_NUMERIC=C; export LC_NUMERIC; }
+ (set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") &&
+     { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } ||
+       { LC_MESSAGES=C; export LC_MESSAGES; }
+ 
+ 
+ # Name of the executable.
+ as_me=`(basename "$0") 2>/dev/null ||
+ $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ 	 X"$0" : 'X\(//\)$' \| \
+ 	 X"$0" : 'X\(/\)$' \| \
+ 	 .     : '\(.\)' 2>/dev/null ||
+ echo X/"$0" |
+     sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+   	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+   	  /^X\/\(\/\).*/{ s//\1/; q; }
+   	  s/.*/./; q'`
+ 
+ # PATH needs CR, and LINENO needs CR and PATH.
+ # Avoid depending upon Character Ranges.
+ as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+ as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+ as_cr_digits='0123456789'
+ as_cr_alnum=$as_cr_Letters$as_cr_digits
+ 
+ # The user is always right.
+ if test "${PATH_SEPARATOR+set}" != set; then
+   echo "#! /bin/sh" >conftest.sh
+   echo  "exit 0"   >>conftest.sh
+   chmod +x conftest.sh
+   if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then
+     PATH_SEPARATOR=';'
+   else
+     PATH_SEPARATOR=:
+   fi
+   rm -f conftest.sh
+ fi
+ 
+ 
+   as_lineno_1=$LINENO
+   as_lineno_2=$LINENO
+   as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+   test "x$as_lineno_1" != "x$as_lineno_2" &&
+   test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+   # Find who we are.  Look in the path if we contain no path at all
+   # relative or not.
+   case $0 in
+     *[\\/]* ) as_myself=$0 ;;
+     *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+ 
+        ;;
+   esac
+   # We did not find ourselves, most probably we were run as `sh COMMAND'
+   # in which case we are not to be found in the path.
+   if test "x$as_myself" = x; then
+     as_myself=$0
+   fi
+   if test ! -f "$as_myself"; then
+     { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+    { (exit 1); exit 1; }; }
+   fi
+   case $CONFIG_SHELL in
+   '')
+     as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for as_base in sh bash ksh sh5; do
+ 	 case $as_dir in
+ 	 /*)
+ 	   if ("$as_dir/$as_base" -c '
+   as_lineno_1=$LINENO
+   as_lineno_2=$LINENO
+   as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+   test "x$as_lineno_1" != "x$as_lineno_2" &&
+   test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+ 	     CONFIG_SHELL=$as_dir/$as_base
+ 	     export CONFIG_SHELL
+ 	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ 	   fi;;
+ 	 esac
+        done
+ done
+ ;;
+   esac
+ 
+   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+   # uniformly replaced by the line number.  The first 'sed' inserts a
+   # line-number line before each line; the second 'sed' does the real
+   # work.  The second script uses 'N' to pair each line-number line
+   # with the numbered line, and appends trailing '-' during
+   # substitution so that $LINENO is not a special case at line end.
+   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+   # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+   sed '=' <$as_myself |
+     sed '
+       N
+       s,$,-,
+       : loop
+       s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+       t loop
+       s,-$,,
+       s,^['$as_cr_digits']*\n,,
+     ' >$as_me.lineno &&
+   chmod +x $as_me.lineno ||
+     { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+    { (exit 1); exit 1; }; }
+ 
+   # Don't try to exec as it changes $[0], causing all sort of problems
+   # (the dirname of $[0] is not the place where we might find the
+   # original and so on.  Autoconf is especially sensible to this).
+   . ./$as_me.lineno
+   # Exit status is that of the last command.
+   exit
+ }
+ 
+ 
+ case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+   *c*,-n*) ECHO_N= ECHO_C='
+ ' ECHO_T='	' ;;
+   *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+   *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+ esac
+ 
+ if expr a : '\(a\)' >/dev/null 2>&1; then
+   as_expr=expr
+ else
+   as_expr=false
+ fi
+ 
+ rm -f conf$$ conf$$.exe conf$$.file
+ echo >conf$$.file
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+   # We could just check for DJGPP; but this test a) works b) is more generic
+   # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+   if test -f conf$$.exe; then
+     # Don't use ln at all; we don't have any links
+     as_ln_s='cp -p'
+   else
+     as_ln_s='ln -s'
+   fi
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+   as_ln_s=ln
+ else
+   as_ln_s='cp -p'
+ fi
+ rm -f conf$$ conf$$.exe conf$$.file
+ 
+ as_executable_p="test -f"
+ 
+ # Sed expression to map a string onto a valid CPP name.
+ as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+ 
+ # Sed expression to map a string onto a valid variable name.
+ as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
+ 
+ 
+ # IFS
+ # We need space, tab and new line, in precisely that order.
+ as_nl='
+ '
+ IFS=" 	$as_nl"
+ 
+ # CDPATH.
+ $as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; }
+ 
+ 
+ # Name of the host.
+ # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+ # so uname gets run too.
+ ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+ 
+ exec 6>&1
+ 
+ #
+ # Initializations.
+ #
+ ac_default_prefix=/usr/local
+ cross_compiling=no
+ subdirs=
+ MFLAGS=
+ MAKEFLAGS=
+ SHELL=${CONFIG_SHELL-/bin/sh}
+ 
+ # Maximum number of lines to put in a shell here document.
+ # This variable seems obsolete.  It should probably be removed, and
+ # only ac_max_sed_lines should be used.
+ : ${ac_max_here_lines=38}
+ 
+ # Identity of this package.
+ PACKAGE_NAME='lambda'
+ PACKAGE_TARNAME='lambda'
+ PACKAGE_VERSION='0.1.3'
+ PACKAGE_STRING='lambda 0.1.3'
+ PACKAGE_BUGREPORT='usdesign at earthlink.net'
+ 
+ # Factoring default headers for most tests.
+ ac_includes_default="\
+ #include <stdio.h>
+ #if HAVE_SYS_TYPES_H
+ # include <sys/types.h>
+ #endif
+ #if HAVE_SYS_STAT_H
+ # include <sys/stat.h>
+ #endif
+ #if STDC_HEADERS
+ # include <stdlib.h>
+ # include <stddef.h>
+ #else
+ # if HAVE_STDLIB_H
+ #  include <stdlib.h>
+ # endif
+ #endif
+ #if HAVE_STRING_H
+ # if !STDC_HEADERS && HAVE_MEMORY_H
+ #  include <memory.h>
+ # endif
+ # include <string.h>
+ #endif
+ #if HAVE_STRINGS_H
+ # include <strings.h>
+ #endif
+ #if HAVE_INTTYPES_H
+ # include <inttypes.h>
+ #else
+ # if HAVE_STDINT_H
+ #  include <stdint.h>
+ # endif
+ #endif
+ #if HAVE_UNISTD_H
+ # include <unistd.h>
+ #endif"
+ 
+ 
+ # Initialize some variables set by options.
+ ac_init_help=
+ ac_init_version=false
+ # The variables have the same names as the options, with
+ # dashes changed to underlines.
+ cache_file=/dev/null
+ exec_prefix=NONE
+ no_create=
+ no_recursion=
+ prefix=NONE
+ program_prefix=NONE
+ program_suffix=NONE
+ program_transform_name=s,x,x,
+ silent=
+ site=
+ srcdir=
+ verbose=
+ x_includes=NONE
+ x_libraries=NONE
+ 
+ # Installation directory options.
+ # These are left unexpanded so users can "make install exec_prefix=/foo"
+ # and all the variables that are supposed to be based on exec_prefix
+ # by default will actually change.
+ # Use braces instead of parens because sh, perl, etc. also accept them.
+ bindir='${exec_prefix}/bin'
+ sbindir='${exec_prefix}/sbin'
+ libexecdir='${exec_prefix}/libexec'
+ datadir='${prefix}/share'
+ sysconfdir='${prefix}/etc'
+ sharedstatedir='${prefix}/com'
+ localstatedir='${prefix}/var'
+ libdir='${exec_prefix}/lib'
+ includedir='${prefix}/include'
+ oldincludedir='/usr/include'
+ infodir='${prefix}/info'
+ mandir='${prefix}/man'
+ 
+ ac_prev=
+ for ac_option
+ do
+   # If the previous option needs an argument, assign it.
+   if test -n "$ac_prev"; then
+     eval "$ac_prev=\$ac_option"
+     ac_prev=
+     continue
+   fi
+ 
+   ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+ 
+   # Accept the important Cygnus configure options, so we can diagnose typos.
+ 
+   case $ac_option in
+ 
+   -bindir | --bindir | --bindi | --bind | --bin | --bi)
+     ac_prev=bindir ;;
+   -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+     bindir=$ac_optarg ;;
+ 
+   -build | --build | --buil | --bui | --bu)
+     ac_prev=build_alias ;;
+   -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+     build_alias=$ac_optarg ;;
+ 
+   -cache-file | --cache-file | --cache-fil | --cache-fi \
+   | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+     ac_prev=cache_file ;;
+   -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+   | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+     cache_file=$ac_optarg ;;
+ 
+   --config-cache | -C)
+     cache_file=config.cache ;;
+ 
+   -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+     ac_prev=datadir ;;
+   -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+   | --da=*)
+     datadir=$ac_optarg ;;
+ 
+   -disable-* | --disable-*)
+     ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+     # Reject names that are not valid shell variable names.
+     expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+    { (exit 1); exit 1; }; }
+     ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+     eval "enable_$ac_feature=no" ;;
+ 
+   -enable-* | --enable-*)
+     ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+     # Reject names that are not valid shell variable names.
+     expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+    { (exit 1); exit 1; }; }
+     ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+     case $ac_option in
+       *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+       *) ac_optarg=yes ;;
+     esac
+     eval "enable_$ac_feature='$ac_optarg'" ;;
+ 
+   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+   | --exec | --exe | --ex)
+     ac_prev=exec_prefix ;;
+   -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+   | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+   | --exec=* | --exe=* | --ex=*)
+     exec_prefix=$ac_optarg ;;
+ 
+   -gas | --gas | --ga | --g)
+     # Obsolete; use --with-gas.
+     with_gas=yes ;;
+ 
+   -help | --help | --hel | --he | -h)
+     ac_init_help=long ;;
+   -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+     ac_init_help=recursive ;;
+   -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+     ac_init_help=short ;;
+ 
+   -host | --host | --hos | --ho)
+     ac_prev=host_alias ;;
+   -host=* | --host=* | --hos=* | --ho=*)
+     host_alias=$ac_optarg ;;
+ 
+   -includedir | --includedir | --includedi | --included | --include \
+   | --includ | --inclu | --incl | --inc)
+     ac_prev=includedir ;;
+   -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+   | --includ=* | --inclu=* | --incl=* | --inc=*)
+     includedir=$ac_optarg ;;
+ 
+   -infodir | --infodir | --infodi | --infod | --info | --inf)
+     ac_prev=infodir ;;
+   -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+     infodir=$ac_optarg ;;
+ 
+   -libdir | --libdir | --libdi | --libd)
+     ac_prev=libdir ;;
+   -libdir=* | --libdir=* | --libdi=* | --libd=*)
+     libdir=$ac_optarg ;;
+ 
+   -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+   | --libexe | --libex | --libe)
+     ac_prev=libexecdir ;;
+   -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+   | --libexe=* | --libex=* | --libe=*)
+     libexecdir=$ac_optarg ;;
+ 
+   -localstatedir | --localstatedir | --localstatedi | --localstated \
+   | --localstate | --localstat | --localsta | --localst \
+   | --locals | --local | --loca | --loc | --lo)
+     ac_prev=localstatedir ;;
+   -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+   | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+   | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+     localstatedir=$ac_optarg ;;
+ 
+   -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+     ac_prev=mandir ;;
+   -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+     mandir=$ac_optarg ;;
+ 
+   -nfp | --nfp | --nf)
+     # Obsolete; use --without-fp.
+     with_fp=no ;;
+ 
+   -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+   | --no-cr | --no-c | -n)
+     no_create=yes ;;
+ 
+   -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+   | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+     no_recursion=yes ;;
+ 
+   -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+   | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+   | --oldin | --oldi | --old | --ol | --o)
+     ac_prev=oldincludedir ;;
+   -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+   | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+   | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+     oldincludedir=$ac_optarg ;;
+ 
+   -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+     ac_prev=prefix ;;
+   -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+     prefix=$ac_optarg ;;
+ 
+   -program-prefix | --program-prefix | --program-prefi | --program-pref \
+   | --program-pre | --program-pr | --program-p)
+     ac_prev=program_prefix ;;
+   -program-prefix=* | --program-prefix=* | --program-prefi=* \
+   | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+     program_prefix=$ac_optarg ;;
+ 
+   -program-suffix | --program-suffix | --program-suffi | --program-suff \
+   | --program-suf | --program-su | --program-s)
+     ac_prev=program_suffix ;;
+   -program-suffix=* | --program-suffix=* | --program-suffi=* \
+   | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+     program_suffix=$ac_optarg ;;
+ 
+   -program-transform-name | --program-transform-name \
+   | --program-transform-nam | --program-transform-na \
+   | --program-transform-n | --program-transform- \
+   | --program-transform | --program-transfor \
+   | --program-transfo | --program-transf \
+   | --program-trans | --program-tran \
+   | --progr-tra | --program-tr | --program-t)
+     ac_prev=program_transform_name ;;
+   -program-transform-name=* | --program-transform-name=* \
+   | --program-transform-nam=* | --program-transform-na=* \
+   | --program-transform-n=* | --program-transform-=* \
+   | --program-transform=* | --program-transfor=* \
+   | --program-transfo=* | --program-transf=* \
+   | --program-trans=* | --program-tran=* \
+   | --progr-tra=* | --program-tr=* | --program-t=*)
+     program_transform_name=$ac_optarg ;;
+ 
+   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+   | -silent | --silent | --silen | --sile | --sil)
+     silent=yes ;;
+ 
+   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+     ac_prev=sbindir ;;
+   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+   | --sbi=* | --sb=*)
+     sbindir=$ac_optarg ;;
+ 
+   -sharedstatedir | --sharedstatedir | --sharedstatedi \
+   | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+   | --sharedst | --shareds | --shared | --share | --shar \
+   | --sha | --sh)
+     ac_prev=sharedstatedir ;;
+   -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+   | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+   | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+   | --sha=* | --sh=*)
+     sharedstatedir=$ac_optarg ;;
+ 
+   -site | --site | --sit)
+     ac_prev=site ;;
+   -site=* | --site=* | --sit=*)
+     site=$ac_optarg ;;
+ 
+   -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+     ac_prev=srcdir ;;
+   -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+     srcdir=$ac_optarg ;;
+ 
+   -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+   | --syscon | --sysco | --sysc | --sys | --sy)
+     ac_prev=sysconfdir ;;
+   -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+   | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+     sysconfdir=$ac_optarg ;;
+ 
+   -target | --target | --targe | --targ | --tar | --ta | --t)
+     ac_prev=target_alias ;;
+   -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+     target_alias=$ac_optarg ;;
+ 
+   -v | -verbose | --verbose | --verbos | --verbo | --verb)
+     verbose=yes ;;
+ 
+   -version | --version | --versio | --versi | --vers | -V)
+     ac_init_version=: ;;
+ 
+   -with-* | --with-*)
+     ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+     # Reject names that are not valid shell variable names.
+     expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+       { echo "$as_me: error: invalid package name: $ac_package" >&2
+    { (exit 1); exit 1; }; }
+     ac_package=`echo $ac_package| sed 's/-/_/g'`
+     case $ac_option in
+       *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+       *) ac_optarg=yes ;;
+     esac
+     eval "with_$ac_package='$ac_optarg'" ;;
+ 
+   -without-* | --without-*)
+     ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+     # Reject names that are not valid shell variable names.
+     expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+       { echo "$as_me: error: invalid package name: $ac_package" >&2
+    { (exit 1); exit 1; }; }
+     ac_package=`echo $ac_package | sed 's/-/_/g'`
+     eval "with_$ac_package=no" ;;
+ 
+   --x)
+     # Obsolete; use --with-x.
+     with_x=yes ;;
+ 
+   -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+   | --x-incl | --x-inc | --x-in | --x-i)
+     ac_prev=x_includes ;;
+   -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+   | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+     x_includes=$ac_optarg ;;
+ 
+   -x-libraries | --x-libraries | --x-librarie | --x-librari \
+   | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+     ac_prev=x_libraries ;;
+   -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+     x_libraries=$ac_optarg ;;
+ 
+   -*) { echo "$as_me: error: unrecognized option: $ac_option
+ Try \`$0 --help' for more information." >&2
+    { (exit 1); exit 1; }; }
+     ;;
+ 
+   *=*)
+     ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+     # Reject names that are not valid shell variable names.
+     expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+       { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+    { (exit 1); exit 1; }; }
+     ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+     eval "$ac_envvar='$ac_optarg'"
+     export $ac_envvar ;;
+ 
+   *)
+     # FIXME: should be removed in autoconf 3.0.
+     echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+       echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+     : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+     ;;
+ 
+   esac
+ done
+ 
+ if test -n "$ac_prev"; then
+   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+   { echo "$as_me: error: missing argument to $ac_option" >&2
+    { (exit 1); exit 1; }; }
+ fi
+ 
+ # Be sure to have absolute paths.
+ for ac_var in exec_prefix prefix
+ do
+   eval ac_val=$`echo $ac_var`
+   case $ac_val in
+     [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+     *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+    { (exit 1); exit 1; }; };;
+   esac
+ done
+ 
+ # Be sure to have absolute paths.
+ for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+               localstatedir libdir includedir oldincludedir infodir mandir
+ do
+   eval ac_val=$`echo $ac_var`
+   case $ac_val in
+     [\\/$]* | ?:[\\/]* ) ;;
+     *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+    { (exit 1); exit 1; }; };;
+   esac
+ done
+ 
+ # There might be people who depend on the old broken behavior: `$host'
+ # used to hold the argument of --host etc.
+ # FIXME: To remove some day.
+ build=$build_alias
+ host=$host_alias
+ target=$target_alias
+ 
+ # FIXME: To remove some day.
+ if test "x$host_alias" != x; then
+   if test "x$build_alias" = x; then
+     cross_compiling=maybe
+     echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+     If a cross compiler is detected then cross compile mode will be used." >&2
+   elif test "x$build_alias" != "x$host_alias"; then
+     cross_compiling=yes
+   fi
+ fi
+ 
+ ac_tool_prefix=
+ test -n "$host_alias" && ac_tool_prefix=$host_alias-
+ 
+ test "$silent" = yes && exec 6>/dev/null
+ 
+ 
+ # Find the source files, if location was not specified.
+ if test -z "$srcdir"; then
+   ac_srcdir_defaulted=yes
+   # Try the directory containing this script, then its parent.
+   ac_confdir=`(dirname "$0") 2>/dev/null ||
+ $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+          X"$0" : 'X\(//\)[^/]' \| \
+          X"$0" : 'X\(//\)$' \| \
+          X"$0" : 'X\(/\)' \| \
+          .     : '\(.\)' 2>/dev/null ||
+ echo X"$0" |
+     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+   	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+   	  /^X\(\/\/\)$/{ s//\1/; q; }
+   	  /^X\(\/\).*/{ s//\1/; q; }
+   	  s/.*/./; q'`
+   srcdir=$ac_confdir
+   if test ! -r $srcdir/$ac_unique_file; then
+     srcdir=..
+   fi
+ else
+   ac_srcdir_defaulted=no
+ fi
+ if test ! -r $srcdir/$ac_unique_file; then
+   if test "$ac_srcdir_defaulted" = yes; then
+     { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+    { (exit 1); exit 1; }; }
+   else
+     { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+    { (exit 1); exit 1; }; }
+   fi
+ fi
+ srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ ac_env_build_alias_set=${build_alias+set}
+ ac_env_build_alias_value=$build_alias
+ ac_cv_env_build_alias_set=${build_alias+set}
+ ac_cv_env_build_alias_value=$build_alias
+ ac_env_host_alias_set=${host_alias+set}
+ ac_env_host_alias_value=$host_alias
+ ac_cv_env_host_alias_set=${host_alias+set}
+ ac_cv_env_host_alias_value=$host_alias
+ ac_env_target_alias_set=${target_alias+set}
+ ac_env_target_alias_value=$target_alias
+ ac_cv_env_target_alias_set=${target_alias+set}
+ ac_cv_env_target_alias_value=$target_alias
+ ac_env_CXX_set=${CXX+set}
+ ac_env_CXX_value=$CXX
+ ac_cv_env_CXX_set=${CXX+set}
+ ac_cv_env_CXX_value=$CXX
+ ac_env_CXXFLAGS_set=${CXXFLAGS+set}
+ ac_env_CXXFLAGS_value=$CXXFLAGS
+ ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set}
+ ac_cv_env_CXXFLAGS_value=$CXXFLAGS
+ ac_env_LDFLAGS_set=${LDFLAGS+set}
+ ac_env_LDFLAGS_value=$LDFLAGS
+ ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
+ ac_cv_env_LDFLAGS_value=$LDFLAGS
+ ac_env_CPPFLAGS_set=${CPPFLAGS+set}
+ ac_env_CPPFLAGS_value=$CPPFLAGS
+ ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
+ ac_cv_env_CPPFLAGS_value=$CPPFLAGS
+ ac_env_CC_set=${CC+set}
+ ac_env_CC_value=$CC
+ ac_cv_env_CC_set=${CC+set}
+ ac_cv_env_CC_value=$CC
+ ac_env_CFLAGS_set=${CFLAGS+set}
+ ac_env_CFLAGS_value=$CFLAGS
+ ac_cv_env_CFLAGS_set=${CFLAGS+set}
+ ac_cv_env_CFLAGS_value=$CFLAGS
+ ac_env_CPP_set=${CPP+set}
+ ac_env_CPP_value=$CPP
+ ac_cv_env_CPP_set=${CPP+set}
+ ac_cv_env_CPP_value=$CPP
+ 
+ #
+ # Report the --help message.
+ #
+ if test "$ac_init_help" = "long"; then
+   # Omit some internal or obsolete options to make the list less imposing.
+   # This message is too long to be a string in the A/UX 3.1 sh.
+   cat <<_ACEOF
+ \`configure' configures lambda 0.1.3 to adapt to many kinds of systems.
+ 
+ Usage: $0 [OPTION]... [VAR=VALUE]...
+ 
+ To assign environment variables (e.g., CC, CFLAGS...), specify them as
+ VAR=VALUE.  See below for descriptions of some of the useful variables.
+ 
+ Defaults for the options are specified in brackets.
+ 
+ Configuration:
+   -h, --help              display this help and exit
+       --help=short        display options specific to this package
+       --help=recursive    display the short help of all the included packages
+   -V, --version           display version information and exit
+   -q, --quiet, --silent   do not print \`checking...' messages
+       --cache-file=FILE   cache test results in FILE [disabled]
+   -C, --config-cache      alias for \`--cache-file=config.cache'
+   -n, --no-create         do not create output files
+       --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+ 
+ _ACEOF
+ 
+   cat <<_ACEOF
+ Installation directories:
+   --prefix=PREFIX         install architecture-independent files in PREFIX
+                           [$ac_default_prefix]
+   --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                           [PREFIX]
+ 
+ By default, \`make install' will install all the files in
+ \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+ an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+ for instance \`--prefix=\$HOME'.
+ 
+ For better control, use the options below.
+ 
+ Fine tuning of the installation directories:
+   --bindir=DIR           user executables [EPREFIX/bin]
+   --sbindir=DIR          system admin executables [EPREFIX/sbin]
+   --libexecdir=DIR       program executables [EPREFIX/libexec]
+   --datadir=DIR          read-only architecture-independent data [PREFIX/share]
+   --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+   --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+   --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+   --libdir=DIR           object code libraries [EPREFIX/lib]
+   --includedir=DIR       C header files [PREFIX/include]
+   --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+   --infodir=DIR          info documentation [PREFIX/info]
+   --mandir=DIR           man documentation [PREFIX/man]
+ _ACEOF
+ 
+   cat <<\_ACEOF
+ 
+ Program names:
+   --program-prefix=PREFIX            prepend PREFIX to installed program names
+   --program-suffix=SUFFIX            append SUFFIX to installed program names
+   --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+ _ACEOF
+ fi
+ 
+ if test -n "$ac_init_help"; then
+   case $ac_init_help in
+      short | recursive ) echo "Configuration of lambda 0.1.3:";;
+    esac
+   cat <<\_ACEOF
+ 
+ Optional Features:
+   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+   --disable-dependency-tracking Speeds up one-time builds
+   --enable-dependency-tracking  Do not reject slow dependency extractors
+ 
+ Some influential environment variables:
+   CXX         C++ compiler command
+   CXXFLAGS    C++ compiler flags
+   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+               nonstandard directory <lib dir>
+   CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
+               headers in a nonstandard directory <include dir>
+   CC          C compiler command
+   CFLAGS      C compiler flags
+   CPP         C preprocessor
+ 
+ Use these variables to override the choices made by `configure' or to help
+ it to find libraries and programs with nonstandard names/locations.
+ 
+ Report bugs to <usdesign at earthlink.net>.
+ _ACEOF
+ fi
+ 
+ if test "$ac_init_help" = "recursive"; then
+   # If there are subdirs, report their specific --help.
+   ac_popdir=`pwd`
+   for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+     test -d $ac_dir || continue
+     ac_builddir=.
+ 
+ if test "$ac_dir" != .; then
+   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+   # A "../" for each directory in $ac_dir_suffix.
+   ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+ else
+   ac_dir_suffix= ac_top_builddir=
+ fi
+ 
+ case $srcdir in
+   .)  # No --srcdir option.  We are building in place.
+     ac_srcdir=.
+     if test -z "$ac_top_builddir"; then
+        ac_top_srcdir=.
+     else
+        ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+     fi ;;
+   [\\/]* | ?:[\\/]* )  # Absolute path.
+     ac_srcdir=$srcdir$ac_dir_suffix;
+     ac_top_srcdir=$srcdir ;;
+   *) # Relative path.
+     ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+     ac_top_srcdir=$ac_top_builddir$srcdir ;;
+ esac
+ # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
+ # absolute.
+ ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
+ ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
+ ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
+ ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+ 
+     cd $ac_dir
+     # Check for guested configure; otherwise get Cygnus style configure.
+     if test -f $ac_srcdir/configure.gnu; then
+       echo
+       $SHELL $ac_srcdir/configure.gnu  --help=recursive
+     elif test -f $ac_srcdir/configure; then
+       echo
+       $SHELL $ac_srcdir/configure  --help=recursive
+     elif test -f $ac_srcdir/configure.ac ||
+            test -f $ac_srcdir/configure.in; then
+       echo
+       $ac_configure --help
+     else
+       echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+     fi
+     cd $ac_popdir
+   done
+ fi
+ 
+ test -n "$ac_init_help" && exit 0
+ if $ac_init_version; then
+   cat <<\_ACEOF
+ lambda configure 0.1.3
+ generated by GNU Autoconf 2.53
+ 
+ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
+ Free Software Foundation, Inc.
+ This configure script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it.
+ _ACEOF
+   exit 0
+ fi
+ exec 5>config.log
+ cat >&5 <<_ACEOF
+ This file contains any messages produced by compilers while
+ running configure, to aid debugging if configure makes a mistake.
+ 
+ It was created by lambda $as_me 0.1.3, which was
+ generated by GNU Autoconf 2.53.  Invocation command line was
+ 
+   $ $0 $@
+ 
+ _ACEOF
+ {
+ cat <<_ASUNAME
+ ## --------- ##
+ ## Platform. ##
+ ## --------- ##
+ 
+ hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+ uname -m = `(uname -m) 2>/dev/null || echo unknown`
+ uname -r = `(uname -r) 2>/dev/null || echo unknown`
+ uname -s = `(uname -s) 2>/dev/null || echo unknown`
+ uname -v = `(uname -v) 2>/dev/null || echo unknown`
+ 
+ /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+ /bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+ 
+ /bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+ /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+ /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+ hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+ /bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+ /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+ /bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+ 
+ _ASUNAME
+ 
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   echo "PATH: $as_dir"
+ done
+ 
+ } >&5
+ 
+ cat >&5 <<_ACEOF
+ 
+ 
+ ## ----------- ##
+ ## Core tests. ##
+ ## ----------- ##
+ 
+ _ACEOF
+ 
+ 
+ # Keep a trace of the command line.
+ # Strip out --no-create and --no-recursion so they do not pile up.
+ # Also quote any args containing shell meta-characters.
+ ac_configure_args=
+ ac_sep=
+ for ac_arg
+ do
+   case $ac_arg in
+   -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+   | --no-cr | --no-c | -n ) continue ;;
+   -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+   | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+     continue ;;
+   *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+     ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+   esac
+   case " $ac_configure_args " in
+     *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+     *) ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+        ac_sep=" " ;;
+   esac
+   # Get rid of the leading space.
+ done
+ 
+ # When interrupted or exit'd, cleanup temporary files, and complete
+ # config.log.  We remove comments because anyway the quotes in there
+ # would cause problems or look ugly.
+ # WARNING: Be sure not to use single quotes in there, as some shells,
+ # such as our DU 5.0 friend, will then `close' the trap.
+ trap 'exit_status=$?
+   # Save into config.log some information that might help in debugging.
+   {
+     echo
+     cat <<\_ASBOX
+ ## ---------------- ##
+ ## Cache variables. ##
+ ## ---------------- ##
+ _ASBOX
+     echo
+     # The following way of writing the cache mishandles newlines in values,
+ {
+   (set) 2>&1 |
+     case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+     *ac_space=\ *)
+       sed -n \
+         "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+     	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+       ;;
+     *)
+       sed -n \
+         "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+       ;;
+     esac;
+ }
+     echo
+     if test -s confdefs.h; then
+       cat <<\_ASBOX
+ ## ----------- ##
+ ## confdefs.h. ##
+ ## ----------- ##
+ _ASBOX
+       echo
+       sed "/^$/d" confdefs.h
+       echo
+     fi
+     test "$ac_signal" != 0 &&
+       echo "$as_me: caught signal $ac_signal"
+     echo "$as_me: exit $exit_status"
+   } >&5
+   rm -f core core.* *.core &&
+   rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+     exit $exit_status
+      ' 0
+ for ac_signal in 1 2 13 15; do
+   trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+ done
+ ac_signal=0
+ 
+ # confdefs.h avoids OS command line length limits that DEFS can exceed.
+ rm -rf conftest* confdefs.h
+ # AIX cpp loses on an empty file, so make sure it contains at least a newline.
+ echo >confdefs.h
+ 
+ # Predefined preprocessor variables.
+ 
+ cat >>confdefs.h <<_ACEOF
+ #define PACKAGE_NAME "$PACKAGE_NAME"
+ _ACEOF
+ 
+ 
+ cat >>confdefs.h <<_ACEOF
+ #define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+ _ACEOF
+ 
+ 
+ cat >>confdefs.h <<_ACEOF
+ #define PACKAGE_VERSION "$PACKAGE_VERSION"
+ _ACEOF
+ 
+ 
+ cat >>confdefs.h <<_ACEOF
+ #define PACKAGE_STRING "$PACKAGE_STRING"
+ _ACEOF
+ 
+ 
+ cat >>confdefs.h <<_ACEOF
+ #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+ _ACEOF
+ 
+ 
+ # Let the site file select an alternate cache file if it wants to.
+ # Prefer explicitly selected file to automatically selected ones.
+ 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
+ fi
+ for ac_site_file in $CONFIG_SITE; do
+   if test -r "$ac_site_file"; then
+     { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+ echo "$as_me: loading site script $ac_site_file" >&6;}
+     sed 's/^/| /' "$ac_site_file" >&5
+     . "$ac_site_file"
+   fi
+ done
+ 
+ if test -r "$cache_file"; then
+   # Some versions of bash will fail to source /dev/null (special
+   # files actually), so we avoid doing that.
+   if test -f "$cache_file"; then
+     { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+ echo "$as_me: loading cache $cache_file" >&6;}
+     case $cache_file in
+       [\\/]* | ?:[\\/]* ) . $cache_file;;
+       *)                      . ./$cache_file;;
+     esac
+   fi
+ else
+   { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+ echo "$as_me: creating cache $cache_file" >&6;}
+   >$cache_file
+ fi
+ 
+ # Check that the precious variables saved in the cache have kept the same
+ # value.
+ ac_cache_corrupted=false
+ for ac_var in `(set) 2>&1 |
+                sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+   eval ac_old_set=\$ac_cv_env_${ac_var}_set
+   eval ac_new_set=\$ac_env_${ac_var}_set
+   eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+   eval ac_new_val="\$ac_env_${ac_var}_value"
+   case $ac_old_set,$ac_new_set in
+     set,)
+       { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+ echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+       ac_cache_corrupted=: ;;
+     ,set)
+       { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+ echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+       ac_cache_corrupted=: ;;
+     ,);;
+     *)
+       if test "x$ac_old_val" != "x$ac_new_val"; then
+         { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+ echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+         { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+ echo "$as_me:   former value:  $ac_old_val" >&2;}
+         { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+ echo "$as_me:   current value: $ac_new_val" >&2;}
+         ac_cache_corrupted=:
+       fi;;
+   esac
+   # Pass precious variables to config.status.
+   if test "$ac_new_set" = set; then
+     case $ac_new_val in
+     *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+       ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+     *) ac_arg=$ac_var=$ac_new_val ;;
+     esac
+     case " $ac_configure_args " in
+       *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+       *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+     esac
+   fi
+ done
+ if $ac_cache_corrupted; then
+   { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+ echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+   { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+ echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+    { (exit 1); exit 1; }; }
+ fi
+ 
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ ac_aux_dir=
+ for ac_dir in config $srcdir/config; 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
+   elif test -f $ac_dir/shtool; then
+     ac_aux_dir=$ac_dir
+     ac_install_sh="$ac_aux_dir/shtool install -c"
+     break
+   fi
+ done
+ if test -z "$ac_aux_dir"; then
+   { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config $srcdir/config" >&5
+ echo "$as_me: error: cannot find install-sh or install.sh in config $srcdir/config" >&2;}
+    { (exit 1); exit 1; }; }
+ fi
+ ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+ 
+ am__api_version="1.6"
+ # 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
+ # AmigaOS /C/install, which installs bootblocks on floppy discs
+ # 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 "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+ echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+ if test -z "$INSTALL"; then
+ if test "${ac_cv_path_install+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   # Account for people who put trailing slashes in PATH elements.
+ case $as_dir/ in
+   ./ | .// | /cC/* | \
+   /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
+       for ac_exec_ext in '' $ac_executable_extensions; do
+         if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+           if test $ac_prog = install &&
+             grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+             # AIX install.  It has an incompatible calling convention.
+             :
+           elif test $ac_prog = install &&
+             grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+             # program-specific install script used by HP pwplus--don't use.
+             :
+           else
+             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+             break 3
+           fi
+         fi
+       done
+     done
+     ;;
+ esac
+ done
+ 
+ 
+ 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 "$as_me:$LINENO: result: $INSTALL" >&5
+ echo "${ECHO_T}$INSTALL" >&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}'
+ 
+ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+ 
+ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+ echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+ # Just in case
+ sleep 1
+ echo timestamp > conftest.file
+ # 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 conftest.file 2> /dev/null`
+    if test "$*" = "X"; then
+       # -L didn't work.
+       set X `ls -t $srcdir/configure conftest.file`
+    fi
+    rm -f conftest.file
+    if test "$*" != "X $srcdir/configure conftest.file" \
+       && test "$*" != "X conftest.file $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 "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
+ alias in your environment" >&5
+ echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
+ alias in your environment" >&2;}
+    { (exit 1); exit 1; }; }
+    fi
+ 
+    test "$2" = conftest.file
+    )
+ then
+    # Ok.
+    :
+ else
+    { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+ Check your system clock" >&5
+ echo "$as_me: error: newly created file is older than distributed files!
+ Check your system clock" >&2;}
+    { (exit 1); exit 1; }; }
+ fi
+ echo "$as_me:$LINENO: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ 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"
+ # Double any \ or $.  echo might interpret backslashes.
+ # By default was `s,x,x', remove it if useless.
+ cat <<\_ACEOF >conftest.sed
+ s/[\\$]/&&/g;s/;s,x,x,$//
+ _ACEOF
+ program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+ rm conftest.sed
+ 
+ 
+ # expand $ac_aux_dir to an absolute path
+ am_aux_dir=`cd $ac_aux_dir && pwd`
+ 
+ test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+ # Use eval to expand $SHELL
+ if eval "$MISSING --run true"; then
+   am_missing_run="$MISSING --run "
+ else
+   am_missing_run=
+   { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+ echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+ fi
+ 
+ for ac_prog in gawk mawk nawk awk
+ do
+   # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_AWK+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test -n "$AWK"; then
+   ac_cv_prog_AWK="$AWK" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for ac_exec_ext in '' $ac_executable_extensions; do
+   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_AWK="$ac_prog"
+     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+ done
+ 
+ fi
+ fi
+ AWK=$ac_cv_prog_AWK
+ if test -n "$AWK"; then
+   echo "$as_me:$LINENO: result: $AWK" >&5
+ echo "${ECHO_T}$AWK" >&6
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+ 
+   test -n "$AWK" && break
+ done
+ 
+ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
+ set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
+ if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.make <<\_ACEOF
+ all:
+ 	@echo 'ac_maketemp="${MAKE}"'
+ _ACEOF
+ # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+ eval `${MAKE-make} -f conftest.make 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 conftest.make
+ fi
+ if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+   echo "$as_me:$LINENO: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+   SET_MAKE=
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+   SET_MAKE="MAKE=${MAKE-make}"
+ fi
+ 
+  # test to see if srcdir already configured
+ if test "`cd $srcdir && pwd`" != "`pwd`" &&
+    test -f $srcdir/config.status; then
+   { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+ echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+    { (exit 1); exit 1; }; }
+ fi
+ 
+ # Define the identity of the package.
+  PACKAGE=lambda
+  VERSION=0.1.3
+ 
+ 
+ cat >>confdefs.h <<_ACEOF
+ #define PACKAGE "$PACKAGE"
+ _ACEOF
+ 
+ 
+ cat >>confdefs.h <<_ACEOF
+ #define VERSION "$VERSION"
+ _ACEOF
+ 
+ # Some tools Automake needs.
+ 
+ ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+ 
+ 
+ AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+ 
+ 
+ AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+ 
+ 
+ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+ 
+ 
+ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+ 
+ 
+ AMTAR=${AMTAR-"${am_missing_run}tar"}
+ 
+ install_sh=${install_sh-"$am_aux_dir/install-sh"}
+ 
+ # Installed binaries are usually stripped using `strip' when the user
+ # run `make install-strip'.  However `strip' might not be the right
+ # tool to use in cross-compilation environments, therefore Automake
+ # will honor the `STRIP' environment variable to overrule this program.
+ if test "$cross_compiling" != no; then
+   if test -n "$ac_tool_prefix"; then
+   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}strip; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_STRIP+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test -n "$STRIP"; then
+   ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for ac_exec_ext in '' $ac_executable_extensions; do
+   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+ done
+ 
+ fi
+ fi
+ STRIP=$ac_cv_prog_STRIP
+ if test -n "$STRIP"; then
+   echo "$as_me:$LINENO: result: $STRIP" >&5
+ echo "${ECHO_T}$STRIP" >&6
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+ 
+ fi
+ if test -z "$ac_cv_prog_STRIP"; then
+   ac_ct_STRIP=$STRIP
+   # Extract the first word of "strip", so it can be a program name with args.
+ set dummy strip; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test -n "$ac_ct_STRIP"; then
+   ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for ac_exec_ext in '' $ac_executable_extensions; do
+   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_ac_ct_STRIP="strip"
+     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+ done
+ 
+   test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+ fi
+ fi
+ ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+ if test -n "$ac_ct_STRIP"; then
+   echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+ echo "${ECHO_T}$ac_ct_STRIP" >&6
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+ 
+   STRIP=$ac_ct_STRIP
+ else
+   STRIP="$ac_cv_prog_STRIP"
+ fi
+ 
+ fi
+ INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+ 
+ # We need awk for the "check" target.  The system "awk" is bad on
+ # some platforms.
+ 
+ 
+ 
+ ##AC_CONFIG_SRCDIR([lambda.cc])
+ # Add the stamp file to the list of files AC keeps track of,
+ # along with our hook.
+ ac_config_headers="$ac_config_headers config.h"
+ 
+ 
+ 
+ 
+ # Checks for programs.
+ ac_ext=cc
+ ac_cpp='$CXXCPP $CPPFLAGS'
+ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ if test -n "$ac_tool_prefix"; then
+   for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+   do
+     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CXX+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test -n "$CXX"; then
+   ac_cv_prog_CXX="$CXX" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for ac_exec_ext in '' $ac_executable_extensions; do
+   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+ done
+ 
+ fi
+ fi
+ CXX=$ac_cv_prog_CXX
+ if test -n "$CXX"; then
+   echo "$as_me:$LINENO: result: $CXX" >&5
+ echo "${ECHO_T}$CXX" >&6
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+ 
+     test -n "$CXX" && break
+   done
+ fi
+ if test -z "$CXX"; then
+   ac_ct_CXX=$CXX
+   for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
+ do
+   # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test -n "$ac_ct_CXX"; then
+   ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for ac_exec_ext in '' $ac_executable_extensions; do
+   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_ac_ct_CXX="$ac_prog"
+     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+ done
+ 
+ fi
+ fi
+ ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+ if test -n "$ac_ct_CXX"; then
+   echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+ echo "${ECHO_T}$ac_ct_CXX" >&6
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+ 
+   test -n "$ac_ct_CXX" && break
+ done
+ test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
+ 
+   CXX=$ac_ct_CXX
+ fi
+ 
+ 
+ # Provide some information about the compiler.
+ echo "$as_me:$LINENO:" \
+      "checking for C++ compiler version" >&5
+ ac_compiler=`set X $ac_compile; echo $2`
+ { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+   (eval $ac_compiler --version </dev/null >&5) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+ { (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+   (eval $ac_compiler -v </dev/null >&5) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+ { (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+   (eval $ac_compiler -V </dev/null >&5) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+ 
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ 
+ #ifdef F77_DUMMY_MAIN
+ #  ifdef __cplusplus
+      extern "C"
+ #  endif
+    int F77_DUMMY_MAIN() { return 1; }
+ #endif
+ int
+ main ()
+ {
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ ac_clean_files_save=$ac_clean_files
+ ac_clean_files="$ac_clean_files a.out a.exe"
+ # Try to create an executable without -o first, disregard a.out.
+ # It will help us diagnose broken compilers, and finding out an intuition
+ # of exeext.
+ echo "$as_me:$LINENO: checking for C++ compiler default output" >&5
+ echo $ECHO_N "checking for C++ compiler default output... $ECHO_C" >&6
+ ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+ if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
+   (eval $ac_link_default) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; then
+   # Find the output, starting from the most likely.  This scheme is
+ # not robust to junk in `.', hence go to wildcards (a.*) only as a last
+ # resort.
+ 
+ # Be careful to initialize this variable, since it used to be cached.
+ # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
+ ac_cv_exeext=
+ for ac_file in `ls a_out.exe a.exe conftest.exe 2>/dev/null;
+                 ls a.out conftest 2>/dev/null;
+                 ls a.* conftest.* 2>/dev/null`; do
+   case $ac_file in
+     *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb | *.xSYM ) ;;
+     a.out ) # We found the default executable, but exeext='' is most
+             # certainly right.
+             break;;
+     *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+           # FIXME: I believe we export ac_cv_exeext for Libtool --akim.
+           export ac_cv_exeext
+           break;;
+     * ) break;;
+   esac
+ done
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ { { echo "$as_me:$LINENO: error: C++ compiler cannot create executables" >&5
+ echo "$as_me: error: C++ compiler cannot create executables" >&2;}
+    { (exit 77); exit 77; }; }
+ fi
+ 
+ ac_exeext=$ac_cv_exeext
+ echo "$as_me:$LINENO: result: $ac_file" >&5
+ echo "${ECHO_T}$ac_file" >&6
+ 
+ # Check the compiler produces executables we can run.  If not, either
+ # the compiler is broken, or we cross compile.
+ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5
+ echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6
+ # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+ # If not cross compiling, check that we can run a simple program.
+ if test "$cross_compiling" != yes; then
+   if { ac_try='./$ac_file'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+     cross_compiling=no
+   else
+     if test "$cross_compiling" = maybe; then
+ 	cross_compiling=yes
+     else
+ 	{ { echo "$as_me:$LINENO: error: cannot run C++ compiled programs.
+ If you meant to cross compile, use \`--host'." >&5
+ echo "$as_me: error: cannot run C++ compiled programs.
+ If you meant to cross compile, use \`--host'." >&2;}
+    { (exit 1); exit 1; }; }
+     fi
+   fi
+ fi
+ echo "$as_me:$LINENO: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ 
+ rm -f a.out a.exe conftest$ac_cv_exeext
+ ac_clean_files=$ac_clean_files_save
+ # Check the compiler produces executables we can run.  If not, either
+ # the compiler is broken, or we cross compile.
+ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+ echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+ echo "${ECHO_T}$cross_compiling" >&6
+ 
+ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+ echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+   (eval $ac_link) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; then
+   # If both `conftest.exe' and `conftest' are `present' (well, observable)
+ # catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+ # work properly (i.e., refer to `conftest.exe'), while it won't with
+ # `rm'.
+ for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do
+   case $ac_file in
+     *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;;
+     *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+           export ac_cv_exeext
+           break;;
+     * ) break;;
+   esac
+ done
+ else
+   { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link" >&5
+ echo "$as_me: error: cannot compute suffix of executables: cannot compile and link" >&2;}
+    { (exit 1); exit 1; }; }
+ fi
+ 
+ rm -f conftest$ac_cv_exeext
+ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+ echo "${ECHO_T}$ac_cv_exeext" >&6
+ 
+ rm -f conftest.$ac_ext
+ EXEEXT=$ac_cv_exeext
+ ac_exeext=$EXEEXT
+ echo "$as_me:$LINENO: checking for suffix of object files" >&5
+ echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+ if test "${ac_cv_objext+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ 
+ #ifdef F77_DUMMY_MAIN
+ #  ifdef __cplusplus
+      extern "C"
+ #  endif
+    int F77_DUMMY_MAIN() { return 1; }
+ #endif
+ int
+ main ()
+ {
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.o conftest.obj
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; then
+   for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+   case $ac_file in
+     *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;;
+     *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+        break;;
+   esac
+ done
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile" >&5
+ echo "$as_me: error: cannot compute suffix of object files: cannot compile" >&2;}
+    { (exit 1); exit 1; }; }
+ fi
+ 
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+ fi
+ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+ echo "${ECHO_T}$ac_cv_objext" >&6
+ OBJEXT=$ac_cv_objext
+ ac_objext=$OBJEXT
+ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+ echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
+ if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ 
+ #ifdef F77_DUMMY_MAIN
+ #  ifdef __cplusplus
+      extern "C"
+ #  endif
+    int F77_DUMMY_MAIN() { return 1; }
+ #endif
+ int
+ main ()
+ {
+ #ifndef __GNUC__
+        choke me
+ #endif
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_compiler_gnu=yes
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ac_compiler_gnu=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+ 
+ fi
+ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+ echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
+ GXX=`test $ac_compiler_gnu = yes && echo yes`
+ ac_test_CXXFLAGS=${CXXFLAGS+set}
+ ac_save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="-g"
+ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+ echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+ if test "${ac_cv_prog_cxx_g+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ 
+ #ifdef F77_DUMMY_MAIN
+ #  ifdef __cplusplus
+      extern "C"
+ #  endif
+    int F77_DUMMY_MAIN() { return 1; }
+ #endif
+ int
+ main ()
+ {
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_cv_prog_cxx_g=yes
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ac_cv_prog_cxx_g=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+ echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
+ if test "$ac_test_CXXFLAGS" = set; then
+   CXXFLAGS=$ac_save_CXXFLAGS
+ elif test $ac_cv_prog_cxx_g = yes; then
+   if test "$GXX" = yes; then
+     CXXFLAGS="-g -O2"
+   else
+     CXXFLAGS="-g"
+   fi
+ else
+   if test "$GXX" = yes; then
+     CXXFLAGS="-O2"
+   else
+     CXXFLAGS=
+   fi
+ fi
+ for ac_declaration in \
+    ''\
+    '#include <stdlib.h>' \
+    'extern "C" void std::exit (int) throw (); using std::exit;' \
+    'extern "C" void std::exit (int); using std::exit;' \
+    'extern "C" void exit (int) throw ();' \
+    'extern "C" void exit (int);' \
+    'void exit (int);'
+ do
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ $ac_declaration
+ #ifdef F77_DUMMY_MAIN
+ #  ifdef __cplusplus
+      extern "C"
+ #  endif
+    int F77_DUMMY_MAIN() { return 1; }
+ #endif
+ int
+ main ()
+ {
+ exit (42);
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   :
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ continue
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ $ac_declaration
+ #ifdef F77_DUMMY_MAIN
+ #  ifdef __cplusplus
+      extern "C"
+ #  endif
+    int F77_DUMMY_MAIN() { return 1; }
+ #endif
+ int
+ main ()
+ {
+ exit (42);
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   break
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ done
+ rm -f conftest*
+ if test -n "$ac_declaration"; then
+   echo '#ifdef __cplusplus' >>confdefs.h
+   echo $ac_declaration      >>confdefs.h
+   echo '#endif'             >>confdefs.h
+ fi
+ 
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ rm -f .deps 2>/dev/null
+ mkdir .deps 2>/dev/null
+ if test -d .deps; then
+   DEPDIR=.deps
+ else
+   # MS-DOS does not allow filenames that begin with a dot.
+   DEPDIR=_deps
+ fi
+ rmdir .deps 2>/dev/null
+ 
+ 
+ ac_config_commands="$ac_config_commands depfiles"
+ 
+ 
+ am_make=${MAKE-make}
+ cat > confinc << 'END'
+ doit:
+ 	@echo done
+ END
+ # If we don't find an include directive, just comment out the code.
+ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+ echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
+ am__include="#"
+ am__quote=
+ _am_result=none
+ # First try GNU make style include.
+ echo "include confinc" > confmf
+ # We grep out `Entering directory' and `Leaving directory'
+ # messages which can occur if `w' ends up in MAKEFLAGS.
+ # In particular we don't look at `^make:' because GNU make might
+ # be invoked under some other name (usually "gmake"), in which
+ # case it prints its new name instead of `make'.
+ if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
+    am__include=include
+    am__quote=
+    _am_result=GNU
+ fi
+ # Now try BSD make style include.
+ if test "$am__include" = "#"; then
+    echo '.include "confinc"' > confmf
+    if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+       am__include=.include
+       am__quote="\""
+       _am_result=BSD
+    fi
+ fi
+ 
+ 
+ echo "$as_me:$LINENO: result: $_am_result" >&5
+ echo "${ECHO_T}$_am_result" >&6
+ rm -f confinc confmf
+ 
+ # Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+ if test "${enable_dependency_tracking+set}" = set; then
+   enableval="$enable_dependency_tracking"
+ 
+ fi;
+ if test "x$enable_dependency_tracking" != xno; then
+   am_depcomp="$ac_aux_dir/depcomp"
+   AMDEPBACKSLASH='\'
+ fi
+ 
+ 
+ if test "x$enable_dependency_tracking" != xno; then
+   AMDEP_TRUE=
+   AMDEP_FALSE='#'
+ else
+   AMDEP_TRUE='#'
+   AMDEP_FALSE=
+ fi
+ 
+ 
+ 
+ 
+ depcc="$CXX"  am_compiler_list=
+ 
+ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+ echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+ if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+   # We make a subdir and do the tests there.  Otherwise we can end up
+   # making bogus files that we don't know about and never remove.  For
+   # instance it was reported that on HP-UX the gcc test will end up
+   # making a dummy file named `D' -- because `-MD' means `put the output
+   # in D'.
+   mkdir conftest.dir
+   # Copy depcomp to subdir because otherwise we won't find it if we're
+   # using a relative directory.
+   cp "$am_depcomp" conftest.dir
+   cd conftest.dir
+ 
+   am_cv_CXX_dependencies_compiler_type=none
+   if test "$am_compiler_list" = ""; then
+      am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+   fi
+   for depmode in $am_compiler_list; do
+     # We need to recreate these files for each test, as the compiler may
+     # overwrite some of them when testing with obscure command lines.
+     # This happens at least with the AIX C compiler.
+     echo '#include "conftest.h"' > conftest.c
+     echo 'int i;' > conftest.h
+     echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
+ 
+     case $depmode in
+     nosideeffect)
+       # after this tag, mechanisms are not by side-effect, so they'll
+       # only be used when explicitly requested
+       if test "x$enable_dependency_tracking" = xyes; then
+ 	continue
+       else
+ 	break
+       fi
+       ;;
+     none) break ;;
+     esac
+     # We check with `-c' and `-o' for the sake of the "dashmstdout"
+     # mode.  It turns out that the SunPro C++ compiler does not properly
+     # handle `-M -o', and we need to detect this.
+     if depmode=$depmode \
+        source=conftest.c object=conftest.o \
+        depfile=conftest.Po tmpdepfile=conftest.TPo \
+        $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
+        grep conftest.h conftest.Po > /dev/null 2>&1 &&
+        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+       am_cv_CXX_dependencies_compiler_type=$depmode
+       break
+     fi
+   done
+ 
+   cd ..
+   rm -rf conftest.dir
+ else
+   am_cv_CXX_dependencies_compiler_type=none
+ fi
+ 
+ fi
+ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+ echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6
+ CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+ 
+ 
+ for ac_prog in gawk mawk nawk awk
+ do
+   # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_AWK+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test -n "$AWK"; then
+   ac_cv_prog_AWK="$AWK" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for ac_exec_ext in '' $ac_executable_extensions; do
+   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_AWK="$ac_prog"
+     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+ done
+ 
+ fi
+ fi
+ AWK=$ac_cv_prog_AWK
+ if test -n "$AWK"; then
+   echo "$as_me:$LINENO: result: $AWK" >&5
+ echo "${ECHO_T}$AWK" >&6
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+ 
+   test -n "$AWK" && break
+ done
+ 
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ if test -n "$ac_tool_prefix"; then
+   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}gcc; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CC+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test -n "$CC"; then
+   ac_cv_prog_CC="$CC" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for ac_exec_ext in '' $ac_executable_extensions; do
+   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_CC="${ac_tool_prefix}gcc"
+     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+ done
+ 
+ fi
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+   echo "$as_me:$LINENO: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+ 
+ fi
+ if test -z "$ac_cv_prog_CC"; then
+   ac_ct_CC=$CC
+   # Extract the first word of "gcc", so it can be a program name with args.
+ set dummy gcc; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test -n "$ac_ct_CC"; then
+   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for ac_exec_ext in '' $ac_executable_extensions; do
+   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_ac_ct_CC="gcc"
+     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+ done
+ 
+ fi
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+   echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+ 
+   CC=$ac_ct_CC
+ else
+   CC="$ac_cv_prog_CC"
+ fi
+ 
+ if test -z "$CC"; then
+   if test -n "$ac_tool_prefix"; then
+   # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}cc; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CC+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test -n "$CC"; then
+   ac_cv_prog_CC="$CC" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for ac_exec_ext in '' $ac_executable_extensions; do
+   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_CC="${ac_tool_prefix}cc"
+     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+ done
+ 
+ fi
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+   echo "$as_me:$LINENO: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+ 
+ fi
+ if test -z "$ac_cv_prog_CC"; then
+   ac_ct_CC=$CC
+   # Extract the first word of "cc", so it can be a program name with args.
+ set dummy cc; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test -n "$ac_ct_CC"; then
+   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for ac_exec_ext in '' $ac_executable_extensions; do
+   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_ac_ct_CC="cc"
+     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+ done
+ 
+ fi
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+   echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+ 
+   CC=$ac_ct_CC
+ else
+   CC="$ac_cv_prog_CC"
+ fi
+ 
+ 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 "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CC+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test -n "$CC"; then
+   ac_cv_prog_CC="$CC" # Let the user override the test.
+ else
+   ac_prog_rejected=no
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for ac_exec_ext in '' $ac_executable_extensions; do
+   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+        ac_prog_rejected=yes
+        continue
+      fi
+     ac_cv_prog_CC="cc"
+     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+ done
+ 
+ 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 $# != 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 "$as_dir/$ac_word" ${1+"$@"}
+     shift
+     ac_cv_prog_CC="$@"
+   fi
+ fi
+ fi
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+   echo "$as_me:$LINENO: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+ 
+ fi
+ if test -z "$CC"; then
+   if test -n "$ac_tool_prefix"; then
+   for ac_prog in cl
+   do
+     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CC+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test -n "$CC"; then
+   ac_cv_prog_CC="$CC" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for ac_exec_ext in '' $ac_executable_extensions; do
+   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+ done
+ 
+ fi
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+   echo "$as_me:$LINENO: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+ 
+     test -n "$CC" && break
+   done
+ fi
+ if test -z "$CC"; then
+   ac_ct_CC=$CC
+   for ac_prog in cl
+ do
+   # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test -n "$ac_ct_CC"; then
+   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for ac_exec_ext in '' $ac_executable_extensions; do
+   if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_ac_ct_CC="$ac_prog"
+     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+ done
+ 
+ fi
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+   echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+   echo "$as_me:$LINENO: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+ 
+   test -n "$ac_ct_CC" && break
+ done
+ 
+   CC=$ac_ct_CC
+ fi
+ 
+ fi
+ 
+ 
+ test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5
+ echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;}
+    { (exit 1); exit 1; }; }
+ 
+ # Provide some information about the compiler.
+ echo "$as_me:$LINENO:" \
+      "checking for C compiler version" >&5
+ ac_compiler=`set X $ac_compile; echo $2`
+ { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+   (eval $ac_compiler --version </dev/null >&5) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+ { (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+   (eval $ac_compiler -v </dev/null >&5) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+ { (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+   (eval $ac_compiler -V </dev/null >&5) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+ 
+ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+ echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+ if test "${ac_cv_c_compiler_gnu+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ 
+ #ifdef F77_DUMMY_MAIN
+ #  ifdef __cplusplus
+      extern "C"
+ #  endif
+    int F77_DUMMY_MAIN() { return 1; }
+ #endif
+ int
+ main ()
+ {
+ #ifndef __GNUC__
+        choke me
+ #endif
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_compiler_gnu=yes
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ac_compiler_gnu=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ ac_cv_c_compiler_gnu=$ac_compiler_gnu
+ 
+ fi
+ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+ echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+ GCC=`test $ac_compiler_gnu = yes && echo yes`
+ ac_test_CFLAGS=${CFLAGS+set}
+ ac_save_CFLAGS=$CFLAGS
+ CFLAGS="-g"
+ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+ echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+ if test "${ac_cv_prog_cc_g+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ 
+ #ifdef F77_DUMMY_MAIN
+ #  ifdef __cplusplus
+      extern "C"
+ #  endif
+    int F77_DUMMY_MAIN() { return 1; }
+ #endif
+ int
+ main ()
+ {
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_cv_prog_cc_g=yes
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ac_cv_prog_cc_g=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+ echo "${ECHO_T}$ac_cv_prog_cc_g" >&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
+ # Some people use a C++ compiler to compile C.  Since we use `exit',
+ # in C++ we need to declare it.  In case someone uses the same compiler
+ # for both compiling C and C++ we need to have the C++ compiler decide
+ # the declaration of exit, since it's the most demanding environment.
+ cat >conftest.$ac_ext <<_ACEOF
+ #ifndef __cplusplus
+   choke me
+ #endif
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   for ac_declaration in \
+    ''\
+    '#include <stdlib.h>' \
+    'extern "C" void std::exit (int) throw (); using std::exit;' \
+    'extern "C" void std::exit (int); using std::exit;' \
+    'extern "C" void exit (int) throw ();' \
+    'extern "C" void exit (int);' \
+    'void exit (int);'
+ do
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ $ac_declaration
+ #ifdef F77_DUMMY_MAIN
+ #  ifdef __cplusplus
+      extern "C"
+ #  endif
+    int F77_DUMMY_MAIN() { return 1; }
+ #endif
+ int
+ main ()
+ {
+ exit (42);
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   :
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ continue
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ $ac_declaration
+ #ifdef F77_DUMMY_MAIN
+ #  ifdef __cplusplus
+      extern "C"
+ #  endif
+    int F77_DUMMY_MAIN() { return 1; }
+ #endif
+ int
+ main ()
+ {
+ exit (42);
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   break
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ done
+ rm -f conftest*
+ if test -n "$ac_declaration"; then
+   echo '#ifdef __cplusplus' >>confdefs.h
+   echo $ac_declaration      >>confdefs.h
+   echo '#endif'             >>confdefs.h
+ fi
+ 
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ 
+ depcc="$CC"   am_compiler_list=
+ 
+ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+ echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+ if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+   # We make a subdir and do the tests there.  Otherwise we can end up
+   # making bogus files that we don't know about and never remove.  For
+   # instance it was reported that on HP-UX the gcc test will end up
+   # making a dummy file named `D' -- because `-MD' means `put the output
+   # in D'.
+   mkdir conftest.dir
+   # Copy depcomp to subdir because otherwise we won't find it if we're
+   # using a relative directory.
+   cp "$am_depcomp" conftest.dir
+   cd conftest.dir
+ 
+   am_cv_CC_dependencies_compiler_type=none
+   if test "$am_compiler_list" = ""; then
+      am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+   fi
+   for depmode in $am_compiler_list; do
+     # We need to recreate these files for each test, as the compiler may
+     # overwrite some of them when testing with obscure command lines.
+     # This happens at least with the AIX C compiler.
+     echo '#include "conftest.h"' > conftest.c
+     echo 'int i;' > conftest.h
+     echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
+ 
+     case $depmode in
+     nosideeffect)
+       # after this tag, mechanisms are not by side-effect, so they'll
+       # only be used when explicitly requested
+       if test "x$enable_dependency_tracking" = xyes; then
+ 	continue
+       else
+ 	break
+       fi
+       ;;
+     none) break ;;
+     esac
+     # We check with `-c' and `-o' for the sake of the "dashmstdout"
+     # mode.  It turns out that the SunPro C++ compiler does not properly
+     # handle `-M -o', and we need to detect this.
+     if depmode=$depmode \
+        source=conftest.c object=conftest.o \
+        depfile=conftest.Po tmpdepfile=conftest.TPo \
+        $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
+        grep conftest.h conftest.Po > /dev/null 2>&1 &&
+        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+       am_cv_CC_dependencies_compiler_type=$depmode
+       break
+     fi
+   done
+ 
+   cd ..
+   rm -rf conftest.dir
+ else
+   am_cv_CC_dependencies_compiler_type=none
+ fi
+ 
+ fi
+ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+ echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
+ CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+ 
+ 
+ 
+ # Checks for libraries.
+ 
+ # Checks for header files.
+ 
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+ echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+ # On Suns, sometimes $CPP names a directory.
+ if test -n "$CPP" && test -d "$CPP"; then
+   CPP=
+ fi
+ if test -z "$CPP"; then
+   if test "${ac_cv_prog_CPP+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+       # Double quotes because CPP needs to be expanded
+     for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+     do
+       ac_preproc_ok=false
+ for ac_c_preproc_warn_flag in '' yes
+ do
+   # Use a header file that comes with gcc, so configuring glibc
+   # with a fresh cross-compiler works.
+   # On the NeXT, cc -E runs the code through the compiler's parser,
+   # not just through cpp. "Syntax error" is here to catch this case.
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+                      Syntax error
+ _ACEOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+   (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+   ac_status=$?
+   egrep -v '^ *\+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } >/dev/null; then
+   if test -s conftest.err; then
+     ac_cpp_err=$ac_c_preproc_warn_flag
+   else
+     ac_cpp_err=
+   fi
+ else
+   ac_cpp_err=yes
+ fi
+ if test -z "$ac_cpp_err"; then
+   :
+ else
+   echo "$as_me: failed program was:" >&5
+   cat conftest.$ac_ext >&5
+   # Broken: fails on valid input.
+ continue
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ 
+   # OK, works on sane cases.  Now check whether non-existent headers
+   # can be detected and how.
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+   (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+   ac_status=$?
+   egrep -v '^ *\+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } >/dev/null; then
+   if test -s conftest.err; then
+     ac_cpp_err=$ac_c_preproc_warn_flag
+   else
+     ac_cpp_err=
+   fi
+ else
+   ac_cpp_err=yes
+ fi
+ if test -z "$ac_cpp_err"; then
+   # Broken: success on invalid input.
+ continue
+ else
+   echo "$as_me: failed program was:" >&5
+   cat conftest.$ac_ext >&5
+   # Passes both tests.
+ ac_preproc_ok=:
+ break
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ 
+ done
+ # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+ rm -f conftest.err conftest.$ac_ext
+ if $ac_preproc_ok; then
+   break
+ fi
+ 
+     done
+     ac_cv_prog_CPP=$CPP
+ 
+ fi
+   CPP=$ac_cv_prog_CPP
+ else
+   ac_cv_prog_CPP=$CPP
+ fi
+ echo "$as_me:$LINENO: result: $CPP" >&5
+ echo "${ECHO_T}$CPP" >&6
+ ac_preproc_ok=false
+ for ac_c_preproc_warn_flag in '' yes
+ do
+   # Use a header file that comes with gcc, so configuring glibc
+   # with a fresh cross-compiler works.
+   # On the NeXT, cc -E runs the code through the compiler's parser,
+   # not just through cpp. "Syntax error" is here to catch this case.
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+                      Syntax error
+ _ACEOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+   (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+   ac_status=$?
+   egrep -v '^ *\+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } >/dev/null; then
+   if test -s conftest.err; then
+     ac_cpp_err=$ac_c_preproc_warn_flag
+   else
+     ac_cpp_err=
+   fi
+ else
+   ac_cpp_err=yes
+ fi
+ if test -z "$ac_cpp_err"; then
+   :
+ else
+   echo "$as_me: failed program was:" >&5
+   cat conftest.$ac_ext >&5
+   # Broken: fails on valid input.
+ continue
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ 
+   # OK, works on sane cases.  Now check whether non-existent headers
+   # can be detected and how.
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+   (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+   ac_status=$?
+   egrep -v '^ *\+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } >/dev/null; then
+   if test -s conftest.err; then
+     ac_cpp_err=$ac_c_preproc_warn_flag
+   else
+     ac_cpp_err=
+   fi
+ else
+   ac_cpp_err=yes
+ fi
+ if test -z "$ac_cpp_err"; then
+   # Broken: success on invalid input.
+ continue
+ else
+   echo "$as_me: failed program was:" >&5
+   cat conftest.$ac_ext >&5
+   # Passes both tests.
+ ac_preproc_ok=:
+ break
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ 
+ done
+ # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+ rm -f conftest.err conftest.$ac_ext
+ if $ac_preproc_ok; then
+   :
+ else
+   { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check" >&5
+ echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
+    { (exit 1); exit 1; }; }
+ fi
+ 
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ 
+ 
+ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+ echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+ if test "${ac_cv_header_stdc+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ #include <stdarg.h>
+ #include <string.h>
+ #include <float.h>
+ 
+ _ACEOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+   (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+   ac_status=$?
+   egrep -v '^ *\+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } >/dev/null; then
+   if test -s conftest.err; then
+     ac_cpp_err=$ac_c_preproc_warn_flag
+   else
+     ac_cpp_err=
+   fi
+ else
+   ac_cpp_err=yes
+ fi
+ if test -z "$ac_cpp_err"; then
+   ac_cv_header_stdc=yes
+ else
+   echo "$as_me: failed program was:" >&5
+   cat conftest.$ac_ext >&5
+   ac_cv_header_stdc=no
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ 
+ if test $ac_cv_header_stdc = yes; then
+   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ #include <string.h>
+ 
+ _ACEOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+   egrep "memchr" >/dev/null 2>&1; then
+   :
+ else
+   ac_cv_header_stdc=no
+ fi
+ rm -f conftest*
+ 
+ fi
+ 
+ if test $ac_cv_header_stdc = yes; then
+   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ 
+ _ACEOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+   egrep "free" >/dev/null 2>&1; then
+   :
+ else
+   ac_cv_header_stdc=no
+ fi
+ rm -f conftest*
+ 
+ fi
+ 
+ if test $ac_cv_header_stdc = yes; then
+   # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+   if test "$cross_compiling" = yes; then
+   :
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ #if ((' ' & 0x0FF) == 0x020)
+ # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+ # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+ #else
+ # define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \
+                      || ('j' <= (c) && (c) <= 'r') \
+                      || ('s' <= (c) && (c) <= 'z'))
+ # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+ #endif
+ 
+ #define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+ int
+ main ()
+ {
+   int i;
+   for (i = 0; i < 256; i++)
+     if (XOR (islower (i), ISLOWER (i))
+         || toupper (i) != TOUPPER (i))
+       exit(2);
+   exit (0);
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+   (eval $ac_link) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   :
+ else
+   echo "$as_me: program exited with status $ac_status" >&5
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ( exit $ac_status )
+ ac_cv_header_stdc=no
+ fi
+ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+ fi
+ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+ echo "${ECHO_T}$ac_cv_header_stdc" >&6
+ if test $ac_cv_header_stdc = yes; then
+ 
+ cat >>confdefs.h <<\_ACEOF
+ #define STDC_HEADERS 1
+ _ACEOF
+ 
+ fi
+ 
+ # On IRIX 5.3, sys/types and inttypes.h are conflicting.
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+                   inttypes.h stdint.h unistd.h
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ echo "$as_me:$LINENO: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ 
+ #include <$ac_header>
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   eval "$as_ac_Header=yes"
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ eval "$as_ac_Header=no"
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+ echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+   cat >>confdefs.h <<_ACEOF
+ #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+ 
+ fi
+ 
+ done
+ 
+ 
+ 
+ 
+ 
+ 
+ for ac_header in stdlib.h string.h sys/param.h unistd.h
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+   echo "$as_me:$LINENO: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ fi
+ echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ else
+   # Is the header compilable?
+ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+ echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ $ac_includes_default
+ #include <$ac_header>
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_header_compiler=yes
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ac_header_compiler=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+ echo "${ECHO_T}$ac_header_compiler" >&6
+ 
+ # Is the header present?
+ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+ echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+   (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+   ac_status=$?
+   egrep -v '^ *\+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } >/dev/null; then
+   if test -s conftest.err; then
+     ac_cpp_err=$ac_c_preproc_warn_flag
+   else
+     ac_cpp_err=
+   fi
+ else
+   ac_cpp_err=yes
+ fi
+ if test -z "$ac_cpp_err"; then
+   ac_header_preproc=yes
+ else
+   echo "$as_me: failed program was:" >&5
+   cat conftest.$ac_ext >&5
+   ac_header_preproc=no
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+ echo "${ECHO_T}$ac_header_preproc" >&6
+ 
+ # So?  What about this header?
+ case $ac_header_compiler:$ac_header_preproc in
+   yes:no )
+     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+ echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
+   no:yes )
+     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+ echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+     { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+ echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};;
+ esac
+ echo "$as_me:$LINENO: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   eval "$as_ac_Header=$ac_header_preproc"
+ fi
+ echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ 
+ fi
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+   cat >>confdefs.h <<_ACEOF
+ #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ _ACEOF
+ 
+ fi
+ 
+ done
+ 
+ 
+ # Checks for typedefs, structures, and compiler characteristics.
+ echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
+ echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+ if test "${ac_cv_prog_cc_stdc+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   ac_cv_prog_cc_stdc=no
+ ac_save_CC=$CC
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+ struct buf { int x; };
+ FILE * (*rcsopen) (struct buf *, struct stat *, int);
+ static char *e (p, i)
+      char **p;
+      int i;
+ {
+   return p[i];
+ }
+ static char *f (char * (*g) (char **, int), char **p, ...)
+ {
+   char *s;
+   va_list v;
+   va_start (v,p);
+   s = g (p, va_arg (v,int));
+   va_end (v);
+   return s;
+ }
+ int test (int i, double x);
+ struct s1 {int (*f) (int a);};
+ struct s2 {int (*f) (double a);};
+ int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+ int argc;
+ char **argv;
+ #ifdef F77_DUMMY_MAIN
+ #  ifdef __cplusplus
+      extern "C"
+ #  endif
+    int F77_DUMMY_MAIN() { return 1; }
+ #endif
+ int
+ main ()
+ {
+ return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+   ;
+   return 0;
+ }
+ _ACEOF
+ # Don't try gcc -ansi; that turns off useful extensions and
+ # breaks some systems' header files.
+ # AIX			-qlanglvl=ansi
+ # Ultrix and OSF/1	-std1
+ # HP-UX 10.20 and later	-Ae
+ # HP-UX older versions	-Aa -D_HPUX_SOURCE
+ # SVR4			-Xc -D__EXTENSIONS__
+ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+ do
+   CC="$ac_save_CC $ac_arg"
+   rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_cv_prog_cc_stdc=$ac_arg
+ break
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -f conftest.$ac_objext
+ done
+ rm -f conftest.$ac_ext conftest.$ac_objext
+ CC=$ac_save_CC
+ 
+ fi
+ 
+ case "x$ac_cv_prog_cc_stdc" in
+   x|xno)
+     echo "$as_me:$LINENO: result: none needed" >&5
+ echo "${ECHO_T}none needed" >&6 ;;
+   *)
+     echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
+ echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+     CC="$CC $ac_cv_prog_cc_stdc" ;;
+ esac
+ 
+ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
+ echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
+ if test "${ac_cv_c_const+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ 
+ #ifdef F77_DUMMY_MAIN
+ #  ifdef __cplusplus
+      extern "C"
+ #  endif
+    int F77_DUMMY_MAIN() { return 1; }
+ #endif
+ int
+ main ()
+ {
+ /* FIXME: Include the comments suggested by Paul. */
+ #ifndef __cplusplus
+   /* Ultrix mips cc rejects this.  */
+   typedef int charset[2];
+   const charset x;
+   /* SunOS 4.1.1 cc rejects this.  */
+   char const *const *ccp;
+   char **p;
+   /* NEC SVR4.0.2 mips cc rejects this.  */
+   struct point {int x, y;};
+   static struct point const zero = {0,0};
+   /* AIX XL C 1.02.0.0 rejects this.
+      It does not let you subtract one const X* pointer from another in
+      an arm of an if-expression whose if-part is not a constant
+      expression */
+   const char *g = "string";
+   ccp = &g + (g ? g-g : 0);
+   /* HPUX 7.0 cc rejects these. */
+   ++ccp;
+   p = (char**) ccp;
+   ccp = (char const *const *) p;
+   { /* SCO 3.2v4 cc rejects this.  */
+     char *t;
+     char const *s = 0 ? (char *) 0 : (char const *) 0;
+ 
+     *t++ = 0;
+   }
+   { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
+     int x[] = {25, 17};
+     const int *foo = &x[0];
+     ++foo;
+   }
+   { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+     typedef const int *iptr;
+     iptr p = 0;
+     ++p;
+   }
+   { /* AIX XL C 1.02.0.0 rejects this saying
+        "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+     struct s { int j; const int *ap[3]; };
+     struct s *b; b->j = 5;
+   }
+   { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+     const int foo = 10;
+   }
+ #endif
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_cv_c_const=yes
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ac_cv_c_const=no
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
+ echo "${ECHO_T}$ac_cv_c_const" >&6
+ if test $ac_cv_c_const = no; then
+ 
+ cat >>confdefs.h <<\_ACEOF
+ #define const
+ _ACEOF
+ 
+ fi
+ 
+ 
+ # Checks for library functions.
+ 
+ for ac_func in vprintf
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ echo "$as_me:$LINENO: checking for $ac_func" >&5
+ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_var+set}\" = set"; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+     which can conflict with char $ac_func (); below.  */
+ #include <assert.h>
+ /* Override any gcc2 internal prototype to avoid an error.  */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ /* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+ char $ac_func ();
+ char (*f) ();
+ 
+ #ifdef F77_DUMMY_MAIN
+ #  ifdef __cplusplus
+      extern "C"
+ #  endif
+    int F77_DUMMY_MAIN() { return 1; }
+ #endif
+ int
+ main ()
+ {
+ /* The GNU C library defines this for functions which it implements
+     to always fail with ENOSYS.  Some functions are actually named
+     something starting with __ and the normal name is an alias.  */
+ #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+ choke me
+ #else
+ f = $ac_func;
+ #endif
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+   (eval $ac_link) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest$ac_exeext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   eval "$as_ac_var=yes"
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ eval "$as_ac_var=no"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+ echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+   cat >>confdefs.h <<_ACEOF
+ #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+ _ACEOF
+ 
+ echo "$as_me:$LINENO: checking for _doprnt" >&5
+ echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6
+ if test "${ac_cv_func__doprnt+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+     which can conflict with char _doprnt (); below.  */
+ #include <assert.h>
+ /* Override any gcc2 internal prototype to avoid an error.  */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ /* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+ char _doprnt ();
+ char (*f) ();
+ 
+ #ifdef F77_DUMMY_MAIN
+ #  ifdef __cplusplus
+      extern "C"
+ #  endif
+    int F77_DUMMY_MAIN() { return 1; }
+ #endif
+ int
+ main ()
+ {
+ /* The GNU C library defines this for functions which it implements
+     to always fail with ENOSYS.  Some functions are actually named
+     something starting with __ and the normal name is an alias.  */
+ #if defined (__stub__doprnt) || defined (__stub____doprnt)
+ choke me
+ #else
+ f = _doprnt;
+ #endif
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+   (eval $ac_link) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest$ac_exeext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_cv_func__doprnt=yes
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ ac_cv_func__doprnt=no
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+ echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
+ echo "${ECHO_T}$ac_cv_func__doprnt" >&6
+ if test $ac_cv_func__doprnt = yes; then
+ 
+ cat >>confdefs.h <<\_ACEOF
+ #define HAVE_DOPRNT 1
+ _ACEOF
+ 
+ fi
+ 
+ fi
+ done
+ 
+ 
+ 
+ 
+ 
+ for ac_func in getcwd strchr strerror
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ echo "$as_me:$LINENO: checking for $ac_func" >&5
+ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_var+set}\" = set"; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+     which can conflict with char $ac_func (); below.  */
+ #include <assert.h>
+ /* Override any gcc2 internal prototype to avoid an error.  */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ /* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+ char $ac_func ();
+ char (*f) ();
+ 
+ #ifdef F77_DUMMY_MAIN
+ #  ifdef __cplusplus
+      extern "C"
+ #  endif
+    int F77_DUMMY_MAIN() { return 1; }
+ #endif
+ int
+ main ()
+ {
+ /* The GNU C library defines this for functions which it implements
+     to always fail with ENOSYS.  Some functions are actually named
+     something starting with __ and the normal name is an alias.  */
+ #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+ choke me
+ #else
+ f = $ac_func;
+ #endif
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+   (eval $ac_link) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+          { ac_try='test -s conftest$ac_exeext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   eval "$as_ac_var=yes"
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ eval "$as_ac_var=no"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+ echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+   cat >>confdefs.h <<_ACEOF
+ #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+ _ACEOF
+ 
+ fi
+ done
+ 
+ 
+ ac_config_files="$ac_config_files Makefile docs/Makefile"
+ 
+ cat >confcache <<\_ACEOF
+ # This file is a shell script that caches the results of configure
+ # tests run on this system so they can be shared between configure
+ # scripts and configure runs, see configure's option --config-cache.
+ # It is not useful on other systems.  If it contains results you don't
+ # want to keep, you may remove or edit it.
+ #
+ # config.status only pays attention to the cache file if you give it
+ # the --recheck option to rerun configure.
+ #
+ # `ac_cv_env_foo' variables (set or unset) will be overriden when
+ # loading this file, other *unset* `ac_cv_foo' will be assigned the
+ # following values.
+ 
+ _ACEOF
+ 
+ # The following way of writing the cache mishandles newlines in values,
+ # but we know of no workaround that is simple, portable, and efficient.
+ # So, don't put newlines in cache variables' values.
+ # 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 | 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 \).
+       sed -n \
+         "s/'/'\\\\''/g;
+     	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+       ;;
+     *)
+       # `set' quotes correctly as required by POSIX, so do not add quotes.
+       sed -n \
+         "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+       ;;
+     esac;
+ } |
+   sed '
+      t clear
+      : clear
+      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+      t end
+      /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+      : end' >>confcache
+ if cmp -s $cache_file confcache; then :; else
+   if test -w $cache_file; then
+     test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+     cat confcache >$cache_file
+   else
+     echo "not updating unwritable cache $cache_file"
+   fi
+ fi
+ rm -f confcache
+ 
+ test "x$prefix" = xNONE && prefix=$ac_default_prefix
+ # Let make expand exec_prefix.
+ test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+ 
+ # VPATH may cause trouble with some makes, so we remove $(srcdir),
+ # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+ # trailing colons and then remove the whole line if VPATH becomes empty
+ # (actually we leave an empty line to preserve line numbers).
+ if test "x$srcdir" = x.; then
+   ac_vpsub='/^[ 	]*VPATH[ 	]*=/{
+ s/:*\$(srcdir):*/:/;
+ s/:*\${srcdir}:*/:/;
+ s/:*@srcdir@:*/:/;
+ s/^\([^=]*=[ 	]*\):*/\1/;
+ s/:*$//;
+ s/^[^=]*=[ 	]*$//;
+ }'
+ fi
+ 
+ DEFS=-DHAVE_CONFIG_H
+ 
+ if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+   { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+ Usually this means the macro was only invoked conditionally." >&5
+ echo "$as_me: error: conditional \"AMDEP\" was never defined.
+ Usually this means the macro was only invoked conditionally." >&2;}
+    { (exit 1); exit 1; }; }
+ fi
+ 
+ : ${CONFIG_STATUS=./config.status}
+ ac_clean_files_save=$ac_clean_files
+ ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+ { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+ echo "$as_me: creating $CONFIG_STATUS" >&6;}
+ cat >$CONFIG_STATUS <<_ACEOF
+ #! $SHELL
+ # Generated by $as_me.
+ # Run this file to recreate the current configuration.
+ # Compiler output produced by configure, useful for debugging
+ # configure, is in config.log if it exists.
+ 
+ debug=false
+ SHELL=\${CONFIG_SHELL-$SHELL}
+ _ACEOF
+ 
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ 
+ ## --------------------- ##
+ ## M4sh Initialization.  ##
+ ## --------------------- ##
+ 
+ # Be Bourne compatible
+ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+   emulate sh
+   NULLCMD=:
+ elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+   set -o posix
+ fi
+ 
+ # NLS nuisances.
+ # Support unset when possible.
+ if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+   as_unset=unset
+ else
+   as_unset=false
+ fi
+ 
+ (set +x; test -n "`(LANG=C; export LANG) 2>&1`") &&
+     { $as_unset LANG || test "${LANG+set}" != set; } ||
+       { LANG=C; export LANG; }
+ (set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") &&
+     { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } ||
+       { LC_ALL=C; export LC_ALL; }
+ (set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") &&
+     { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } ||
+       { LC_TIME=C; export LC_TIME; }
+ (set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") &&
+     { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } ||
+       { LC_CTYPE=C; export LC_CTYPE; }
+ (set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") &&
+     { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } ||
+       { LANGUAGE=C; export LANGUAGE; }
+ (set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") &&
+     { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } ||
+       { LC_COLLATE=C; export LC_COLLATE; }
+ (set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") &&
+     { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } ||
+       { LC_NUMERIC=C; export LC_NUMERIC; }
+ (set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") &&
+     { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } ||
+       { LC_MESSAGES=C; export LC_MESSAGES; }
+ 
+ 
+ # Name of the executable.
+ as_me=`(basename "$0") 2>/dev/null ||
+ $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ 	 X"$0" : 'X\(//\)$' \| \
+ 	 X"$0" : 'X\(/\)$' \| \
+ 	 .     : '\(.\)' 2>/dev/null ||
+ echo X/"$0" |
+     sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+   	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+   	  /^X\/\(\/\).*/{ s//\1/; q; }
+   	  s/.*/./; q'`
+ 
+ # PATH needs CR, and LINENO needs CR and PATH.
+ # Avoid depending upon Character Ranges.
+ as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+ as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+ as_cr_digits='0123456789'
+ as_cr_alnum=$as_cr_Letters$as_cr_digits
+ 
+ # The user is always right.
+ if test "${PATH_SEPARATOR+set}" != set; then
+   echo "#! /bin/sh" >conftest.sh
+   echo  "exit 0"   >>conftest.sh
+   chmod +x conftest.sh
+   if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then
+     PATH_SEPARATOR=';'
+   else
+     PATH_SEPARATOR=:
+   fi
+   rm -f conftest.sh
+ fi
+ 
+ 
+   as_lineno_1=$LINENO
+   as_lineno_2=$LINENO
+   as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+   test "x$as_lineno_1" != "x$as_lineno_2" &&
+   test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+   # Find who we are.  Look in the path if we contain no path at all
+   # relative or not.
+   case $0 in
+     *[\\/]* ) as_myself=$0 ;;
+     *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+ 
+        ;;
+   esac
+   # We did not find ourselves, most probably we were run as `sh COMMAND'
+   # in which case we are not to be found in the path.
+   if test "x$as_myself" = x; then
+     as_myself=$0
+   fi
+   if test ! -f "$as_myself"; then
+     { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+ echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+    { (exit 1); exit 1; }; }
+   fi
+   case $CONFIG_SHELL in
+   '')
+     as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+   for as_base in sh bash ksh sh5; do
+ 	 case $as_dir in
+ 	 /*)
+ 	   if ("$as_dir/$as_base" -c '
+   as_lineno_1=$LINENO
+   as_lineno_2=$LINENO
+   as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+   test "x$as_lineno_1" != "x$as_lineno_2" &&
+   test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+ 	     CONFIG_SHELL=$as_dir/$as_base
+ 	     export CONFIG_SHELL
+ 	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ 	   fi;;
+ 	 esac
+        done
+ done
+ ;;
+   esac
+ 
+   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+   # uniformly replaced by the line number.  The first 'sed' inserts a
+   # line-number line before each line; the second 'sed' does the real
+   # work.  The second script uses 'N' to pair each line-number line
+   # with the numbered line, and appends trailing '-' during
+   # substitution so that $LINENO is not a special case at line end.
+   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+   # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+   sed '=' <$as_myself |
+     sed '
+       N
+       s,$,-,
+       : loop
+       s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+       t loop
+       s,-$,,
+       s,^['$as_cr_digits']*\n,,
+     ' >$as_me.lineno &&
+   chmod +x $as_me.lineno ||
+     { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+ echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+    { (exit 1); exit 1; }; }
+ 
+   # Don't try to exec as it changes $[0], causing all sort of problems
+   # (the dirname of $[0] is not the place where we might find the
+   # original and so on.  Autoconf is especially sensible to this).
+   . ./$as_me.lineno
+   # Exit status is that of the last command.
+   exit
+ }
+ 
+ 
+ case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+   *c*,-n*) ECHO_N= ECHO_C='
+ ' ECHO_T='	' ;;
+   *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+   *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+ esac
+ 
+ if expr a : '\(a\)' >/dev/null 2>&1; then
+   as_expr=expr
+ else
+   as_expr=false
+ fi
+ 
+ rm -f conf$$ conf$$.exe conf$$.file
+ echo >conf$$.file
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+   # We could just check for DJGPP; but this test a) works b) is more generic
+   # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+   if test -f conf$$.exe; then
+     # Don't use ln at all; we don't have any links
+     as_ln_s='cp -p'
+   else
+     as_ln_s='ln -s'
+   fi
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+   as_ln_s=ln
+ else
+   as_ln_s='cp -p'
+ fi
+ rm -f conf$$ conf$$.exe conf$$.file
+ 
+ as_executable_p="test -f"
+ 
+ # Sed expression to map a string onto a valid CPP name.
+ as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+ 
+ # Sed expression to map a string onto a valid variable name.
+ as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
+ 
+ 
+ # IFS
+ # We need space, tab and new line, in precisely that order.
+ as_nl='
+ '
+ IFS=" 	$as_nl"
+ 
+ # CDPATH.
+ $as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; }
+ 
+ exec 6>&1
+ 
+ # Open the log real soon, to keep \$[0] and so on meaningful, and to
+ # report actual input values of CONFIG_FILES etc. instead of their
+ # values after options handling.  Logging --version etc. is OK.
+ exec 5>>config.log
+ {
+   echo
+   sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+ ## Running $as_me. ##
+ _ASBOX
+ } >&5
+ cat >&5 <<_CSEOF
+ 
+ This file was extended by lambda $as_me 0.1.3, which was
+ generated by GNU Autoconf 2.53.  Invocation command line was
+ 
+   CONFIG_FILES    = $CONFIG_FILES
+   CONFIG_HEADERS  = $CONFIG_HEADERS
+   CONFIG_LINKS    = $CONFIG_LINKS
+   CONFIG_COMMANDS = $CONFIG_COMMANDS
+   $ $0 $@
+ 
+ _CSEOF
+ echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+ echo >&5
+ _ACEOF
+ 
+ # Files that config.status was made for.
+ if test -n "$ac_config_files"; then
+   echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+ fi
+ 
+ if test -n "$ac_config_headers"; then
+   echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+ fi
+ 
+ if test -n "$ac_config_links"; then
+   echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+ fi
+ 
+ if test -n "$ac_config_commands"; then
+   echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+ fi
+ 
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ 
+ ac_cs_usage="\
+ \`$as_me' instantiates files from templates according to the
+ current configuration.
+ 
+ Usage: $0 [OPTIONS] [FILE]...
+ 
+   -h, --help       print this help, then exit
+   -V, --version    print version number, then exit
+   -d, --debug      don't remove temporary files
+       --recheck    update $as_me by reconfiguring in the same conditions
+   --file=FILE[:TEMPLATE]
+                    instantiate the configuration file FILE
+   --header=FILE[:TEMPLATE]
+                    instantiate the configuration header FILE
+ 
+ Configuration files:
+ $config_files
+ 
+ Configuration headers:
+ $config_headers
+ 
+ Configuration commands:
+ $config_commands
+ 
+ Report bugs to <bug-autoconf at gnu.org>."
+ _ACEOF
+ 
+ cat >>$CONFIG_STATUS <<_ACEOF
+ ac_cs_version="\\
+ lambda config.status 0.1.3
+ configured by $0, generated by GNU Autoconf 2.53,
+   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+ 
+ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+ Free Software Foundation, Inc.
+ This config.status script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it."
+ srcdir=$srcdir
+ INSTALL="$INSTALL"
+ _ACEOF
+ 
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ # If no file are specified by the user, then we need to provide default
+ # value.  By we need to know if files were specified by the user.
+ ac_need_defaults=:
+ while test $# != 0
+ do
+   case $1 in
+   --*=*)
+     ac_option=`expr "x$1" : 'x\([^=]*\)='`
+     ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+     shift
+     set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+     shift
+     ;;
+   -*);;
+   *) # This is not an option, so the user has probably given explicit
+      # arguments.
+      ac_need_defaults=false;;
+   esac
+ 
+   case $1 in
+   # Handling of the options.
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF
+   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+     echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
+     exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF
+   --version | --vers* | -V )
+     echo "$ac_cs_version"; exit 0 ;;
+   --he | --h)
+     # Conflict between --help and --header
+     { { echo "$as_me:$LINENO: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&2;}
+    { (exit 1); exit 1; }; };;
+   --help | --hel | -h )
+     echo "$ac_cs_usage"; exit 0 ;;
+   --debug | --d* | -d )
+     debug=: ;;
+   --file | --fil | --fi | --f )
+     shift
+     CONFIG_FILES="$CONFIG_FILES $1"
+     ac_need_defaults=false;;
+   --header | --heade | --head | --hea )
+     shift
+     CONFIG_HEADERS="$CONFIG_HEADERS $1"
+     ac_need_defaults=false;;
+ 
+   # This is an error.
+   -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&2;}
+    { (exit 1); exit 1; }; } ;;
+ 
+   *) ac_config_targets="$ac_config_targets $1" ;;
+ 
+   esac
+   shift
+ done
+ 
+ _ACEOF
+ 
+ cat >>$CONFIG_STATUS <<_ACEOF
+ #
+ # INIT-COMMANDS section.
+ #
+ 
+ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+ 
+ _ACEOF
+ 
+ 
+ 
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ for ac_config_target in $ac_config_targets
+ do
+   case "$ac_config_target" in
+   # Handling of arguments.
+   "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+   "docs/Makefile" ) CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
+   "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+   "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+   *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+ echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+    { (exit 1); exit 1; }; };;
+   esac
+ done
+ 
+ # If the user did not use the arguments to specify the items to instantiate,
+ # then the envvar interface is used.  Set only those that are not.
+ # We use the long form for the default assignment because of an extremely
+ # bizarre bug on SunOS 4.1.3.
+ if $ac_need_defaults; then
+   test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+   test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+   test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+ fi
+ 
+ # Create a temporary directory, and hook for its removal unless debugging.
+ $debug ||
+ {
+   trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+   trap '{ (exit 1); exit 1; }' 1 2 13 15
+ }
+ 
+ # Create a (secure) tmp directory for tmp files.
+ : ${TMPDIR=/tmp}
+ {
+   tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+   test -n "$tmp" && test -d "$tmp"
+ }  ||
+ {
+   tmp=$TMPDIR/cs$$-$RANDOM
+   (umask 077 && mkdir $tmp)
+ } ||
+ {
+    echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+    { (exit 1); exit 1; }
+ }
+ 
+ _ACEOF
+ 
+ cat >>$CONFIG_STATUS <<_ACEOF
+ 
+ #
+ # CONFIG_FILES section.
+ #
+ 
+ # No need to generate the scripts if there are no CONFIG_FILES.
+ # This happens for instance when ./config.status config.h
+ if test -n "\$CONFIG_FILES"; then
+   # Protect against being on the right side of a sed subst in config.status.
+   sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+    s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+ s, at SHELL@,$SHELL,;t t
+ s, at PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+ s, at PACKAGE_NAME@,$PACKAGE_NAME,;t t
+ s, at PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+ s, at PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+ s, at PACKAGE_STRING@,$PACKAGE_STRING,;t t
+ s, at PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+ s, at exec_prefix@,$exec_prefix,;t t
+ s, at prefix@,$prefix,;t t
+ s, at program_transform_name@,$program_transform_name,;t t
+ s, at bindir@,$bindir,;t t
+ s, at sbindir@,$sbindir,;t t
+ s, at libexecdir@,$libexecdir,;t t
+ s, at datadir@,$datadir,;t t
+ s, at sysconfdir@,$sysconfdir,;t t
+ s, at sharedstatedir@,$sharedstatedir,;t t
+ s, at localstatedir@,$localstatedir,;t t
+ s, at libdir@,$libdir,;t t
+ s, at includedir@,$includedir,;t t
+ s, at oldincludedir@,$oldincludedir,;t t
+ s, at infodir@,$infodir,;t t
+ s, at mandir@,$mandir,;t t
+ s, at build_alias@,$build_alias,;t t
+ s, at host_alias@,$host_alias,;t t
+ s, at target_alias@,$target_alias,;t t
+ s, at DEFS@,$DEFS,;t t
+ s, at ECHO_C@,$ECHO_C,;t t
+ s, at ECHO_N@,$ECHO_N,;t t
+ s, at ECHO_T@,$ECHO_T,;t t
+ s, at LIBS@,$LIBS,;t t
+ s, at INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+ s, at INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+ s, at INSTALL_DATA@,$INSTALL_DATA,;t t
+ s, at PACKAGE@,$PACKAGE,;t t
+ s, at VERSION@,$VERSION,;t t
+ s, at ACLOCAL@,$ACLOCAL,;t t
+ s, at AUTOCONF@,$AUTOCONF,;t t
+ s, at AUTOMAKE@,$AUTOMAKE,;t t
+ s, at AUTOHEADER@,$AUTOHEADER,;t t
+ s, at MAKEINFO@,$MAKEINFO,;t t
+ s, at AMTAR@,$AMTAR,;t t
+ s, at install_sh@,$install_sh,;t t
+ s, at STRIP@,$STRIP,;t t
+ s, at ac_ct_STRIP@,$ac_ct_STRIP,;t t
+ s, at INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+ s, at AWK@,$AWK,;t t
+ s, at SET_MAKE@,$SET_MAKE,;t t
+ s, at CXX@,$CXX,;t t
+ s, at CXXFLAGS@,$CXXFLAGS,;t t
+ s, at LDFLAGS@,$LDFLAGS,;t t
+ s, at CPPFLAGS@,$CPPFLAGS,;t t
+ s, at ac_ct_CXX@,$ac_ct_CXX,;t t
+ s, at EXEEXT@,$EXEEXT,;t t
+ s, at OBJEXT@,$OBJEXT,;t t
+ s, at DEPDIR@,$DEPDIR,;t t
+ s, at am__include@,$am__include,;t t
+ s, at am__quote@,$am__quote,;t t
+ s, at AMDEP_TRUE@,$AMDEP_TRUE,;t t
+ s, at AMDEP_FALSE@,$AMDEP_FALSE,;t t
+ s, at AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
+ s, at CXXDEPMODE@,$CXXDEPMODE,;t t
+ s, at CC@,$CC,;t t
+ s, at CFLAGS@,$CFLAGS,;t t
+ s, at ac_ct_CC@,$ac_ct_CC,;t t
+ s, at CCDEPMODE@,$CCDEPMODE,;t t
+ s, at CPP@,$CPP,;t t
+ CEOF
+ 
+ _ACEOF
+ 
+   cat >>$CONFIG_STATUS <<\_ACEOF
+   # Split the substitutions into bite-sized pieces for seds with
+   # small command number limits, like on Digital OSF/1 and HP-UX.
+   ac_max_sed_lines=48
+   ac_sed_frag=1 # Number of current file.
+   ac_beg=1 # First line for current file.
+   ac_end=$ac_max_sed_lines # Line after last line for current file.
+   ac_more_lines=:
+   ac_sed_cmds=
+   while $ac_more_lines; do
+     if test $ac_beg -gt 1; then
+       sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+     else
+       sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+     fi
+     if test ! -s $tmp/subs.frag; then
+       ac_more_lines=false
+     else
+       # The purpose of the label and of the branching condition is to
+       # speed up the sed processing (if there are no `@' at all, there
+       # is no need to browse any of the substitutions).
+       # These are the two extra sed commands mentioned above.
+       (echo ':t
+   /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+       if test -z "$ac_sed_cmds"; then
+   	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+       else
+   	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+       fi
+       ac_sed_frag=`expr $ac_sed_frag + 1`
+       ac_beg=$ac_end
+       ac_end=`expr $ac_end + $ac_max_sed_lines`
+     fi
+   done
+   if test -z "$ac_sed_cmds"; then
+     ac_sed_cmds=cat
+   fi
+ fi # test -n "$CONFIG_FILES"
+ 
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+   # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+   case $ac_file in
+   - | *:- | *:-:* ) # input from stdin
+         cat >$tmp/stdin
+         ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+         ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+   *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+         ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+   * )   ac_file_in=$ac_file.in ;;
+   esac
+ 
+   # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+   ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+          X"$ac_file" : 'X\(//\)[^/]' \| \
+          X"$ac_file" : 'X\(//\)$' \| \
+          X"$ac_file" : 'X\(/\)' \| \
+          .     : '\(.\)' 2>/dev/null ||
+ echo X"$ac_file" |
+     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+   	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+   	  /^X\(\/\/\)$/{ s//\1/; q; }
+   	  /^X\(\/\).*/{ s//\1/; q; }
+   	  s/.*/./; q'`
+   { case "$ac_dir" in
+   [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+   *)                      as_incr_dir=.;;
+ esac
+ as_dummy="$ac_dir"
+ for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+   case $as_mkdir_dir in
+     # Skip DOS drivespec
+     ?:) as_incr_dir=$as_mkdir_dir ;;
+     *)
+       as_incr_dir=$as_incr_dir/$as_mkdir_dir
+       test -d "$as_incr_dir" ||
+         mkdir "$as_incr_dir" ||
+ 	{ { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5
+ echo "$as_me: error: cannot create \"$ac_dir\"" >&2;}
+    { (exit 1); exit 1; }; }
+     ;;
+   esac
+ done; }
+ 
+   ac_builddir=.
+ 
+ if test "$ac_dir" != .; then
+   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+   # A "../" for each directory in $ac_dir_suffix.
+   ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+ else
+   ac_dir_suffix= ac_top_builddir=
+ fi
+ 
+ case $srcdir in
+   .)  # No --srcdir option.  We are building in place.
+     ac_srcdir=.
+     if test -z "$ac_top_builddir"; then
+        ac_top_srcdir=.
+     else
+        ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+     fi ;;
+   [\\/]* | ?:[\\/]* )  # Absolute path.
+     ac_srcdir=$srcdir$ac_dir_suffix;
+     ac_top_srcdir=$srcdir ;;
+   *) # Relative path.
+     ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+     ac_top_srcdir=$ac_top_builddir$srcdir ;;
+ esac
+ # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
+ # absolute.
+ ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
+ ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
+ ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
+ ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+ 
+ 
+   case $INSTALL in
+   [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+   *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+   esac
+ 
+   if test x"$ac_file" != x-; then
+     { echo "$as_me:$LINENO: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+     rm -f "$ac_file"
+   fi
+   # Let's still pretend it is `configure' which instantiates (i.e., don't
+   # use $as_me), people would be surprised to read:
+   #    /* config.h.  Generated by config.status.  */
+   if test x"$ac_file" = x-; then
+     configure_input=
+   else
+     configure_input="$ac_file.  "
+   fi
+   configure_input=$configure_input"Generated from `echo $ac_file_in |
+                                      sed 's,.*/,,'` by configure."
+ 
+   # First look for the input files in the build tree, otherwise in the
+   # src tree.
+   ac_file_inputs=`IFS=:
+     for f in $ac_file_in; do
+       case $f in
+       -) echo $tmp/stdin ;;
+       [\\/$]*)
+          # Absolute (can't be DOS-style, as IFS=:)
+          test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+    { (exit 1); exit 1; }; }
+          echo $f;;
+       *) # Relative
+          if test -f "$f"; then
+            # Build tree
+            echo $f
+          elif test -f "$srcdir/$f"; then
+            # Source tree
+            echo $srcdir/$f
+          else
+            # /dev/null tree
+            { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+    { (exit 1); exit 1; }; }
+          fi;;
+       esac
+     done` || { (exit 1); exit 1; }
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF
+   sed "$ac_vpsub
+ $extrasub
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ :t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+ s, at configure_input@,$configure_input,;t t
+ s, at srcdir@,$ac_srcdir,;t t
+ s, at abs_srcdir@,$ac_abs_srcdir,;t t
+ s, at top_srcdir@,$ac_top_srcdir,;t t
+ s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+ s, at builddir@,$ac_builddir,;t t
+ s, at abs_builddir@,$ac_abs_builddir,;t t
+ s, at top_builddir@,$ac_top_builddir,;t t
+ s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
+ s, at INSTALL@,$ac_INSTALL,;t t
+ " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+   rm -f $tmp/stdin
+   if test x"$ac_file" != x-; then
+     mv $tmp/out $ac_file
+   else
+     cat $tmp/out
+     rm -f $tmp/out
+   fi
+ 
+ done
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ 
+ #
+ # CONFIG_HEADER section.
+ #
+ 
+ # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+ # NAME is the cpp macro being defined and VALUE is the value it is being given.
+ #
+ # ac_d sets the value in "#define NAME VALUE" lines.
+ ac_dA='s,^\([ 	]*\)#\([ 	]*define[ 	][ 	]*\)'
+ ac_dB='[ 	].*$,\1#\2'
+ ac_dC=' '
+ ac_dD=',;t'
+ # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ ac_uA='s,^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
+ ac_uB='$,\1#\2define\3'
+ ac_uC=' '
+ ac_uD=',;t'
+ 
+ for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+   # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+   case $ac_file in
+   - | *:- | *:-:* ) # input from stdin
+         cat >$tmp/stdin
+         ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+         ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+   *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+         ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+   * )   ac_file_in=$ac_file.in ;;
+   esac
+ 
+   test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+ 
+   # First look for the input files in the build tree, otherwise in the
+   # src tree.
+   ac_file_inputs=`IFS=:
+     for f in $ac_file_in; do
+       case $f in
+       -) echo $tmp/stdin ;;
+       [\\/$]*)
+          # Absolute (can't be DOS-style, as IFS=:)
+          test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+    { (exit 1); exit 1; }; }
+          echo $f;;
+       *) # Relative
+          if test -f "$f"; then
+            # Build tree
+            echo $f
+          elif test -f "$srcdir/$f"; then
+            # Source tree
+            echo $srcdir/$f
+          else
+            # /dev/null tree
+            { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+    { (exit 1); exit 1; }; }
+          fi;;
+       esac
+     done` || { (exit 1); exit 1; }
+   # Remove the trailing spaces.
+   sed 's/[ 	]*$//' $ac_file_inputs >$tmp/in
+ 
+ _ACEOF
+ 
+ # Transform confdefs.h into two sed scripts, `conftest.defines' and
+ # `conftest.undefs', that substitutes the proper values into
+ # config.h.in to produce config.h.  The first handles `#define'
+ # templates, and the second `#undef' templates.
+ # And first: Protect against being on the right side of a sed subst in
+ # config.status.  Protect against being in an unquoted here document
+ # in config.status.
+ rm -f conftest.defines conftest.undefs
+ # Using a here document instead of a string reduces the quoting nightmare.
+ # Putting comments in sed scripts is not portable.
+ #
+ # `end' is used to avoid that the second main sed command (meant for
+ # 0-ary CPP macros) applies to n-ary macro definitions.
+ # See the Autoconf documentation for `clear'.
+ cat >confdef2sed.sed <<\_ACEOF
+ s/[\\&,]/\\&/g
+ s,[\\$`],\\&,g
+ t clear
+ : clear
+ s,^[ 	]*#[ 	]*define[ 	][ 	]*\([^ 	(][^ 	(]*\)\(([^)]*)\)[ 	]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
+ t end
+ s,^[ 	]*#[ 	]*define[ 	][ 	]*\([^ 	][^ 	]*\)[ 	]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+ : end
+ _ACEOF
+ # If some macros were called several times there might be several times
+ # the same #defines, which is useless.  Nevertheless, we may not want to
+ # sort them, since we want the *last* AC-DEFINE to be honored.
+ uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+ sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+ rm -f confdef2sed.sed
+ 
+ # This sed command replaces #undef with comments.  This is necessary, for
+ # example, in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ cat >>conftest.undefs <<\_ACEOF
+ s,^[ 	]*#[ 	]*undef[ 	][ 	]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+ _ACEOF
+ 
+ # Break up conftest.defines because some shells have a limit on the size
+ # of here documents, and old seds have small limits too (100 cmds).
+ echo '  # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+ echo '  if egrep "^[ 	]*#[ 	]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+ echo '  # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+ echo '  :' >>$CONFIG_STATUS
+ rm -f conftest.tail
+ while grep . conftest.defines >/dev/null
+ do
+   # Write a limited-size here document to $tmp/defines.sed.
+   echo '  cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+   # Speed up: don't consider the non `#define' lines.
+   echo '/^[ 	]*#[ 	]*define/!b' >>$CONFIG_STATUS
+   # Work around the forget-to-reset-the-flag bug.
+   echo 't clr' >>$CONFIG_STATUS
+   echo ': clr' >>$CONFIG_STATUS
+   sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+   echo 'CEOF
+   sed -f $tmp/defines.sed $tmp/in >$tmp/out
+   rm -f $tmp/in
+   mv $tmp/out $tmp/in
+ ' >>$CONFIG_STATUS
+   sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+   rm -f conftest.defines
+   mv conftest.tail conftest.defines
+ done
+ rm -f conftest.defines
+ echo '  fi # egrep' >>$CONFIG_STATUS
+ echo >>$CONFIG_STATUS
+ 
+ # Break up conftest.undefs because some shells have a limit on the size
+ # of here documents, and old seds have small limits too (100 cmds).
+ echo '  # Handle all the #undef templates' >>$CONFIG_STATUS
+ rm -f conftest.tail
+ while grep . conftest.undefs >/dev/null
+ do
+   # Write a limited-size here document to $tmp/undefs.sed.
+   echo '  cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+   # Speed up: don't consider the non `#undef'
+   echo '/^[ 	]*#[ 	]*undef/!b' >>$CONFIG_STATUS
+   # Work around the forget-to-reset-the-flag bug.
+   echo 't clr' >>$CONFIG_STATUS
+   echo ': clr' >>$CONFIG_STATUS
+   sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
+   echo 'CEOF
+   sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+   rm -f $tmp/in
+   mv $tmp/out $tmp/in
+ ' >>$CONFIG_STATUS
+   sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+   rm -f conftest.undefs
+   mv conftest.tail conftest.undefs
+ done
+ rm -f conftest.undefs
+ 
+ cat >>$CONFIG_STATUS <<\_ACEOF
+   # Let's still pretend it is `configure' which instantiates (i.e., don't
+   # use $as_me), people would be surprised to read:
+   #    /* config.h.  Generated by config.status.  */
+   if test x"$ac_file" = x-; then
+     echo "/* Generated by configure.  */" >$tmp/config.h
+   else
+     echo "/* $ac_file.  Generated by configure.  */" >$tmp/config.h
+   fi
+   cat $tmp/in >>$tmp/config.h
+   rm -f $tmp/in
+   if test x"$ac_file" != x-; then
+     if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+       { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+ echo "$as_me: $ac_file is unchanged" >&6;}
+     else
+       ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+          X"$ac_file" : 'X\(//\)[^/]' \| \
+          X"$ac_file" : 'X\(//\)$' \| \
+          X"$ac_file" : 'X\(/\)' \| \
+          .     : '\(.\)' 2>/dev/null ||
+ echo X"$ac_file" |
+     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+   	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+   	  /^X\(\/\/\)$/{ s//\1/; q; }
+   	  /^X\(\/\).*/{ s//\1/; q; }
+   	  s/.*/./; q'`
+       { case "$ac_dir" in
+   [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+   *)                      as_incr_dir=.;;
+ esac
+ as_dummy="$ac_dir"
+ for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+   case $as_mkdir_dir in
+     # Skip DOS drivespec
+     ?:) as_incr_dir=$as_mkdir_dir ;;
+     *)
+       as_incr_dir=$as_incr_dir/$as_mkdir_dir
+       test -d "$as_incr_dir" ||
+         mkdir "$as_incr_dir" ||
+ 	{ { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5
+ echo "$as_me: error: cannot create \"$ac_dir\"" >&2;}
+    { (exit 1); exit 1; }; }
+     ;;
+   esac
+ done; }
+ 
+       rm -f $ac_file
+       mv $tmp/config.h $ac_file
+     fi
+   else
+     cat $tmp/config.h
+     rm -f $tmp/config.h
+   fi
+   # Run the commands associated with the file.
+   case $ac_file in
+     config.h ) # update the timestamp
+ echo 'timestamp for config.h' >"./stamp-h1"
+  ;;
+   esac
+ done
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ 
+ #
+ # CONFIG_COMMANDS section.
+ #
+ for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+   ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+   ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+   ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
+ $as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+          X"$ac_dest" : 'X\(//\)[^/]' \| \
+          X"$ac_dest" : 'X\(//\)$' \| \
+          X"$ac_dest" : 'X\(/\)' \| \
+          .     : '\(.\)' 2>/dev/null ||
+ echo X"$ac_dest" |
+     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+   	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+   	  /^X\(\/\/\)$/{ s//\1/; q; }
+   	  /^X\(\/\).*/{ s//\1/; q; }
+   	  s/.*/./; q'`
+   ac_builddir=.
+ 
+ if test "$ac_dir" != .; then
+   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+   # A "../" for each directory in $ac_dir_suffix.
+   ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+ else
+   ac_dir_suffix= ac_top_builddir=
+ fi
+ 
+ case $srcdir in
+   .)  # No --srcdir option.  We are building in place.
+     ac_srcdir=.
+     if test -z "$ac_top_builddir"; then
+        ac_top_srcdir=.
+     else
+        ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+     fi ;;
+   [\\/]* | ?:[\\/]* )  # Absolute path.
+     ac_srcdir=$srcdir$ac_dir_suffix;
+     ac_top_srcdir=$srcdir ;;
+   *) # Relative path.
+     ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+     ac_top_srcdir=$ac_top_builddir$srcdir ;;
+ esac
+ # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
+ # absolute.
+ ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
+ ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
+ ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
+ ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+ 
+ 
+   { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
+ echo "$as_me: executing $ac_dest commands" >&6;}
+   case $ac_dest in
+     depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+   # Strip MF so we end up with the name of the file.
+   mf=`echo "$mf" | sed -e 's/:.*$//'`
+   # Check whether this is an Automake generated Makefile or not.
+   # We used to match only the files named `Makefile.in', but
+   # some people rename them; so instead we look at the file content.
+   # Grep'ing the first line is not enough: some people post-process
+   # each Makefile.in and add a new line on top of each file to say so.
+   # So let's grep whole file.
+   if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+     dirpart=`(dirname "$mf") 2>/dev/null ||
+ $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+          X"$mf" : 'X\(//\)[^/]' \| \
+          X"$mf" : 'X\(//\)$' \| \
+          X"$mf" : 'X\(/\)' \| \
+          .     : '\(.\)' 2>/dev/null ||
+ echo X"$mf" |
+     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+   	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+   	  /^X\(\/\/\)$/{ s//\1/; q; }
+   	  /^X\(\/\).*/{ s//\1/; q; }
+   	  s/.*/./; q'`
+   else
+     continue
+   fi
+   grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
+   # Extract the definition of DEP_FILES from the Makefile without
+   # running `make'.
+   DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
+   test -z "$DEPDIR" && continue
+   # When using ansi2knr, U may be empty or an underscore; expand it
+   U=`sed -n -e '/^U = / s///p' < "$mf"`
+   test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
+   # We invoke sed twice because it is the simplest approach to
+   # changing $(DEPDIR) to its actual value in the expansion.
+   for file in `sed -n -e '
+     /^DEP_FILES = .*\\\\$/ {
+       s/^DEP_FILES = //
+       :loop
+ 	s/\\\\$//
+ 	p
+ 	n
+ 	/\\\\$/ b loop
+       p
+     }
+     /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
+        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+     # Make sure the directory exists.
+     test -f "$dirpart/$file" && continue
+     fdir=`(dirname "$file") 2>/dev/null ||
+ $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+          X"$file" : 'X\(//\)[^/]' \| \
+          X"$file" : 'X\(//\)$' \| \
+          X"$file" : 'X\(/\)' \| \
+          .     : '\(.\)' 2>/dev/null ||
+ echo X"$file" |
+     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+   	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+   	  /^X\(\/\/\)$/{ s//\1/; q; }
+   	  /^X\(\/\).*/{ s//\1/; q; }
+   	  s/.*/./; q'`
+     { case $dirpart/$fdir in
+   [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+   *)                      as_incr_dir=.;;
+ esac
+ as_dummy=$dirpart/$fdir
+ for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+   case $as_mkdir_dir in
+     # Skip DOS drivespec
+     ?:) as_incr_dir=$as_mkdir_dir ;;
+     *)
+       as_incr_dir=$as_incr_dir/$as_mkdir_dir
+       test -d "$as_incr_dir" ||
+         mkdir "$as_incr_dir" ||
+ 	{ { echo "$as_me:$LINENO: error: cannot create $dirpart/$fdir" >&5
+ echo "$as_me: error: cannot create $dirpart/$fdir" >&2;}
+    { (exit 1); exit 1; }; }
+     ;;
+   esac
+ done; }
+ 
+     # echo "creating $dirpart/$file"
+     echo '# dummy' > "$dirpart/$file"
+   done
+ done
+  ;;
+   esac
+ done
+ _ACEOF
+ 
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ 
+ { (exit 0); exit 0; }
+ _ACEOF
+ chmod +x $CONFIG_STATUS
+ ac_clean_files=$ac_clean_files_save
+ 
+ 
+ # configure is writing to config.log, and then calls config.status.
+ # config.status does its own redirection, appending to config.log.
+ # Unfortunately, on DOS this fails, as config.log is still kept open
+ # by configure, so config.status won't be able to write to it; its
+ # output is simply discarded.  So we exec the FD to /dev/null,
+ # effectively closing config.log, so it can be properly (re)opened and
+ # appended to by config.status.  When coming back to configure, we
+ # need to make the FD available again.
+ if test "$no_create" != yes; then
+   ac_cs_success=:
+   exec 5>/dev/null
+   $SHELL $CONFIG_STATUS || ac_cs_success=false
+   exec 5>>config.log
+   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+   # would make configure fail if this is the last instruction.
+   $ac_cs_success || { (exit 1); exit 1; }
+ fi
+ 


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/configure.ac
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/configure.ac:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/configure.ac	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,27 ----
+ # Process this file with autoconf to produce a configure script.
+ AC_INIT([lambda], [0.1.3], [usdesign at earthlink.net])
+ AC_CONFIG_AUX_DIR([config])
+ AM_INIT_AUTOMAKE
+ ##AC_CONFIG_SRCDIR([lambda.cc])
+ AM_CONFIG_HEADER([config.h])
+ 
+ # Checks for programs.
+ AC_PROG_CXX
+ AC_PROG_AWK
+ AC_PROG_CC
+ 
+ # Checks for libraries.
+ 
+ # Checks for header files.
+ AC_HEADER_STDC
+ AC_CHECK_HEADERS([stdlib.h string.h sys/param.h unistd.h])
+ 
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
+ 
+ # Checks for library functions.
+ AC_FUNC_VPRINTF
+ AC_CHECK_FUNCS([getcwd strchr strerror])
+ 
+ AC_CONFIG_FILES([Makefile docs/Makefile])
+ AC_OUTPUT


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/definitions
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/definitions:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/definitions	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,83 ----
+ def LIST map suc(append 2(append 1 end))
+ def mknode (^a.^b.^u.u a b false)
+ def head (^n.n sel_1)
+ def tail (^n.n sel_2)
+ def is_end (^n.n sel_3)
+ def sel_1 (^p.^q.^r.p)
+ def sel_2 (^p.^q.^r.q)
+ def sel_3 (^p.^q.^r.r)
+ def nth ^n.^list.head((pred n) tail list)
+ def renda ^e.^&u.&u e e true
+ def rend (^x.renda(x x))(^x.renda(x x))
+ def nend ^u.u 0 0 true
+ def end ^&u.&u rend rend true
+ def Appenda ^h.^n.^list.(is_end list)(mknode n end)(mknode(head list)(h n(tail list)))
+ def append (^x.Appenda(x x))(^x.Appenda(x x))
+ def Mapa ^h.^f.^list.(is_end list)(end)(mknode(f (head list))(h f (tail list)))
+ def map (^x.Mapa(x x))(^x.Mapa(x x))
+ def mtriple ^a.^b.^c.^u.u a b c
+ def 1st ^a.^b.^c.a
+ def 2nd ^a.^b.^c.b
+ def 3rd ^a.^b.^c.c
+ def div_cond ^p.GE(p 1st)(p 2nd)
+ def div_body ^t.mtriple(sub (t 1st)(t 2nd))(t 2nd)(suc(t 3rd))
+ def div ^m.^n.while div_cond div_body (mtriple m n 0)3rd
+ def sub ^m.^n.n pred m
+ def force ^$.$
+ def pred_body ^p.mpair (suc(p true))(p true)
+ def do ^n.^b.^x.n b x
+ def c1 ^p.not(iszero(p true))
+ def btri ^p.mpair(pred(p true))(add(p true)(p false))
+ def tri ^k.while c1 btri(mpair k 0)false
+ def Wh ^f.^c.^b.^x.(c x) (f c b (b x)) x
+ def while (^x.Wh(x x))(^x.Wh(x x))
+ def G ^g.^f.f(g f)
+ def Y2d Y G
+ def Y2 (^x.G(x x))(^x.G(x x))
+ def Y3 Y2 G
+ def Y4 Y3 G
+ def Y5 Y4 G
+ def YC S(S(K PHI)I)(S(K PHI)I)
+ def PHI  S(K W)(S(K B)I)
+ def W ^f.^x.f x x
+ def S ^x.^y.^z.x z(y z)
+ def B ^x.^y.^z.x(y z)
+ def K ^x.^y.x
+ def I ^x.x
+ def true ^p.^q.p
+ def false ^p.^q.q
+ def and ^a.^b.a b false
+ def or ^a.^b.a true b
+ def not ^r.^p.^q.r q p
+ def mpair ^a.^b.^u.u a b
+ def iszero ^n. n (true false) true
+ def pred ^$k.$k(^p.(mpair(suc(p true))(p true)))(mpair 0 0)false
+ def add ^m.^n.m suc n
+ def mul ^m.^n.m(add n)0
+ def exp ^m.^n.n(mul m)1
+ def Y ^f.(^x.f(x x))(^x.f(x x))
+ def F ^h.^n.(iszero n) 1 (mul n (h(pred n)))
+ def fact (^x.F(x x))(^x.F(x x))
+ def H ^h.or(not h)A
+ def ADD ^m.^n.^x.^y.m x(n x y)
+ def MUL ^m.^n.^f.m(n f)
+ def EXP ^m.^n.n m
+ def GT ^m.^n.not(iszero (n pred m))
+ def EQ ^m.^n.and (iszero (m pred n)) (iszero (n pred n))
+ def LT ^m.^n.not(iszero(m pred n))
+ def GE ^m.^n.not(LT m n)
+ def YH ^f.(^x.f(^h.x x h))(^x.f(^h.x x h))
+ def YG ^f.(^x.^g.f(x x)g)(^x.^g.f(x x)g)
+ def S ^x.^y.^z.x z(y z)
+ def K ^x.^y.x
+ def I ^x.x
+ def triple ^x.^y.^z.^p.p x y z
+ def sel1 ^x.^y.^z.x
+ def sel2 ^x.^y.^z.y
+ def sel3 ^x.^y.^z.z
+ def isend ^t.t sel3
+ def lpair ^a.^b.triple a b false
+ def B ^x.^y.^z.x(y z)
+ def W ^f.^x.f x x
+ def 0 ^m.^n.n
+ def suc ^p.^m.^n.m(p m n)


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/definitions_with_numbers
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/definitions_with_numbers:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/definitions_with_numbers	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,104 ----
+ def LIST map suc(append 2(append 1 end))
+ def mknode (^a.^b.^u.u a b false)
+ def head (^n.n sel_1)
+ def tail (^n.n sel_2)
+ def is_end (^n.n sel_3)
+ def sel_1 (^p.^q.^r.p)
+ def sel_2 (^p.^q.^r.q)
+ def sel_3 (^p.^q.^r.r)
+ def nth ^n.^list.head((pred n) tail list)
+ def renda ^e.^&u.&u e e true
+ def rend (^x.renda(x x))(^x.renda(x x))
+ def nend ^u.u 0 0 true
+ def end ^&u.&u rend rend true
+ def Appenda ^h.^n.^list.(is_end list)(mknode n end)(mknode(head list)(h n(tail list)))
+ def append (^x.Appenda(x x))(^x.Appenda(x x))
+ def Mapa ^h.^f.^list.(is_end list)(end)(mknode(f (head list))(h f (tail list)))
+ def map (^x.Mapa(x x))(^x.Mapa(x x))
+ def mtriple ^a.^b.^c.^u.u a b c
+ def 1st ^a.^b.^c.a
+ def 2nd ^a.^b.^c.b
+ def 3rd ^a.^b.^c.c
+ def div_cond ^p.GE(p 1st)(p 2nd)
+ def div_body ^t.mtriple(sub (t 1st)(t 2nd))(t 2nd)(suc(t 3rd))
+ def div ^m.^n.while div_cond div_body (mtriple m n 0)3rd
+ def sub ^m.^n.n pred m
+ def force ^$.$
+ def pred_body ^p.mpair (suc(p true))(p true)
+ def do ^n.^b.^x.n b x
+ def c1 ^p.not(iszero(p true))
+ def btri ^p.mpair(pred(p true))(add(p true)(p false))
+ def tri ^k.while c1 btri(mpair k 0)false
+ def Wh ^f.^c.^b.^x.(c x) (f c b (b x)) x
+ def while (^x.Wh(x x))(^x.Wh(x x))
+ def G ^g.^f.f(g f)
+ def Y2d Y G
+ def Y2 (^x.G(x x))(^x.G(x x))
+ def Y3 Y2 G
+ def Y4 Y3 G
+ def Y5 Y4 G
+ def YC S(S(K PHI)I)(S(K PHI)I)
+ def PHI  S(K W)(S(K B)I)
+ def W ^f.^x.f x x
+ def S ^x.^y.^z.x z(y z)
+ def B ^x.^y.^z.x(y z)
+ def K ^x.^y.x
+ def I ^x.x
+ def true ^p.^q.p
+ def false ^p.^q.q
+ def and ^a.^b.a b false
+ def or ^a.^b.a true b
+ def not ^r.^p.^q.r q p
+ def mpair ^a.^b.^u.u a b
+ def iszero ^n. n (true false) true
+ def pred ^$k.$k(^p.(mpair(suc(p true))(p true)))(mpair 0 0)false
+ def add ^m.^n.m suc n
+ def mul ^m.^n.m(add n)0
+ def exp ^m.^n.n(mul m)1
+ def Y ^f.(^x.f(x x))(^x.f(x x))
+ def F ^h.^n.(iszero n) 1 (mul n (h(pred n)))
+ def fact (^x.F(x x))(^x.F(x x))
+ def H ^h.or(not h)A
+ def ADD ^m.^n.^x.^y.m x(n x y)
+ def MUL ^m.^n.^f.m(n f)
+ def EXP ^m.^n.n m
+ def GT ^m.^n.not(iszero (n pred m))
+ def EQ ^m.^n.and (iszero (m pred n)) (iszero (n pred n))
+ def LT ^m.^n.not(iszero(m pred n))
+ def GE ^m.^n.not(LT m n)
+ def YH ^f.(^x.f(^h.x x h))(^x.f(^h.x x h))
+ def YG ^f.(^x.^g.f(x x)g)(^x.^g.f(x x)g)
+ def S ^x.^y.^z.x z(y z)
+ def K ^x.^y.x
+ def I ^x.x
+ def triple ^x.^y.^z.^p.p x y z
+ def sel1 ^x.^y.^z.x
+ def sel2 ^x.^y.^z.y
+ def sel3 ^x.^y.^z.z
+ def isend ^t.t sel3
+ def lpair ^a.^b.triple a b false
+ def B ^x.^y.^z.x(y z)
+ def W ^f.^x.f x x
+ def 0 ^m.^n.n
+ def suc ^p.^m.^n.m(p m n)
+ def 1 ^m.^n.m n
+ def 2 ^m.^n.m(m n)
+ def 3 ^m.^n.m(m(m n))
+ def 4 ^m.^n.m(m(m(m n)))
+ def 5 ^m.^n.m(m(m(m(m n))))
+ def 6 ^m.^n.m(m(m(m(m(m n)))))
+ def 7 ^m.^n.m(m(m(m(m(m(m n))))))
+ def 8 ^m.^n.m(m(m(m(m(m(m(m n)))))))
+ def 9 ^m.^n.m(m(m(m(m(m(m(m(m n))))))))
+ def 10 ^m.^n.m(m(m(m(m(m(m(m(m(m n)))))))))
+ def 11 ^m.^n.m(m(m(m(m(m(m(m(m(m(m n))))))))))
+ def 12 ^m.^n.m(m(m(m(m(m(m(m(m(m(m(m n)))))))))))
+ def 13 ^m.^n.m(m(m(m(m(m(m(m(m(m(m(m(m n))))))))))))
+ def 14 ^m.^n.m(m(m(m(m(m(m(m(m(m(m(m(m(m n)))))))))))))
+ def 15 ^m.^n.m(m(m(m(m(m(m(m(m(m(m(m(m(m(m n))))))))))))))
+ def 16 ^m.^n.m(m(m(m(m(m(m(m(m(m(m(m(m(m(m(m n)))))))))))))))
+ def 17 ^m.^n.m(m(m(m(m(m(m(m(m(m(m(m(m(m(m(m(m n))))))))))))))))
+ def 18 ^m.^n.m(m(m(m(m(m(m(m(m(m(m(m(m(m(m(m(m(m n)))))))))))))))))
+ def 19 ^m.^n.m(m(m(m(m(m(m(m(m(m(m(m(m(m(m(m(m(m(m n))))))))))))))))))
+ def 20 ^m.^n.m(m(m(m(m(m(m(m(m(m(m(m(m(m(m(m(m(m(m(m n)))))))))))))))))))
+ 


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/fdl.txt
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/fdl.txt:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/fdl.txt	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,397 ----
+ 		GNU Free Documentation License
+ 		  Version 1.2, November 2002
+ 
+ 
+  Copyright (C) 2000,2001,2002  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.
+ 
+ 
+ 0. PREAMBLE
+ 
+ The purpose of this License is to make a manual, textbook, or other
+ functional and useful document "free" in the sense of freedom: to
+ assure everyone the effective freedom to copy and redistribute it,
+ with or without modifying it, either commercially or noncommercially.
+ Secondarily, this License preserves for the author and publisher a way
+ to get credit for their work, while not being considered responsible
+ for modifications made by others.
+ 
+ This License is a kind of "copyleft", which means that derivative
+ works of the document must themselves be free in the same sense.  It
+ complements the GNU General Public License, which is a copyleft
+ license designed for free software.
+ 
+ We have designed this License in order to use it for manuals for free
+ software, because free software needs free documentation: a free
+ program should come with manuals providing the same freedoms that the
+ software does.  But this License is not limited to software manuals;
+ it can be used for any textual work, regardless of subject matter or
+ whether it is published as a printed book.  We recommend this License
+ principally for works whose purpose is instruction or reference.
+ 
+ 
+ 1. APPLICABILITY AND DEFINITIONS
+ 
+ This License applies to any manual or other work, in any medium, that
+ contains a notice placed by the copyright holder saying it can be
+ distributed under the terms of this License.  Such a notice grants a
+ world-wide, royalty-free license, unlimited in duration, to use that
+ work under the conditions stated herein.  The "Document", below,
+ refers to any such manual or work.  Any member of the public is a
+ licensee, and is addressed as "you".  You accept the license if you
+ copy, modify or distribute the work in a way requiring permission
+ under copyright law.
+ 
+ A "Modified Version" of the Document means any work containing the
+ Document or a portion of it, either copied verbatim, or with
+ modifications and/or translated into another language.
+ 
+ A "Secondary Section" is a named appendix or a front-matter section of
+ the Document that deals exclusively with the relationship of the
+ publishers or authors of the Document to the Document's overall subject
+ (or to related matters) and contains nothing that could fall directly
+ within that overall subject.  (Thus, if the Document is in part a
+ textbook of mathematics, a Secondary Section may not explain any
+ mathematics.)  The relationship could be a matter of historical
+ connection with the subject or with related matters, or of legal,
+ commercial, philosophical, ethical or political position regarding
+ them.
+ 
+ The "Invariant Sections" are certain Secondary Sections whose titles
+ are designated, as being those of Invariant Sections, in the notice
+ that says that the Document is released under this License.  If a
+ section does not fit the above definition of Secondary then it is not
+ allowed to be designated as Invariant.  The Document may contain zero
+ Invariant Sections.  If the Document does not identify any Invariant
+ Sections then there are none.
+ 
+ The "Cover Texts" are certain short passages of text that are listed,
+ as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+ the Document is released under this License.  A Front-Cover Text may
+ be at most 5 words, and a Back-Cover Text may be at most 25 words.
+ 
+ A "Transparent" copy of the Document means a machine-readable copy,
+ represented in a format whose specification is available to the
+ general public, that is suitable for revising the document
+ straightforwardly with generic text editors or (for images composed of
+ pixels) generic paint programs or (for drawings) some widely available
+ drawing editor, and that is suitable for input to text formatters or
+ for automatic translation to a variety of formats suitable for input
+ to text formatters.  A copy made in an otherwise Transparent file
+ format whose markup, or absence of markup, has been arranged to thwart
+ or discourage subsequent modification by readers is not Transparent.
+ An image format is not Transparent if used for any substantial amount
+ of text.  A copy that is not "Transparent" is called "Opaque".
+ 
+ Examples of suitable formats for Transparent copies include plain
+ ASCII without markup, Texinfo input format, LaTeX input format, SGML
+ or XML using a publicly available DTD, and standard-conforming simple
+ HTML, PostScript or PDF designed for human modification.  Examples of
+ transparent image formats include PNG, XCF and JPG.  Opaque formats
+ include proprietary formats that can be read and edited only by
+ proprietary word processors, SGML or XML for which the DTD and/or
+ processing tools are not generally available, and the
+ machine-generated HTML, PostScript or PDF produced by some word
+ processors for output purposes only.
+ 
+ The "Title Page" means, for a printed book, the title page itself,
+ plus such following pages as are needed to hold, legibly, the material
+ this License requires to appear in the title page.  For works in
+ formats which do not have any title page as such, "Title Page" means
+ the text near the most prominent appearance of the work's title,
+ preceding the beginning of the body of the text.
+ 
+ A section "Entitled XYZ" means a named subunit of the Document whose
+ title either is precisely XYZ or contains XYZ in parentheses following
+ text that translates XYZ in another language.  (Here XYZ stands for a
+ specific section name mentioned below, such as "Acknowledgements",
+ "Dedications", "Endorsements", or "History".)  To "Preserve the Title"
+ of such a section when you modify the Document means that it remains a
+ section "Entitled XYZ" according to this definition.
+ 
+ The Document may include Warranty Disclaimers next to the notice which
+ states that this License applies to the Document.  These Warranty
+ Disclaimers are considered to be included by reference in this
+ License, but only as regards disclaiming warranties: any other
+ implication that these Warranty Disclaimers may have is void and has
+ no effect on the meaning of this License.
+ 
+ 
+ 2. VERBATIM COPYING
+ 
+ You may copy and distribute the Document in any medium, either
+ commercially or noncommercially, provided that this License, the
+ copyright notices, and the license notice saying this License applies
+ to the Document are reproduced in all copies, and that you add no other
+ conditions whatsoever to those of this License.  You may not use
+ technical measures to obstruct or control the reading or further
+ copying of the copies you make or distribute.  However, you may accept
+ compensation in exchange for copies.  If you distribute a large enough
+ number of copies you must also follow the conditions in section 3.
+ 
+ You may also lend copies, under the same conditions stated above, and
+ you may publicly display copies.
+ 
+ 
+ 3. COPYING IN QUANTITY
+ 
+ If you publish printed copies (or copies in media that commonly have
+ printed covers) of the Document, numbering more than 100, and the
+ Document's license notice requires Cover Texts, you must enclose the
+ copies in covers that carry, clearly and legibly, all these Cover
+ Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+ the back cover.  Both covers must also clearly and legibly identify
+ you as the publisher of these copies.  The front cover must present
+ the full title with all words of the title equally prominent and
+ visible.  You may add other material on the covers in addition.
+ Copying with changes limited to the covers, as long as they preserve
+ the title of the Document and satisfy these conditions, can be treated
+ as verbatim copying in other respects.
+ 
+ If the required texts for either cover are too voluminous to fit
+ legibly, you should put the first ones listed (as many as fit
+ reasonably) on the actual cover, and continue the rest onto adjacent
+ pages.
+ 
+ If you publish or distribute Opaque copies of the Document numbering
+ more than 100, you must either include a machine-readable Transparent
+ copy along with each Opaque copy, or state in or with each Opaque copy
+ a computer-network location from which the general network-using
+ public has access to download using public-standard network protocols
+ a complete Transparent copy of the Document, free of added material.
+ If you use the latter option, you must take reasonably prudent steps,
+ when you begin distribution of Opaque copies in quantity, to ensure
+ that this Transparent copy will remain thus accessible at the stated
+ location until at least one year after the last time you distribute an
+ Opaque copy (directly or through your agents or retailers) of that
+ edition to the public.
+ 
+ It is requested, but not required, that you contact the authors of the
+ Document well before redistributing any large number of copies, to give
+ them a chance to provide you with an updated version of the Document.
+ 
+ 
+ 4. MODIFICATIONS
+ 
+ You may copy and distribute a Modified Version of the Document under
+ the conditions of sections 2 and 3 above, provided that you release
+ the Modified Version under precisely this License, with the Modified
+ Version filling the role of the Document, thus licensing distribution
+ and modification of the Modified Version to whoever possesses a copy
+ of it.  In addition, you must do these things in the Modified Version:
+ 
+ A. Use in the Title Page (and on the covers, if any) a title distinct
+    from that of the Document, and from those of previous versions
+    (which should, if there were any, be listed in the History section
+    of the Document).  You may use the same title as a previous version
+    if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities
+    responsible for authorship of the modifications in the Modified
+    Version, together with at least five of the principal authors of the
+    Document (all of its principal authors, if it has fewer than five),
+    unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the
+    Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications
+    adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice
+    giving the public permission to use the Modified Version under the
+    terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections
+    and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add
+    to it an item stating at least the title, year, new authors, and
+    publisher of the Modified Version as given on the Title Page.  If
+    there is no section Entitled "History" in the Document, create one
+    stating the title, year, authors, and publisher of the Document as
+    given on its Title Page, then add an item describing the Modified
+    Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for
+    public access to a Transparent copy of the Document, and likewise
+    the network locations given in the Document for previous versions
+    it was based on.  These may be placed in the "History" section.
+    You may omit a network location for a work that was published at
+    least four years before the Document itself, or if the original
+    publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications",
+    Preserve the Title of the section, and preserve in the section all
+    the substance and tone of each of the contributor acknowledgements
+    and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document,
+    unaltered in their text and in their titles.  Section numbers
+    or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements".  Such a section
+    may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements"
+    or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
+ 
+ If the Modified Version includes new front-matter sections or
+ appendices that qualify as Secondary Sections and contain no material
+ copied from the Document, you may at your option designate some or all
+ of these sections as invariant.  To do this, add their titles to the
+ list of Invariant Sections in the Modified Version's license notice.
+ These titles must be distinct from any other section titles.
+ 
+ You may add a section Entitled "Endorsements", provided it contains
+ nothing but endorsements of your Modified Version by various
+ parties--for example, statements of peer review or that the text has
+ been approved by an organization as the authoritative definition of a
+ standard.
+ 
+ You may add a passage of up to five words as a Front-Cover Text, and a
+ passage of up to 25 words as a Back-Cover Text, to the end of the list
+ of Cover Texts in the Modified Version.  Only one passage of
+ Front-Cover Text and one of Back-Cover Text may be added by (or
+ through arrangements made by) any one entity.  If the Document already
+ includes a cover text for the same cover, previously added by you or
+ by arrangement made by the same entity you are acting on behalf of,
+ you may not add another; but you may replace the old one, on explicit
+ permission from the previous publisher that added the old one.
+ 
+ The author(s) and publisher(s) of the Document do not by this License
+ give permission to use their names for publicity for or to assert or
+ imply endorsement of any Modified Version.
+ 
+ 
+ 5. COMBINING DOCUMENTS
+ 
+ You may combine the Document with other documents released under this
+ License, under the terms defined in section 4 above for modified
+ versions, provided that you include in the combination all of the
+ Invariant Sections of all of the original documents, unmodified, and
+ list them all as Invariant Sections of your combined work in its
+ license notice, and that you preserve all their Warranty Disclaimers.
+ 
+ The combined work need only contain one copy of this License, and
+ multiple identical Invariant Sections may be replaced with a single
+ copy.  If there are multiple Invariant Sections with the same name but
+ different contents, make the title of each such section unique by
+ adding at the end of it, in parentheses, the name of the original
+ author or publisher of that section if known, or else a unique number.
+ Make the same adjustment to the section titles in the list of
+ Invariant Sections in the license notice of the combined work.
+ 
+ In the combination, you must combine any sections Entitled "History"
+ in the various original documents, forming one section Entitled
+ "History"; likewise combine any sections Entitled "Acknowledgements",
+ and any sections Entitled "Dedications".  You must delete all sections
+ Entitled "Endorsements".
+ 
+ 
+ 6. COLLECTIONS OF DOCUMENTS
+ 
+ You may make a collection consisting of the Document and other documents
+ released under this License, and replace the individual copies of this
+ License in the various documents with a single copy that is included in
+ the collection, provided that you follow the rules of this License for
+ verbatim copying of each of the documents in all other respects.
+ 
+ You may extract a single document from such a collection, and distribute
+ it individually under this License, provided you insert a copy of this
+ License into the extracted document, and follow this License in all
+ other respects regarding verbatim copying of that document.
+ 
+ 
+ 7. AGGREGATION WITH INDEPENDENT WORKS
+ 
+ A compilation of the Document or its derivatives with other separate
+ and independent documents or works, in or on a volume of a storage or
+ distribution medium, is called an "aggregate" if the copyright
+ resulting from the compilation is not used to limit the legal rights
+ of the compilation's users beyond what the individual works permit.
+ When the Document is included in an aggregate, this License does not
+ apply to the other works in the aggregate which are not themselves
+ derivative works of the Document.
+ 
+ If the Cover Text requirement of section 3 is applicable to these
+ copies of the Document, then if the Document is less than one half of
+ the entire aggregate, the Document's Cover Texts may be placed on
+ covers that bracket the Document within the aggregate, or the
+ electronic equivalent of covers if the Document is in electronic form.
+ Otherwise they must appear on printed covers that bracket the whole
+ aggregate.
+ 
+ 
+ 8. TRANSLATION
+ 
+ Translation is considered a kind of modification, so you may
+ distribute translations of the Document under the terms of section 4.
+ Replacing Invariant Sections with translations requires special
+ permission from their copyright holders, but you may include
+ translations of some or all Invariant Sections in addition to the
+ original versions of these Invariant Sections.  You may include a
+ translation of this License, and all the license notices in the
+ Document, and any Warranty Disclaimers, provided that you also include
+ the original English version of this License and the original versions
+ of those notices and disclaimers.  In case of a disagreement between
+ the translation and the original version of this License or a notice
+ or disclaimer, the original version will prevail.
+ 
+ If a section in the Document is Entitled "Acknowledgements",
+ "Dedications", or "History", the requirement (section 4) to Preserve
+ its Title (section 1) will typically require changing the actual
+ title.
+ 
+ 
+ 9. TERMINATION
+ 
+ You may not copy, modify, sublicense, or distribute the Document except
+ as expressly provided for under this License.  Any other attempt to
+ copy, modify, sublicense or distribute the Document 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.
+ 
+ 
+ 10. FUTURE REVISIONS OF THIS LICENSE
+ 
+ The Free Software Foundation may publish new, revised versions
+ of the GNU Free Documentation 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.  See
+ http://www.gnu.org/copyleft/.
+ 
+ Each version of the License is given a distinguishing version number.
+ If the Document specifies that a particular numbered version of this
+ License "or any later version" applies to it, you have the option of
+ following the terms and conditions either of that specified version or
+ of any later version that has been published (not as a draft) by the
+ Free Software Foundation.  If the Document does not specify a version
+ number of this License, you may choose any version ever published (not
+ as a draft) by the Free Software Foundation.
+ 
+ 
+ ADDENDUM: How to use this License for your documents
+ 
+ To use this License in a document you have written, include a copy of
+ the License in the document and put the following copyright and
+ license notices just after the title page:
+ 
+     Copyright (c)  YEAR  YOUR NAME.
+     Permission is granted to copy, distribute and/or modify this document
+     under the terms of the GNU Free Documentation License, Version 1.2
+     or any later version published by the Free Software Foundation;
+     with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+     A copy of the license is included in the section entitled "GNU
+     Free Documentation License".
+ 
+ If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+ replace the "with...Texts." line with this:
+ 
+     with the Invariant Sections being LIST THEIR TITLES, with the
+     Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+ 
+ If you have Invariant Sections without Cover Texts, or some other
+ combination of the three, merge those two alternatives to suit the
+ situation.
+ 
+ If your document contains nontrivial examples of program code, we
+ recommend releasing these examples in parallel under your choice of
+ free software license, such as the GNU General Public License,
+ to permit their use in free software.


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/gpl.txt
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/gpl.txt:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/gpl.txt	Mon Dec 29 11:37:35 2003
***************
*** 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.


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/input
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/input:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/input	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,33 ----
+ def 0 ^m.^n.n
+ def true ^p.^q.p
+ def def false ^p.^q.q
+ def suc ^p.^m.^n.m(p m n)
+ def pred ^$k.$k(^p.(mpair(suc(p true))(p true)))(mpair 0 0)false
+ def mpair ^a.^b.^u.u a b
+ def def iszero ^n. n (true false) true
+ def ADD ^m.^n.^x.^y.m x(n x y)
+ def MUL ^m.^n.^f.m(n f)
+ def EXP ^m.^n.n m
+ def GT ^m.^n.not(iszero (n pred m))
+ def EQ ^m.^n.and (iszero (m pred n)) (iszero (n pred n))
+ def LT ^m.^n.not(iszero(m pred n))
+ def GE ^m.^n.not(LT m n)
+ iszero 0
+ iszero 5
+ suc 0
+ suc 1
+ suc 2
+ pred 3
+ pred 2
+ pred 1
+ pred 0
+ ADD 1 2
+ MUL 2 3
+ EXP 2 3
+ EXP 3 2
+ GT 2 3
+ GT 3 2
+ EQ 4 (ADD 2 2)
+ EQ 5 (ADD 3 3)
+ quit
+ 


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/lambda.cc
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/lambda.cc:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/lambda.cc	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,240 ----
+ /* lambda.cc */
+ /*
+ Copyright (C) 2003 Unique Software Designs
+ 
+ This file is part of the program "lambda".
+ 
+ The program "lambda" 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.
+ 
+ The program "lambda" 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 "lambda"; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 
+ A copy of the GNU General Public License may also be found at:
+ http://www.gnu.org/copyleft/gpl.html
+ */
+ #if HAVE_CONFIG_H
+ #  include "config.h"
+ #endif
+ #include <stdio.h>
+ #include <string.h>
+ #include "node.h"
+ #include "token_stream.h"
+ #include "parse.h"
+ 
+ #ifdef WIN32
+ #include <direct.h>
+ 
+ #else
+ #include <unistd.h>
+ #include <sys/param.h>
+ #endif
+ 
+ #ifdef WIN32
+ void
+ #else
+ int
+ #endif
+ main(int argc, char** argv)
+ {
+ 	printf(
+ 		"Copyright (c) 2000 John A. Maiorana. "
+ 		"All rights reserved.\n" );
+ 	#ifdef WIN32
+ 	{
+ 		char buf[512];
+ 		char* cwd = _getcwd(buf,sizeof(buf)-1);
+ 		int dr = _getdrive();
+ 		if( cwd ){
+ 			printf( "%s\n", cwd);
+ 		}
+ 	}
+ 	#else
+ 	{
+ 		char buf[MAXPATHLEN+1];
+ 		char* cwd = getcwd(buf,sizeof(buf)-1);
+ 		if( cwd ){
+ 			printf( "%s\n", cwd);
+ 		}
+ 	}
+ 	#endif
+ #if 0
+ 	arg_node arg1("x",0);
+ 	var_node varx("x");
+ 	var_node vary("y");
+ 	var_node varf("f");
+ 	app_node appxx(&varx, &varx);
+ 	app_node appfxx(&varf, &appxx);
+ 	lam_node lamD(&arg1,&appfxx);
+ 	app_node appDD(&lamD,&lamD);
+ 	printf("(^x.f(x x)) (^x.f(x x)) = ");
+ 	appDD.print();
+ 	printf("\n");
+ 	appDD.bind();
+ 
+ 	printf("reduced = ");
+ 	exp_node* rn = appDD.reduce();
+ 	rn->print();
+ 	printf("\n");
+ #endif
+ 	token_stream tokstr;
+ 	tokstr.open();
+ 	lambda_expression_parser parse(&tokstr);
+ 
+ 	arglst_node* env = 0;
+ 	while( 1 )
+ 	{
+ 		printf("<< ");
+ 		exp_node* exp = parse.expression(&env);
+ 		if( exp )
+ 		{
+ 			int inp = 0;
+ 			int outp = 0;
+ 			if( node::ARG==exp->op() )
+ 			{
+ 				delete exp;
+ 				break;
+ 			}
+ 			printf("==> ");
+ 			exp->print();
+ 			printf("\n");
+ 			//exp->bind(env);
+ 			node::reset();
+ 			if( trace_lambda ) inp |= node::DO_TRACE;
+ 			if( print_symbols ) inp |= node::DO_PRINT_SYM;
+ 			if( applicative_order ) inp |= node::DO_APP_ORDER;
+ 			if( reduce_body ) inp |= node::DO_REDUCE_BODY;
+ 			if( step_lambda ) inp |= node::DO_STEP;
+ 			if( brief_print ) inp |= node::DO_PRINT_BRIEF;
+ 			if( reduce_fully ) inp |= node::DO_REDUCE_FULLY;
+ 
+ 			int exp_was_var = node::VAR==exp->op(); 
+ 
+ 			if( step_lambda )
+ 			{
+ 				int printed = 0;
+ 				exp_node* rexp = exp->reduce(env,inp,&outp);
+ 				do {
+ 					if( rexp ){
+ 						if(1){
+ 							char* step = "=";
+ 							if( outp & node::BETA_ETA_DONE ){
+ 								if( outp & node::ETA_DONE ){
+ 									step = "H";
+ 								}else{
+ 									step = "B";
+ 								}
+ 							}
+ 							printf("=%1.1s==> ", step );
+ 							//rexp->symbolic_print(env,inp);
+ 							if( exp_was_var )
+ 								rexp->print(env,inp&~node::DO_PRINT_SYM);
+ 							else
+ 								rexp->symbolic_print(env,inp);
+ 							printf("\n");
+ 							printed = 1;
+ 						}
+ 						exp_node* nexp;
+ 						if( outp & node::BETA_ETA_DONE) {
+ 							outp &= ~(node::BETA_ETA_DONE|node::ETA_DONE);
+ 							nexp = rexp->reduce(env,inp,&outp);
+ 							if( nexp && rexp!=nexp ){
+ 								//if( rexp != exp ) delete rexp;
+ 								delete rexp;
+ 								if( rexp == exp ) exp = 0;
+ 								rexp = nexp;
+ 							}
+ 							if( !(outp & node::BETA_ETA_DONE))
+ 								break;
+ 						}else{
+ 							break;
+ 						}
+ 						printf("*** Continue?[y/n]:");
+ 						int ans = getchar();
+ 						if( '\n'!=ans )
+ 							while ( '\n'!=getchar() );
+ 						if( 'n'==ans || 'N'==ans ) break;
+ 					}
+ 				} while (rexp);
+ 				if( !printed && rexp ){
+ 					printf("=====> ");
+ 					if( exp_was_var )
+ 						rexp->print(env,inp&~node::DO_PRINT_SYM);
+ 					else
+ 						rexp->symbolic_print(env,inp);
+ 					printf("\n");
+ 					printed = 1;
+ 					//if( rexp && rexp != exp ) delete rexp;
+ 					delete rexp;
+ 					if( rexp == exp ) exp = 0;
+ 					rexp = 0;
+ 				}
+ 			}else if( step_thru ) {
+ 				inp |= node::DO_STEP;
+ 				exp_node* rexp = exp->reduce(env,inp,&outp);			
+ 				do {
+ 					if( rexp ){
+ 						exp_node* nexp;
+ 						if( outp & node::BETA_ETA_DONE) {
+ 							outp &= ~node::BETA_ETA_DONE;
+ 							nexp = rexp->reduce(env,inp,&outp);
+ 							if( nexp && rexp!=nexp ){
+ 								//if( rexp != exp ) delete rexp;
+ 								delete rexp;
+ 								if( rexp == exp ) exp = 0;
+ 								rexp = nexp;
+ 							}
+ 							if( !(outp & node::BETA_ETA_DONE))
+ 								break;
+ 						}else{
+ 							break;
+ 						}
+ 					}
+ 				} while (rexp);
+ 				if( rexp )
+ 				{
+ 					printf("====>");
+ 					if( exp_was_var )
+ 						rexp->print(env,inp&~node::DO_PRINT_SYM);
+ 					else
+ 						rexp->symbolic_print(env,inp);
+ 					printf("\n");
+ 					//if( rexp && rexp != exp ) delete rexp;
+ 					delete rexp;
+ 					if( rexp == exp ) exp = 0;
+ 					rexp = 0;
+ 				}
+ 			}else{
+ 				exp_node* rexp = exp->reduce(env,inp,&outp);			
+ 				if( rexp )
+ 				{
+ 					printf("====>");
+ 					if( exp_was_var )
+ 						rexp->print(env,inp&~node::DO_PRINT_SYM);
+ 					else
+ 						rexp->symbolic_print(env,inp);
+ 					printf("\n");
+ 					//if( rexp && rexp != exp ) delete rexp;
+ 					delete rexp;
+ 					if( rexp == exp ) exp = 0;
+ 					rexp = 0;
+ 				}
+ 			}
+ 			if( exp ) delete exp;
+ 			exp = 0;
+ 		}
+ 	}
+ 	tokstr.close();
+ #ifndef WIN32
+ 	return 0;
+ #endif
+ }
+ 


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/node.cc
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/node.cc:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/node.cc	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,1427 ----
+ /* node.cc */
+ /*
+ Copyright (C) 2003 Unique Software Designs
+ 
+ This file is part of the program "lambda".
+ 
+ The program "lambda" 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.
+ 
+ The program "lambda" 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 "lambda"; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 
+ A copy of the GNU General Public License may also be found at:
+ http://www.gnu.org/copyleft/gpl.html
+ */
+ #if HAVE_CONFIG_H
+ #  include "config.h"
+ #endif
+ #include <string.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <config.h>
+ #include "node.h"
+ 
+ #define REDUCE_VARS
+ //#undef REDUCE_VARS
+ #define USE_UNDER_SCORE_PREFIX_FOR_GENERATED_NAMES
+ #undef USE_UNDER_SCORE_PREFIX_FOR_GENERATED_NAMES
+ 
+ //const int MAX_RECURSE=200;
+ const int MAX_RECURSE=4000;
+ 
+ const arglst_node* definition_env = 0;
+ 
+ static int name_sequence = 1;
+ static int lambda_reduce_recurse_level = 0;
+ static int app_reduce_recurse_level = 0;
+ static int var_reduce_recurse_level = 0;
+ 
+ static char* newname(const char* oldname)
+ {
+ 	char* nm = 0;
+ 	char buf[128];
+ 	if( !oldname ) oldname = "~";
+ 
+ #ifdef USE_UNDER_SCORE_PREFIX_FOR_GENERATED_NAMES
+ 	sprintf( buf, "_%s_%d", oldname, name_sequence );
+ #else
+ 	sprintf( buf, "%s#%d", oldname, name_sequence );
+ #endif
+ 	name_sequence += 1;
+ 
+ 	nm = new char[strlen(buf)+1];
+ 	strcpy(nm,buf);
+ 	return nm;
+ }
+ 
+ char* newstring(const char*os)
+ {
+ 	char* ns;
+ 	if(os) {
+ 		ns = new char[strlen(os)+1];
+ 		strcpy(ns,os);
+ 	}else ns = 0;
+ 	return ns;
+ };
+ 
+ //////////////////////////////////////////////////////////////////////
+ void node::
+ reset()
+ {
+ 	name_sequence = 1;
+ 	lambda_reduce_recurse_level = 0;
+ 	app_reduce_recurse_level = 0;
+ 	var_reduce_recurse_level = 0;
+ }
+ 
+ void node::
+ print(const alst_node*env,int inp) const
+ {
+ 	printf("(%p:node)",this);
+ }
+ 
+ //////////////////////////////////////////////////////////////////////
+ // arg_node
+ arg_node::
+ arg_node(const char* nm, const exp_node* ex, Boolean import)
+ {
+ 	this->name_v = newstring(nm);
+ 	if( import ){
+ 		if( ex ) value_v = (exp_node*)ex;
+ 		else value_v = 0;
+ 	}else{
+ 		if( ex ) value_v = (exp_node*)ex->clone();
+ 		else value_v = 0;
+ 		if( value_v ) value_v->set_parent(this);
+ 	}
+ }
+ 
+ arg_node::
+ arg_node(const arg_node& from)
+ {
+ 	//*this = from;
+ 	if( from.name_v ) {
+ 		name_v = new char [strlen(from.name_v)+1];
+ 		strcpy(name_v, from.name_v);
+ 	}else name_v = 0;
+ 	if( from.value_v )
+ 		value_v = 
+ 			(exp_node*)from.value_v->clone();
+ 	else value_v = 0;
+ 	if( value_v ) value_v->set_parent(this);
+ 	parent_v = from.parent_v;
+ }
+ 
+ node* arg_node::
+ clone() const
+ {
+ 	return (node*)new arg_node(*this);
+ }
+ 
+ arg_node::
+ ~arg_node()
+ {
+ 	if( name_v ) delete [] name_v;
+ 	if( value_v ) delete value_v;
+ }
+ 
+ arg_node& arg_node::
+ operator =(const arg_node& from)
+ {
+ 	if( this != &from ){
+ 		this->~arg_node();
+ 		if( from.name_v ) {
+ 			name_v = new char [strlen(from.name_v)+1];
+ 			strcpy(name_v, from.name_v);
+ 		}else name_v = 0;
+ 		if( from.value_v )
+ 			value_v = 
+ 				(exp_node*)from.value_v->clone();
+ 		else value_v = 0;
+ 		if( value_v ) value_v->set_parent(this);
+ 		parent_v = from.parent_v;
+ 	}
+ 	return *this;
+ }
+ 
+ //Boolean arg_node::
+ //free_in(exp_node* exp)
+ //{
+ //	Boolean in = False;
+ //	in = exp->has_free(this);
+ //	return in;
+ //}
+ 
+ void arg_node::
+ print(const alst_node*env, int inp)const
+ {
+ 	printf("%s", name_v ? name_v : "(null)" );
+ 	if( value_v ) {
+ 		printf(" = ");
+ 		value_v->print(env,inp);
+ 	}
+ }
+ 
+ void arg_node::
+ import_value(exp_node** val)
+ {
+ 	if( value_v ) delete value_v;
+ 	if( val ){
+ 		value_v = *val;
+ 		*val = 0;
+ 	}else value_v = 0;
+ 	if( value_v ) value_v->set_parent(this);
+ }
+ 
+ int arg_node::
+ operator == (const arg_node& cmp) const
+ {
+ 	Boolean b1 = 
+ 		!name_v && !cmp.name_v ||
+ 		name_v && cmp.name_v && 0==strcmp(name_v, cmp.name_v);
+ 	return b1;
+ }
+ 
+ int arg_node::
+ operator == (const char* cmp) const
+ {
+ 	Boolean b1 = 
+ 		!name_v && !cmp ||
+ 		name_v && cmp && 0==strcmp(name_v, cmp);
+ 	return b1;
+ }
+ 
+ /////////////////////////////////////////////////////////////////////
+ // exp_node's
+ const alst_node* exp_node::
+ match(const alst_node* env ) const
+ {
+ 	const alst_node* match = 0;
+ 	for(const alst_node* en=env; en; en = en->next() )
+ 	{
+ 		if( en->arg() && en->arg()->value() ){
+ 			if( *this==*(en->arg()->value()) )
+ 			{
+ 				match = en;
+ 				break;
+ 			}
+ 		}
+ 	}
+ 	return match;
+ }
+ 
+ void exp_node::
+ symbolic_print(const alst_node*env,int inp)const
+ {
+ 	if( inp&node::DO_PRINT_SYM ){
+ 		exp_node* exp = (exp_node*)this->clone();
+ 		if( exp ){
+ 			exp_node* pexp = exp->extract_defs(env);
+ 			if( pexp ){
+ 				pexp->print(env,inp);
+ 				if( pexp != exp ) delete pexp;
+ 			}else{
+ 				exp->print(env,inp);
+ 			}
+ 			delete exp;
+ 		}else{
+ 			this->print(env,inp);
+ 		}
+ 	}else{
+ 		this->print(env,inp);
+ 	}
+ }
+ 
+ /////////////////////////////////////////////////////////////////////
+ // var_node
+ var_node::
+ var_node(const char* nm)
+ {
+ 	if( nm ){
+ 		name_v = new char[strlen(nm)+1];
+ 		strcpy(name_v,nm);
+ 	}else nm = 0;
+ }
+ 
+ var_node::
+ var_node(const var_node& from)
+ {
+ 	//*this = from;
+ 	if( from.name_v ) {
+ 		name_v = new char [strlen(from.name_v)+1];
+ 		strcpy(name_v, from.name_v);
+ 	}else name_v = 0;
+ 	parent_v = 0;//from.parent_v;
+ }
+ 
+ Boolean var_node::
+ has_free(const arg_node* argr, const alst_node* env) const
+ {
+ //	const exp_node* exp=this;
+ 	#ifndef REDUCE_VARS
+ 		exp = reduce_value(env);
+ 		//if( exp != this )
+ 		if( VAR!=exp->op() )
+ 			return exp->has_free(argr, env);
+ 	#endif
+ #undef MATCH_NAME
+ #ifdef MATCH_NAME
+ 	//if( argr ) return argr->operator==(name_v);
+ 	if( argr ) return *argr==(exp->name());
+ #else
+ 	if( argr ){
+ 		const alst_node* bd = this->bind(env);
+ 		if( bd && (bd->arg()==argr))
+ 		{
+ 			return True;
+ 		}
+ 	}
+ #endif
+ 	return False;
+ }
+ 
+ arglst_node* var_node::
+ bind(const alst_node* env) const
+ {
+ 	//arg_node* arg = 0;
+ 	//if( !this->name() ) return arg;
+ 	//if( ref_arg_v ) return;
+ 	if( !this->name() ) return 0;
+ #if 0
+ 	for( node* par = parent_v; par; par = par->parent() )
+ 	{
+ 		if( LAM==par->op() && par->arg() && par->arg()->name() ){
+ 			if( 0==strcmp(par->arg()->name(),
+ 				          this->name()))
+ 			{
+ 				arg = par->arg();
+ 				break;
+ 			}
+ 		}
+ //		if( arg ) break;
+ 	}
+ #endif
+ 	//if( !arg ) {
+ 		alst_node* lst;
+ 		for( lst=(arglst_node*)env;
+ 			lst; lst=(arglst_node*)lst->next() )
+ 		{
+ 			if( lst->arg() && lst->arg()->name() ){
+ 				if( 0==strcmp(lst->arg()->name(),
+ 					          this->name()))
+ 				{
+ 					//arg = lst->arg();
+ 					break;
+ 				}
+ 			}
+ 		}
+ 	//}
+ 	////if( arg ){ref_arg_v = arg;if( def_arg_v ) delete def_arg_v;def_arg_v = 0;}
+ 	return (arglst_node*)lst;
+ }
+ 
+ void var_node::
+ print(const alst_node*env,int inp) const
+ {
+ 	printf("%s", name() ? name() : "(null-var)" );
+ }
+ 
+ var_node& var_node::
+ operator =(const var_node& from)
+ {
+ 	if( name_v ) delete [] name_v;
+ 	if( from.name_v ) {
+ 		name_v = new char [strlen(from.name_v)+1];
+ 		strcpy(name_v, from.name_v);
+ 	}else name_v = 0;
+ 	if( this != &from ){
+ 		parent_v = from.parent_v;
+ 	}
+ 	return *this;
+ }
+ 
+ void var_node::
+ set_name(const char* nm)
+ {
+ 	if( name_v == nm ) return;
+ 	if( name_v ) delete [] name_v;
+ 	name_v = nm?new char[strlen(nm)+1]:0;
+ 	if( name_v && nm ) strcpy(name_v,nm);
+ }
+ 
+ exp_node* var_node::
+ reduce_value(const alst_node* env, int inp, int* outp,
+ 	const alst_node** pnenv)
+ {
+ 	exp_node* exp = this;
+ 	exp_node* val;
+ 
+ 	val = exp;
+ 	int reduced = 0;
+ 	int cnt = 0;
+ 	int max_loops = (inp & DO_REDUCE_FULLY) ? 2 : 0;
+ 	do {
+ 		do {
+ 			env = val->bind(env);
+ 			if( !val ) goto end;
+ 			arg_node* barg = env ? env->arg() : 0;
+ 			exp_node* nval = barg ? barg->value() : 0;
+ 			if( !nval ) break;
+ 			if( val == nval ) goto end;
+ 			if( val == nval ) break;
+ 			val = nval;
+ 			reduced = 1;
+ 		} while (env && val && VAR==val->op() && val!=this );
+ 		env = definition_env;
+ 		cnt++;
+ 	} while (reduced && cnt < max_loops);
+ end:
+ 	if( val ) exp = val;
+ 	if( pnenv ){
+ 		//if( env ) env = env->next();
+ 		//*pnenv = (alst_node*)env;
+ 		*pnenv = definition_env;
+ 	}
+ 	return exp;
+ }
+ 
+ exp_node* var_node::
+ reduce_number()
+ {
+ 	exp_node* exp = 0;
+ 	if( name() )
+ 	{
+ 		int is_number = 1;
+ 		for(const char*pc = name();*pc!='\0';pc++)
+ 		{
+ 			int ch = *pc;
+ 			if( ch < '0' || ch > '9' )
+ 			{
+ 				is_number = 0;
+ 				break;
+ 			}
+ 		}
+ 		if( is_number )
+ 		{
+ 			arg_node* arg1 = new arg_node("m",0);
+ 			arg_node* arg2 = new arg_node("n",0);
+ 			exp_node *bdy = new var_node("n");
+ 			int number = atoi((const char*)name());
+ 			for( ; number > 0; number -= 1 )
+ 			{
+ 				var_node* lft = new var_node("m");
+ 				bdy = new app_node(lft,bdy,True);
+ 			}
+ 			lam_node* lam2 = new lam_node(arg2,bdy,True);
+ 			lam_node* lam1 = new lam_node(arg1,lam2,True);
+ 			exp = lam1;
+ 		}
+ 	}
+ 	return exp;
+ }
+ 
+ exp_node* var_node::
+ reduce(const alst_node* env, int inp,int* outp)
+ {
+ 	var_reduce_recurse_level++;
+ 	if( var_reduce_recurse_level > MAX_RECURSE ){
+ 		printf("\nvar_reduce_recurse_level %d [",
+ 			var_reduce_recurse_level);
+ 		this->print();
+ 		printf ("]\n");
+ 		var_reduce_recurse_level--;
+ 		if( outp ) *outp |= node::RECURSE_LVL;
+ 		return this;
+ 	}
+ 	const alst_node* nenv = 0;
+ 	exp_node* exp = this->reduce_value(env, inp, outp, &nenv);
+ 	if( exp != this )
+ 	{
+ 		exp = (exp_node*)exp->clone();
+ 		if( nenv && (APP==exp->op() || LAM==exp->op())
+ 		&& (inp&DO_REDUCE_FULLY)!=0 )
+ 		{
+ 			exp_node* nexp = exp->reduce_vars(nenv,inp,outp);
+ 			if( nexp && nexp != exp )
+ 			{
+ 				delete exp;
+ 				exp = nexp;
+ 			}
+ 		}
+ 	}
+ 	exp_node* num = reduce_number();
+ 	if( num )
+ 	{
+ 		if( exp != this ){
+ 			delete exp;
+ 			exp = num;
+ 		}else{
+ 			exp = num;
+ 		}
+ 	}
+ 	var_reduce_recurse_level--;
+ 	return exp;
+ }
+ 
+ void var_node::
+ rename(arg_node* arg, const char* newname, alst_node* env)
+ {
+ 	arglst_node* lst = this->bind(env);
+ 	arg_node* barg = lst ? lst->arg() : 0;
+ 	if( barg && barg==arg ) this->set_name(newname);
+ }
+ 
+ int var_node::
+ operator == (const exp_node& cmp) const
+ {
+ 	Boolean b1 = False;
+ 	if( VAR!=cmp.op() ) return b1;
+ 	b1 = !name() && !cmp.name() ||
+ 		name() && cmp.name() && 0==strcmp(name(), cmp.name());
+ 	return b1;
+ }
+ 
+ exp_node* var_node::
+ extract(const char* nm, int inp) const
+ {
+ 	if( name() && nm && 0==strcmp(nm,name()) )
+ 	{
+ 		return (exp_node*)new var_node("I");
+ 	}else
+ 	if( nm )
+ 	{
+ 		exp_node* lft = new var_node("K");
+ 		exp_node* rgt = new var_node(name());
+ 		return (exp_node*)new app_node(lft,rgt,True);
+ 	}else{
+ 		return (exp_node*)new var_node(name());
+ 	}
+ }
+ 
+ 
+ //////////////////////////////////////////////////////////////////////
+ // lam_node
+ lam_node::
+ lam_node(arg_node* arg, exp_node* bdy, Boolean import)
+ {
+ 	arg_v = 0;
+ 	body_v = 0;
+ 	set_arg(arg,import);
+ 	set_body(bdy,import);
+ }
+ 
+ lam_node::
+ lam_node(const lam_node& from)
+ {
+ 	//*this = from;
+ 	if( from.arg_v )
+ 		arg_v = (arg_node*)from.arg_v->clone();
+ 	else arg_v = 0;
+ 	if( arg_v ) arg_v->set_parent(this);
+ 	if( from.body_v )
+ 		body_v = (exp_node*)from.body_v->clone();
+ 	else body_v = 0;
+ 	if( body_v ) body_v->set_parent(this);
+ 	parent_v = 0;//from.parent_v;
+ }
+ 
+ lam_node::
+ ~lam_node()
+ {
+ 	if( arg_v ) delete arg_v;
+ 	if( body_v ) delete body_v;
+ }
+ 
+ Boolean lam_node::
+ has_free(const arg_node* argr, const alst_node* env) const
+ {
+ 	stack_frame nenv(arg_v,env);
+ 	if( arg_v && arg_v->operator ==(*argr) ) return False;
+ 	if( body_v ) return body_v->has_free(argr, (alst_node*)&nenv);
+ 	return False;
+ }
+ 
+ void lam_node::
+ print(const alst_node*env, int inp) const
+ {
+ 	int printed = 0;
+ 	if( (inp&DO_PRINT_SYM) )
+ 	{
+ 		if( env )
+ 		{
+ 			const alst_node* alst = this->match(env);
+ 			if( alst ){
+ 				printf("%s", alst->arg()->name());
+ 				printed = 1;
+ 			}
+ 		}
+ 		if( !printed )
+ 		{
+ 			int value = 0;
+ 			if( LAM==body()->op()
+ 			&& arg()
+ 			&& arg()->name()
+ 			&& body()
+ 			&& body()->arg()
+ 			&& body()->arg()->name()
+ 			&& body()->body())
+ 			{
+ 				const char* name1 = arg()->name();
+ 				const char* name2 = body()->arg()->name();
+ 				for( exp_node* numbody = body()->body();
+ 					numbody; numbody = numbody->right() )
+ 				{
+ 					if( APP==numbody->op()
+ 					&& numbody->left()
+ 					&& VAR==numbody->left()->op()
+ 					&& numbody->left()->name()
+ 					&& 0==strcmp(name1,numbody->left()->name())
+ 					){
+ 						value += 1;
+ 					}else
+ 					if( VAR==numbody->op()
+ 					&&  numbody->name()
+ 					&&  0==strcmp(name2,numbody->name())
+ 					){
+ 						break;
+ 					}else{
+ 						value = -1;
+ 						break;
+ 					}
+ 				}
+ 				if( value >= 0 )
+ 				{
+ 					printf( "%d",value);
+ 					printed = 1;
+ 				}
+ 			}else
+ 			if( arg()
+ 			&& arg()->name()
+ 			&& body()
+ 			&& VAR==body()->op()
+ 			&& 0==strcmp(arg()->name(), body()->name()) )
+ 			{
+ 				printf( "I");
+ 				printed = 1;
+ 			}
+ 		}
+ 	}
+ 	if( !printed )
+ 	{
+ 		printf("^");
+ 		//if( arg() ) arg()->print(env,inp);
+ 		if( arg() && arg()->name() ) printf("%s",arg()->name());
+ 		else printf("(null-arg)");
+ 		if( arg() && arg()->value() ){
+ 			printf("[");
+ 			arg()->value()->print(env,inp);
+ 			printf("]");
+ 		}
+ 		printf(".");
+ 		if( body() ) body()->print(env,inp);
+ 		else printf("(null-body)");
+ 	}
+ }
+ 
+ lam_node& lam_node::
+ operator =(const lam_node& from)
+ {
+ 	if( this!=&from ){
+ 		this->~lam_node();
+ 		if( from.arg_v )
+ 			arg_v = (arg_node*)from.arg_v->clone();
+ 		else arg_v = 0;
+ 		if( arg_v ) arg_v->set_parent(this);
+ 		if( from.body_v )
+ 			body_v = (exp_node*)from.body_v->clone();
+ 		else body_v = 0;
+ 		if( body_v ) body_v->set_parent(this);
+ 		parent_v = 0;//from.parent_v;
+ 	}
+ 	return *this;
+ }
+ 
+ exp_node* lam_node::
+ reduce(const alst_node* env, int inp, int* outp)
+ {
+ 	exp_node* exp = this;
+ 	stack_frame nenv(this->arg_v, (arglst_node*)env );
+ 	if(inp&DO_TRACE){
+ 		for(int idx=0;idx<lambda_reduce_recurse_level;idx++)printf(".");
+ 		printf("L:  ");
+ 		symbolic_print(env, inp);
+ 		printf("\n");
+ 		exp_node* par;
+ 		for(par=this;par->parent();par=(exp_node*)par->parent() );
+ 		par->symbolic_print(env,inp);
+ 		printf("\n");
+ 	}
+ 	lambda_reduce_recurse_level++;
+ 	if( lambda_reduce_recurse_level > MAX_RECURSE ){
+ 		printf("\nlambda_reduce_recurse_level %d\n",
+ 			lambda_reduce_recurse_level);
+ 		lambda_reduce_recurse_level--;
+ 		if( outp ) *outp |= node::RECURSE_LVL;
+ 		return this;
+ 	}
+ 	body_v->set_parent(this);
+ 	if( arg_v && arg_v->name() && '&'==arg_v->name()[0] )
+ 	{
+ 		inp &= ~DO_STEP;
+ 		inp &= ~DO_REDUCE_BODY;
+ 	}
+ 	if( arg_v && arg_v->value() && body_v ){
+ 		body_v->resolve_name_clash(arg_v,&nenv);
+ 		//old delet -- body_v->bind(nenv);
+ 		//
+ 		if( arg_v->name() && '$'==arg_v->name()[0] )
+ 		{
+ 			inp &= ~DO_STEP;
+ 			inp |= DO_REDUCE_BODY;
+ 		}
+ 		if( !(inp&DO_STEP) ){
+ 			int toutp = outp ? *outp : 0;
+ 			exp = body_v;
+ 			exp = body_v->reduce_vars((alst_node*)&nenv,inp,outp);
+ 			if( exp!=body_v ) set_body(0,True);
+ 			arg_v->import_value((exp_node*)0);
+ int cnt = 0;
+ 			do {
+ 				exp_node* nexp = 0;
+ 				nexp = exp->reduce((alst_node*)&nenv,inp,&toutp);
+ 				if( nexp && exp != nexp ){
+ 					if( exp==body_v ) body_v = 0;
+ 					delete exp;
+ 					exp = nexp;
+ 				}
+ 				if( toutp && toutp&node::RECURSE_LVL ) break;
+ 				if( toutp & node::BETA_ETA_DONE){
+ 					toutp &= ~node::BETA_ETA_DONE;
+ 				}else break;
+ cnt++;
+ 			} while( exp );
+ 			if( outp ) *outp = toutp;
+ if( cnt > 1 )
+ {
+ printf("[%d.%d]",cnt,lambda_reduce_recurse_level);
+ }
+ 		}else{
+ 			exp = body_v->reduce_vars((alst_node*)&nenv,inp,outp);
+ 		}
+ 		if( body_v && body_v!=exp ) delete body_v;
+ 		this->body_v = 0;
+ 		if( exp ) exp->set_parent(parent_v);
+ 		//if( parent() ) delete this;
+ 	}else if( body_v ){
+ 		exp_node* nexp = eta_reduce( &nenv,inp,outp);
+ 		if( exp!=nexp ){
+ 			if( exp != this ) delete exp;
+ 			exp = nexp;
+ 		}else{
+ 			int toutp = outp ? *outp : 0;
+ 			if( inp&DO_REDUCE_BODY ){
+ 				exp_node* nd =
+ 					body_v->reduce((alst_node*)&nenv,inp,&toutp);
+ 				if( nd ) set_body(nd,True);
+ 			}else{
+ 				exp_node* nd =
+ 					body_v->reduce_vars((alst_node*)&nenv,inp,outp);
+ 				if( nd ) set_body(nd,True);
+ 			}
+ 			if( !(inp&DO_STEP) || !(toutp&node::BETA_ETA_DONE) ){
+ 				nexp = eta_reduce( &nenv,inp, &toutp);
+ 				if( exp!=nexp ){
+ 					if( exp != this ) delete exp;
+ 					exp = nexp;
+ 				}
+ 			}
+ 			if( outp ) *outp = toutp;
+ 		}
+ 	}
+ 	lambda_reduce_recurse_level--;
+ 	if(0 && inp&DO_TRACE ){
+ 		for(int idx=0;idx<lambda_reduce_recurse_level;idx++)printf(".");
+ 		printf("L> ");
+ 		//exp->print(env, inp);
+ 		exp->set_parent(this->parent());
+ 		exp_node* par;
+ 		for(par=exp;par->parent();par=(exp_node*)par->parent() );
+ 		par->symbolic_print(env,inp);
+ 		printf("\n");
+ 	}
+ 	return exp;
+ }
+ 
+ exp_node* lam_node::
+ eta_reduce(const alst_node* env,int inp,int* outp)
+ {
+ 	// assume stack frame already set>
+ 	exp_node* exp = this;
+ 	if( !body_v ) return exp;
+ 	if( !(inp&DO_STEP) || !outp || !(*outp&node::BETA_ETA_DONE))
+ 	{
+ 		if(APP==body_v->op() && !(inp&DO_APP_ORDER) ){
+ 			// check for  eta reduction
+ 			if( body()->left() )
+ 			{
+ #ifdef REDUCE_VARS
+ 				exp_node* nd = body_v->left()->reduce_vars(env,inp,outp);
+ 				if( nd ) ((app_node*)body())->set_left(nd,True);
+ #endif
+ 				if( body_v->right() && arg_v
+ 					&& *arg_v == body_v->right()->name()
+ 					&& !body_v->left()->has_free(arg_v, env) )
+ 				{
+ 					// do eta reduction
+ 					exp = this->body_v->export_left();
+ 					//this->body_v = 0; // right_v memory leak?
+ 					set_body(0,true);
+ 					if( outp ) *outp |=
+ 						(node::BETA_ETA_DONE | node::ETA_DONE);
+ 					if( !(inp&DO_STEP ) ){
+ 						exp_node* nexp = exp->reduce(env,inp,outp);
+ 						if( nexp && exp != nexp ){
+ 							if( exp ) delete exp;
+ 							exp = nexp;
+ 						}
+ 					}
+ 				}
+ 			}
+ 		}
+ 	}
+ 	return exp;
+ }
+ 
+ exp_node* lam_node::
+ reduce_vars(const alst_node* env,int inp,int* outp)
+ {
+ 	stack_frame nenv(this->arg_v, (arglst_node*)env );
+ 
+ 	exp_node* nd = body_v->reduce_vars((alst_node*)&nenv,inp,outp);
+ 	if( nd ) set_body(nd,True);
+ 
+ 	return this;
+ }
+ 
+ void lam_node::
+ rename(arg_node* arg, const char* newname, alst_node* env)
+ {
+ 	stack_frame nenv(this->arg_v, (arglst_node*)env );
+ 	if( body_v ) body_v->rename(arg,newname,&nenv);
+ }
+ 
+ void lam_node::
+ resolve_name_clash( arg_node* outer_arg,alst_node* env)
+ {
+ 	stack_frame nenv(this->arg_v, (arglst_node*)env );
+ 	if( outer_arg->value() ){
+ 		arg_node* inner_arg = this->arg();
+ 		exp_node* inner_body = this->body();
+ 		if( inner_arg && inner_body
+ 			&& !(inner_arg==outer_arg))
+ 		{
+ 			Boolean b1 = outer_arg->value()
+ 				->has_free(inner_arg, (alst_node*)&nenv);
+ 			Boolean b2 =
+ 				inner_body->has_free(outer_arg, (alst_node*)&nenv);
+ 			if( b1 && b2 )
+ 			{
+ 				char* nm = newname(inner_arg->name());
+ 				body_v->rename(inner_arg,nm,(alst_node*)&nenv);
+ 				inner_arg->set_name(nm);
+ 				delete [] nm;
+ 			}
+ 		}
+ 		if( body_v && body_v->has_free(outer_arg, &nenv) )
+ 			body_v->resolve_name_clash(outer_arg, &nenv);
+ 	}
+ }
+ 
+ void lam_node::
+ set_arg(arg_node* nd, Boolean import)
+ {
+ 	if( arg_v == nd ) return;
+ 	if( arg_v ) delete arg_v;
+ 	if( import ) arg_v = nd;
+ 	else if( nd ) arg_v = (arg_node*)nd->clone();
+ 	else arg_v = 0;
+ 	if( arg_v ) arg_v->set_parent(this);
+ }
+ 
+ void lam_node::
+ set_body(exp_node* nd, Boolean import)
+ {
+ 	if( body_v == nd ) return;
+ 	if( body_v ) delete body_v;
+ 	if( import ) body_v = nd;
+ 	else if( nd ) body_v = (exp_node*)nd->clone();
+ 	else body_v = 0;
+ 	if( body_v ) body_v->set_parent(this);
+ }
+ 
+ int lam_node::
+ operator == (const exp_node& cmp) const
+ {
+ 	Boolean b1 = False;
+ 	if( LAM!=cmp.op() ) return b1;
+ 	if( !arg() || !cmp.arg() ) return b1;
+ 	if( !body() || !cmp.body() ) return b1;
+ 	b1 = *arg() == *(cmp.arg()) 
+ 		&& *body() == *(cmp.body());
+ 	return b1;
+ }
+ 
+ exp_node* lam_node::
+ extract_defs(const alst_node* env)
+ {
+ 	exp_node* exp = this;
+ 	const alst_node* alst = this->match(env);
+ 	if( !alst ){
+ 		if( body() ) {
+ 			exp_node* nb = body()->extract_defs(env);
+ 			if( nb )
+ 				set_body(nb,True);
+ 			alst = this->match(env);
+ 			if( alst )
+ 				 exp = new var_node(alst->arg()->name());
+ 		}
+ 	}else{
+ 		exp = new var_node(alst->arg()->name());
+ 	}
+ 	return exp;
+ }
+ 
+ exp_node* lam_node::
+ extract(const char* nm, int inp) const
+ {
+ 	exp_node* exp = 0;
+ 	if( body() && arg() )
+ 	{
+ 		exp_node* bdy = body()->extract(arg()->name(),inp);
+ 		if( bdy && nm )
+ 		{
+ 			exp = bdy->extract(nm,inp);
+ 			delete bdy;
+ 		} else {
+ 			exp = bdy;
+ 		}
+ 	}
+ 	return exp;
+ }
+ 
+ //////////////////////////////////////////////////////////////////////
+ // app_node
+ app_node::
+ app_node(exp_node* lft,
+ 				   exp_node* rgt,
+ 				   Boolean import)
+ {
+ 	left_v = 0;
+ 	right_v = 0;
+ 	set_left(lft,import);
+ 	set_right(rgt,import);
+ }
+ 
+ app_node::
+ app_node(const app_node& from)
+ {
+ 	//*this = from;
+ 	if( from.left_v )
+ 		left_v = (exp_node*)from.left_v->clone();
+ 	else left_v = 0;
+ 	if( left_v ) left_v->set_parent(this);
+ 	if( from.right_v )
+ 		right_v =
+ 			(exp_node*)from.right_v->clone();
+ 	else right_v = 0;
+ 	if( right_v) set_parent(this);
+ 	parent_v = from.parent_v;
+ }
+ 	
+ app_node::
+ ~app_node()
+ {
+ 	if( left_v ) delete left_v;
+ 	if( right_v ) delete right_v;
+ }
+ 
+ Boolean app_node::
+ has_free(const arg_node* argr, const alst_node* env) const
+ {
+ 	Boolean has = False;
+ 	if( left_v ) has =  has || left_v->has_free(argr,env);
+ 	if( right_v ) has = has || right_v->has_free(argr,env);
+ 	return has;
+ }
+ 
+ void app_node::
+ print(const alst_node*env,int inp) const
+ {
+ 	if( inp&DO_PRINT_BRIEF ){
+ 		int left_paren = 1;
+ 		int right_paren = 1;
+ 		int left_right_paren = 0;
+ 		int left_match = 0;
+ 		int right_match = 0;
+ 		int left_right_match = 0;
+ 		if( left() ){
+ 			if( inp&DO_PRINT_SYM )
+ 				left_match = left()->match(env) ? 1 : 0;
+ 			if( VAR==left()->op() || APP==left()->op() || left_match )
+ 			{
+ 				left_paren = 0;
+ 			}
+ 			if( APP==left()->op() && left()->right() )
+ 			{
+ 				if( inp&DO_PRINT_SYM )
+ 					left_right_match =
+ 						left()->right()->match(env) ? 1 : 0;
+ 				if( VAR!=left()->right()->op() && !left_right_match )
+ 					left_right_paren = 1;
+ 			}
+ 			if( left_paren ) printf("(");
+ 			if( left() ) left()->print(env,inp);
+ 			else printf("(null-right)");
+ 			if( left_paren ) printf(")");
+ 		}else printf("()");
+ 		if( right() ){
+ 			if( inp&DO_PRINT_SYM )
+ 				right_match = right()->match(env) ? 1 : 0;
+ 			if( VAR==right()->op() || right_match ) right_paren = 0;
+ 			if( right_paren ) printf("(");
+ 			else if( !left_paren && !left_right_paren )
+ 				printf(" ");
+ 			if( right() ) right()->print(env,inp);
+ 			else printf("(null-right)");
+ 			if( right_paren ) printf(")");
+ 		}else printf("()");
+ 	}else{
+ 		if( left() ){
+ 			if( VAR!=left()->op()||left()->value() ) printf("(");
+ 			if( left() ) left()->print(env,inp);
+ 			else printf("(null-right)");
+ 			if( VAR!=left()->op()||left()->value() ) printf(")");
+ 		}else printf("()");
+ 		if( right() ){
+ 			if( VAR!=right()->op()||right()->value() ) printf("(");
+ 			else printf(" ");
+ 			if( right() ) right()->print(env,inp);
+ 			else printf("(null-right)");
+ 			if( VAR!=right()->op()||right()->value() ) printf(")");
+ 		}else printf("()");
+ 	}
+ }
+ 
+ app_node& app_node::
+ operator =(const app_node& from)
+ {
+ 	if( this!=&from ){
+ 		this->~app_node();
+ 		if( from.left_v )
+ 			left_v = (exp_node*)from.left_v->clone();
+ 		else left_v = 0;
+ 		if( left_v ) left_v->set_parent(this);
+ 		if( from.right_v )
+ 			right_v = (exp_node*)from.right_v->clone();
+ 		else right_v = 0;
+ 		if( right_v ) right_v->set_parent(this);
+ 		parent_v = from.parent_v;
+ 	}
+ 	return *this;
+ }
+ 
+ void app_node::
+ rename(arg_node* arg, const char* newname, alst_node* env)
+ {
+ 	if( left_v ) left_v->rename(arg,newname,env);
+ 	if( right_v ) right_v->rename(arg,newname,env);
+ }
+ 
+ void app_node::
+ resolve_name_clash( arg_node* outer_arg,alst_node* env)
+ {
+ 	if( left_v ) left_v->resolve_name_clash(outer_arg,env);
+ 	if( right_v ) right_v->resolve_name_clash(outer_arg,env);
+ }
+ 
+ exp_node* app_node::
+ reduce(const alst_node* env, int inp,int* outp)
+ {
+ 	exp_node* exp = this;
+ 	app_reduce_recurse_level += 1;
+ 	if( app_reduce_recurse_level > MAX_RECURSE ){
+ 		printf("\napp_reduce_recurse_level %d\n",
+ 			app_reduce_recurse_level);
+ 		app_reduce_recurse_level--;
+ 		if( outp ) *outp |= node::RECURSE_LVL;
+ 		return this;
+ 	}
+ 	
+ 	if( left_v ){
+ 		int ninp = inp & ~DO_REDUCE_BODY;
+ 		left_v->set_parent(this);
+ 		exp_node* nd = left_v->reduce(env,ninp,outp);
+ 		set_left(nd,True);
+ 		if( outp && *outp&node::RECURSE_LVL ){
+ 			app_reduce_recurse_level--;
+ 			return exp;
+ 		}
+ 		if( inp&node::DO_STEP && outp && (*outp&node::BETA_ETA_DONE) )
+ 		{
+ 			app_reduce_recurse_level--;
+ 			return exp;
+ 		}
+ 	}
+ 	if( left_v && APP==left_v->op() ){
+ 		exp_node* nd = 0;
+ 		int ninp = inp & ~DO_REDUCE_BODY;
+ 		left_v->set_parent(this);
+ 		if( left_v ) nd = left_v->reduce(env,ninp,outp);
+ 		set_left(nd, True);
+ 		if( outp && *outp&node::RECURSE_LVL )
+ 		{
+ 			app_reduce_recurse_level--;
+ 			return exp;
+ 		}
+ 		if( inp&node::DO_STEP && outp && (*outp&node::BETA_ETA_DONE) )
+ 		{
+ 			app_reduce_recurse_level--;
+ 			return exp;
+ 		}
+ 		if( right_v ){
+ 			nd = 0;
+ 			right_v->set_parent(this);
+ #ifdef REDUCE_VARS
+ 			nd = right_v->reduce_vars(env,inp,outp);
+ 			set_right(nd,True);
+ #endif
+ 		}
+ 	}
+ 	if( left_v && LAM==left_v->op() )
+ 	{
+ 		int app_inp = inp;
+ 		if( left_v->arg()
+ 		&&  left_v->arg()
+ 		&&  left_v->arg()->name() )
+ 		{
+ 			if('@'==left_v->arg()->name()[0] )
+ 			{
+ 				app_inp |= DO_APP_ORDER;
+ 			}else
+ 			if( '#'==left_v->arg()->name()[0] )
+ 			{
+ 				app_inp &= ~DO_APP_ORDER;
+ 			}
+ 		}
+ 		if( right_v )
+ 		{
+ 			Boolean has = False;
+ 			right_v->set_parent(this);
+ 			if( app_inp&DO_APP_ORDER ){
+ 				arg_node* an = left_v->arg();
+ 				exp_node* bd = left_v->body();
+ 				stack_frame nenv(an, (arglst_node*)env );
+ 				has = bd && an && bd->has_free(an, &nenv);
+ 			}
+ 			if( (app_inp&DO_APP_ORDER) && has ){
+ 				int ninp = inp & ~DO_REDUCE_BODY;
+ 				set_right(right_v->reduce(env, ninp, outp),True);
+ 				if( outp && (*outp&node::RECURSE_LVL) )
+ 				{
+ 					app_reduce_recurse_level--;
+ 					return exp;
+ 				}
+ 				if( (inp&node::DO_STEP)
+ 					&& outp && (*outp&node::BETA_ETA_DONE) )
+ 				{
+ 					app_reduce_recurse_level--;
+ 					return exp;
+ 				}
+ 			}else{
+ #ifdef REDUCE_VARS
+ 				set_right(right_v->reduce_vars(env,inp,outp),True);
+ 				if( outp && (*outp&node::RECURSE_LVL) )
+ 				{
+ 					app_reduce_recurse_level--;
+ 					return exp;
+ 				}
+ #endif
+ 			}
+ 		}
+ 		left_v->arg()->import_value(&right_v);
+ 		right_v = 0;
+ 		left_v->set_parent(this);
+ 		exp = left_v->reduce(env,inp,outp);
+ 		if( left_v && left_v!=exp ) delete left_v;
+ 		left_v = 0;
+ 		if( exp ) exp->set_parent(this);
+ 		if( outp ) *outp |= node::BETA_ETA_DONE;
+ 	}else{
+ 		if( right_v ){
+ 			right_v->set_parent(this);
+ #ifdef REDUCE_VARS
+ 			set_right(right_v->reduce_vars(env,inp,outp),True);
+ #endif
+ 			set_right(right_v->reduce(env,inp,outp),True);
+ 
+ 			#if 0
+ 				if( right_v && APP==right_v->op()
+ 					&& right_v->left()
+ 					&& LAM==right_v->left()->op()
+ 				){
+ 					set_right(right_v->reduce(env,inp,outp),True);//OLD
+ 				}
+ 			#endif
+ 		}
+ 	}
+ 	app_reduce_recurse_level -= 1;
+ 	return exp;
+ }
+ 
+ exp_node* app_node::
+ reduce_vars(const alst_node* env,int inp,int* outp)
+ {
+ 	if( left_v ){
+ 		left_v->set_parent(this);
+ 		exp_node* exp = left_v->reduce_vars(env,inp,outp);
+ 		set_left(exp,True);
+   		if( outp && (*outp&node::RECURSE_LVL) )
+   		{
+ 			if( right_v ) right_v->set_parent(this);
+   			return this;
+   		}
+ 	}
+ 	if( right_v ){
+ 		right_v->set_parent(this);
+ 		exp_node* exp = right_v->reduce_vars(env,inp,outp);
+ 		set_right(exp,True);
+ 	}
+ 	return this;
+ }
+ 
+ void app_node::
+ set_left(exp_node* nd, Boolean import)
+ {
+ 	if( left_v == nd ) return;
+ 	if( left_v ) delete left_v;
+ 	if( import ) left_v = nd;
+ 	else if( nd ) left_v = (exp_node*)nd->clone();
+ 	else left_v = 0;
+ 	if( left_v ) left_v->set_parent(this);
+ }
+ 
+ void app_node::
+ set_right(exp_node* nd, Boolean import)
+ {
+ 	if( right_v==nd ) return;
+ 	if( right_v ) delete right_v;
+ 	if( import ) right_v = nd;
+ 	else if( nd ) right_v = (exp_node*)nd->clone();
+ 	else right_v = 0;
+ 	if( right_v ) right_v->set_parent(this);
+ }
+ 
+ int app_node::
+ operator == (const exp_node& cmp) const
+ {
+ 	Boolean b1 = False;
+ 	if( APP!=cmp.op() ) return b1;
+ 	if( !left() || !cmp.left() ) return b1;
+ 	if( !right() || !cmp.right() ) return b1;
+ 	b1 = *left() == *(cmp.left()) 
+ 		&& *right() == *(cmp.right());
+ 	return b1;
+ }
+ 
+ exp_node* app_node::
+ extract_defs(const alst_node* env)
+ {
+ 	exp_node* exp = this;
+ 	const alst_node* alst = match(env);
+ 	if( !alst ){
+ 		if( left() ){
+ 			exp_node* nl = left()->extract_defs(env);
+ 			if( nl )
+ 				set_left( nl, True);
+ 		}
+ 		if( right() ){
+ 			exp_node* nr = right()->extract_defs(env);
+ 			if( nr )
+ 				set_right( nr, True);
+ 		}
+ 		alst = match(env);
+ 		if( alst )
+ 			exp = new var_node(alst->arg()->name());
+ 	}else{
+ 		exp = new var_node(alst->arg()->name());
+ 	}
+ 	return exp;
+ }
+ 
+ exp_node* app_node::
+ extract(const char* nm,int inp) const
+ {
+ 	exp_node* exp = 0;
+ 	exp_node* lft = 0;
+ 	exp_node* rgt = 0;
+ 	exp_node* exp1 = 0;
+ 	//if( left() && right() && nm && (inp&DO_EXTRACT_ETA) )
+ 	if( left() && right() && nm )
+ 	{
+ 		arg_node* argr = new arg_node(nm,0);
+ 		arglst_node env(argr,0, True);
+ 		if( !this->has_free(argr, &env) )
+ 		{
+ 			if( inp&DO_EXTRACT_APP )
+ 			{
+ 				if( left() ) lft = left()->extract(nm,inp);
+ 				if( right() ) rgt = right()->extract(nm,inp);
+ 				exp1 = (exp_node*)new app_node(
+ 					new var_node("S"),lft,True);
+ 				exp = (exp_node*)new app_node(exp1,rgt,True);
+ 			}else{
+ 				//exp = (exp_node*)new app_node(new var_node("K"),
+ 				//	(exp_node*)this->clone(),True);
+ 				exp1 = this->extract(0,inp);
+ 				exp = (exp_node*)new app_node(
+ 					new var_node("K"), exp1, True);
+ 			}
+ 		}else
+ 		if( !left()->has_free(argr, &env)
+ 			&& VAR==right()->op()
+ 			&& right()->name()
+ 			&& (inp&DO_EXTRACT_ETA)
+ 			&& 0==strcmp( nm, right()->name()) )
+ 		{
+ 			exp = (exp_node*)left()->clone();
+ 		}
+ 	}
+ 	if( !exp )
+ 	{
+ 		if( left() ) lft = left()->extract(nm,inp);
+ 		if( right() ) rgt = right()->extract(nm,inp);
+ 		if( nm )
+ 		{
+ 			exp1 = (exp_node*)new app_node(
+ 				new var_node("S"),lft,True);
+ 			exp = (exp_node*)new app_node(exp1,rgt,True);
+ 		}else{
+ 			exp = (exp_node*)new app_node(lft,rgt,True);
+ 		}
+ 	}
+ 	return exp;
+ }
+ 
+ //////////////////////////////////////////////////////////////////////
+ // alst_node's
+ arglst_node::
+ arglst_node( arg_node* arg,arglst_node* next, Boolean import)
+ {
+ 	if( import) arg_v=arg;
+ 	else if( arg ) arg_v = (arg_node*)arg->clone();
+ 	else arg_v = 0;
+ 	if( import ) next_v=next;
+ 	else if( next ) next_v = (arglst_node*)next->clone();
+ 	else next_v = 0;
+ }
+ 
+ arglst_node::
+ arglst_node(const arglst_node& from) {
+ 	if( from.arg_v )
+ 		arg_v = (arg_node*)from.arg_v->clone();
+ 	else arg_v = 0;
+ 	if( from.next_v )
+ 		next_v = (arglst_node*)from.next_v->clone();
+ 	else arg_v = 0;
+ }
+ 
+ 
+ arglst_node::
+ ~arglst_node()
+ {
+ 	if( arg_v ) delete arg_v;
+ 	if( next_v ) delete next_v;
+ }
+ alst_node* arglst_node::
+ add(arg_node* anode,Boolean import)
+ {
+ 	arglst_node* retval = this;
+ 	arglst_node* where = 0;
+ 	if( !anode ) return where;
+ 
+ 	for( arglst_node* lst=this;
+ 		lst; lst=(arglst_node*)lst->next() )
+ 	{
+ 		if( lst->arg() && lst->arg()->name() ){
+ 			if( 0==strcmp(anode->name(),
+ 					      lst->arg_v->name()))
+ 			{
+ 				where = lst;
+ 				where->set_arg(anode, import);
+ 				break;
+ 			}
+ 		}
+ 	}
+ 
+ 	if( !where){
+ 		where = new arglst_node(anode,0,import);
+ 		where->next_v = this;
+ 		retval = where;
+ 	}
+ 
+ 	return (alst_node*)retval;
+ }
+ 
+ arg_node* arglst_node::
+ find(arg_node* anode)
+ {
+ 	arglst_node* where = 0;
+ 	if( !anode ) return 0;
+ 	arglst_node* last = 0;
+ 	arg_node* arg = 0;
+ 
+ 	for( arglst_node* lst=this;
+ 		lst; last = lst, lst=(arglst_node*)lst->next() )
+ 	{
+ 		if( lst->arg() && lst->arg()->name() ){
+ 			if( 0==strcmp(anode->name(),
+ 					      lst->arg_v->name()))
+ 			{
+ 				where = lst;
+ 				break;
+ 			}
+ 		}
+ 	}
+ 	if( where ) arg = where->arg_v;
+ 	return arg;
+ }
+ 
+ void arglst_node::
+ set_arg(arg_node* nd, Boolean import)
+ {
+ 	if( arg_v == nd ) return;
+ 	if( arg_v ) delete arg_v;
+ 	if( import ) arg_v = nd;
+ 	else if( nd ) arg_v = (arg_node*)nd->clone();
+ 	else arg_v = 0;
+ 	if( arg_v ) arg_v->set_parent(this);
+ }
+ 
+ void arglst_node::
+ list()
+ {
+ 	for(alst_node* pnode=(alst_node*)this;pnode; pnode=pnode->next() )
+ 	{
+ 		if( pnode->arg() ) pnode->arg()->print();
+ 		printf("\n");
+ 	}
+ }


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/node.h
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/node.h:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/node.h	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,383 ----
+ /* node.h */
+ /*
+ Copyright (C) 2003 Unique Software Designs
+ 
+ This file is part of the program "lambda".
+ 
+ The program "lambda" 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.
+ 
+ The program "lambda" 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 "lambda"; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 
+ A copy of the GNU General Public License may also be found at:
+ http://www.gnu.org/copyleft/gpl.html
+ */
+ class arg_node;
+ class exp_node;
+ class var_node;
+ class lam_node;
+ class app_node;
+ 
+ class alst_node;
+ class arglst_node;
+ class argrefs_node;
+ 
+ #ifndef Boolean 
+ #define Boolean short
+ #define False 0
+ #define True 1
+ #endif
+ 
+ /////////////////////////////////////////////////////////////////////
+ class node {
+ public:
+ 	enum type { NTYPE, NODE, ARG, VAR, LAM, APP, ARGLST, STACKFRAME, ARGREFS };
+ 	enum { RECURSE_LVL=1, BETA_ETA_DONE=2, ETA_DONE=4 };
+ 	enum { DO_STEP=1, DO_APP_ORDER=2, DO_REDUCE_BODY=4,
+ 		DO_PRINT_SYM=8,DO_PRINT_BRIEF=16,
+ 		DO_TRACE=32, DO_EXTRACT_ETA=64,
+ 		DO_EXTRACT_APP=128,
+ 		DO_REDUCE_FULLY=256};
+ public:
+ 	node() { parent_v = 0;};
+ 	node(const node& from) { parent_v=from.parent_v; };
+ 	virtual node* clone() const= 0;
+ 	virtual ~node() {};
+ public:
+ 	virtual type op() const{ return NODE;};
+ 	virtual const char* name() const{ return 0;};
+ 	virtual exp_node* value() const{ return 0;};
+ 	virtual arg_node* arg() const{ return 0;};
+ 	virtual exp_node* body() const{ return 0;};
+ 	virtual exp_node* left() const{ return 0;};
+ 	virtual exp_node* right() const{ return 0;};
+ 	virtual alst_node* next() const{ return 0;};
+ 	virtual node* parent() const{ return parent_v; };
+ public:
+ 	virtual void set_parent(node* par){ parent_v = par;};
+ public:
+ 	static void reset();
+ public:
+ 	//virtual void rename() {};
+ 	virtual exp_node* reduce(
+ 		const alst_node* env,int inp,int* outp){
+ 		return 0;};
+ public:
+ 	virtual void print(const alst_node*env=0,int inp=0) const;
+ protected:
+ 	node* parent_v;
+ };
+ 
+ /////////////////////////////////////////////////////////////////////
+ class exp_node: public node
+ {
+ public:
+ 	virtual Boolean has_free(const arg_node*, const alst_node* env)const{ return False; };
+ 	virtual arglst_node* bind(const alst_node* env=0)const{return 0;};
+ 	virtual exp_node* reduce_vars(const alst_node* env,int inp,int* outp){
+ 		return this; };
+ 	virtual void rename(
+ 		arg_node* arg,const char* newname,alst_node* env=0){};
+ 	virtual void resolve_name_clash(
+ 		arg_node* outer_arg,alst_node* env=0){};
+ public:
+ 	virtual int operator == (const exp_node& cmp) const {return False;};
+ public:
+ 	virtual exp_node* export_body(){return 0;};
+ 	virtual exp_node* export_left(){return 0;};
+ 	virtual exp_node* export_right(){return 0;};
+ public:
+ 	virtual const alst_node* match(const alst_node* env=0) const;
+ 	virtual exp_node* extract_defs(const alst_node* env=0){return 0; };
+ 	void symbolic_print(const alst_node* env,int inp = 0) const;
+ public:
+ 	virtual exp_node* extract(const char* nm,int inp=0) const {return 0; };
+ };
+ 
+ /////////////////////////////////////////////////////////////////////
+ class alst_node: public node
+ {
+ public:
+ 	virtual ~alst_node(){};
+ 	virtual alst_node* add(
+ 		arg_node* anode,Boolean import=False){
+ 		return 0; };
+ 	virtual arg_node* find(arg_node* anode) {
+ 		return 0;};
+ 	virtual void list(){};
+ };
+ 
+ /////////////////////////////////////////////////////////////////////
+ class arg_node: public node
+ {
+ public:
+ 	arg_node(){ name_v = 0; value_v=0;};
+ 	arg_node(const char*nm,const exp_node* ex,
+ 		Boolean import=False);
+ 
+ 	arg_node(const arg_node& from);
+ 	virtual node* clone() const;
+ 	virtual ~arg_node();
+ public:
+ 	virtual arg_node& operator =(const arg_node& from);
+ public:
+ 	//Boolean free_in(exp_node* exp);
+ 	virtual void print(const alst_node*env=0, int inp=0) const;
+ public:
+ 	virtual type op() const{ return ARG;};
+ 	virtual const char* name() const{ return name_v;};
+ 	virtual exp_node* value() const{ return value_v;}; // VAR, LAM, or APP
+ 	//virtual arg_node* arg() const{ return 0;};
+ 	//virtual exp_node* body() const{ return 0;};
+ 	//virtual exp_node* left() const{ return 0;};
+ 	//virtual exp_node* right() const{ return 0;};
+ 	//virtual alst_node* next() const{ return 0;};
+ public:
+ 	//virtual exp_node* reduce(const alst_node* env,int inp,int* outp) { return 0;};
+ 	void import_value(exp_node** val);
+ 	int operator == (const arg_node& cmp) const;
+ 	int operator == (const char* cmp) const;
+ public:
+ 	void set_name(const char* nm)
+ 	{
+ 		if( name_v == nm ) return;
+ 		if( name_v ) delete [] name_v;
+ 		name_v = nm?new char[strlen(nm)+1]:0;
+ 		if( name_v && nm ) strcpy(name_v,nm);
+ 	};
+ 	void import_value(exp_node* nd)
+ 	{
+ 		if( value_v == nd ) return;
+ 		if( value_v ) delete value_v;
+ 		value_v = nd;
+ 		if( value_v ) value_v->set_parent(this);
+ 	};
+ private:
+ 	char* name_v;
+ 	exp_node* value_v;
+ };
+ 
+ /////////////////////////////////////////////////////////////////////
+ class var_node: public exp_node
+ {
+ public:
+ 	var_node(const char* nm=0);
+ 	var_node(const var_node& from);
+ 	virtual node* clone() const { return (node*)new var_node(*this); };
+ 	virtual ~var_node(){ if( name_v ) delete [] name_v;};
+ public:
+ 	virtual Boolean has_free(const arg_node* argr, const alst_node* env) const;
+ 	arglst_node* bind(const alst_node* env=0)const;
+ 	virtual void print(const alst_node*env=0,int inp=0) const;
+ public:
+ 	var_node& operator =(const var_node& from);
+ public:
+ 	virtual type op() const { return VAR;};
+ 	virtual const char* name() const{ 
+ 		return name_v;};
+ 	//virtual exp_node* value() const{return arg() ? arg()->value() : 0; }; // VAR, LAM, or APP
+ 	//virtual exp_node* value() const;
+ 	////virtual arg_node* arg() const{return ref_arg_v ? ref_arg_v : def_arg_v;};
+ 	//virtual exp_node* body() const{ return 0;};
+ 	//virtual exp_node* left() const{ return 0;};
+ 	//virtual exp_node* right() const{ return 0;};
+ 	//virtual alst_node* next() const{ return 0;};
+ public:
+ 	void set_name(const char* nm);
+ public:
+ 	virtual void rename(
+ 		arg_node* arg,const char* newname,alst_node*env=0);
+ 	virtual void resolve_name_clash(
+ 		arg_node* outer_arg,alst_node* env=0){};
+ 	virtual exp_node* reduce_value(
+ 		const alst_node* env, int inp, int* outp,
+ 			const alst_node** pnenv);
+ 	exp_node* reduce_number();
+ 	virtual exp_node* reduce(
+ 		const alst_node* env,int inp,int* outp);
+ 	virtual exp_node* reduce_vars(const alst_node* env,int inp,int* outp)
+ 	{
+ 		return reduce(env,inp,outp);
+ 	};
+ public:
+ 	////void reduce_arg();
+ 	////arg_node* ref_arg() { return ref_arg_v;};
+ public:
+ 	virtual int operator == (const exp_node& cmp) const;
+ public:
+ 	virtual exp_node* extract(const char* nm,int inp=0) const;
+ private:
+ 	////arg_node* def_arg_v;
+ 	////arg_node* ref_arg_v;
+ 	char* name_v;
+ };
+ 
+ /////////////////////////////////////////////////////////////////////
+ class lam_node: public exp_node
+ {
+ public:
+ 	lam_node(){ arg_v=0; body_v=0;};
+ 	lam_node(arg_node* arg, exp_node* bdy,
+ 		Boolean import=False);
+ 	lam_node(const lam_node& from);
+ 	virtual node* clone() const { return (node*)new lam_node(*this); };
+ 	virtual ~lam_node();
+ public:
+ 	virtual Boolean has_free(const arg_node* argr, const alst_node* env) const;
+ 	virtual arglst_node* bind(const alst_node* env=0)const{
+ 		//if( body_v ){body_v->set_parent(this);body_v->bind(env); };
+ 		return 0;
+ 	};
+ 	virtual void print(const alst_node*env=0,int inp=0) const;
+ public:
+ 	lam_node& operator =(const lam_node& from);
+ public:
+ 	virtual type op() const { return LAM;};
+ 	//virtual const char* name() const{ return 0;};
+ 	//virtual exp_node* value() const{ return value;}; // VAR, LAM, or APP
+ 	virtual arg_node* arg() const{ return arg_v;};
+ 	virtual exp_node* body() const{ return body_v;};
+ 	//virtual exp_node* left() const{ return 0;};
+ 	//virtual exp_node* right() const{ return 0;};
+ 	//virtual alst_node* next() const{ return 0;};
+ public:
+ 	virtual void rename(
+ 		arg_node* arg,const char* newname,alst_node* env=0);
+ 	virtual void resolve_name_clash(
+ 		arg_node* outer_arg,alst_node* env=0);
+ 	virtual exp_node* reduce(
+ 		const alst_node* env,int inp,int* outp);
+ 	virtual exp_node* eta_reduce(
+ 		const alst_node* env,int inp,int* outp);
+ 	virtual exp_node* reduce_vars(const alst_node* env,int inp,int* outp);
+ public:
+ 	void set_arg(arg_node* nd, Boolean import);
+ 	void set_body(exp_node* nd, Boolean import);
+ public:
+ 	virtual int operator == (const exp_node& cmp) const;
+ public:
+ 	virtual exp_node* export_body(){
+ 		exp_node* exp = body_v;
+ 		body_v = 0;
+ 		return exp;};
+ public:
+ 	virtual exp_node* extract_defs(const alst_node* env=0);
+ public:
+ 	virtual exp_node* extract(const char* nm,int inp=0) const;
+ private:
+ 	arg_node* arg_v;
+ 	exp_node* body_v;
+ };
+ 
+ /////////////////////////////////////////////////////////////////////
+ class app_node: public exp_node
+ {
+ public:
+ 	app_node(){ left_v=0; right_v=0;};
+ 	app_node( exp_node* lft, exp_node* rgt,
+ 		Boolean import = False);
+ 	app_node(const app_node& from);
+ 	virtual node* clone() const { return (node*)new app_node(*this); };
+ 	virtual ~app_node();
+ public:
+ 	virtual Boolean has_free(const arg_node* argr, const alst_node* env) const;
+ 	virtual arglst_node* bind(const alst_node* env=0)const{
+ 		////if( left_v ){left_v->set_parent(this);left_v->bind(env); }
+ 		////if( right_v ){right_v->set_parent(this);right_v->bind(env); };
+ 		return 0;
+ 	};
+ 	virtual void print(const alst_node*env=0,int inp=0) const;
+ public:
+ 	app_node& operator =(const app_node& from);
+ public:
+ 	virtual type op() const{ return APP;};
+ 	//virtual const char* name() const{ return 0;};
+ 	//virtual exp_node* value() const{ return value;}; // VAR, LAM, or APP
+ 	//virtual arg_node* arg() const{ return 0;};
+ 	//virtual exp_node* body() const{ return 0;};
+ 	virtual exp_node* left() const{ return left_v;};
+ 	virtual exp_node* right() const{ return right_v;};
+ 	//virtual alst_node* next() const{ return 0;};
+ public:
+ 	virtual void rename(
+ 		arg_node* arg,const char* newname,alst_node* env=0);
+ 	virtual void resolve_name_clash(
+ 		arg_node* outer_arg,alst_node* env=0);
+ 	virtual exp_node* reduce(
+ 		const alst_node* env,int inp,int* outp);
+ 	virtual exp_node* reduce_vars(const alst_node* env,int inp,int* outp);
+ public:
+ 	void set_left(exp_node* nd, Boolean import);
+ 	void set_right(exp_node* nd, Boolean import);
+ public:
+ 	virtual int operator == (const exp_node& cmp) const;
+ public:
+ 	virtual exp_node* export_left(){
+ 		exp_node* exp = left_v;
+ 		left_v = 0;
+ 		return exp;};
+ 	virtual exp_node* export_right(){
+ 		exp_node* exp = right_v;
+ 		right_v = 0;
+ 		return exp;};
+ public:
+ 	virtual exp_node* extract_defs(const alst_node* env=0);
+ public:
+ 	virtual exp_node* extract(const char* nm,int inp=0) const;
+ private:
+ 	exp_node* left_v;
+ 	exp_node* right_v;
+ };
+ 
+ /////////////////////////////////////////////////////////////////////
+ class arglst_node: public alst_node
+ {
+ public:
+ 	arglst_node(
+ 		arg_node* arg=0,arglst_node* next=0,
+ 		Boolean import=False);
+ 	arglst_node(const arglst_node& from);
+ 	virtual node* clone() const { return (node*)new arglst_node(*this); };
+ 	virtual ~arglst_node();
+ public:
+ 	virtual type op() const { return ARGLST;};
+ 	//virtual const char* name() const{ return 0;};
+ 	//virtual exp_node* value() const{ return value;}; // VAR, LAM, or APP
+ 	virtual arg_node* arg() const{ return arg_v;};
+ 	//virtual exp_node* body() const{ return 0;};
+ 	//virtual exp_node* left() const{ return 0;};
+ 	//virtual exp_node* right() const{ return 0;};
+ 	virtual alst_node* next() const{ return (alst_node*)next_v;};
+ public:
+ 	//virtual void rename() {};
+ 	//virtual exp_node* reduce(const alst_node* env,int inp,int* outp) { return 0;};
+ 	virtual alst_node* add(arg_node* anode,Boolean import=False);
+ 	virtual arg_node* find(arg_node* anode);
+ public:
+ 	void set_arg(arg_node* nd, Boolean import);
+ 	virtual void list();
+ protected:
+ 	arg_node* arg_v;
+ 	arglst_node* next_v;
+ };
+ 
+ /////////////////////////////////////////////////////////////////////
+ class stack_frame: public arglst_node
+ {
+ public:
+ 	virtual type op() const{ return STACKFRAME;};
+ 	stack_frame(arg_node* arg=0, const alst_node* next=0)
+ 		{ arg_v = arg; next_v = (arglst_node*)next; }
+ 	virtual ~stack_frame(){arg_v = 0;next_v = 0;};
+ };
+ 
+ extern const arglst_node* definition_env;


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/parse.cc
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/parse.cc:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/parse.cc	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,453 ----
+ /* parse.cc */
+ /*
+ Copyright (C) 2003 Unique Software Designs
+ 
+ This file is part of the program "lambda".
+ 
+ The program "lambda" 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.
+ 
+ The program "lambda" 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 "lambda"; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 
+ A copy of the GNU General Public License may also be found at:
+ http://www.gnu.org/copyleft/gpl.html
+ */
+ #if HAVE_CONFIG_H
+ #  include "config.h"
+ #endif
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdarg.h>
+ #include <config.h>
+ 
+ #include "token_stream.h"
+ #include "node.h"
+ #include "parse.h"
+ 
+ int trace_lambda = 0;
+ int step_lambda = 0;
+ int print_symbols = 1;
+ int applicative_order = 0;
+ int reduce_body = 0;
+ int brief_print = 1;
+ int step_thru = 0;
+ int extract_eta = 1;
+ int extract_app = 0;
+ int reduce_fully = 1;
+ 
+ lambda_expression_parser::
+ lambda_expression_parser(token_stream* tokstr)
+ {
+ 	tokstr_v = tokstr;
+ 	paren_nest_level_v = 0;
+ }
+ 
+ lambda_expression_parser::
+ ~lambda_expression_parser()
+ {
+ }
+ 
+ exp_node* lambda_expression_parser::
+ expression(arglst_node** penv)
+ {
+ 	exp_node* exp = 0;
+ 	if( !tokstr_v ) return exp;
+ 	token_stream::token_type tok;
+ 	char* ptok;
+ 	token_stream::header_type htype;
+ 
+ 	tok = tokstr_v->get_token(&ptok);
+ 	htype = tokstr_v->is_header(tok,ptok);
+ 	if( htype != token_stream::NOTHDR){
+ 		switch(htype){
+ 		case token_stream::QUIT:
+ 			exp = (exp_node*)new arg_node("QUIT", 0);
+ 			break;
+ 		case token_stream::DEF:
+ 			definition(penv);
+ 			break;
+ 		case token_stream::LOAD:
+ 			load(penv);
+ 			break;
+ 		case token_stream::SAVE:
+ 			break;
+ 		case token_stream::LIST:
+ 			if( penv && *penv) (*penv)->list();
+ 			break;
+ 		case token_stream::SET:
+ 			{
+ 				int do_list = 0;
+ 				int cnt = 0;
+ 				for( tok = tokstr_v->get_token(&ptok);
+ 					tok!=token_stream::EOE;
+ 					tok = tokstr_v->get_token(&ptok) )
+ 				{
+ 					if( tok==token_stream::NAME ){
+ 						if( 0==strcasecmp("trace", ptok) ){
+ 							trace_lambda = (!trace_lambda);
+ 						}else
+ 						if( 0==strcasecmp("step", ptok) ){
+ 							step_lambda = (!step_lambda);
+ 							if( step_lambda ) step_thru = 0;
+ 						}else
+ 						if( 0==strcasecmp("thru", ptok) ){
+ 							step_thru = (!step_thru);
+ 							if( step_thru ) step_lambda = 0;
+ 						}else
+ 						if( 0==strcasecmp("sym", ptok) ){
+ 							print_symbols = (!print_symbols);
+ 						}else
+ 						if( 0==strcasecmp("app", ptok) ){
+ 							applicative_order = (!applicative_order);
+ 						}else
+ 						if( 0==strcasecmp("body", ptok) ){
+ 							reduce_body = (!reduce_body);
+ 						}else
+ 						if( 0==strcasecmp("brief", ptok) ){
+ 							brief_print = (!brief_print);
+ 						}else
+ 						if( 0==strcasecmp("eta", ptok) ){
+ 							extract_eta = (!extract_eta);
+ 						}else
+ 						if( 0==strcasecmp("xapp", ptok) ){
+ 							extract_app = (!extract_app);
+ 						}else
+ 						if( 0==strcasecmp("full", ptok) ){
+ 							reduce_fully = (!reduce_fully);
+ 						}else{
+ 							do_list = 1;
+ 						}
+ 					}else do_list =1;
+ 					cnt = 1;
+ 				}
+ 				if( do_list || !cnt ){
+ 					printf(">trace = %d\n",trace_lambda);
+ 					printf(">step  = %d\n",step_lambda);
+ 					printf(">thru  = %d\n",step_thru);
+ 					printf(">app   = %d\n",applicative_order);
+ 					printf(">body  = %d\n",reduce_body);
+ 					printf(">brief = %d\n",brief_print);
+ 					printf(">sym   = %d\n",print_symbols);
+ 					printf(">eta   = %d\n",extract_eta);
+ 					printf(">xapp  = %d\n",extract_app);
+ 					printf(">full  = %d\n",reduce_fully);
+ 				}
+ 			}
+ 			break;
+ 		case token_stream::EXT:
+ 			{
+ 				int inp = 0;
+ 				if( extract_eta ) inp |= node::DO_EXTRACT_ETA;
+ 				if( extract_app ) inp |= node::DO_EXTRACT_APP;
+ 				exp_node* exp = extraction(penv,inp);
+ 				arglst_node* env = 0;
+ 				if( penv ) env = *penv;
+ 				if( exp )
+ 				{
+ 					int inp = 0;
+ 					if( brief_print )
+ 						inp |= node::DO_PRINT_BRIEF;
+ 					exp->print(env,inp);
+ 					printf("\n");
+ 					delete exp;
+ 				}
+ 			}
+ 			break;
+ 		default:
+ 			break;
+ 		}
+ 	}else{
+ 		tokstr_v->push_token(tok,ptok );
+ 		exp = application();
+ 	}
+ 	if( tokstr_v ) tokstr_v->reset_token();
+ 	node::reset();
+ 
+ 	return exp;
+ }
+ 
+ exp_node* lambda_expression_parser::
+ application()
+ {
+ 	exp_node* exp = 0;
+ 	if( !tokstr_v ) return exp;
+ 	token_stream::token_type tok;
+ 	char* ptok;
+ 	exp_node* left = 0;
+ 	exp_node* right = 0;
+ 
+ 	tok = tokstr_v->get_token(&ptok);
+ 	switch( tok ){
+ 	case token_stream::LAMBDA:
+ 		tokstr_v->push_token(tok,ptok );
+ 		exp = lambda();
+ 		break;
+ 	case token_stream::NAME:
+ 	case token_stream::LPAREN:
+ 		tokstr_v->push_token(tok,ptok );
+ 		left = alist();
+ 		right = lambda();
+ 		if( !right ){
+ 			exp = left;
+ 		}else{
+ 			exp = (exp_node*)new app_node(left,right,True);
+ 		}
+ 	case token_stream::EOE:
+ 		break;
+ 	default:
+ 		dderrmsg("expresion expected: got %s", ptok?ptok:"(*null*)" );
+ 		//tokstr_v->push_token(tok,ptok );
+ 	}
+ 
+ 	return exp;
+ }
+ 
+ exp_node* lambda_expression_parser::
+ lambda()
+ {
+ 	exp_node* exp = 0;
+ 	if( !tokstr_v ) return exp;
+ 	token_stream::token_type tok;
+ 	char* ptok;
+ 	arg_node* arg = 0;
+ 	exp_node* body = 0;
+ 
+ 	tok = tokstr_v->get_token(&ptok);
+ 	if( token_stream::LAMBDA!=tok ){
+ 		//dderrmsg("^ expected: got %s", ptok?ptok:"(*null*)" );
+ 		if( token_stream::EOE!=tok )
+ 			tokstr_v->push_token(tok,ptok );
+ 		return exp;
+ 	}
+ 
+ 	tok = tokstr_v->get_token(&ptok);
+ 	if( token_stream::NAME!=tok ){
+ 		dderrmsg("NAME expected: got %s", ptok?ptok:"(*null*)" );
+ 		//tokstr_v->push_token(tok,ptok );
+ 		return exp;
+ 	}
+ 	arg = new arg_node(ptok,0);
+ 
+ 	tok = tokstr_v->get_token(&ptok);
+ 	if( token_stream::PERIOD!=tok ){
+ 		dderrmsg("PERIOD expected: got %s", ptok?ptok:"(*null*)" );
+ 		//tokstr_v->push_token(tok,ptok );
+ 		return exp;
+ 	}
+ 
+ 	body = application(); //expression();
+ 	if( !body ) {
+ 		delete arg;
+ 	}else{
+ 		exp = new lam_node(arg,body,True);
+ 	}
+ 
+ 	return exp;
+ }
+ 
+ exp_node* lambda_expression_parser::
+ alist()
+ {
+ 	exp_node* exp = 0;
+ 	if( !tokstr_v ) return exp;
+ 	token_stream::token_type tok;
+ 	char* ptok;
+ 
+ 	for( tok = tokstr_v->get_token(&ptok);
+ 		token_stream::NAME==tok ||
+ 			token_stream::LPAREN==tok;
+ 		tok = tokstr_v->get_token(&ptok) )
+ 	{
+ 		tokstr_v->push_token(tok,ptok);
+ 		exp_node* anode = atom();
+ 		if( anode ){
+ 			if( exp )
+ 			{
+ 				exp = (exp_node*)
+ 					new app_node( exp, anode, True);
+ 			}else exp = anode;
+ 		}
+ 	}
+ 	tokstr_v->push_token(tok,ptok );
+ 
+ 	return exp;
+ }
+ 
+ exp_node* lambda_expression_parser::
+ atom()
+ {
+ 	exp_node* exp = 0;
+ 	if( !tokstr_v ) return exp;
+ 	token_stream::token_type tok;
+ 	char* ptok;
+ 
+ 	tok = tokstr_v->get_token(&ptok);
+ 	switch(tok)
+ 	{
+ 	case token_stream::LPAREN:
+ 		exp = application();//expression();
+ 		tok = tokstr_v->get_token(&ptok);
+ 		if( token_stream::RPAREN!=tok ){
+ 			dderrmsg(") expected: got %s", ptok?ptok:"(*null*)" );
+ 			//if( token_stream::EOE!=tok )
+ 			//	tokstr_v->push_token(tok,ptok );
+ 		}	
+ 		break;
+ 	case token_stream::NAME:
+ 		exp = (exp_node*)new var_node(ptok);
+ 		break;
+ 	default:
+ 		tokstr_v->push_token(tok,ptok );
+ 	}
+ 
+ 	return exp;
+ }
+ 
+ /////////////////////////////////////////////////////////////////////
+ arglst_node* lambda_expression_parser::
+ definition(arglst_node** penv)
+ {
+ 	arglst_node* arglst = 0;
+ 	if( !tokstr_v ) return arglst;
+ 	token_stream::token_type tok;
+ 	char* ptok;
+ 	tok = tokstr_v->get_token(&ptok);
+ 	if( token_stream::NAME==tok ){
+ 		arg_node* arg= new arg_node(ptok, 0);
+ 		exp_node* exp= expression();
+ 		if( penv ){
+ #define APPEND_DEFS
+ #undef APPEND_DEFS
+ #ifdef APPEND_DEFS
+ 			if( arg ) arg->import_value(&exp);
+ 			if( *penv ){
+ 				arglst = (arglst_node*)((*penv)->add(arg,True));
+ 				*penv = arglst;
+ 			}
+ 			else{
+ 				arglst = new arglst_node(arg,0,True);
+ 				*penv = arglst;
+ 			}
+ #else
+ 			if( *penv ){
+ 				arg_node* old = (*penv)->find(arg);
+ 				if( old ){
+ 					old->import_value(&exp);
+ 					if( arg ) delete arg;// arg not used!
+ 				}else{
+ 					if( arg ) arg->import_value(&exp);
+ 					arglst = new arglst_node(arg,*penv,True);
+ 					*penv = arglst;
+ 					definition_env = arglst;
+ 				}
+ 			}else{
+ 				if( arg ) arg->import_value(&exp);
+ 				arglst = new arglst_node(arg,0,True);
+ 	  			*penv = arglst;
+ 				definition_env = arglst;
+ 			}
+ #endif
+ 		}
+ 	}
+ 	return arglst;
+ }
+ 
+ arglst_node* lambda_expression_parser::
+ load(arglst_node** penv)
+ {
+ 	arglst_node* arglst = 0;
+ 	if( !tokstr_v ) return arglst;
+ 	token_stream::token_type tok;
+ 	char* ptok;
+ 	tok = tokstr_v->get_token(&ptok);
+ 	if( token_stream::STRING==tok ){
+ 		char* tk = strtok( ptok, "\"" );
+ 		if( tk ) ptok = tk;
+ 		tok = token_stream::NAME;
+ 	}
+ 	if( token_stream::NAME==tok  ){
+ 		token_stream* loadstr = new token_stream(ptok);
+ 		if( loadstr ){
+ 			lambda_expression_parser parse(loadstr);
+ 			while( !loadstr->get_read_EOF()
+ 				&& !loadstr->get_read_error() )
+ 				parse.expression(penv);
+ 			delete loadstr;
+ 		}
+ 	}
+ 	return arglst;
+ }
+ 
+ exp_node* lambda_expression_parser::
+ extraction(arglst_node** penv,int inp)
+ {
+ 	exp_node* exp = 0;
+ 	if( !tokstr_v ) return exp;
+ 	token_stream::token_type tok;
+ 	char* ptok;
+ 	tok = tokstr_v->get_token(&ptok);
+ 	if( token_stream::NAME==tok
+ 	||  token_stream::LAMBDA==tok )
+ 	{
+ 		char* nm = 0;
+ 		if( token_stream::NAME==tok
+ 		&&  0 != strcmp(ptok, "~" ) )
+ 		{
+ 			nm = new char[strlen(ptok)+1];
+ 			strcpy(nm,ptok);
+ 		}
+ 		exp_node* exp1 = expression();
+ 		if( exp1 )
+ 		{
+ 			exp = exp1->extract(nm,inp);
+ 			delete exp1;
+ 		}
+ 		if( nm ) delete nm;
+ 	}
+ 	return exp;
+ }
+ 
+ /////////////////////////////////////////////////////////////////////
+ void lambda_expression_parser::
+ set_tok_str(token_stream* tokstr)
+ {
+ 	tokstr_v = tokstr;
+ }
+ 
+ void lambda_expression_parser::
+ reset()
+ {
+ 	paren_nest_level_v = 0;
+ }
+ 
+ void lambda_expression_parser::
+ dderrmsg(char* format,...)
+ {
+ 	va_list args;
+ 
+ 	va_start(args, format);
+ 	//format = va_arg(args,char*);
+ #if defined _WINDOWS
+ 	char msg[512];
+ 	sprintf(msg, "***line %d:\n", linenum);
+ 	vsprintf(msg+strlen(msg), format, args );
+ 	AfxMessageBox(msg);
+ #else
+ 	if(tokstr_v->get_linenum()>=0)
+ 		printf("\n*** line %d: ",
+ 			tokstr_v->get_linenum());
+ 	vfprintf(stdout,format,args);
+ 	printf("\n");
+ #endif
+ 	va_end(args);
+ 	fflush(stderr);
+ }


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/parse.h
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/parse.h:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/parse.h	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,56 ----
+ /* parse.h */
+ /*
+ Copyright (C) 2003 Unique Software Designs
+ 
+ This file is part of the program "lambda".
+ 
+ The program "lambda" 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.
+ 
+ The program "lambda" 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 "lambda"; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 
+ A copy of the GNU General Public License may also be found at:
+ http://www.gnu.org/copyleft/gpl.html
+ */
+ 
+ extern int trace_lambda;
+ extern int step_lambda;
+ extern int print_symbols;
+ extern int applicative_order;
+ extern int reduce_body;
+ extern int brief_print;
+ extern int step_thru;
+ extern int reduce_fully;
+ 
+ class lambda_expression_parser
+ {
+ public:
+ 	lambda_expression_parser(token_stream* tokstr=0);
+ 	~lambda_expression_parser();
+ 	exp_node* expression(arglst_node** penv=0);
+ 	exp_node* application();
+ 	exp_node* lambda();
+ 	exp_node* alist();
+ 	exp_node* atom();
+ public:
+ 	arglst_node* definition(arglst_node** penv);
+ 	arglst_node* load(arglst_node** penv);
+ public:
+ 	exp_node* extraction(arglst_node** penv,int inp=0);
+ public:
+ 	void set_tok_str(token_stream* tokstr);
+ 	void reset();
+ 	void dderrmsg(char* format,...);
+ private:
+ 	token_stream* tokstr_v;
+ 	int paren_nest_level_v;
+ };


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/token_stream.cc
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/token_stream.cc:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/token_stream.cc	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,331 ----
+ /* token_stream.cc */
+ /*
+ Copyright (C) 2003 Unique Software Designs
+ 
+ This file is part of the program "lambda".
+ 
+ The program "lambda" 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.
+ 
+ The program "lambda" 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 "lambda"; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 
+ A copy of the GNU General Public License may also be found at:
+ http://www.gnu.org/copyleft/gpl.html
+ */
+ #if HAVE_CONFIG_H
+ #  include "config.h"
+ #endif
+ #include <stdio.h>
+ #include <string.h>
+ #include <errno.h>
+ #include <stdarg.h>
+ #include <config.h>
+ #include "token_stream.h"
+ 
+ static struct header_def{
+ 	token_stream::header_type type;
+ 	char* value;
+ } headers[] = {
+ 	{token_stream::DEF, "def"},
+ 	{token_stream::LOAD, "load"},
+ 	{token_stream::SAVE, "save"},
+ 	{token_stream::QUIT, "quit"},
+ 	{token_stream::LIST, "list"},
+ 	{token_stream::SET,  "set"},
+ 	{token_stream::EXT,  "ext"},
+ 	{token_stream::NOTHDR, NULL} };
+ 
+ token_stream::
+ token_stream(const char* filename)
+ {
+ 	in = 0;
+ 	file_name_v = 0;
+ 	paren_level_v = 0;
+ 	linenum_v = 0;
+ 	need_new_line_v = 0;
+ 	open(filename);
+ }
+ 
+ Boolean token_stream::
+ open(const char* filename)
+ {
+ 	read_error = False;
+ 	if( filename ){
+ 		if( in ) fclose(in);
+ 		in = fopen(filename,"r" );
+ 		if( !in ){
+ 			read_error = True;
+ 			dderrmsg("Cannot Open \"%s\":%s\n",
+ 				filename, strerror(errno));
+ 		}
+ 		file_name_v = new char[strlen(filename)+1];
+ 		if( file_name_v ) strcpy(file_name_v,filename);
+ 	}else{
+ 		in = stdin;
+ 		file_name_v = 0;
+ 	}
+ 	read_EOF = False;
+ 	push_token(NOTOKEN,"");
+ 	ptok = 0;
+ 	linenum_v = 0;
+ 	paren_level_v = 0;
+ 	need_new_line_v = 1;
+ 	return (in!=0);
+ }
+ 
+ token_stream::
+ ~token_stream()
+ {
+ 	if( in ) fclose(in);
+ 	if( file_name_v ) delete [] file_name_v;
+ }
+ 
+ void token_stream::
+ reset_token()
+ {
+ 	paren_level_v = 0;
+ #if 1
+ 	pushed_token = NOTOKEN;
+ 	need_new_line_v = 1;
+ 	ptok = linebuf;
+ 	*ptok = '\0';
+ #endif
+ }
+ 
+ void token_stream::
+ close()
+ {
+ 	if( in && file_name_v) fclose(in);
+ 	in = 0;
+ }
+ 
+ void token_stream::
+ dderrmsg(char* format,...)
+ {
+ 	va_list args;
+ 
+ 	va_start(args, format);
+ 	//format = va_arg(args,char*);
+ #if defined _WINDOWS
+ 	char msg[512];
+ 	sprintf(msg, "***line %d:\n", linenum_v);
+ 	vsprintf(msg+strlen(msg), format, args );
+ 	AfxMessageBox(msg);
+ #else
+ 	if(linenum_v>=0)
+ 		fprintf(stderr,"\n*** line %d: ",linenum_v);
+ 	vfprintf(stderr,format,args);
+ #endif
+ 	va_end(args);
+ 	fflush(stderr);
+ }
+ 
+ char *token_stream::
+ read_line()
+ {
+ 	//#define READ_BUF_SIZE 512
+ 	//static char linebuf[READ_BUF_SIZE];
+ 	int n;
+ 
+ 	char *res = fgets(linebuf,READ_BUF_SIZE,in);
+ 	if( res != NULL ){
+ 		linenum_v++;
+ 		n = strlen(linebuf);
+ 		if( n>0 ){
+ 			n -= 1;
+ 			if( linebuf[n]=='\n' ) linebuf[n] = '\0';
+ 		}
+ 	} else {
+ 		if( ferror(in) ){
+ 			n = errno;
+ 			printf(
+ 			"*error reading line %d of DataDesc input file: %s\n",
+ 				linenum_v,strerror(errno)  );
+ 			read_error = True;
+ 		}else if( feof(in) ){
+ 			read_EOF = True;
+ 		}
+ 	}
+ 	need_new_line_v = 0;
+ 	return res;
+ }
+ 
+ token_stream::header_type token_stream::
+ is_header(token_type tok, char *ptk )
+ {
+ 	header_def* phdr;
+ 	header_type res = NOTHDR;
+ 
+ 	if( NAME==tok ){
+ 		for(phdr = headers; phdr->type!=NOTHDR; phdr++ ){
+ 			if( strcmp(ptk,phdr->value)==0 ){
+ 				res = phdr->type;
+ 				break;
+ 			}
+ 		}
+ 	}
+ 	return res;
+ }
+ 
+ void token_stream::
+ push_token(token_type tok, char *ptk )
+ {
+ 	pushed_token = tok;
+ 	if( ptk!=NULL && token!=ptk ) strncpy(token,ptk,MAX_TOKEN_SIZE-1);
+ 	token[MAX_TOKEN_SIZE-1] = '\0';
+ }
+ 
+ token_stream::token_type token_stream::
+ get_token(char **atok)
+ {
+ 	char *ttok;
+ 	token_stream::token_type res;
+ 	register char chr;
+ 	Boolean found;
+ 	
+ 	if( !in ) return NOTOKEN;
+ 	if( pushed_token!=NOTOKEN ){
+ 		*atok = token;
+ 		res = pushed_token;
+ 		pushed_token = NOTOKEN;
+ 		return res;
+ 	}
+ 	res = NOTOKEN;
+ 	*atok = NULL;
+ 	found = False;
+ 	while( !found ){
+ 		if( NULL==ptok || '\0'==ptok[0] ){
+ 			if( 0==paren_level_v && !need_new_line_v ) {
+ 				need_new_line_v = 1;
+ 				token[0] = '\0';
+ 				res = EOE;
+ 				break;
+ 			}
+ 			if( paren_level_v > 0 )
+ 				printf("*need %d )%s*<< ", paren_level_v,
+ 					paren_level_v > 1 ? "'s" : "" );
+ 			ptok = read_line();
+ 		}
+ 		if( NULL==ptok ) break;
+ 
+ 		found = True;
+ 		while( (chr=ptok[0])!='\0' && chr<=' ' ) ptok++;
+ 
+ 		token[0] = ptok[0];
+ 		token[1] = '\0';
+ 		switch( ptok[0] ){
+ 		case '\0':
+ 		case '#':
+ 			found = False;
+ 			ptok = NULL;
+ 			break;
+ 		case '^':
+ 			res = LAMBDA;
+ 			ptok++;
+ 			break;
+ 		case '.':
+ 			res = PERIOD;
+ 			ptok++;
+ 			break;
+ 		case '(':
+ 			res = LPAREN;
+ 			paren_level_v++;
+ 			ptok++;
+ 			break;
+ 		case ')':
+ 			res = RPAREN;
+ 			paren_level_v--;
+ 			ptok++;
+ 			break;
+ 		case '{':
+ 			res = LBRACE;
+ 			ptok++;
+ 			break;
+ 		case '}':
+ 			res = RBRACE;
+ 			ptok++;
+ 			break;
+ 		case ',':
+ 			res = COMMA;
+ 			ptok++;
+ 			break;
+ 		case ';':
+ 			res = SEMICOLON;
+ 			ptok++;
+ 			break;
+ 		case '"':
+ 			res = STRING;
+ 			for( ttok=token,ptok++;
+ 			     ttok<token+MAX_TOKEN_SIZE-1;
+ 			     ttok++,ptok++
+ 			){
+ 				while( '\\'==ptok[0] && '\0'==ptok[1] ){
+ 					ptok = read_line();
+ 					if( NULL==ptok ){
+ 						res = NOTOKEN;
+ 						goto endit;
+ 					}
+ 				}
+ 				chr = ptok[0];
+ 				if( chr=='\\' ){
+ 					ptok++;
+ 					chr = ptok[0];
+ 					if( chr=='n' ) chr = '\n';
+ 					else if( chr=='t' ) chr = '\t';
+ 				}else{
+ 					if( '\0'==chr ) break;
+ 					if( '"' ==chr ){
+ 						ptok++;
+ 						break;
+ 					}
+ 				}
+ 				ttok[0] = chr;
+ 			}
+ 			ttok[0] = '\0';
+ 			break;
+ 		default:
+ 			res = NAME;
+ 			for( ttok=token;
+ 			     ttok<token+MAX_TOKEN_SIZE-1
+ 			       && '\0'!=ptok[0];
+ 			     ttok++,ptok++
+ 			){
+ 				chr = ptok[0];
+ 				if( NULL!=strchr(" .(){},;\"",chr) ) break;
+ 				ttok[0] = chr;
+ 			}
+ 			ttok[0] = '\0';
+ 		}
+ 	}
+ endit:
+ 	if( res!=NOTOKEN ) *atok = token;
+ 	#ifdef PRINTTOKENS
+ 	if( res!=NOTOKEN ){
+ 		/*fprintf(stderr,"%s ",tokname[tok] );*/
+ 		fprintf(stderr," %s%s%s",
+ 			res==STRING? "\"":
+ 			 res==LBRACE? "\n":
+ 			"",
+ 			token,
+ 			res==STRING? "\"" :
+ 			 res==SEMICOLON? "\n":
+ 			is_header(res,token)? "\n":
+ 			""
+ 		);
+ 	}else{
+ 		fprintf(stderr,"\nEnd of Token Stream!\n");
+ 	}
+ 	fflush(stderr);
+ 	#endif
+ 	if( res!=NOTOKEN ) *atok = token;
+ 	return res;
+ }


Index: llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/token_stream.h
diff -c /dev/null llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/token_stream.h:1.1
*** /dev/null	Mon Dec 29 11:37:46 2003
--- llvm/test/Programs/MultiSource/Applications/lambda-0.1.3/token_stream.h	Mon Dec 29 11:37:35 2003
***************
*** 0 ****
--- 1,76 ----
+ /* token_stream.h */
+ /*
+ Copyright (C) 2003 Unique Software Designs
+ 
+ This file is part of the program "lambda".
+ 
+ The program "lambda" 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.
+ 
+ The program "lambda" 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 "lambda"; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ 
+ A copy of the GNU General Public License may also be found at:
+ http://www.gnu.org/copyleft/gpl.html
+ */
+ #ifndef Boolean 
+ #define Boolean short
+ #define False 0
+ #define True 1
+ #endif
+ class token_stream
+ {
+ public:
+ 	token_stream(const char* filename=0);
+ 	~token_stream();
+ 	void reset_token();
+ public:
+ 	Boolean get_read_error() {return read_error; };
+ 	Boolean get_read_EOF() { return read_EOF; };
+ 	enum token_type {
+ 		NOTOKEN=0,LPAREN,RPAREN,LBRACE,
+ 		RBRACE,COMMA,SEMICOLON,STRING,NAME,
+ 		LAMBDA, PERIOD, EOE
+ 	};
+ 	enum header_type {
+ 		NOTHDR=0, DEF, LOAD, SAVE, QUIT, LIST, SET, EXT
+ 	};
+ public:
+ 	Boolean open(const char* filename=0);
+ 	void close();
+ 	header_type is_header(token_type tok, char* ptk);
+ 	void push_token( token_type tok,char *ptok );
+ 	token_type get_token( char **atok);
+ 	void dderrmsg(char* format,...);
+ 	int get_linenum() { return linenum_v; };
+ 	void set_linenum(int ln ) { linenum_v = ln; };
+ 	int get_paren_level() { return paren_level_v; };
+ 	void set_paren_level(int ln ) { paren_level_v = ln; };
+ public:
+ 	enum { MAX_TOKEN_SIZE=8192 };
+ 	enum { READ_BUF_SIZE=512 };
+ private:
+ 	Boolean read_error;
+ 	Boolean read_EOF;
+ 	char* read_line();
+ //private:
+ //	char *read_line(FILE *in);
+ private:
+ 	FILE* in;
+ 	char *ptok; // = NULL;
+ 	token_type pushed_token; // = NOTOKEN;
+ 	char token[MAX_TOKEN_SIZE];
+ 	char linebuf[READ_BUF_SIZE];
+ 	char* file_name_v;
+ 	int linenum_v;
+ 	int paren_level_v;
+ 	int need_new_line_v;
+ };





More information about the llvm-commits mailing list