[llvm-commits] [hlvm] r37974 - in /hlvm/trunk: ./ autoconf/ autoconf/m4/ docs/ hlvm/ hlvm/AST/ hlvm/Base/ test/ tools/

Reid Spencer reid at x10sys.com
Sat Jul 7 16:58:30 PDT 2007


Author: reid
Date: Sat Jul  7 18:58:30 2007
New Revision: 37974

URL: http://llvm.org/viewvc/llvm-project?rev=37974&view=rev
Log:
Get a more useful build system going. "make" from the top level
now works, although it doesn't build anything. Also, start adding
some source files.

Added:
    hlvm/trunk/Makefile.config.in
    hlvm/trunk/Makefile.hlvm
    hlvm/trunk/VERSION.in
    hlvm/trunk/autoconf/install-sh   (with props)
    hlvm/trunk/autoconf/m4/check_gnu_make.m4
    hlvm/trunk/autoconf/m4/find_std_program.m4
    hlvm/trunk/autoconf/m4/path_perl.m4
    hlvm/trunk/autoconf/missing   (with props)
    hlvm/trunk/autoconf/mkinstalldirs   (with props)
    hlvm/trunk/docs/Doxyfile.in
    hlvm/trunk/docs/Makefile
    hlvm/trunk/docs/doxygen.css
    hlvm/trunk/docs/doxygen.footer
    hlvm/trunk/docs/doxygen.header
    hlvm/trunk/docs/doxygen.intro
    hlvm/trunk/hlvm/
    hlvm/trunk/hlvm/AST/
    hlvm/trunk/hlvm/AST/Bundle.h
    hlvm/trunk/hlvm/AST/Function.h
    hlvm/trunk/hlvm/AST/LinkageItem.h
    hlvm/trunk/hlvm/AST/Makefile
    hlvm/trunk/hlvm/AST/Node.h
    hlvm/trunk/hlvm/Base/
    hlvm/trunk/hlvm/Base/Config.h.in
    hlvm/trunk/hlvm/Base/ConfigData.cpp.in
    hlvm/trunk/hlvm/Base/Makefile   (with props)
    hlvm/trunk/hlvm/Makefile   (with props)
    hlvm/trunk/test/
    hlvm/trunk/test/Makefile   (with props)
Removed:
    hlvm/trunk/Makefile.common.in
Modified:
    hlvm/trunk/Makefile
    hlvm/trunk/autoconf/configure.ac
    hlvm/trunk/autoconf/m4/config_makefile.m4
    hlvm/trunk/configure
    hlvm/trunk/tools/Makefile

Modified: hlvm/trunk/Makefile
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/Makefile?rev=37974&r1=37973&r2=37974&view=diff

==============================================================================
--- hlvm/trunk/Makefile (original)
+++ hlvm/trunk/Makefile Sat Jul  7 18:58:30 2007
@@ -10,11 +10,10 @@
 # Indicates our relative path to the top of the project's root directory.
 #
 LEVEL = .
-DIRS = lib tools
+DIRS = hlvm tools
 EXTRA_DIST = include
 
 #
 # Include the Master Makefile that knows how to build all.
 #
-include $(LEVEL)/Makefile.common
-
+include $(LEVEL)/Makefile.hlvm

Removed: hlvm/trunk/Makefile.common.in
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/Makefile.common.in?rev=37973&view=auto

==============================================================================
--- hlvm/trunk/Makefile.common.in (original)
+++ hlvm/trunk/Makefile.common.in (removed)
@@ -1,29 +0,0 @@
-##===- Makefile.common.in ----------------------------------*- Makefile -*-===##
-#
-# This is the top level configured makefile for the HLVM project.
-#
-# Copyright (C) 2006 Reid Spencer. All Rights Reserved.
-#
-##===----------------------------------------------------------------------===##
-# Set the name of the project here
-PROJECT_NAME := HLVM
-PROJ_VERSION := 0.1svn
- 
-# Set this variable to the top of the LLVM source tree.
-LLVM_SRC_ROOT = @LLVM_SRC@
-
-# Set this variable to the top level directory where LLVM was built
-# (this is *not* the same as OBJ_ROOT as defined in LLVM's Makefile.config).
-LLVM_OBJ_ROOT = @LLVM_OBJ@
-
-# Set the directory root of this project's source files
-PROJ_SRC_ROOT := $(subst //,/, at abs_top_srcdir@)
-
-# Set the root directory of this project's object files
-PROJ_OBJ_ROOT := $(subst //,/, at abs_top_objdir@)
-
-# Set the root directory of this project's install prefix
-PROJ_INSTALL_ROOT := @prefix@
-
-# Include LLVM's Master Makefile.
-include $(LLVM_OBJ_ROOT)/Makefile.common

Added: hlvm/trunk/Makefile.config.in
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/Makefile.config.in?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/Makefile.config.in (added)
+++ hlvm/trunk/Makefile.config.in Sat Jul  7 18:58:30 2007
@@ -0,0 +1,58 @@
+##===- Makefile.config.in ----------------------------------*- Makefile -*-===##
+#
+# This is the top level configured makefile for the HLVM project.
+#
+# Copyright (C) 2006 Reid Spencer. All Rights Reserved.
+#
+##===----------------------------------------------------------------------===##
+
+# Set HLVM Specific variables
+HLVM_name        := @PACKAGE_TARNAME@
+HLVM_version	:= @PACKAGE_VERSION@
+HLVM_so_version	:= @HLVM_SO_VERSION@
+HLVM_so_current  := @HLVM_SO_CURRENT@
+HLVM_so_revision := @HLVM_SO_REVISION@
+HLVM_so_age      := @HLVM_SO_AGE@
+HLVM_prefix      := @HLVM_PREFIX@
+HLVM_bindir	:= @HLVM_PREFIX@/bin
+HLVM_libdir	:= @HLVM_PREFIX@/lib 
+HLVM_includedir  := @HLVM_PREFIX@/include
+HLVM_datadir	:= @HLVM_PREFIX@/data
+HLVM_configdir	:= @HLVM_PREFIX@/etc
+HLVM_etcdir      := @HLVM_PREFIX@/etc
+HLVM_infodir	:= @HLVM_PREFIX@/info
+HLVM_mandir	:= @HLVM_PREFIX@/man
+HLVM_wrkspcdir	:= @HLVM_WITH_WORKSPACE@
+HLVM_llvmsrcdir := @HLVM_WITH_LLVM_SRC@
+HLVM_llvmobjdir := @HLVM_WITH_LLVM_OBJ@
+HLVM_top_srcdir  := @abs_top_srcdir@
+HLVM_top_objdir  := @abs_top_builddir@
+HLVM_DEBUG       := @HLVM_DEBUG@
+HLVM_ASSERT      := @HLVM_ASSERT@
+HLVM_INLINE      := @HLVM_INLINE@
+HLVM_OPTIMIZE    := @HLVM_OPTIMIZE@
+HLVM_SHAREDPREFIX:= @HLVM_SHAREDPREFIX@
+HLVM_TRACE       := @HLVM_TRACE@
+HLVM_SMALL       := @HLVM_SMALL@
+HLVM_EFENCE      := @HLVM_EFENCE@
+HLVM_PROFILING   := @HLVM_PROFILING@
+
+# Set the name of the project here
+PROJECT_NAME := $(HLVM_name)
+PROJ_VERSION := $(HLVM_VERSION)
+ 
+# Set this variable to the top of the LLVM source tree.
+LLVM_SRC_ROOT = @HLVM_WITH_LLVM_SRC@
+
+# Set this variable to the top level directory where LLVM was built
+# (this is *not* the same as OBJ_ROOT as defined in LLVM's Makefile.config).
+LLVM_OBJ_ROOT = @HLVM_WITH_LLVM_OBJ@
+
+# Set the directory root of this project's source files
+PROJ_SRC_ROOT := $(subst //,/, at abs_top_srcdir@)
+
+# Set the root directory of this project's object files
+PROJ_OBJ_ROOT := $(subst //,/, at abs_top_objdir@)
+
+# Set the root directory of this project's install prefix
+PROJ_INSTALL_ROOT := @prefix@

Added: hlvm/trunk/Makefile.hlvm
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/Makefile.hlvm?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/Makefile.hlvm (added)
+++ hlvm/trunk/Makefile.hlvm Sat Jul  7 18:58:30 2007
@@ -0,0 +1,131 @@
+#------------------------------------------------------------------------------
+# Makefile.hlvm - Main HLVM Makefile: included by all
+#
+# Copyright (C) 2006 HLVM Group. All Rights Reserved
+#
+#------------------------------------------------------------------------------
+# This makefile is included in every Makefile in the HLVM project. It provides
+# definitions needed by all makefiles in HLVM. It also includes LLVM Makefile 
+# system upon which it is based.
+#------------------------------------------------------------------------------
+
+# Include our configured variables
+include $(LEVEL)/Makefile.config
+
+#
+# Set up compilation variables
+# 
+
+CPPFLAGS += -D_POSIX_THREADS -D_POSIX_THREAD_SAFE_FUNCTIONS \
+	    -I$(HLVM_top_srcdir) \
+	    -I$(HLVM_top_objdir) \
+
+ifeq ($(HLVM_ASSERT),true)
+CPPFLAGS += -DHLVM_ASSERT=1
+endif
+
+HLVM_COMMONFLAGS = -pipe -Wall -W -Wpointer-arith -Wcast-align -Wwrite-strings \
+		   -Winline -Wno-unused-parameter
+CXXFLAGS += $(HLVM_COMMONFLAGS) -Wno-deprecated -Wold-style-cast \
+	    -Woverloaded-virtual -ffor-scope -foperator-names
+CFLAGS += $(HLVM_COMMONFLAGS)
+
+ifeq ($(HLVM_DEBUG),true)
+CXXFLAGS += -ggdb
+CFLAGS   += -ggdb
+endif
+
+ifeq ($(HLVM_OPTIMIZE),true)
+ifeq ($(HLVM_SMALL),true)
+CXXFLAGS += -Os
+CFLAGS   += -Os
+endif 
+ENABLE_OPTIMIZED := 1
+endif
+
+ifeq ($(HLVM_INLINE),true)
+CXXFLAGS += -DHLVM_INLINE -DHLVM_inline=inline
+CFLAGS   += -DHLVM_INLINE -DHLVM_inline=inline
+else
+CXXFLAGS += -fno-inline -DHLVM_inline=
+CFLAGS   += -fno-inline -DHLVM_inline=
+endif
+
+ifeq ($(HLVM_PROFILING),true)
+CXXFLAGS += -pg
+CFLAGS	 += -pg
+endif
+
+#
+# Define the ICU Resource stuff
+#
+SUFFIXES		= .E
+ICU_DATA_FILE 		= $(ICU_NAME).dat
+ICU_MSGS_FILES		= $(ICU_RESOURCES:%=%.msgs)
+ICU_RES_FILES		= $(ICU_RESOURCES:%=$(ICU_NAME)_%.res)
+ICU_FILE_LIST 		= $(ICU_NAME).files
+ALL_MSGS_FILES		= $(HLVM_ALL_LANGUAGES:%=%.msgs)
+
+# LLVM Requirements for makefile system
+PROJECT_NAME    := $(HLVM_name)
+PROJECT_VERSION := $(HLVM_version)
+LLVM_SRC_ROOT   := $(HLVM_llvmsrcdir)
+LLVM_OBJ_ROOT   := $(HLVM_llvmobjdir)
+PROJ_SRC_ROOT   := $(HLVM_top_srcdir)
+PROJ_OBJ_ROOT   := $(HLVM_top_objdir)
+PROJ_INSTALL_ROOT := $(HLVM_prefix)
+
+SUFFIXES := .rng .i .hlvm .xml .java .class
+
+TOOLLINKOPTSB := $(LIBS)
+
+# Get configuration data and make rules from LLVM
+include $(HLVM_llvmobjdir)/Makefile.common
+
+EchoCmd  := $(ECHO) hlvm [$(MAKELEVEL)]:
+Echo     := @$(EchoCmd)
+
+
+$(PROJ_OBJ_ROOT)/Makefile.hlvm: $(PROJ_SRC_ROOT)/Makefile.hlvm
+	$(Echo) "Updating Makefile.hlvm"
+	$(Verb) $(MKDIR) $(@D)
+	$(Verb) $(CP) -f $< $@
+
+preconditions: $(PROJ_OBJ_DIR)/Makefile.hlvm
+
+#$(PROJ_OBJ_DIR)/%Tokenizer.cpp $(PROJ_OBJ_DIR)/%Tokenizer.h $(PROJ_OBJ_DIR)/%TokenHash.i : $(PROJ_SRC_DIR)/%.rng $(HLVM_top_srcdir)/utils/tmplt/Tokenizer_Template.cpp $(HLVM_top_srcdir)/utils/tmplt/Tokenizer_Template.h $(HLVM_top_srcdir)/utils/bin/mkTokenizer
+#	$(Echo) Building Tokenizer For $*
+#	$(Verb) $(HLVM_top_srcdir)/utils/bin/mkTokenizer -f \
+#	  $(PROJ_SRC_DIR)/$*.rng
+
+ifdef INSTALL_INCLUDES
+PartialPath := $(patsubst $(PROJ_SRC_ROOT)/%,%,$(PROJ_SRC_DIR))
+IncludesWithPath := $(patsubst %,$(PartialPath)/%,$(INSTALL_INCLUDES))
+InstalledIncludes := $(patsubst %,$(PROJ_includedir)/%,$(IncludesWithPath))
+
+install-local:: $(PROJ_includedir)/$(PartialPath)/.dir $(InstalledIncludes)
+	
+$(InstalledIncludes): $(PROJ_includedir)/$(PartialPath)/% : $(PROJ_SRC_DIR)/%
+	$(Echo) Installing $(*)
+	$(Verb) $(DataInstall) $< $@
+
+endif
+
+printvars::
+	$(Echo) "BuildMode       : " '$(BuildMode)'
+	$(Echo) "HLVM_VERSION	 : " '$(HLVM_VERSION)'
+	$(Echo) "HLVM_SO_VERSION	 : " '$(HLVM_SO_VERSION)'
+	$(Echo) "HLVM_bindir	 : " '$(HLVM_bindir)'
+	$(Echo) "HLVM_libdir	 : " '$(HLVM_libdir)'
+	$(Echo) "HLVM_sbindir	 : " '$(HLVM_sbindir)'
+	$(Echo) "HLVM_libexecdir	 : " '$(HLVM_libexecdir)'
+	$(Echo) "HLVM_datadir	 : " '$(HLVM_datadir)'
+	$(Echo) "HLVM_configdir	 : " '$(HLVM_configdir)'
+	$(Echo) "HLVM_infodir	 : " '$(HLVM_infodir)'
+	$(Echo) "HLVM_mandir	 : " '$(HLVM_mandir)'
+	$(Echo) "HLVM_schemasdir	 : " '$(HLVM_schemasdir)'
+	$(Echo) "HLVM_wrkspcdir	 : " '$(HLVM_wrkspcdir)'
+	$(Echo) "HLVM_llvmsrcdir	 : " '$(HLVM_llvmsrcdir)'
+	$(Echo) "HLVM_llvmobjdir	 : " '$(HLVM_llvmobjdir)'
+	$(Echo) "HLVM_top_srcdir  : " '$(HLVM_top_srcdir)'
+	$(Echo) "HLVM_top_builddir: " '$(HLVM_top_builddir)'

Added: hlvm/trunk/VERSION.in
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/VERSION.in?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/VERSION.in (added)
+++ hlvm/trunk/VERSION.in Sat Jul  7 18:58:30 2007
@@ -0,0 +1,25 @@
+HLVM Configuration Details File - @HLVM_CONFIGTIME@
+=============================================================
+Package Name            : @PACKAGE_NAME@
+Short Name              : @PACKAGE_TARNAME@
+Copyright               : @HLVM_COPYRIGHT@
+Version                 : @HLVM_VERSION@
+Library Revision        : @HLVM_SO_VERSION@
+Maintainer              : @HLVM_CONFIGURE_MAINTAINER@
+Report Bugs To          : @PACKAGE_BUGREPORT@
+
+Source Directory        : @abs_top_srcdir@
+Object Directory        : @abs_top_builddir@
+Install Prefix          : @HLVM_PREFIX@
+XPS Workspace Directory : @HLVM_WITH_WORKSPACE@
+
+Configuration Name      : @HLVM_CFGNAME@
+enable-debug            : @HLVM_DEBUG@
+enable-assert           : @HLVM_ASSERT@
+enable-trace            : @HLVM_TRACE@
+enable-inline           : @HLVM_INLINE@
+enable-optimize         : @HLVM_OPTIMIZE@
+enable-small            : @HLVM_SMALL@
+enable-sharedprefix     : @HLVM_SHAREDPREFIX@
+enable-efence           : @HLVM_EFENCE@
+enable-profiling	: @HLVM_PROFILING@

Modified: hlvm/trunk/autoconf/configure.ac
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/autoconf/configure.ac?rev=37974&r1=37973&r2=37974&view=diff

==============================================================================
--- hlvm/trunk/autoconf/configure.ac (original)
+++ hlvm/trunk/autoconf/configure.ac Sat Jul  7 18:58:30 2007
@@ -1,57 +1,411 @@
 dnl **************************************************************************
 dnl * Initialize
 dnl **************************************************************************
-AC_INIT([[[HLVM]]],[[[0.1svn]]],[hlvm-dev at hlvm.org])
-AC_SUBST(HLVM_COPYRIGHT,["Copyright (c) 2006 HLVM Programmer's Group"])
-AC_COPYRIGHT[Copyright (c) 2006 HLVM Programmer's Group])
+AC_INIT([High Level Virtual Machine],[0.1svn],[hlvm-dev at hlvm.org],HLVM)
 AC_PREREQ(2.59)
-AC_CONFIG_SRCDIR(["lib/Makefile"])
-AC_CONFIG_FILES(Makefile.common)
+HLVM_COPYRIGHT="Coyright (c) 2006 HLVM Group"
+AC_SUBST(HLVM_COPYRIGHT)
+AC_COPYRIGHT($HLVM_COPYRIGHT)
+AC_CONFIG_SRCDIR([hlvm/AST/Bundle.h])
+AC_REVISION([$Id$])
+
+HLVM_VERSION="${PACKAGE_VERSION}"
+AC_SUBST(HLVM_PACKAGE,$PACKAGE)
+AC_SUBST(HLVM_VERSION)
+AC_PREFIX_DEFAULT([/usr/local/hlvm])
 
-dnl Configure project makefiles
-dnl List every Makefile that exists within your source tree
-AC_CONFIG_MAKEFILE(Makefile)
-AC_CONFIG_MAKEFILE(lib/Makefile)
-AC_CONFIG_MAKEFILE(tools/Makefile)
 
 dnl **************************************************************************
 dnl * Set the location of various third-party software packages
 dnl **************************************************************************
-FIND_PACKAGE([llvm],[llvm/Module.h],[LLVMCore.o],[llc],
-             [Low Level Virtual Machine])
 FIND_PACKAGE([apr],[apr-1/apr.h],[libapr-1.so],[],[Apache Portable Runtime])
 
-dnl **************************************************************************
-dnl * Determine which system we are building on
-dnl **************************************************************************
-
-dnl **************************************************************************
-dnl * Check for programs.
-dnl **************************************************************************
-
-dnl **************************************************************************
-dnl * Check for libraries.
-dnl **************************************************************************
-
-dnl **************************************************************************
-dnl * Checks for header files.
-dnl **************************************************************************
-
-dnl **************************************************************************
-dnl * Checks for typedefs, structures, and compiler characteristics.
-dnl **************************************************************************
-
-dnl **************************************************************************
-dnl * Checks for library functions.
-dnl **************************************************************************
-
-dnl **************************************************************************
-dnl * Enable various compile-time options
-dnl **************************************************************************
-
-dnl **************************************************************************
-dnl * Create the output files
-dnl **************************************************************************
+dnl ----------------------------------------------------------------------------
+dnl -- Shared Object Versioning For libtool
+dnl -- 
+dnl -- The following substitution, HLVM_SO_VERSION defines the version number 
+dnl -- for the libHLVM.so shared object. This version is not the same as the 
+dnl -- HLVM release version! It is dependent on the *ACTUAL* interface (not 
+dnl -- implementation) changes in the shared object. The value of 
+dnl -- HLVM_SO_VERSION is passed to libtool as the --version-info argument. 
+dnl -- Here are the rules for updating these numbers (adapted from libtool 
+dnl -- documentation)
+dnl -- 
+dnl -- 0. CURRENT(C)= current interface version number (of the release)
+dnl --    REVISION(R)= revision of the *impelmentation* of the current interface
+dnl --    AGE(A)= number of prior interface version numbers also supported
+dnl --
+dnl -- 1. Start with version information of `0:0:0'.
+dnl --
+dnl -- 2. Update the version information *only* immediately before a public
+dnl --    release of your software.  More frequent updates are unnecessary,
+dnl --    and only say that the current interface number gets larger faster.
+dnl --
+dnl -- 3. If the library source code has changed at all since the last 
+dnl --    update, then increment REVISION (`C:R:A' becomes `C:r+1:A').
+dnl --
+dnl -- 4. If any interfaces have been added, removed, or changed since the
+dnl --     last update, increment CURRENT, and set REVISION to 0.
+dnl -- 
+dnl -- 5. If any interfaces have been added (only!) since the last public 
+dnl --    release, then increment AGE.
+dnl --
+dnl -- 6. If any interfaces have been removed since the last public 
+dnl --    release, then set AGE to 0.
+dnl ----------------------------------------------------------------------------
+HLVM_SO_CURRENT="0"
+HLVM_SO_REVISION="10"
+HLVM_SO_AGE="0"
+HLVM_SO_VERSION="${HLVM_SO_CURRENT}:${HLVM_SO_REVISION}:${HLVM_SO_AGE}"
+AC_SUBST(HLVM_SO_VERSION)
+AC_SUBST(HLVM_SO_CURRENT)
+AC_SUBST(HLVM_SO_REVISION)
+AC_SUBST(HLVM_SO_AGE)
+
+dnl ----------------------------------------------------------------------------
+dnl --
+dnl -- SECTION 2: Setup The Command Line Arguments For "configure"
+dnl --
+dnl ----------------------------------------------------------------------------
+dnl --
+dnl -- enable-sharedprefix: specifies that the installation prefix is shared 
+dnl -- with other packages and that per-configuration directories should not 
+dnl -- be created
+AC_MSG_CHECKING(whether to install in a shared prefix)
+AC_ARG_ENABLE(sharedprefix, 
+  AS_HELP_STRING([--enable-sharedprefix],
+    [Install in a "--prefix" that is shared. (default=yes)]),
+  [case "${enableval}" in
+    yes) HLVM_SHAREDPREFIX=true;;
+    no)  HLVM_SHAREDPREFIX=false;;
+    *) AC_MSG_ERROR(bad value ${enableval} for --enable-sharedprefix);;
+  esac],HLVM_SHAREDPREFIX=true)
+AC_MSG_RESULT($HLVM_SHAREDPREFIX)
+AC_SUBST(HLVM_SHAREDPREFIX)
+if test "$HLVM_SHAREDPREFIX" = true ; then
+  AC_DEFINE(HLVM_SHAREDPREFIX,[],
+            [Defined if all configurations share the same prefix])
+fi
+
+dnl -- enable-debug: specifies that the build be done with debug settings 
+dnl -- which makes HLVM (potentially) much more verbose, larger, and slower 
+dnl -- (but debuggable)
+AC_MSG_CHECKING(whether to build debug version of HLVM)
+AC_ARG_ENABLE(debug, 
+  AS_HELP_STRING([--enable-debug],
+    [Build with debug settings (slower but debuggable). (default=no)]),
+  [case "${enableval}" in
+   yes) HLVM_DEBUG=true;;
+   no)  HLVM_DEBUG=false;;
+   *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug);;
+  esac],HLVM_DEBUG=false)
+AC_MSG_RESULT($HLVM_DEBUG)
+AC_SUBST(HLVM_DEBUG)
+
+dnl -- enable-optimize: specifies that the build be done top optimize the speed
+dnl -- of the resulting executables and libraries. Debugging generally will be
+dnl -- difficult with this kind of build.
+AC_MSG_CHECKING(whether to optimize compiliation of HLVM)
+AC_ARG_ENABLE(optimize, 
+  AS_HELP_STRING([--enable-optimize],
+    [Optimized build (faster but less debuggable). (default=yes)]),
+  [case "${enableval}" in
+    yes) HLVM_OPTIMIZE=true;;
+    no)  HLVM_OPTIMIZE=false;;
+    *) AC_MSG_ERROR(bad value ${enableval} for --enable-OPTIMIZE);;
+  esac], HLVM_OPTIMIZE=true)
+AC_MSG_RESULT($HLVM_OPTIMIZE)
+AC_SUBST(HLVM_OPTIMIZE)
+
+dnl -- enable-inline: specifies that the build use inline functions or not
+dnl -- inline functions make HLVM much faster but harder to debug
+AC_MSG_CHECKING(whether to use inline functions)
+AC_ARG_ENABLE(INLINE, 
+  AS_HELP_STRING([--enable-inline],
+    [Build with inline functions. (default=yes)]),
+  [case "${enableval}" in
+    yes) HLVM_INLINE=true;;
+    no)  HLVM_INLINE=false;;
+    *) AC_MSG_ERROR(bad value ${enableval} for --enable-inline);;
+  esac],HLVM_INLINE=true)
+AC_MSG_RESULT($HLVM_INLINE)
+AC_SUBST(HLVM_INLINE)
+
+dnl -- enable-assert: specifies that the build use assertion checks
+dnl -- Building with assertions is safer but slower
+AC_MSG_CHECKING(whether to perform assertion checking)
+AC_ARG_ENABLE(ASSERT, 
+  AS_HELP_STRING([--enable-assert],
+    [Build with inline functions. (default=yes)]),
+  [case "${enableval}" in
+    yes) HLVM_ASSERT=true;;
+    no)  HLVM_ASSERT=false;;
+    *) AC_MSG_ERROR(bad value ${enableval} for --enable-assert);;
+  esac],HLVM_ASSERT=true)
+AC_MSG_RESULT($HLVM_ASSERT)
+AC_SUBST(HLVM_ASSERT)
+
+dnl -- enable-trace: specifies that the build permit runtime tracing
+dnl -- This is useful for debugging but will produce MUCH larger executable
+AC_MSG_CHECKING(whether to allow runtime tracing)
+AC_ARG_ENABLE(TRACE, 
+  AS_HELP_STRING([--enable-trace],[Build with tracing support. (default=no)]),
+  [case "${enableval}" in
+    yes) HLVM_TRACE=true;;
+    no)  HLVM_TRACE=false;;
+    *) AC_MSG_ERROR(bad value ${enableval} for --enable-trace);;
+  esac],HLVM_TRACE=false)
+AC_MSG_RESULT($HLVM_TRACE)
+AC_SUBST(HLVM_TRACE)
+
+dnl -- enable-small: specifies that the build should be done to make HLVM 
+dnl -- as small as possible, omitting non-essential features to reduce memory
+dnl -- footprint.
+AC_MSG_CHECKING(whether to build a small version of HLVM)
+AC_ARG_ENABLE(SMALL,
+  AS_HELP_STRING([--enable-small],
+    [Optimize for smaller executable rather than speed. (default=no)]),
+  [case "${enableval}" in
+    yes) HLVM_SMALL=true;;
+    no)  HLVM_SMALL=false;;
+    *) AC_MSG_ERROR(bad value ${enableval} for --enable-small);;
+  esac],HLVM_SMALL=false)
+AC_MSG_RESULT($HLVM_SMALL)
+AC_SUBST(HLVM_SMALL)
+
+dnl -- enable-efence: specifies that Electric Fence should be used for malloc(3)
+dnl -- and related functions to catch memory overrun/underrun errors. When not 
+dnl -- enabled, the standard system malloc(3) is used.
+AC_MSG_CHECKING(whether to use Electric Fence)
+AC_ARG_ENABLE(efence,
+  AS_HELP_STRING([--enable-efence],
+    [Build with Electric Fence support. (default=no)]),
+  [case "${enableval}" in
+    yes) HLVM_EFENCE=true;;
+    no)  HLVM_EFENCE=false;;
+    *)   AC_MSG_ERROR(bad value ${enableval} for --enable-efence);;
+  esac],HLVM_EFENCE=false)
+AC_MSG_RESULT($HLVM_EFENCE)
+AC_SUBST(HLVM_EFENCE)
+
+dnl -- enable-profiling: specifies that the build should create a profiling 
+dnl -- executable. The compiler will be passed the -pg switch so that call 
+dnl -- graph profiles are generated
+AC_MSG_CHECKING(whether to build with profiling enabled)
+AC_ARG_ENABLE(profiling, 
+  AS_HELP_STRING([--enable-profiling],
+    [Build with profiling enabled. (default=no)]),
+  [case "${enableval}" in
+    yes) HLVM_PROFILING=true;;
+    no)  HLVM_PROFILING=false;;
+    *) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling);;
+  esac],HLVM_PROFILING=false)
+AC_MSG_RESULT($HLVM_PROFILING)
+AC_SUBST(HLVM_PROFILING)
+
+dnl -- with-workspace: specifies the location of where workspaces are to be 
+dnl -- stored
+AC_MSG_CHECKING(location of HLVM workspace)
+AC_ARG_WITH(workspace,
+  AS_HELP_STRING([--with-workspace=<dir>],
+    [dir=location of the HLVM workspace storage (default=/opt/hlvm)]),
+  [case "${withval}" in   
+    /*|*/*) HLVM_WITH_WORKSPACE=$withval ;;
+    *) AC_MSG_ERROR(bad value ${withval} for --with-WORKSPACE) ;;
+  esac],[HLVM_WITH_WORKSPACE=/opt/hlvm])
+AC_MSG_RESULT($HLVM_WITH_WORKSPACE)
+AC_SUBST(HLVM_WITH_WORKSPACE)
+
+dnl -- with-expat: specifies the location of the expat library
+AC_MSG_CHECKING(location of expat library)
+AC_ARG_WITH(expat,
+  AS_HELP_STRING([--with-expat=<dir>],
+    [Specify where the expat lbrary is located (default=/usr/local)]),
+  [case "${withval}" in   
+     /*) HLVM_WITH_EXPAT=$withval ;;
+     *) AC_MSG_ERROR(bad value ${withval} for --with-expat) ;;
+  esac],[HLVM_WITH_EXPAT=/usr])
+AC_MSG_RESULT($HLVM_WITH_EXPAT)
+AC_SUBST(HLVM_WITH_EXPAT)
+
+dnl -- with-includes: specifies the location of additional header file dirs
+AC_MSG_CHECKING(location of additional header files)
+AC_ARG_WITH(includes,
+  AS_HELP_STRING([--with-includes=-I<dir>...],
+    [Specify additional header file directories (efault=none)]),
+  [case "${withval}" in   
+     -I/*) HLVM_WITH_INCLUDES=$withval ;;
+     *) AC_MSG_ERROR(bad value ${withval} for --with-includes) ;;
+  esac],[HLVM_WITH_INCLUDES=])
+AC_MSG_RESULT($HLVM_WITH_INCLUDES)
+AC_SUBST(HLVM_WITH_INCLUDES)
+dnl Set up the CPPFLAGS to include the --with places
+CPPFLAGS="-D_REENTRANT -D_GNU_SOURCE $HLVM_WITH_INCLUDES"
+
+dnl -- with-llvm-src: specifies the location of the LLVM header files 
+AC_MSG_CHECKING(location of LLVM source code)
+AC_ARG_WITH(llvm-src,
+  AS_HELP_STRING([--with-llvm-src=<dir>],
+    [dir=the location of LLVM sources (default=/usr)]),
+  [case "${withval}" in 
+    /*|*/*) HLVM_WITH_LLVM_SRC=$withval ;;
+    *) AC_MSG_ERROR(bad value ${withval} for --with-llvm-src) ;;
+  esac],[HLVM_WITH_LLVM_SRC=/usr])
+AC_MSG_RESULT($HLVM_WITH_LLVM_SRC)
+AC_SUBST(HLVM_WITH_LLVM_SRC)
+
+dnl -- with-llvm-obj: specifies the location of the LLVM object files 
+AC_MSG_CHECKING(location of LLVM object code)
+AC_ARG_WITH(llvm-obj,
+  AS_HELP_STRING([--with-llvm-obj=<dir>],
+    [dir=the location of LLVM objects directory (default=/usr)]),
+  [case "${withval}" in   
+    /*|*/*) HLVM_WITH_LLVM_OBJ=$withval ;;
+    *) AC_MSG_ERROR(bad value ${withval} for --with-llvm-obj) ;;
+  esac],[HLVM_WITH_LLVM_OBJ=/usr])
+AC_MSG_RESULT($HLVM_WITH_LLVM_OBJ)
+AC_SUBST(HLVM_WITH_LLVM_OBJ)
+
+dnl -- with-llvm-gcc: specifies the location of the llvm-gcc Compiler
+AC_MSG_CHECKING(location of LLVM GCC compiler)
+AC_ARG_WITH(llvm-gcc,
+  AS_HELP_STRING([--with-llvm-gcc=<dir>],
+   [dir=the location of LLVM's llvm-gcc compiler (default=use normal gcc)]),
+  [case "${withval}" in
+    /*|*/*) HLVM_WITH_LLVMGCC=$withval ;;
+    *) AC_MSG_ERROR(bad value ${withval} for --with-llvmgcc) ;;
+  esac],[HLVM_WITH_LLVMGCC=""])
+AC_MSG_RESULT($HLVM_WITH_LLVMGCC)
+AC_SUBST(HLVM_WITH_LLVMGCC)
+dnl ----------------------------------------------------------------------------
+dnl --
+dnl -- SECTION 3: Check For Programs We Need
+dnl --
+dnl ----------------------------------------------------------------------------
+
+dnl -- Check for the various programs needed for building and installing HLVM
+dnl -- Perl is our choice for utility scripts because of its flexibility and
+dnl -- wide platform support
+AC_PROG_CPP
+AC_PROG_CC(gcc)
+AC_PROG_CXX(g++)
+AC_CHECK_GNU_MAKE
+dnl AC_PATH_PROG(path_EGREP, egrep, egrep)
+dnl AC_PATH_PROG(path_GPERF, gperf, gperf)
+dnl AC_PATH_PROG(path_GPP, g++, g++)
+dnl AC_PATH_PROG(path_GPROF, gprof, gprof)
+dnl AC_PATH_PROG(path_PERL, perl, perl)
+dnl AC_PATH_PROG(path_PKGDATA, pkgdata, pkgdata)
+dnl AC_PATH_PROG(path_SORT, sort, sort)
+dnl AC_PATH_PROG(path_UNIQ, uniq, uniq)
+
+dnl ----------------------------------------------------------------------------
+dnl --
+dnl -- SECTION 4: Check For Needed Libraries
+dnl --
+dnl ----------------------------------------------------------------------------
+
+dnl -- Check for specific libraries we depend on.
+LDFLAGS="-L${HLVM_WITH_LLVM_OBJ}/lib/Debug -L${prefix}/lib -L/usr/local/lib ${LDFLAGS}"
+if test "$HLVM_EFENCE" = true ; then 
+  AC_CHECK_LIB(efence,malloc,,
+               AC_MSG_ERROR(Electric Fence library is required: -lefence) )
+fi
+dnl AC_CACHE_VAL(hlvm_cv_lib_c_ok, 
+dnl     [AC_CHECK_LIB(c,exit,,
+dnl      AC_MSG_ERROR(Standard C Library is required: -lc)) ])
+dnl AC_CACHE_VAL(hlvm_cv_lib_m_ok,
+dnl     [AC_CHECK_LIB(m,floor,,
+dnl      AC_MSG_ERROR(Standard Math Library is required: -lm)) ])
+if test "$HLVM_WITH_EXPAT" = "/usr" ; then
+AC_CACHE_VAL(ac_cv_lib_expat_ok,
+    [AC_CHECK_LIB(expat,XML_Parse,,
+     AC_MSG_ERROR(expat Library is required: -lexpat)) ])
+else
+  if test -r "$HLVM_WITH_EXPAT/libexpat.la" ; then
+    LIBS="$HLVM_WITH_EXPAT/libexpat.la $LIBS"
+  else
+    AC_MSG_ERROR([Can't find libexpat.la])
+  fi
+fi
+
+dnl ----------------------------------------------------------------------------
+dnl --
+dnl -- SECTION 5: Check For Needed Header Files
+dnl --
+dnl ----------------------------------------------------------------------------
+AC_CHECK_HEADERS([apr-1/apr.h expat.h llvm/Module.h])
+
+dnl ----------------------------------------------------------------------------
+dnl --
+dnl -- SECTION 6: HLVM Project specific configuration
+dnl --
+dnl ----------------------------------------------------------------------------
+
+HLVM_CFGNAME=""
+if test "$HLVM_SMALL"    = true ; then HLVM_CFGNAME="${HLVM_CFGNAME}S" ; else
+  HLVM_CFGNAME="${HLVM_CFGNAME}s" ; fi
+if test "$HLVM_TRACE"    = true ; then HLVM_CFGNAME="${HLVM_CFGNAME}T" ; else
+  HLVM_CFGNAME="${HLVM_CFGNAME}t" ; fi
+if test "$HLVM_ASSERT"   = true ; then HLVM_CFGNAME="${HLVM_CFGNAME}A" ; else
+  HLVM_CFGNAME="${HLVM_CFGNAME}a" ; fi
+if test "$HLVM_DEBUG"    = true ; then HLVM_CFGNAME="${HLVM_CFGNAME}D" ; else
+  HLVM_CFGNAME="${HLVM_CFGNAME}d" ; fi
+if test "$HLVM_INLINE"   = true ; then HLVM_CFGNAME="${HLVM_CFGNAME}I" ; else
+  HLVM_CFGNAME="${HLVM_CFGNAME}i" ; fi
+if test "$HLVM_OPTIMIZE" = true ; then HLVM_CFGNAME="${HLVM_CFGNAME}O" ; else
+  HLVM_CFGNAME="${HLVM_CFGNAME}o" ; fi
+AC_SUBST(HLVM_CFGNAME)
+
+if test "$HLVM_SHAREDPREFIX" = false ; then
+  AC_MSG_NOTICE([Configuring For Unique Installation])
+  eval HLVM_PREFIX="${prefix}/${HLVM_CFGNAME}"
+  if test "${exec_prefix}" = "NONE"; then
+    eval HLVM_EXEC_PREFIX="${prefix}/${HLVM_CFGNAME}"
+  else
+    eval HLVM_EXEC_PREFIX="${exec_prefix}/${HLVM_CFGNAME}"
+  fi
+else 
+  AC_MSG_NOTICE([Configuring For Shared Installation: ${HLVM_CFGNAME}])
+  eval HLVM_PREFIX="${prefix}"
+  if test "${exec_prefix}" = "NONE"; then
+    eval HLVM_EXEC_PREFIX="${prefix}"
+  else
+    eval HLVM_EXEC_PREFIX="${exec_prefix}"
+  fi
+fi
+
+dnl Check the --with-* variables for sanity
+dnl if test \! -f "$HLVM_WITH_LLVM_SRC/lib/VMCore/Module.cpp" ; then
+dnl   AC_MSG_ERROR([LLVM sources are not in $HLVM_WITH_LLVM_SRC])
+dnl fi
+dnl if test \! -f "$HLVM_WITH_LLVM_OBJ/Makefile.config" ; then
+dnl   AC_MSG_ERROR([LLVM objects are not in $HLVM_WITH_LLVM_OBJ])
+dnl fi
+
+HLVM_CONFIGTIME=`date`
+AC_SUBST(HLVM_CONFIGTIME)
+HLVM_PREFIX="$prefix"
+AC_SUBST(HLVM_PREFIX)
+
+dnl ----------------------------------------------------------------------------
+dnl --
+dnl -- SECTION 7: Output the configure script and makefiles.
+dnl --
+dnl ----------------------------------------------------------------------------
+
+AC_CONFIG_HEADER([hlvm/Base/Config.h])
+AC_CONFIG_FILES([VERSION Makefile.config docs/Doxyfile])
+AC_CONFIG_FILES([hlvm/Base/ConfigData.cpp])
+AC_CONFIG_MAKEFILE(Makefile)
+AC_CONFIG_MAKEFILE(Makefile.hlvm)
+AC_CONFIG_MAKEFILE(docs/Makefile)
+AC_CONFIG_MAKEFILE(hlvm/Makefile)
+AC_CONFIG_MAKEFILE(tools/Makefile)
+AC_CONFIG_MAKEFILE(test/Makefile)
 
 dnl This must be last
 AC_OUTPUT
+echo ""
+echo "Configuration of HLVM is now finished."
+echo ""

Added: hlvm/trunk/autoconf/install-sh
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/autoconf/install-sh?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/autoconf/install-sh (added)
+++ hlvm/trunk/autoconf/install-sh Sat Jul  7 18:58:30 2007
@@ -0,0 +1,322 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2004-09-10.20
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.  It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+chmodcmd="$chmodprog 0755"
+chowncmd=
+chgrpcmd=
+stripcmd=
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=
+dst=
+dir_arg=
+dstarg=
+no_target_directory=
+
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+-c         (ignored)
+-d         create directories instead of installing files.
+-g GROUP   $chgrpprog installed files to GROUP.
+-m MODE    $chmodprog installed files to MODE.
+-o USER    $chownprog installed files to USER.
+-s         $stripprog installed files.
+-t DIRECTORY  install into DIRECTORY.
+-T         report an error if DSTFILE is a directory.
+--help     display this help and exit.
+--version  display version info and exit.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
+
+while test -n "$1"; do
+  case $1 in
+    -c) shift
+        continue;;
+
+    -d) dir_arg=true
+        shift
+        continue;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+        shift
+        shift
+        continue;;
+
+    --help) echo "$usage"; exit 0;;
+
+    -m) chmodcmd="$chmodprog $2"
+        shift
+        shift
+        continue;;
+
+    -o) chowncmd="$chownprog $2"
+        shift
+        shift
+        continue;;
+
+    -s) stripcmd=$stripprog
+        shift
+        continue;;
+
+    -t) dstarg=$2
+	shift
+	shift
+	continue;;
+
+    -T) no_target_directory=true
+	shift
+	continue;;
+
+    --version) echo "$0 $scriptversion"; exit 0;;
+
+    *)  # When -d is used, all remaining arguments are directories to create.
+	# When -t is used, the destination is already specified.
+	test -n "$dir_arg$dstarg" && break
+        # Otherwise, the last argument is the destination.  Remove it from $@.
+	for arg
+	do
+          if test -n "$dstarg"; then
+	    # $@ is not empty: it contains at least $arg.
+	    set fnord "$@" "$dstarg"
+	    shift # fnord
+	  fi
+	  shift # arg
+	  dstarg=$arg
+	done
+	break;;
+  esac
+done
+
+if test -z "$1"; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src ;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    src=
+
+    if test -d "$dst"; then
+      mkdircmd=:
+      chmodcmd=
+    else
+      mkdircmd=$mkdirprog
+    fi
+  else
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dstarg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dstarg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst ;;
+    esac
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+	echo "$0: $dstarg: Is a directory" >&2
+	exit 1
+      fi
+      dst=$dst/`basename "$src"`
+    fi
+  fi
+
+  # This sed command emulates the dirname command.
+  dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+  # Make sure that the destination directory exists.
+
+  # Skip lots of stat calls in the usual case.
+  if test ! -d "$dstdir"; then
+    defaultIFS='
+	 '
+    IFS="${IFS-$defaultIFS}"
+
+    oIFS=$IFS
+    # Some sh's can't handle IFS=/ for some reason.
+    IFS='%'
+    set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    IFS=$oIFS
+
+    pathcomp=
+
+    while test $# -ne 0 ; do
+      pathcomp=$pathcomp$1
+      shift
+      if test ! -d "$pathcomp"; then
+        $mkdirprog "$pathcomp"
+	# mkdir can fail with a `File exist' error in case several
+	# install-sh are creating the directory concurrently.  This
+	# is OK.
+	test -d "$pathcomp" || exit
+      fi
+      pathcomp=$pathcomp/
+    done
+  fi
+
+  if test -n "$dir_arg"; then
+    $doit $mkdircmd "$dst" \
+      && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+
+  else
+    dstfile=`basename "$dst"`
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+    trap '(exit $?); exit' 1 2 13 15
+
+    # Copy the file name to the temp name.
+    $doit $cpprog "$src" "$dsttmp" &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+
+    # Now rename the file to the real destination.
+    { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
+      || {
+	   # The rename failed, perhaps because mv can't rename something else
+	   # to itself, or perhaps because mv is so ancient that it does not
+	   # support -f.
+
+	   # Now remove or move aside any old file at destination location.
+	   # We try this two ways since rm can't unlink itself on some
+	   # systems and the destination file might be busy for other
+	   # reasons.  In this case, the final cleanup might fail but the new
+	   # file should still install successfully.
+	   {
+	     if test -f "$dstdir/$dstfile"; then
+	       $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+	       || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+	       || {
+		 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+		 (exit 1); exit
+	       }
+	     else
+	       :
+	     fi
+	   } &&
+
+	   # Now rename the file to the real destination.
+	   $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+	 }
+    }
+  fi || { (exit 1); exit; }
+done
+
+# The final little trick to "correctly" pass the exit status to the exit trap.
+{
+  (exit 0); exit
+}
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:

Propchange: hlvm/trunk/autoconf/install-sh

------------------------------------------------------------------------------
    svn:executable = *

Added: hlvm/trunk/autoconf/m4/check_gnu_make.m4
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/autoconf/m4/check_gnu_make.m4?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/autoconf/m4/check_gnu_make.m4 (added)
+++ hlvm/trunk/autoconf/m4/check_gnu_make.m4 Sat Jul  7 18:58:30 2007
@@ -0,0 +1,26 @@
+#
+# Check for GNU Make.  This is originally from
+# http://www.gnu.org/software/ac-archive/htmldoc/check_gnu_make.html
+#
+AC_DEFUN([AC_CHECK_GNU_MAKE],
+[AC_CACHE_CHECK([for GNU make],[llvm_cv_gnu_make_command],
+dnl Search all the common names for GNU make
+[llvm_cv_gnu_make_command=''
+ for a in "$MAKE" make gmake gnumake ; do
+  if test -z "$a" ; then continue ; fi ;
+  if  ( sh -c "$a --version" 2> /dev/null | grep GNU 2>&1 > /dev/null ) 
+  then
+   llvm_cv_gnu_make_command=$a ;
+   break;
+  fi
+ done])
+dnl If there was a GNU version, then set @ifGNUmake@ to the empty string, 
+dnl '#' otherwise
+ if test "x$llvm_cv_gnu_make_command" != "x"  ; then
+   ifGNUmake='' ;
+ else
+   ifGNUmake='#' ;
+   AC_MSG_RESULT("Not found");
+ fi
+ AC_SUBST(ifGNUmake)
+])

Modified: hlvm/trunk/autoconf/m4/config_makefile.m4
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/autoconf/m4/config_makefile.m4?rev=37974&r1=37973&r2=37974&view=diff

==============================================================================
--- hlvm/trunk/autoconf/m4/config_makefile.m4 (original)
+++ hlvm/trunk/autoconf/m4/config_makefile.m4 Sat Jul  7 18:58:30 2007
@@ -3,7 +3,5 @@
 # date.  This macro is unique to LLVM.
 #
 AC_DEFUN([AC_CONFIG_MAKEFILE],
-[AC_CONFIG_COMMANDS($1,
-  [${llvm_src}/autoconf/mkinstalldirs `dirname $1`
-   ${SHELL} ${llvm_src}/autoconf/install-sh -c ${srcdir}/$1 $1])
+[AC_CONFIG_COMMANDS($1,${SHELL} ${srcdir}/autoconf/install-sh -c ${srcdir}/$1 $1,${srcdir}/autoconf/mkinstalldirs `dirname $1`)
 ])

Added: hlvm/trunk/autoconf/m4/find_std_program.m4
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/autoconf/m4/find_std_program.m4?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/autoconf/m4/find_std_program.m4 (added)
+++ hlvm/trunk/autoconf/m4/find_std_program.m4 Sat Jul  7 18:58:30 2007
@@ -0,0 +1,118 @@
+dnl Check for a standard program that has a bin, include and lib directory
+dnl 
+dnl Parameters:
+dnl   $1 - prefix directory to check
+dnl   $2 - program name to check
+dnl   $3 - header file to check 
+dnl   $4 - library file to check 
+AC_DEFUN([CHECK_STD_PROGRAM],
+[m4_define([allcapsname],translit($2,a-z,A-Z))
+if test -n "$1" -a -d "$1" -a -n "$2" -a -d "$1/bin" -a -x "$1/bin/$2" ; then
+  AC_SUBST([USE_]allcapsname(),["USE_]allcapsname()[ = 1"])
+  AC_SUBST(allcapsname(),[$1/bin/$2])
+  AC_SUBST(allcapsname()[_BIN],[$1/bin])
+  AC_SUBST(allcapsname()[_DIR],[$1])
+  if test -n "$3" -a -d "$1/include" -a -f "$1/include/$3" ; then 
+    AC_SUBST(allcapsname()[_INC],[$1/include])
+  fi
+  if test -n "$4" -a -d "$1/lib" -a -f "$1/lib/$4" ; then
+    AC_SUBST(allcapsname()[_LIB],[$1/lib])
+  fi
+fi
+])
+
+dnl Find a program via --with options, in the path, or well known places
+dnl
+dnl Parameters:
+dnl   $1 - program's executable name
+dnl   $2 - header file name to check (optional)
+dnl   $3 - library file name to check (optional)
+dnl   $4 - alternate (long) name for the program
+AC_DEFUN([FIND_STD_PROGRAM],
+[m4_define([allcapsname],translit($1,a-z,A-Z))
+m4_define([stdprog_long_name],ifelse($4,,translit($1,[ !@#$%^&*()-+={}[]:;"',./?],[-]),translit($4,[ !@#$%^&*()-+={}[]:;"',./?],[-])))
+AC_MSG_CHECKING([for ]stdprog_long_name()[ bin/lib/include locations])
+AC_ARG_WITH($1,
+  AS_HELP_STRING([--with-]stdprog_long_name()[=DIR],
+  [Specify that the ]stdprog_long_name()[ install prefix is DIR]),
+  $1[pfxdir=$withval],$1[pfxdir=nada])
+AC_ARG_WITH($1[-bin],
+  AS_HELP_STRING([--with-]stdprog_long_name()[-bin=DIR],
+  [Specify that the ]stdprog_long_name()[ binary is in DIR]),
+    $1[bindir=$withval],$1[bindir=nada])
+AC_ARG_WITH($1[-lib],
+  AS_HELP_STRING([--with-]stdprog_long_name()[-lib=DIR],
+  [Specify that ]stdprog_long_name()[ libraries are in DIR]),
+  $1[libdir=$withval],$1[libdir=nada])
+AC_ARG_WITH($1[-inc],
+  AS_HELP_STRING([--with-]stdprog_long_name()[-inc=DIR],
+  [Specify that the ]stdprog_long_name()[ includes are in DIR]),
+  $1[incdir=$withval],$1[incdir=nada])
+eval pfxval=\$\{$1pfxdir\}
+eval binval=\$\{$1bindir\}
+eval incval=\$\{$1incdir\}
+eval libvar=\$\{$1libdir\}
+if test "${pfxval}" != "nada" ; then
+  CHECK_STD_PROGRAM(${pfxval},$1,$2,$3)
+elif test "${binval}" != "nada" ; then
+  if test "${libval}" != "nada" ; then
+    if test "${incval}" != "nada" ; then
+      if test -d "${binval}" ; then
+        if test -d "${incval}" ; then
+          if test -d "${libval}" ; then
+            AC_SUBST(allcapsname(),${binval}/$1)
+            AC_SUBST(allcapsname()[_BIN],${binval})
+            AC_SUBST(allcapsname()[_INC],${incval})
+            AC_SUBST(allcapsname()[_LIB],${libval})
+            AC_SUBST([USE_]allcapsname(),[1])
+            AC_MSG_RESULT([found via --with options])
+          else
+            AC_MSG_RESULT([failed])
+            AC_MSG_ERROR([The --with-]$1[-libdir value must be a directory])
+          fi
+        else
+          AC_MSG_RESULT([failed])
+          AC_MSG_ERROR([The --with-]$1[-incdir value must be a directory])
+        fi
+      else
+        AC_MSG_RESULT([failed])
+        AC_MSG_ERROR([The --with-]$1[-bindir value must be a directory])
+      fi
+    else
+      AC_MSG_RESULT([failed])
+      AC_MSG_ERROR([The --with-]$1[-incdir option must be specified])
+    fi
+  else
+    AC_MSG_RESULT([failed])
+    AC_MSG_ERROR([The --with-]$1[-libdir option must be specified])
+  fi
+else
+  tmppfxdir=`which $1 2>&1`
+  if test -n "$tmppfxdir" -a -d "${tmppfxdir%*$1}" -a \
+          -d "${tmppfxdir%*$1}/.." ; then
+    tmppfxdir=`cd "${tmppfxdir%*$1}/.." ; pwd`
+    CHECK_STD_PROGRAM($tmppfxdir,$1,$2,$3)
+    AC_MSG_RESULT([found in PATH at ]$tmppfxdir)
+  else
+    checkresult="yes"
+    eval checkval=\$\{"USE_"allcapsname()\}
+    CHECK_STD_PROGRAM([/usr],$1,$2,$3)
+    if test -z "${checkval}" ; then
+      CHECK_STD_PROGRAM([/usr/local],$1,$2,$3)
+      if test -z "${checkval}" ; then
+        CHECK_STD_PROGRAM([/sw],$1,$2,$3)
+        if test -z "${checkval}" ; then
+          CHECK_STD_PROGRAM([/opt],$1,$2,$3)
+          if test -z "${checkval}" ; then
+            CHECK_STD_PROGRAM([/],$1,$2,$3)
+            if test -z "${checkval}" ; then
+              checkresult="no"
+            fi
+          fi
+        fi
+      fi
+    fi
+    AC_MSG_RESULT($checkresult)
+  fi
+fi
+])

Added: hlvm/trunk/autoconf/m4/path_perl.m4
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/autoconf/m4/path_perl.m4?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/autoconf/m4/path_perl.m4 (added)
+++ hlvm/trunk/autoconf/m4/path_perl.m4 Sat Jul  7 18:58:30 2007
@@ -0,0 +1,16 @@
+dnl Check for a reasonable version of Perl.
+dnl   $1 - Minimum Perl version.  Typically 5.006.
+dnl 
+AC_DEFUN([LLVM_PROG_PERL], [
+AC_PATH_PROG(PERL, [perl], [none])
+if test "$PERL" != "none"; then
+  AC_MSG_CHECKING(for Perl $1 or newer)
+  if $PERL -e 'use $1;' 2>&1 > /dev/null; then
+    AC_MSG_RESULT(yes)
+  else
+    PERL=none
+    AC_MSG_RESULT(not found)
+  fi
+fi
+])
+

Added: hlvm/trunk/autoconf/missing
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/autoconf/missing?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/autoconf/missing (added)
+++ hlvm/trunk/autoconf/missing Sat Jul  7 18:58:30 2007
@@ -0,0 +1,353 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2004-09-07.08
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004
+#   Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
+
+# 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.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case "$1" in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake at gnu.org>."
+    exit 0
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit 0
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case "$1" in
+  lex|yacc)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case "$f" in
+      *:*) touch_files="$touch_files "`echo "$f" |
+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+	   sed 's/\.am$/.in/' |
+	   while read f; do touch "$f"; done
+    ;;
+
+  autom4te)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo "#! /bin/sh"
+	echo "# Created by GNU Automake missing as a replacement of"
+	echo "#  $ $@"
+	echo "exit 0"
+	chmod +x $file
+	exit 1
+    fi
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.y)
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.c
+	    fi
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.h
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f y.tab.h ]; then
+	echo >y.tab.h
+    fi
+    if [ ! -f y.tab.c ]; then
+	echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.l)
+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" lex.yy.c
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f lex.yy.c ]; then
+	echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+	 you modified a dependency of a manual page.  You may need the
+	 \`Help2man' package in order for those modifications to take
+	 effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+    fi
+    if [ -f "$file" ]; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo ".ab help2man is required to generate this page"
+	exit 1
+    fi
+    ;;
+
+  makeinfo)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+    fi
+    touch $file
+    ;;
+
+  tar)
+    shift
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+	case "$firstarg" in
+	*o*)
+	    firstarg=`echo "$firstarg" | sed s/o//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+	case "$firstarg" in
+	*h*)
+	    firstarg=`echo "$firstarg" | sed s/h//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:

Propchange: hlvm/trunk/autoconf/missing

------------------------------------------------------------------------------
    svn:executable = *

Added: hlvm/trunk/autoconf/mkinstalldirs
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/autoconf/mkinstalldirs?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/autoconf/mkinstalldirs (added)
+++ hlvm/trunk/autoconf/mkinstalldirs Sat Jul  7 18:58:30 2007
@@ -0,0 +1,150 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+
+scriptversion=2004-02-15.20
+
+# Original author: Noah Friedman <friedman at prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain.
+#
+# This file is maintained in Automake, please report
+# bugs to <bug-automake at gnu.org> or send patches to
+# <automake-patches at gnu.org>.
+
+errstatus=0
+dirmode=""
+
+usage="\
+Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
+
+Create each directory DIR (with mode MODE, if specified), including all
+leading file name components.
+
+Report bugs to <bug-automake at gnu.org>."
+
+# process command line arguments
+while test $# -gt 0 ; do
+  case $1 in
+    -h | --help | --h*)         # -h for help
+      echo "$usage"
+      exit 0
+      ;;
+    -m)                         # -m PERM arg
+      shift
+      test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+      dirmode=$1
+      shift
+      ;;
+    --version)
+      echo "$0 $scriptversion"
+      exit 0
+      ;;
+    --)                         # stop option processing
+      shift
+      break
+      ;;
+    -*)                         # unknown option
+      echo "$usage" 1>&2
+      exit 1
+      ;;
+    *)                          # first non-opt arg
+      break
+      ;;
+  esac
+done
+
+for file
+do
+  if test -d "$file"; then
+    shift
+  else
+    break
+  fi
+done
+
+case $# in
+  0) exit 0 ;;
+esac
+
+# Solaris 8's mkdir -p isn't thread-safe.  If you mkdir -p a/b and
+# mkdir -p a/c at the same time, both will detect that a is missing,
+# one will create a, then the other will try to create a and die with
+# a "File exists" error.  This is a problem when calling mkinstalldirs
+# from a parallel make.  We use --version in the probe to restrict
+# ourselves to GNU mkdir, which is thread-safe.
+case $dirmode in
+  '')
+    if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+      # echo "mkdir -p -- $*"
+      exec mkdir -p -- "$@"
+    else
+      # On NextStep and OpenStep, the `mkdir' command does not
+      # recognize any option.  It will interpret all options as
+      # directories to create, and then abort because `.' already
+      # exists.
+      test -d ./-p && rmdir ./-p
+      test -d ./--version && rmdir ./--version
+    fi
+    ;;
+  *)
+    if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
+       test ! -d ./--version; then
+      # echo "mkdir -m $dirmode -p -- $*"
+      exec mkdir -m "$dirmode" -p -- "$@"
+    else
+      # Clean up after NextStep and OpenStep mkdir.
+      for d in ./-m ./-p ./--version "./$dirmode";
+      do
+        test -d $d && rmdir $d
+      done
+    fi
+    ;;
+esac
+
+for file
+do
+  set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+  shift
+
+  pathcomp=
+  for d
+  do
+    pathcomp="$pathcomp$d"
+    case $pathcomp in
+      -*) pathcomp=./$pathcomp ;;
+    esac
+
+    if test ! -d "$pathcomp"; then
+      # echo "mkdir $pathcomp"
+
+      mkdir "$pathcomp" || lasterr=$?
+
+      if test ! -d "$pathcomp"; then
+	errstatus=$lasterr
+      else
+	if test ! -z "$dirmode"; then
+	  # echo "chmod $dirmode $pathcomp"
+	  lasterr=""
+	  chmod "$dirmode" "$pathcomp" || lasterr=$?
+
+	  if test ! -z "$lasterr"; then
+	    errstatus=$lasterr
+	  fi
+	fi
+      fi
+    fi
+
+    pathcomp="$pathcomp/"
+  done
+done
+
+exit $errstatus
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:

Propchange: hlvm/trunk/autoconf/mkinstalldirs

------------------------------------------------------------------------------
    svn:executable = *

Modified: hlvm/trunk/configure
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/configure?rev=37974&r1=37973&r2=37974&view=diff

==============================================================================
--- hlvm/trunk/configure (original)
+++ hlvm/trunk/configure Sat Jul  7 18:58:30 2007
@@ -1,6 +1,7 @@
 #! /bin/sh
+# From configure.ac Id.
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for [HLVM] [0.1svn].
+# Generated by GNU Autoconf 2.59 for High Level Virtual Machine 0.1svn.
 #
 # Report bugs to <hlvm-dev at hlvm.org>.
 #
@@ -8,7 +9,7 @@
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
 #
-
+# $HLVM_COPYRIGHT
 ## --------------------- ##
 ## M4sh Initialization.  ##
 ## --------------------- ##
@@ -269,14 +270,52 @@
 : ${ac_max_here_lines=38}
 
 # Identity of this package.
-PACKAGE_NAME='[HLVM]'
-PACKAGE_TARNAME='--hlvm--'
-PACKAGE_VERSION='[0.1svn]'
-PACKAGE_STRING='[HLVM] [0.1svn]'
+PACKAGE_NAME='High Level Virtual Machine'
+PACKAGE_TARNAME='HLVM'
+PACKAGE_VERSION='0.1svn'
+PACKAGE_STRING='High Level Virtual Machine 0.1svn'
 PACKAGE_BUGREPORT='hlvm-dev at hlvm.org'
 
-ac_unique_file=""lib/Makefile""
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS HLVM_COPYRIGHT USE_LLC LLC LLC_BIN LLC_DIR LLC_INC LLC_LIB USE_  _BIN _DIR _INC _LIB LIBOBJS LTLIBOBJS'
+ac_unique_file="hlvm/AST/Bundle.h"
+ac_default_prefix=/usr/local/hlvm
+# 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"
+
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS HLVM_COPYRIGHT HLVM_PACKAGE HLVM_VERSION USE_  _BIN _DIR _INC _LIB HLVM_SO_VERSION HLVM_SO_CURRENT HLVM_SO_REVISION HLVM_SO_AGE HLVM_SHAREDPREFIX HLVM_DEBUG HLVM_OPTIMIZE HLVM_INLINE HLVM_ASSERT HLVM_TRACE HLVM_SMALL HLVM_EFENCE HLVM_PROFILING HLVM_WITH_WORKSPACE HLVM_WITH_EXPAT HLVM_WITH_INCLUDES HLVM_WITH_LLVM_SRC HLVM_WITH_LLVM_OBJ HLVM_WITH_LLVMGCC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP CXX CXXFLAGS ac_ct_CXX ifGNUmake EGREP HLVM_CFGNAME HLVM_CONFIGTIME HLVM_PREFIX LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -717,6 +756,34 @@
 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_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_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_CPP_set=${CPP+set}
+ac_env_CPP_value=$CPP
+ac_cv_env_CPP_set=${CPP+set}
+ac_cv_env_CPP_value=$CPP
+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
 
 #
 # Report the --help message.
@@ -725,7 +792,7 @@
   # 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 [HLVM] [0.1svn] to adapt to many kinds of systems.
+\`configure' configures High Level Virtual Machine 0.1svn to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -782,21 +849,30 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of [HLVM] [0.1svn]:";;
+     short | recursive ) echo "Configuration of High Level Virtual Machine 0.1svn:";;
    esac
   cat <<\_ACEOF
 
+Optional Features:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-sharedprefix   Install in a "--prefix" that is shared.
+                          (default=yes)
+  --enable-debug          Build with debug settings (slower but debuggable).
+                          (default=no)
+  --enable-optimize       Optimized build (faster but less debuggable).
+                          (default=yes)
+  --enable-inline         Build with inline functions. (default=yes)
+  --enable-assert         Build with inline functions. (default=yes)
+  --enable-trace          Build with tracing support. (default=no)
+  --enable-small          Optimize for smaller executable rather than speed.
+                          (default=no)
+  --enable-efence         Build with Electric Fence support. (default=no)
+  --enable-profiling      Build with profiling enabled. (default=no)
+
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-LLVM=DIR         Specify that the Low Level Virtual Machine install
-                          prefix is DIR
-  --with-LLVM-bin=DIR     Specify that the Low Level Virtual Machine binary is
-                          in DIR
-  --with-LLVM-lib=DIR     Specify that Low Level Virtual Machine libraries are
-                          in DIR
-  --with-LLVM-inc=DIR     Specify that the Low Level Virtual Machine includes
-                          are in DIR
   --with-APR=DIR          Specify that the Apache Portable Runtime install
                           prefix is DIR
   --with-APR-bin=DIR      Specify that the Apache Portable Runtime binary is
@@ -805,6 +881,32 @@
                           in DIR
   --with-APR-inc=DIR      Specify that the Apache Portable Runtime includes
                           are in DIR
+  --with-workspace=<dir>  dir=location of the HLVM workspace storage
+                          (default=/opt/hlvm)
+  --with-expat=<dir>      Specify where the expat lbrary is located
+                          (default=/usr/local)
+  --with-includes=-I<dir>...
+                          Specify additional header file directories
+                          (efault=none)
+  --with-llvm-src=<dir>   dir=the location of LLVM sources (default=/usr)
+  --with-llvm-obj=<dir>   dir=the location of LLVM objects directory
+                          (default=/usr)
+  --with-llvm-gcc=<dir>   dir=the location of LLVM's llvm-gcc compiler
+                          (default=use normal gcc)
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      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>
+  CPP         C preprocessor
+  CXX         C++ compiler command
+  CXXFLAGS    C++ compiler flags
+
+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 <hlvm-dev at hlvm.org>.
 _ACEOF
@@ -902,14 +1004,14 @@
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-[HLVM] configure [0.1svn]
+High Level Virtual Machine configure 0.1svn
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 
-
+$HLVM_COPYRIGHT
 _ACEOF
   exit 0
 fi
@@ -918,7 +1020,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by [HLVM] $as_me [0.1svn], which was
+It was created by High Level Virtual Machine $as_me 0.1svn, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1254,282 +1356,19 @@
 
 
 
-HLVM_COPYRIGHT="Copyright (c) 2006 HLVM Programmer's Group"
-
-Copyright (c) 2006 HLVM Programmer's Group)
-
-
-          ac_config_files="$ac_config_files Makefile.common"
-
-
-          ac_config_commands="$ac_config_commands Makefile"
-
-
-          ac_config_commands="$ac_config_commands lib/Makefile"
-
-
-          ac_config_commands="$ac_config_commands tools/Makefile"
-
-
-
-
-echo "$as_me:$LINENO: checking for Low Level Virtual Machine bin/lib/include locations" >&5
-echo $ECHO_N "checking for Low Level Virtual Machine bin/lib/include locations... $ECHO_C" >&6
-
-# Check whether --with-LLVM or --without-LLVM was given.
-if test "${with_LLVM+set}" = set; then
-  withval="$with_LLVM"
-  llvmpfxdir=$withval
-else
-  llvmpfxdir=nada
-fi;
-
-# Check whether --with-LLVM-bin or --without-LLVM-bin was given.
-if test "${with_LLVM_bin+set}" = set; then
-  withval="$with_LLVM_bin"
-  llvmbindir=$withval
-else
-  llvmbindir=nada
-fi;
-
-# Check whether --with-LLVM-lib or --without-LLVM-lib was given.
-if test "${with_LLVM_lib+set}" = set; then
-  withval="$with_LLVM_lib"
-  llvmlibdir=$withval
-else
-  llvmlibdir=nada
-fi;
-
-# Check whether --with-LLVM-inc or --without-LLVM-inc was given.
-if test "${with_LLVM_inc+set}" = set; then
-  withval="$with_LLVM_inc"
-  llvmincdir=$withval
-else
-  llvmincdir=nada
-fi;
-eval pfxval=\$\{llvmpfxdir\}
-eval binval=\$\{llvmbindir\}
-eval incval=\$\{llvmincdir\}
-eval libvar=\$\{llvmlibdir\}
-if test "${pfxval}" != "nada" ; then
-
-if test -n "${pfxval}" -a -d "${pfxval}" -a -n "llc" -a -d "${pfxval}/bin" -a -x "${pfxval}/bin/llc" ; then
-  USE_LLC="USE_LLC = 1"
-
-  LLC=${pfxval}/bin/llc
-
-  LLC_BIN=${pfxval}/bin
-
-  LLC_DIR=${pfxval}
-
-  if test -n "llvm/Module.h" -a -d "${pfxval}/include" -a -f "${pfxval}/include/llvm/Module.h" ; then
-    LLC_INC=${pfxval}/include
-
-  fi
-  if test -n "LLVMCore.o" -a -d "${pfxval}/lib" -a -f "${pfxval}/lib/LLVMCore.o" ; then
-    LLC_LIB=${pfxval}/lib
-
-  fi
-fi
-
-elif test "${binval}" != "nada" ; then
-  if test "${libval}" != "nada" ; then
-    if test "${incval}" != "nada" ; then
-      if test -d "${binval}" ; then
-        if test -d "${incval}" ; then
-          if test -d "${libval}" ; then
-            LLC=${binval}/llvm
-
-            LLC_BIN=${binval}
-
-            LLC_INC=${incval}
-
-            LLC_LIB=${libval}
-
-            USE_LLC=1
-
-            echo "$as_me:$LINENO: result: found via --with options" >&5
-echo "${ECHO_T}found via --with options" >&6
-          else
-            echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
-            { { echo "$as_me:$LINENO: error: The --with-llvm-libdir value must be a directory" >&5
-echo "$as_me: error: The --with-llvm-libdir value must be a directory" >&2;}
-   { (exit 1); exit 1; }; }
-          fi
-        else
-          echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
-          { { echo "$as_me:$LINENO: error: The --with-llvm-incdir value must be a directory" >&5
-echo "$as_me: error: The --with-llvm-incdir value must be a directory" >&2;}
-   { (exit 1); exit 1; }; }
-        fi
-      else
-        echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
-        { { echo "$as_me:$LINENO: error: The --with-llvm-bindir value must be a directory" >&5
-echo "$as_me: error: The --with-llvm-bindir value must be a directory" >&2;}
-   { (exit 1); exit 1; }; }
-      fi
-    else
-      echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
-      { { echo "$as_me:$LINENO: error: The --with-llvm-incdir option must be specified" >&5
-echo "$as_me: error: The --with-llvm-incdir option must be specified" >&2;}
-   { (exit 1); exit 1; }; }
-    fi
-  else
-    echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6
-    { { echo "$as_me:$LINENO: error: The --with-llvm-libdir option must be specified" >&5
-echo "$as_me: error: The --with-llvm-libdir option must be specified" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-else
-  tmppfxdir=`which llvm 2>&1`
-  if test -n "$tmppfxdir" -a -d "${tmppfxdir%*llvm}" -a \
-          -d "${tmppfxdir%*llvm}/.." ; then
-    tmppfxdir=`cd "${tmppfxdir%*llvm}/.." ; pwd`
-
-if test -n "$tmppfxdir" -a -d "$tmppfxdir" -a -n "llc" -a -d "$tmppfxdir/bin" -a -x "$tmppfxdir/bin/llc" ; then
-  USE_LLC="USE_LLC = 1"
-
-  LLC=$tmppfxdir/bin/llc
-
-  LLC_BIN=$tmppfxdir/bin
-
-  LLC_DIR=$tmppfxdir
-
-  if test -n "llvm/Module.h" -a -d "$tmppfxdir/include" -a -f "$tmppfxdir/include/llvm/Module.h" ; then
-    LLC_INC=$tmppfxdir/include
-
-  fi
-  if test -n "LLVMCore.o" -a -d "$tmppfxdir/lib" -a -f "$tmppfxdir/lib/LLVMCore.o" ; then
-    LLC_LIB=$tmppfxdir/lib
-
-  fi
-fi
-
-    echo "$as_me:$LINENO: result: found in PATH at $tmppfxdir" >&5
-echo "${ECHO_T}found in PATH at $tmppfxdir" >&6
-  else
-    checkresult="yes"
-    eval checkval=\$\{"USE_"LLC\}
-
-if test -n "/usr" -a -d "/usr" -a -n "llc" -a -d "/usr/bin" -a -x "/usr/bin/llc" ; then
-  USE_LLC="USE_LLC = 1"
-
-  LLC=/usr/bin/llc
-
-  LLC_BIN=/usr/bin
-
-  LLC_DIR=/usr
-
-  if test -n "llvm/Module.h" -a -d "/usr/include" -a -f "/usr/include/llvm/Module.h" ; then
-    LLC_INC=/usr/include
-
-  fi
-  if test -n "LLVMCore.o" -a -d "/usr/lib" -a -f "/usr/lib/LLVMCore.o" ; then
-    LLC_LIB=/usr/lib
-
-  fi
-fi
-
-    if test -z "${checkval}" ; then
-
-if test -n "/usr/local" -a -d "/usr/local" -a -n "llc" -a -d "/usr/local/bin" -a -x "/usr/local/bin/llc" ; then
-  USE_LLC="USE_LLC = 1"
-
-  LLC=/usr/local/bin/llc
-
-  LLC_BIN=/usr/local/bin
-
-  LLC_DIR=/usr/local
-
-  if test -n "llvm/Module.h" -a -d "/usr/local/include" -a -f "/usr/local/include/llvm/Module.h" ; then
-    LLC_INC=/usr/local/include
-
-  fi
-  if test -n "LLVMCore.o" -a -d "/usr/local/lib" -a -f "/usr/local/lib/LLVMCore.o" ; then
-    LLC_LIB=/usr/local/lib
-
-  fi
-fi
-
-      if test -z "${checkval}" ; then
-
-if test -n "/sw" -a -d "/sw" -a -n "llc" -a -d "/sw/bin" -a -x "/sw/bin/llc" ; then
-  USE_LLC="USE_LLC = 1"
-
-  LLC=/sw/bin/llc
-
-  LLC_BIN=/sw/bin
-
-  LLC_DIR=/sw
-
-  if test -n "llvm/Module.h" -a -d "/sw/include" -a -f "/sw/include/llvm/Module.h" ; then
-    LLC_INC=/sw/include
-
-  fi
-  if test -n "LLVMCore.o" -a -d "/sw/lib" -a -f "/sw/lib/LLVMCore.o" ; then
-    LLC_LIB=/sw/lib
-
-  fi
-fi
-
-        if test -z "${checkval}" ; then
-
-if test -n "/opt" -a -d "/opt" -a -n "llc" -a -d "/opt/bin" -a -x "/opt/bin/llc" ; then
-  USE_LLC="USE_LLC = 1"
-
-  LLC=/opt/bin/llc
-
-  LLC_BIN=/opt/bin
-
-  LLC_DIR=/opt
-
-  if test -n "llvm/Module.h" -a -d "/opt/include" -a -f "/opt/include/llvm/Module.h" ; then
-    LLC_INC=/opt/include
-
-  fi
-  if test -n "LLVMCore.o" -a -d "/opt/lib" -a -f "/opt/lib/LLVMCore.o" ; then
-    LLC_LIB=/opt/lib
 
-  fi
-fi
+HLVM_COPYRIGHT="Coyright (c) 2006 HLVM Group"
 
-          if test -z "${checkval}" ; then
 
-if test -n "/" -a -d "/" -a -n "llc" -a -d "//bin" -a -x "//bin/llc" ; then
-  USE_LLC="USE_LLC = 1"
 
-  LLC=//bin/llc
 
-  LLC_BIN=//bin
 
-  LLC_DIR=/
+HLVM_VERSION="${PACKAGE_VERSION}"
+HLVM_PACKAGE=$PACKAGE
 
-  if test -n "llvm/Module.h" -a -d "//include" -a -f "//include/llvm/Module.h" ; then
-    LLC_INC=//include
 
-  fi
-  if test -n "LLVMCore.o" -a -d "//lib" -a -f "//lib/LLVMCore.o" ; then
-    LLC_LIB=//lib
 
-  fi
-fi
 
-            if test -z "${checkval}" ; then
-              checkresult="no"
-            fi
-          fi
-        fi
-      fi
-    fi
-    echo "$as_me:$LINENO: result: $checkresult" >&5
-echo "${ECHO_T}$checkresult" >&6
-  fi
-fi
 
 
 echo "$as_me:$LINENO: checking for Apache Portable Runtime bin/lib/include locations" >&5
@@ -1791,131 +1630,3104 @@
 fi
 
 
+HLVM_SO_CURRENT="0"
+HLVM_SO_REVISION="10"
+HLVM_SO_AGE="0"
+HLVM_SO_VERSION="${HLVM_SO_CURRENT}:${HLVM_SO_REVISION}:${HLVM_SO_AGE}"
 
 
 
 
 
+echo "$as_me:$LINENO: checking whether to install in a shared prefix" >&5
+echo $ECHO_N "checking whether to install in a shared prefix... $ECHO_C" >&6
+# Check whether --enable-sharedprefix or --disable-sharedprefix was given.
+if test "${enable_sharedprefix+set}" = set; then
+  enableval="$enable_sharedprefix"
+  case "${enableval}" in
+    yes) HLVM_SHAREDPREFIX=true;;
+    no)  HLVM_SHAREDPREFIX=false;;
+    *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-sharedprefix" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-sharedprefix" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+else
+  HLVM_SHAREDPREFIX=true
+fi;
+echo "$as_me:$LINENO: result: $HLVM_SHAREDPREFIX" >&5
+echo "${ECHO_T}$HLVM_SHAREDPREFIX" >&6
 
+if test "$HLVM_SHAREDPREFIX" = true ; then
 
-
-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 overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
+cat >>confdefs.h <<\_ACEOF
+#define HLVM_SHAREDPREFIX
 _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 diff $cache_file confcache >/dev/null 2>&1; 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}'
+echo "$as_me:$LINENO: checking whether to build debug version of HLVM" >&5
+echo $ECHO_N "checking whether to build debug version of HLVM... $ECHO_C" >&6
+# Check whether --enable-debug or --disable-debug was given.
+if test "${enable_debug+set}" = set; then
+  enableval="$enable_debug"
+  case "${enableval}" in
+   yes) HLVM_DEBUG=true;;
+   no)  HLVM_DEBUG=false;;
+   *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-debug" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-debug" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+else
+  HLVM_DEBUG=false
+fi;
+echo "$as_me:$LINENO: result: $HLVM_DEBUG" >&5
+echo "${ECHO_T}$HLVM_DEBUG" >&6
 
-# 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
 
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then we branch to the quote section.  Otherwise,
-# look for a macro that doesn't take arguments.
-cat >confdef2opt.sed <<\_ACEOF
-t clear
-: clear
-s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\),-D\1=\2,g
-t quote
-s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\),-D\1=\2,g
-t quote
-d
-: quote
-s,[	 `~#$^&*(){}\\|;'"<>?],\\&,g
-s,\[,\\&,g
-s,\],\\&,g
-s,\$,$$,g
-p
-_ACEOF
-# We use echo to avoid assuming a particular line-breaking character.
-# The extra dot is to prevent the shell from consuming trailing
-# line-breaks from the sub-command output.  A line-break within
-# single-quotes doesn't work because, if this script is created in a
-# platform that uses two characters for line-breaks (e.g., DOS), tr
-# would break.
-ac_LF_and_DOT=`echo; echo .`
-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
-rm -f confdef2opt.sed
+echo "$as_me:$LINENO: checking whether to optimize compiliation of HLVM" >&5
+echo $ECHO_N "checking whether to optimize compiliation of HLVM... $ECHO_C" >&6
+# Check whether --enable-optimize or --disable-optimize was given.
+if test "${enable_optimize+set}" = set; then
+  enableval="$enable_optimize"
+  case "${enableval}" in
+    yes) HLVM_OPTIMIZE=true;;
+    no)  HLVM_OPTIMIZE=false;;
+    *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-OPTIMIZE" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-OPTIMIZE" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+else
+  HLVM_OPTIMIZE=true
+fi;
+echo "$as_me:$LINENO: result: $HLVM_OPTIMIZE" >&5
+echo "${ECHO_T}$HLVM_OPTIMIZE" >&6
 
 
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_i=`echo "$ac_i" |
-	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
-  # 2. Add them.
-  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
-done
+echo "$as_me:$LINENO: checking whether to use inline functions" >&5
+echo $ECHO_N "checking whether to use inline functions... $ECHO_C" >&6
+# Check whether --enable-INLINE or --disable-INLINE was given.
+if test "${enable_INLINE+set}" = set; then
+  enableval="$enable_INLINE"
+  case "${enableval}" in
+    yes) HLVM_INLINE=true;;
+    no)  HLVM_INLINE=false;;
+    *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-inline" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-inline" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+else
+  HLVM_INLINE=true
+fi;
+echo "$as_me:$LINENO: result: $HLVM_INLINE" >&5
+echo "${ECHO_T}$HLVM_INLINE" >&6
+
+
+echo "$as_me:$LINENO: checking whether to perform assertion checking" >&5
+echo $ECHO_N "checking whether to perform assertion checking... $ECHO_C" >&6
+# Check whether --enable-ASSERT or --disable-ASSERT was given.
+if test "${enable_ASSERT+set}" = set; then
+  enableval="$enable_ASSERT"
+  case "${enableval}" in
+    yes) HLVM_ASSERT=true;;
+    no)  HLVM_ASSERT=false;;
+    *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-assert" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-assert" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+else
+  HLVM_ASSERT=true
+fi;
+echo "$as_me:$LINENO: result: $HLVM_ASSERT" >&5
+echo "${ECHO_T}$HLVM_ASSERT" >&6
+
+
+echo "$as_me:$LINENO: checking whether to allow runtime tracing" >&5
+echo $ECHO_N "checking whether to allow runtime tracing... $ECHO_C" >&6
+# Check whether --enable-TRACE or --disable-TRACE was given.
+if test "${enable_TRACE+set}" = set; then
+  enableval="$enable_TRACE"
+  case "${enableval}" in
+    yes) HLVM_TRACE=true;;
+    no)  HLVM_TRACE=false;;
+    *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-trace" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-trace" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+else
+  HLVM_TRACE=false
+fi;
+echo "$as_me:$LINENO: result: $HLVM_TRACE" >&5
+echo "${ECHO_T}$HLVM_TRACE" >&6
+
+
+echo "$as_me:$LINENO: checking whether to build a small version of HLVM" >&5
+echo $ECHO_N "checking whether to build a small version of HLVM... $ECHO_C" >&6
+# Check whether --enable-SMALL or --disable-SMALL was given.
+if test "${enable_SMALL+set}" = set; then
+  enableval="$enable_SMALL"
+  case "${enableval}" in
+    yes) HLVM_SMALL=true;;
+    no)  HLVM_SMALL=false;;
+    *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-small" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-small" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+else
+  HLVM_SMALL=false
+fi;
+echo "$as_me:$LINENO: result: $HLVM_SMALL" >&5
+echo "${ECHO_T}$HLVM_SMALL" >&6
+
+
+echo "$as_me:$LINENO: checking whether to use Electric Fence" >&5
+echo $ECHO_N "checking whether to use Electric Fence... $ECHO_C" >&6
+# Check whether --enable-efence or --disable-efence was given.
+if test "${enable_efence+set}" = set; then
+  enableval="$enable_efence"
+  case "${enableval}" in
+    yes) HLVM_EFENCE=true;;
+    no)  HLVM_EFENCE=false;;
+    *)   { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-efence" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-efence" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+else
+  HLVM_EFENCE=false
+fi;
+echo "$as_me:$LINENO: result: $HLVM_EFENCE" >&5
+echo "${ECHO_T}$HLVM_EFENCE" >&6
+
+
+echo "$as_me:$LINENO: checking whether to build with profiling enabled" >&5
+echo $ECHO_N "checking whether to build with profiling enabled... $ECHO_C" >&6
+# Check whether --enable-profiling or --disable-profiling was given.
+if test "${enable_profiling+set}" = set; then
+  enableval="$enable_profiling"
+  case "${enableval}" in
+    yes) HLVM_PROFILING=true;;
+    no)  HLVM_PROFILING=false;;
+    *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-profiling" >&5
+echo "$as_me: error: bad value ${enableval} for --enable-profiling" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+else
+  HLVM_PROFILING=false
+fi;
+echo "$as_me:$LINENO: result: $HLVM_PROFILING" >&5
+echo "${ECHO_T}$HLVM_PROFILING" >&6
+
+
+echo "$as_me:$LINENO: checking location of HLVM workspace" >&5
+echo $ECHO_N "checking location of HLVM workspace... $ECHO_C" >&6
+
+# Check whether --with-workspace or --without-workspace was given.
+if test "${with_workspace+set}" = set; then
+  withval="$with_workspace"
+  case "${withval}" in
+    /*|*/*) HLVM_WITH_WORKSPACE=$withval ;;
+    *) { { echo "$as_me:$LINENO: error: bad value ${withval} for --with-WORKSPACE" >&5
+echo "$as_me: error: bad value ${withval} for --with-WORKSPACE" >&2;}
+   { (exit 1); exit 1; }; } ;;
+  esac
+else
+  HLVM_WITH_WORKSPACE=/opt/hlvm
+fi;
+echo "$as_me:$LINENO: result: $HLVM_WITH_WORKSPACE" >&5
+echo "${ECHO_T}$HLVM_WITH_WORKSPACE" >&6
+
+
+echo "$as_me:$LINENO: checking location of expat library" >&5
+echo $ECHO_N "checking location of expat library... $ECHO_C" >&6
+
+# Check whether --with-expat or --without-expat was given.
+if test "${with_expat+set}" = set; then
+  withval="$with_expat"
+  case "${withval}" in
+     /*) HLVM_WITH_EXPAT=$withval ;;
+     *) { { echo "$as_me:$LINENO: error: bad value ${withval} for --with-expat" >&5
+echo "$as_me: error: bad value ${withval} for --with-expat" >&2;}
+   { (exit 1); exit 1; }; } ;;
+  esac
+else
+  HLVM_WITH_EXPAT=/usr
+fi;
+echo "$as_me:$LINENO: result: $HLVM_WITH_EXPAT" >&5
+echo "${ECHO_T}$HLVM_WITH_EXPAT" >&6
+
+
+echo "$as_me:$LINENO: checking location of additional header files" >&5
+echo $ECHO_N "checking location of additional header files... $ECHO_C" >&6
+
+# Check whether --with-includes or --without-includes was given.
+if test "${with_includes+set}" = set; then
+  withval="$with_includes"
+  case "${withval}" in
+     -I/*) HLVM_WITH_INCLUDES=$withval ;;
+     *) { { echo "$as_me:$LINENO: error: bad value ${withval} for --with-includes" >&5
+echo "$as_me: error: bad value ${withval} for --with-includes" >&2;}
+   { (exit 1); exit 1; }; } ;;
+  esac
+else
+  HLVM_WITH_INCLUDES=
+fi;
+echo "$as_me:$LINENO: result: $HLVM_WITH_INCLUDES" >&5
+echo "${ECHO_T}$HLVM_WITH_INCLUDES" >&6
+
+CPPFLAGS="-D_REENTRANT -D_GNU_SOURCE $HLVM_WITH_INCLUDES"
+
+echo "$as_me:$LINENO: checking location of LLVM source code" >&5
+echo $ECHO_N "checking location of LLVM source code... $ECHO_C" >&6
+
+# Check whether --with-llvm-src or --without-llvm-src was given.
+if test "${with_llvm_src+set}" = set; then
+  withval="$with_llvm_src"
+  case "${withval}" in
+    /*|*/*) HLVM_WITH_LLVM_SRC=$withval ;;
+    *) { { echo "$as_me:$LINENO: error: bad value ${withval} for --with-llvm-src" >&5
+echo "$as_me: error: bad value ${withval} for --with-llvm-src" >&2;}
+   { (exit 1); exit 1; }; } ;;
+  esac
+else
+  HLVM_WITH_LLVM_SRC=/usr
+fi;
+echo "$as_me:$LINENO: result: $HLVM_WITH_LLVM_SRC" >&5
+echo "${ECHO_T}$HLVM_WITH_LLVM_SRC" >&6
+
+
+echo "$as_me:$LINENO: checking location of LLVM object code" >&5
+echo $ECHO_N "checking location of LLVM object code... $ECHO_C" >&6
+
+# Check whether --with-llvm-obj or --without-llvm-obj was given.
+if test "${with_llvm_obj+set}" = set; then
+  withval="$with_llvm_obj"
+  case "${withval}" in
+    /*|*/*) HLVM_WITH_LLVM_OBJ=$withval ;;
+    *) { { echo "$as_me:$LINENO: error: bad value ${withval} for --with-llvm-obj" >&5
+echo "$as_me: error: bad value ${withval} for --with-llvm-obj" >&2;}
+   { (exit 1); exit 1; }; } ;;
+  esac
+else
+  HLVM_WITH_LLVM_OBJ=/usr
+fi;
+echo "$as_me:$LINENO: result: $HLVM_WITH_LLVM_OBJ" >&5
+echo "${ECHO_T}$HLVM_WITH_LLVM_OBJ" >&6
+
+
+echo "$as_me:$LINENO: checking location of LLVM GCC compiler" >&5
+echo $ECHO_N "checking location of LLVM GCC compiler... $ECHO_C" >&6
+
+# Check whether --with-llvm-gcc or --without-llvm-gcc was given.
+if test "${with_llvm_gcc+set}" = set; then
+  withval="$with_llvm_gcc"
+  case "${withval}" in
+    /*|*/*) HLVM_WITH_LLVMGCC=$withval ;;
+    *) { { echo "$as_me:$LINENO: error: bad value ${withval} for --with-llvmgcc" >&5
+echo "$as_me: error: bad value ${withval} for --with-llvmgcc" >&2;}
+   { (exit 1); exit 1; }; } ;;
+  esac
+else
+  HLVM_WITH_LLVMGCC=""
+fi;
+echo "$as_me:$LINENO: result: $HLVM_WITH_LLVMGCC" >&5
+echo "${ECHO_T}$HLVM_WITH_LLVMGCC" >&6
+
+
+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
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  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
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&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); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
+# 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 file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $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=
+# b.out is created by i960 compilers.
+for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
+	;;
+    conftest.$ac_ext )
+	# This is the source file.
+	;;
+    [ab].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,
+	# but it would be cool to find out if it's true.  Does anybody
+	# maintain Libtool? --akim.
+	export ac_cv_exeext
+	break;;
+    * )
+	break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&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'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&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 b.out
+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 conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+    *.* ) 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
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+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 | *.xSYM | *.bb | *.bbg ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&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_c_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+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>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.err 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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_cc_g=no
+fi
+rm -f conftest.err 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
+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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end 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;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std1 is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std1.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+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;
+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>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err 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
+
+# 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>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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 \
+   '' \
+   '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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+#include <stdlib.h>
+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>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+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>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err 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
+
+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.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # 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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     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=$?
+  grep -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
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_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
+sed 's/^/| /' 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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end 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=$?
+  grep -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
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_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
+sed 's/^/| /' 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.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # 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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     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=$?
+  grep -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
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_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
+sed 's/^/| /' 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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end 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=$?
+  grep -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
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_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
+sed 's/^/| /' 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
+See \`config.log' for more details." >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&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_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
+  for ac_prog in gcc
+  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 gcc
+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
+
+
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+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>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.err 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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_cc_g=no
+fi
+rm -f conftest.err 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
+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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end 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;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std1 is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std1.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+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;
+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>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err 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
+
+# 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>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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 \
+   '' \
+   '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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+#include <stdlib.h>
+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>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+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>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err 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
+
+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++
+  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++
+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); }
+
+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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+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>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.err 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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_prog_cxx_g=no
+fi
+rm -f conftest.err 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 \
+   '' \
+   '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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+#include <stdlib.h>
+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>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+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>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_cxx_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err 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
+
+echo "$as_me:$LINENO: checking for GNU make" >&5
+echo $ECHO_N "checking for GNU make... $ECHO_C" >&6
+if test "${llvm_cv_gnu_make_command+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  llvm_cv_gnu_make_command=''
+ for a in "$MAKE" make gmake gnumake ; do
+  if test -z "$a" ; then continue ; fi ;
+  if  ( sh -c "$a --version" 2> /dev/null | grep GNU 2>&1 > /dev/null )
+  then
+   llvm_cv_gnu_make_command=$a ;
+   break;
+  fi
+ done
+fi
+echo "$as_me:$LINENO: result: $llvm_cv_gnu_make_command" >&5
+echo "${ECHO_T}$llvm_cv_gnu_make_command" >&6
+ if test "x$llvm_cv_gnu_make_command" != "x"  ; then
+   ifGNUmake='' ;
+ else
+   ifGNUmake='#' ;
+   echo "$as_me:$LINENO: result: \"Not found\"" >&5
+echo "${ECHO_T}\"Not found\"" >&6;
+ fi
+
+
+
+
+LDFLAGS="-L${HLVM_WITH_LLVM_OBJ}/lib/Debug -L${prefix}/lib -L/usr/local/lib ${LDFLAGS}"
+if test "$HLVM_EFENCE" = true ; then
+
+
+echo "$as_me:$LINENO: checking for malloc in -lefence" >&5
+echo $ECHO_N "checking for malloc in -lefence... $ECHO_C" >&6
+if test "${ac_cv_lib_efence_malloc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lefence  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.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 malloc ();
+int
+main ()
+{
+malloc ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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_lib_efence_malloc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_efence_malloc=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_efence_malloc" >&5
+echo "${ECHO_T}$ac_cv_lib_efence_malloc" >&6
+if test $ac_cv_lib_efence_malloc = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBEFENCE 1
+_ACEOF
+
+  LIBS="-lefence $LIBS"
+
+else
+  { { echo "$as_me:$LINENO: error: Electric Fence library is required: -lefence" >&5
+echo "$as_me: error: Electric Fence library is required: -lefence" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+if test "$HLVM_WITH_EXPAT" = "/usr" ; then
+if test "${ac_cv_lib_expat_ok+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+echo "$as_me:$LINENO: checking for XML_Parse in -lexpat" >&5
+echo $ECHO_N "checking for XML_Parse in -lexpat... $ECHO_C" >&6
+if test "${ac_cv_lib_expat_XML_Parse+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lexpat  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.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 XML_Parse ();
+int
+main ()
+{
+XML_Parse ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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_lib_expat_XML_Parse=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_expat_XML_Parse=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_expat_XML_Parse" >&5
+echo "${ECHO_T}$ac_cv_lib_expat_XML_Parse" >&6
+if test $ac_cv_lib_expat_XML_Parse = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBEXPAT 1
+_ACEOF
+
+  LIBS="-lexpat $LIBS"
+
+else
+  { { echo "$as_me:$LINENO: error: expat Library is required: -lexpat" >&5
+echo "$as_me: error: expat Library is required: -lexpat" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+
+else
+  if test -r "$HLVM_WITH_EXPAT/libexpat.la" ; then
+    LIBS="$HLVM_WITH_EXPAT/libexpat.la $LIBS"
+  else
+    { { echo "$as_me:$LINENO: error: Can't find libexpat.la" >&5
+echo "$as_me: error: Can't find libexpat.la" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+fi
+
+
+echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+if test "${ac_cv_prog_egrep+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
+echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+ EGREP=$ac_cv_prog_egrep
+
+
+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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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_header_stdc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_header_stdc=no
+fi
+rm -f conftest.err conftest.$ac_objext 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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end 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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end 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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core gmon.out bb.out 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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end 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>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_Header=no"
+fi
+rm -f conftest.err 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 apr-1/apr.h expat.h llvm/Module.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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end 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>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (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); }; } &&
+	 { 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
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.err 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
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end 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=$?
+  grep -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
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_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
+sed 's/^/| /' 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:$ac_c_preproc_warn_flag 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 compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  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: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&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;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    (
+      cat <<\_ASBOX
+## -------------------------------- ##
+## Report this to hlvm-dev at hlvm.org ##
+## -------------------------------- ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&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
+
+
+
+HLVM_CFGNAME=""
+if test "$HLVM_SMALL"    = true ; then HLVM_CFGNAME="${HLVM_CFGNAME}S" ; else
+  HLVM_CFGNAME="${HLVM_CFGNAME}s" ; fi
+if test "$HLVM_TRACE"    = true ; then HLVM_CFGNAME="${HLVM_CFGNAME}T" ; else
+  HLVM_CFGNAME="${HLVM_CFGNAME}t" ; fi
+if test "$HLVM_ASSERT"   = true ; then HLVM_CFGNAME="${HLVM_CFGNAME}A" ; else
+  HLVM_CFGNAME="${HLVM_CFGNAME}a" ; fi
+if test "$HLVM_DEBUG"    = true ; then HLVM_CFGNAME="${HLVM_CFGNAME}D" ; else
+  HLVM_CFGNAME="${HLVM_CFGNAME}d" ; fi
+if test "$HLVM_INLINE"   = true ; then HLVM_CFGNAME="${HLVM_CFGNAME}I" ; else
+  HLVM_CFGNAME="${HLVM_CFGNAME}i" ; fi
+if test "$HLVM_OPTIMIZE" = true ; then HLVM_CFGNAME="${HLVM_CFGNAME}O" ; else
+  HLVM_CFGNAME="${HLVM_CFGNAME}o" ; fi
+
+
+if test "$HLVM_SHAREDPREFIX" = false ; then
+  { echo "$as_me:$LINENO: Configuring For Unique Installation" >&5
+echo "$as_me: Configuring For Unique Installation" >&6;}
+  eval HLVM_PREFIX="${prefix}/${HLVM_CFGNAME}"
+  if test "${exec_prefix}" = "NONE"; then
+    eval HLVM_EXEC_PREFIX="${prefix}/${HLVM_CFGNAME}"
+  else
+    eval HLVM_EXEC_PREFIX="${exec_prefix}/${HLVM_CFGNAME}"
+  fi
+else
+  { echo "$as_me:$LINENO: Configuring For Shared Installation: ${HLVM_CFGNAME}" >&5
+echo "$as_me: Configuring For Shared Installation: ${HLVM_CFGNAME}" >&6;}
+  eval HLVM_PREFIX="${prefix}"
+  if test "${exec_prefix}" = "NONE"; then
+    eval HLVM_EXEC_PREFIX="${prefix}"
+  else
+    eval HLVM_EXEC_PREFIX="${exec_prefix}"
+  fi
+fi
+
+
+HLVM_CONFIGTIME=`date`
+
+HLVM_PREFIX="$prefix"
+
+
+
+          ac_config_headers="$ac_config_headers hlvm/Base/Config.h"
+
+                              ac_config_files="$ac_config_files VERSION Makefile.config docs/Doxyfile"
+
+          ac_config_files="$ac_config_files hlvm/Base/ConfigData.cpp"
+
+          ac_config_commands="$ac_config_commands Makefile"
+
+
+          ac_config_commands="$ac_config_commands Makefile.hlvm"
+
+
+          ac_config_commands="$ac_config_commands docs/Makefile"
+
+
+          ac_config_commands="$ac_config_commands hlvm/Makefile"
+
+
+          ac_config_commands="$ac_config_commands tools/Makefile"
+
+
+          ac_config_commands="$ac_config_commands test/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 overridden 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 diff $cache_file confcache >/dev/null 2>&1; 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
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_i=`echo "$ac_i" |
+	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+  # 2. Add them.
+  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
 LIBOBJS=$ac_libobjs
 
 LTLIBOBJS=$ac_ltlibobjs
@@ -2192,7 +5004,7 @@
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by [HLVM] $as_me [0.1svn], which was
+This file was extended by High Level Virtual Machine $as_me 0.1svn, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -2238,10 +5050,15 @@
       --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
 
@@ -2250,7 +5067,7 @@
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-[HLVM] config.status [0.1svn]
+High Level Virtual Machine config.status 0.1svn
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -2343,7 +5160,19 @@
 
 _ACEOF
 
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS section.
+#
+
+${srcdir}/autoconf/mkinstalldirs `dirname Makefile`
+${srcdir}/autoconf/mkinstalldirs `dirname Makefile.hlvm`
+${srcdir}/autoconf/mkinstalldirs `dirname docs/Makefile`
+${srcdir}/autoconf/mkinstalldirs `dirname hlvm/Makefile`
+${srcdir}/autoconf/mkinstalldirs `dirname tools/Makefile`
+${srcdir}/autoconf/mkinstalldirs `dirname test/Makefile`
 
+_ACEOF
 
 
 
@@ -2352,10 +5181,17 @@
 do
   case "$ac_config_target" in
   # Handling of arguments.
-  "Makefile.common" ) CONFIG_FILES="$CONFIG_FILES Makefile.common" ;;
+  "VERSION" ) CONFIG_FILES="$CONFIG_FILES VERSION" ;;
+  "Makefile.config" ) CONFIG_FILES="$CONFIG_FILES Makefile.config" ;;
+  "docs/Doxyfile" ) CONFIG_FILES="$CONFIG_FILES docs/Doxyfile" ;;
+  "hlvm/Base/ConfigData.cpp" ) CONFIG_FILES="$CONFIG_FILES hlvm/Base/ConfigData.cpp" ;;
   "Makefile" ) CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
-  "lib/Makefile" ) CONFIG_COMMANDS="$CONFIG_COMMANDS lib/Makefile" ;;
+  "Makefile.hlvm" ) CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile.hlvm" ;;
+  "docs/Makefile" ) CONFIG_COMMANDS="$CONFIG_COMMANDS docs/Makefile" ;;
+  "hlvm/Makefile" ) CONFIG_COMMANDS="$CONFIG_COMMANDS hlvm/Makefile" ;;
   "tools/Makefile" ) CONFIG_COMMANDS="$CONFIG_COMMANDS tools/Makefile" ;;
+  "test/Makefile" ) CONFIG_COMMANDS="$CONFIG_COMMANDS test/Makefile" ;;
+  "hlvm/Base/Config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS hlvm/Base/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; }; };;
@@ -2368,6 +5204,7 @@
 # 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
 
@@ -2441,17 +5278,48 @@
 s, at ECHO_T@,$ECHO_T,;t t
 s, at LIBS@,$LIBS,;t t
 s, at HLVM_COPYRIGHT@,$HLVM_COPYRIGHT,;t t
-s, at USE_LLC@,$USE_LLC,;t t
-s, at LLC@,$LLC,;t t
-s, at LLC_BIN@,$LLC_BIN,;t t
-s, at LLC_DIR@,$LLC_DIR,;t t
-s, at LLC_INC@,$LLC_INC,;t t
-s, at LLC_LIB@,$LLC_LIB,;t t
+s, at HLVM_PACKAGE@,$HLVM_PACKAGE,;t t
+s, at HLVM_VERSION@,$HLVM_VERSION,;t t
 s, at USE_@,$USE_,;t t
 s, at _BIN@,$_BIN,;t t
 s, at _DIR@,$_DIR,;t t
 s, at _INC@,$_INC,;t t
 s, at _LIB@,$_LIB,;t t
+s, at HLVM_SO_VERSION@,$HLVM_SO_VERSION,;t t
+s, at HLVM_SO_CURRENT@,$HLVM_SO_CURRENT,;t t
+s, at HLVM_SO_REVISION@,$HLVM_SO_REVISION,;t t
+s, at HLVM_SO_AGE@,$HLVM_SO_AGE,;t t
+s, at HLVM_SHAREDPREFIX@,$HLVM_SHAREDPREFIX,;t t
+s, at HLVM_DEBUG@,$HLVM_DEBUG,;t t
+s, at HLVM_OPTIMIZE@,$HLVM_OPTIMIZE,;t t
+s, at HLVM_INLINE@,$HLVM_INLINE,;t t
+s, at HLVM_ASSERT@,$HLVM_ASSERT,;t t
+s, at HLVM_TRACE@,$HLVM_TRACE,;t t
+s, at HLVM_SMALL@,$HLVM_SMALL,;t t
+s, at HLVM_EFENCE@,$HLVM_EFENCE,;t t
+s, at HLVM_PROFILING@,$HLVM_PROFILING,;t t
+s, at HLVM_WITH_WORKSPACE@,$HLVM_WITH_WORKSPACE,;t t
+s, at HLVM_WITH_EXPAT@,$HLVM_WITH_EXPAT,;t t
+s, at HLVM_WITH_INCLUDES@,$HLVM_WITH_INCLUDES,;t t
+s, at HLVM_WITH_LLVM_SRC@,$HLVM_WITH_LLVM_SRC,;t t
+s, at HLVM_WITH_LLVM_OBJ@,$HLVM_WITH_LLVM_OBJ,;t t
+s, at HLVM_WITH_LLVMGCC@,$HLVM_WITH_LLVMGCC,;t t
+s, at CC@,$CC,;t t
+s, at CFLAGS@,$CFLAGS,;t t
+s, at LDFLAGS@,$LDFLAGS,;t t
+s, at CPPFLAGS@,$CPPFLAGS,;t t
+s, at ac_ct_CC@,$ac_ct_CC,;t t
+s, at EXEEXT@,$EXEEXT,;t t
+s, at OBJEXT@,$OBJEXT,;t t
+s, at CPP@,$CPP,;t t
+s, at CXX@,$CXX,;t t
+s, at CXXFLAGS@,$CXXFLAGS,;t t
+s, at ac_ct_CXX@,$ac_ct_CXX,;t t
+s, at ifGNUmake@,$ifGNUmake,;t t
+s, at EGREP@,$EGREP,;t t
+s, at HLVM_CFGNAME@,$HLVM_CFGNAME,;t t
+s, at HLVM_CONFIGTIME@,$HLVM_CONFIGTIME,;t t
+s, at HLVM_PREFIX@,$HLVM_PREFIX,;t t
 s, at LIBOBJS@,$LIBOBJS,;t t
 s, at LTLIBOBJS@,$LTLIBOBJS,;t t
 CEOF
@@ -2690,6 +5558,229 @@
 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; }; }
+	 # Do quote $f, to prevent DOS paths from being IFS'd.
+	 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 grep "^[	 ]*#[	 ]*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 # grep' >>$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 diff $ac_file $tmp/config.h >/dev/null 2>&1; 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'`
+      { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+      rm -f $ac_file
+      mv $tmp/config.h $ac_file
+    fi
+  else
+    cat $tmp/config.h
+    rm -f $tmp/config.h
+  fi
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
 # CONFIG_COMMANDS section.
 #
 for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
@@ -2801,12 +5892,12 @@
   { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
 echo "$as_me: executing $ac_dest commands" >&6;}
   case $ac_dest in
-    Makefile ) ${llvm_src}/autoconf/mkinstalldirs `dirname Makefile`
-   ${SHELL} ${llvm_src}/autoconf/install-sh -c ${srcdir}/Makefile Makefile ;;
-    lib/Makefile ) ${llvm_src}/autoconf/mkinstalldirs `dirname lib/Makefile`
-   ${SHELL} ${llvm_src}/autoconf/install-sh -c ${srcdir}/lib/Makefile lib/Makefile ;;
-    tools/Makefile ) ${llvm_src}/autoconf/mkinstalldirs `dirname tools/Makefile`
-   ${SHELL} ${llvm_src}/autoconf/install-sh -c ${srcdir}/tools/Makefile tools/Makefile ;;
+    Makefile ) ${SHELL} ${srcdir}/autoconf/install-sh -c ${srcdir}/Makefile Makefile ;;
+    Makefile.hlvm ) ${SHELL} ${srcdir}/autoconf/install-sh -c ${srcdir}/Makefile.hlvm Makefile.hlvm ;;
+    docs/Makefile ) ${SHELL} ${srcdir}/autoconf/install-sh -c ${srcdir}/docs/Makefile docs/Makefile ;;
+    hlvm/Makefile ) ${SHELL} ${srcdir}/autoconf/install-sh -c ${srcdir}/hlvm/Makefile hlvm/Makefile ;;
+    tools/Makefile ) ${SHELL} ${srcdir}/autoconf/install-sh -c ${srcdir}/tools/Makefile tools/Makefile ;;
+    test/Makefile ) ${SHELL} ${srcdir}/autoconf/install-sh -c ${srcdir}/test/Makefile test/Makefile ;;
   esac
 done
 _ACEOF
@@ -2840,3 +5931,6 @@
   $ac_cs_success || { (exit 1); exit 1; }
 fi
 
+echo ""
+echo "Configuration of HLVM is now finished."
+echo ""

Added: hlvm/trunk/docs/Doxyfile.in
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/docs/Doxyfile.in?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/docs/Doxyfile.in (added)
+++ hlvm/trunk/docs/Doxyfile.in Sat Jul  7 18:58:30 2007
@@ -0,0 +1,1007 @@
+# Doxyfile 1.3-rc2
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# General configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = "XPS API"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = @XPS_VERSION@
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = ./www/apis
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, 
+# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en 
+# (Japanese with english messages), Korean, Norwegian, Polish, Portuguese, 
+# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish and Ukrainian.
+
+OUTPUT_LANGUAGE        = English
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation.
+
+EXTRACT_STATIC         = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
+# defined locally in source files will be included in the documentation. 
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = YES
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these class will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = YES
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
+# friend (class|struct|union) declarations. 
+# If set to NO (the default) these declarations will be included in the 
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = YES
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
+# documentation blocks found inside the body of a function. 
+# If set to NO (the default) these blocks will be appended to the 
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = YES
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = NO
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited 
+# members of a class in the documentation of that class as if those members were 
+# ordinary class members. Constructors, destructors and assignment operators of 
+# the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. It is allowed to use relative paths in the argument list.
+
+STRIP_FROM_PATH        = 
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower case letters. If set to YES upper case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# users are adviced to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful is your file systems 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = YES
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put list of the files that are included by a file in the documentation 
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the JavaDoc 
+# comments  will behave just like the Qt-style comments (thus requiring an 
+# explict @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF      = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
+# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
+# comments) as a brief description. This used to be the default behaviour. 
+# The new default is to treat a multi-line C++ comment block as a detailed 
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member 
+# documentation.
+
+DETAILS_AT_TOP         = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# reimplements.
+
+INHERIT_DOCS           = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 8
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the todo list. This list is created by putting \todo 
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or 
+# disable (NO) the bug list. This list is created by putting \bug 
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
+# disable (NO) the deprecated list. This list is created by putting 
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                =
+
+# The ENABLED_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       = 
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
+# the initial value of a variable or define consist of for it to appear in 
+# the documentation. If the initializer consists of more lines than specified 
+# here it will be hidden. Use a value of 0 to hide initializers completely. 
+# The appearance of the initializer of individual variables and defines in the 
+# documentation can be controlled using \showinitializer or \hideinitializer 
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 0
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
+# only. Doxygen will then generate output that is more tailored for C. 
+# For instance some of the names that are used will be different. The list 
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources 
+# only. Doxygen will then generate output that is more tailored for Java. 
+# For instance namespaces will be presented as packages, qualified scopes 
+# will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
+# at the bottom of the documentation of classes and structs. If set to YES the 
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = NO
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
+# potential errors in the documentation, such as not documenting some 
+# parameters in a documented function, or documenting parameters that 
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text.
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning 
+# and error messages should be written. If left blank the output is written 
+# to stderr.
+
+WARN_LOGFILE           = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces.
+
+INPUT                  = @abs_top_srcdir@/xps @abs_srcdir@/doxygen.intro
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank the following patterns are tested: 
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp 
+# *.h++ *.idl *.odl
+
+FILE_PATTERNS          = *.C *.h *.i *.t *.p *.doxy *.msgs
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used.
+
+RECURSIVE              = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                = 
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories 
+# that are symbolic links (a Unix filesystem feature) are excluded from the input.
+
+EXCLUDE_SYMLINKS       = YES
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories.
+
+EXCLUDE_PATTERNS       = */tests/* */doc/* */task/* */xvmapi/* */xplec/* */new/* */save/* */os/solaris/* */os/win32/*
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command).
+
+EXAMPLE_PATH           = 
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+EXAMPLE_PATTERNS       = 
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
+# searched for input files to be used with the \include or \dontinclude 
+# commands irrespective of the value of the RECURSIVE tag. 
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command).
+
+IMAGE_PATH             = 
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output.
+
+INPUT_FILTER           = 
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
+# INPUT_FILTER) will be used to filter the input files when producing source 
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources.
+
+SOURCE_BROWSER         = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
+# then for each documented function all documented 
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES (the default) 
+# then for each documented function all documented entities 
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 3
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
+HTML_HEADER            = @abs_srcdir@/doxygen.header
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER            = @abs_srcdir@/doxygen.footer
+
+# The HTML_STYLESHEET tag can be used to specify a user defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet
+
+HTML_STYLESHEET        = doxygen.css
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
+# be used to specify the file name of the resulting .chm file. You 
+# can add a path in front of the file if the result should not be 
+# written to the html output dir.
+
+CHM_FILE               = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
+# be used to specify the location (absolute path including file name) of 
+# the HTML help compiler (hhc.exe). If non empty doxygen will try to run 
+# the html help compiler on the generated index.hhp.
+
+HHC_LOCATION           = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
+# controls if a separate .chi index file is generated (YES) or that 
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
+# controls whether a binary table of contents is generated (YES) or a 
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# to the contents of the Html help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20]) 
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 3
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that 
+# is generated for HTML Help). For this to work a browser that supports 
+# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+, 
+# or Internet explorer 4.0+). Note that for large projects the tree generation 
+# can take a very long time. In such cases it is better to disable this feature. 
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW      = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
+# used to set the initial width (in pixels) of the frame in which the tree 
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
+# generate index for LaTeX. If left blank `makeindex' will be used as the 
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimised for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using WORD or other 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's 
+# config file, i.e. a series of assigments. You only have to provide 
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    = 
+
+# Set optional variables used in the generation of an rtf document. 
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
+# then it will generate one additional man file for each entity 
+# documented in the real man page(s). These additional files 
+# only source the real man page, but without them the man command 
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and incomplete at the 
+# moment.
+
+GENERATE_XML           = NO
+
+# The XML_SCHEMA tag can be used to specify an XML schema, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_SCHEMA             = 
+
+# The XML_DTD tag can be used to specify an XML DTD, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_DTD                = 
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
+# generate an AutoGen Definitions (see autogen.sf.net) file 
+# that captures the structure of the code including all 
+# documentation. Note that this feature is still experimental 
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
+# generate a Perl module file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and incomplete at the 
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
+# nicely formatted so it can be parsed by a human reader.  This is useful 
+# if you want to understand what is going on.  On the other hand, if this 
+# tag is set to NO the size of the Perl module output will be much smaller 
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file 
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
+# This is useful so different doxyrules.make files included by the same 
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX = 
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor.
+
+INCLUDE_PATH           = @abs_top_srcdir@
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used.
+
+INCLUDE_FILE_PATTERNS  = *.h
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed.
+
+PREDEFINED             = XPS_VERSION="@XPS_VESION@" _GNU_SOURCE _REENTRANT _POSIX_THREADS
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      = 
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
+# doxygen's preprocessor will remove all function-like macros that are alone 
+# on a line, have an all uppercase name, and do not end with a semicolon. Such 
+# function macros are typically used for boiler-plate code, and will confuse the 
+# parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references   
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tagfiles.
+
+TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       = 
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
+# in the modules index. If set to NO, only the current project's groups will 
+# be listed.
+
+EXTERNAL_GROUPS        = NO
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or 
+# super classes. Setting the tag to NO turns the diagrams off. Note that this 
+# option is superceded by the HAVE_DOT option below. This is only a fallback. It is 
+# recommended to install and use dot, since it yield more powerful graphs.
+
+CLASS_DIAGRAMS         = YES
+
+# If set to YES, the inheritance and collaboration graphs will hide 
+# inheritance and usage relations if the target is undocumented 
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If set to YES, the inheritance and collaboration graphs will show the 
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
+# tags are set to YES then doxygen will generate a graph for each documented 
+# file showing the direct and indirect include dependencies of the file with 
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
+# documented header file showing the documented files that directly or 
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT       = gif
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH               = 
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that 
+# contain dot files that are included in the documentation (see the 
+# \dotfile command).
+
+DOTFILE_DIRS           = 
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_WIDTH    = 800
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT   = 240
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
+# generate a legend page explaining the meaning of the various boxes and 
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
+# remove the intermedate dot files that are used to generate 
+# the various graphs.
+
+DOT_CLEANUP            = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine   
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE           = NO

Added: hlvm/trunk/docs/Makefile
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/docs/Makefile?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/docs/Makefile (added)
+++ hlvm/trunk/docs/Makefile Sat Jul  7 18:58:30 2007
@@ -0,0 +1,53 @@
+# Copyright (C) 2006 HLVM Group. All Rights Reserved.
+# 
+# This program is open source software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License (GPL) as published by 
+# the Free Software Foundation. You should have received a copy of the GPL
+# in a file named COPYING that was included with this file.
+#
+################################################################################
+
+LEVEL := ..
+
+EXTRA_DIST := Doxyfile.in doxygen.css doxygen.footer doxygen.header \
+	      doxygen.intro www
+
+include $(LEVEL)/Makefile.xps
+
+DOCS_TAR_FILE := $(PROJ_OBJ_DIR)/xps.www.tar
+DOCS_TGZ_FILE := $(PROJ_OBJ_DIR)/xps.www.tar.gz
+
+.PHONY: doxygen
+
+doxygen:: $(DOCS_TGZ_FILE)
+
+DOXYGEN_DEPS = \
+	Doxyfile \
+	www/apis/html/.dir \
+	$(PROJ_SRC_DIR)/doxygen.css \
+	$(PROJ_SRC_DIR)/doxygen.header \
+	$(PROJ_SRC_DIR)/doxygen.footer \
+	$(PROJ_SRC_DIR)/doxygen.intro \
+	$(PROJ_SRC_ROOT)/xps/base/Base.h \
+	$(PROJ_SRC_ROOT)/xps/xml/Handler.h \
+	$(PROJ_SRC_ROOT)/xps/xpl/Handler.h \
+	$(PROJ_SRC_ROOT)/xps/xplbe/XPLTargetMachine.h 
+
+www/apis/html/index.html : $(DOXYGEN_DEPS)
+	$(Echo) Running Doxygen (be patient)
+	$(Verb) cp $(PROJ_SRC_DIR)/doxygen.css doxygen.css
+	$(Verb) doxygen Doxyfile >doxygen.out 2>&1
+	$(Verb) cp $(PROJ_SRC_DIR)/doxygen.css www/apis/html
+
+DOCS_TAR_DEPS = \
+	www/apis/html/index.html \
+	$(wildcard $(PROJ_SRC_DIR)/www/%.incl) \
+	$(wildcard $(PROJ_SRC_DIR)/www/%.shtml)
+
+$(DOCS_TGZ_FILE): www/apis/html/.dir $(DOCS_TAR_DEPS)
+	$(Echo) Creating gzipped tar file for documentation
+	$(Verb) find $(PROJ_SRC_DIR)/www -type d -exec chmod 755 {} \;
+	$(Verb) find $(PROJ_SRC_DIR)/www -type f -exec chmod 644 {} \; 
+	$(Verb) tar --directory $(PROJ_SRC_DIR) -lcf $(DOCS_TAR_FILE) www
+	$(Verb) tar --directory $(PROJ_OBJ_DIR) -lrf $(DOCS_TAR_FILE) www
+	$(Verb) gzip -f9 $(DOCS_TAR_FILE)

Added: hlvm/trunk/docs/doxygen.css
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/docs/doxygen.css?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/docs/doxygen.css (added)
+++ hlvm/trunk/docs/doxygen.css Sat Jul  7 18:58:30 2007
@@ -0,0 +1,84 @@
+BODY { background: white; color: black; font-family: Verdana,Arial,sans-serif; }
+H1 { text-align: center; }
+H2 { text-align: center; }
+H3 { text-align: center; }
+CAPTION { font-weight: bold }
+A.qindex {}
+A.qindexRef {}
+A.el { text-decoration: none; font-weight: bold }
+A.elRef { font-weight: bold }
+A.code { text-decoration: none; font-weight: normal; color: #4444ee }
+A.codeRef { font-weight: normal; color: #4444ee }
+A:link {
+        cursor: pointer;
+        text-decoration: none;
+        font-weight: bolder;
+}
+A:visited {
+        cursor: pointer;
+        text-decoration: underline;
+        font-weight: bolder;
+}
+A:hover {
+        cursor: pointer;
+        text-decoration: underline;
+        font-weight: bolder;
+}
+A:active {
+        cursor: pointer;
+        text-decoration: underline;
+        font-weight: bolder;
+        font-style: italic;
+}
+DL.el { margin-left: -1cm }
+DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
+DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
+TD.md { background-color: #f2f2ff; font-weight: bold; }
+TD.mdname1 { background-color: #f2f2ff; font-weight: bold; color: #602020; }
+TD.mdname { background-color: #f2f2ff; font-weight: bold; color: #602020; width: 600px; }
+DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold }
+DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller }
+TD.indexkey { 
+   background-color: #eeeeff; 
+   font-weight: bold; 
+   padding-right  : 10px; 
+   padding-top    : 2px; 
+   padding-left   : 10px; 
+   padding-bottom : 2px; 
+   margin-left    : 0px; 
+   margin-right   : 0px; 
+   margin-top     : 2px; 
+   margin-bottom  : 2px  
+}
+TD.indexvalue { 
+   background-color: #eeeeff; 
+   font-style: italic; 
+   padding-right  : 10px; 
+   padding-top    : 2px; 
+   padding-left   : 10px; 
+   padding-bottom : 2px; 
+   margin-left    : 0px; 
+   margin-right   : 0px; 
+   margin-top     : 2px; 
+   margin-bottom  : 2px  
+}
+span.keyword       { color: #008000 }
+span.keywordtype   { color: #604020 }
+span.keywordflow   { color: #e08000 }
+span.comment       { color: #800000 }
+span.preprocessor  { color: #806020 }
+span.stringliteral { color: #002080 }
+span.charliteral   { color: #008080 }
+
+.footer {
+        font-size: 80%;
+        font-weight: bold;
+        text-align: center;
+        vertical-align: middle;
+}
+.title {
+    font-size: 105%
+    font-weight: bold;
+    text-decoration: underline;
+    text-align: center;
+}

Added: hlvm/trunk/docs/doxygen.footer
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/docs/doxygen.footer?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/docs/doxygen.footer (added)
+++ hlvm/trunk/docs/doxygen.footer Sat Jul  7 18:58:30 2007
@@ -0,0 +1,16 @@
+<hr>
+<p class="footer">
+Generated on $datetime for $projectname version $projectnumber by
+<a href="http://www.doxygen.org/index.html">doxygen $doxygenversion</a><br/>
+Copyright © 2003-2005, eXtensible Systems, Inc. All Rights Reserved.<br/>
+<a href="/index.php" onmouseover="window.status='Go To XPS Home Page';return true;" title="XPS Home Page">
+<img src="/images/logo_xps_small.jpeg" style="border:none" alt="XPS Logo"/></a>
+<a href="http://sourceforge.net/" onmouseover="window.status='Go To Source Forge Home Page';return true;" title="Source Forge Home Page">
+<img src="http://sourceforge.net/sflogo.php?group_id=51164&type=1" style="border:none" alt="SourceForge.net Logo"/>
+</a>
+<a href="http://www.opensource.org/docs/definition.php" onmouseover="window.status='Go To OSI Definition Page';return true;" 
+title="Open Source Definition">
+<img src="/theme/osi-certified-60x50.gif" alt="OSI Certification Logo" style="border:none"/></a>
+<a href="http://www.doxygen.org/index.html" onmouseover="window.status='Go To Doxygen Home Page';return true;" title="Doxygen Home Page">
+<img src="doxygen.png" alt="Doxygen Logo" style="border:none;"/></a> 
+</p></body></html>

Added: hlvm/trunk/docs/doxygen.header
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/docs/doxygen.header?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/docs/doxygen.header (added)
+++ hlvm/trunk/docs/doxygen.header Sat Jul  7 18:58:30 2007
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="C++,XPS,doxygen,eXtensible Programming System,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for the eXtensible Programming System (XPS)."/>
+<title>XPS $projectnumber : $title </title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">XPS API Documentation</p>

Added: hlvm/trunk/docs/doxygen.intro
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/docs/doxygen.intro?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/docs/doxygen.intro (added)
+++ hlvm/trunk/docs/doxygen.intro Sat Jul  7 18:58:30 2007
@@ -0,0 +1,207 @@
+//------------------------------------------------------------------------------
+// Copyright (C) 2002 eXtensible Systems, Inc. All Rights Reserved.
+//
+// This program is open source software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License (GPL) as published by
+// the Free Software Foundation; either version 2 of the License, or (at your
+// option) any later version. You should have received a copy of the GPL in a
+// file named COPYING that was included with this program; if not, you can 
+// obtain a copy of the license through the Internet at http://www.fsf.org/
+// 
+// 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.
+//
+////////////////////////////////////////////////////////////////////////////////
+/// @file doxygen.intro
+/// @author Reid Spencer <raspencer at users.sourceforge.net> (original author)
+/// @date 2003/04/17
+/// @brief XPS documentation introduction.
+////////////////////////////////////////////////////////////////////////////////
+
+/// @mainpage XPS:eXtensible Programming System
+///
+/// @section main_intro Introduction
+/// Welcome to the eXtensible Programming System (XPS). 
+///
+/// This documentation describes the @b internal software that makes 
+/// up XPS, not the @b external use of  XPS. There are no instructions
+/// here on how to use XPS, only how to develop it. For usage instructions 
+/// please obtain the programmer's guide or user's guide for XPL and XPS 
+/// respectively.
+///
+/// @section main_caveat Caveat 
+/// This documentation is generated directly from the source code with doxygen. 
+/// Since XPS is constantly under active development, what you're about to
+/// read is out of date! However, it may still be useful since  certain 
+/// portions of XPS are relatively stable (base, os, mem ). When XPS reaches 
+/// full stability (around release 0.9), this caveat will be removed and the 
+/// documentation will pertain to a specific release of the software. Until 
+/// then, refer back often to this page as it is updated between releases as 
+/// significant changes are made.
+///
+/// @section main_overview Overview
+/// XPS is a comprehensive programming platform that hides all the "hard stuff"
+/// and makes programming much easier. By "hard stuff" we mean at least the 
+/// following:
+/// - platform independence
+/// - flexible and efficient transient and persistent memory management
+/// - efficient network protocols implementations
+/// - internationalization (i18n) and localization (l10n)
+/// - security (authentication, authorization, encryption, non-repudiation)
+/// - asynchronous event management
+/// - correct pattern implementations for network programming
+/// - dynamic compilation, linking, and execution of programs
+/// - software version management
+/// - software configuration management
+/// - software deployment management
+/// - transaction coordination and management
+/// - multi-user distributed software development
+/// - multi-user distributed application architecture
+/// - development of robust, high-availability, fault-tolerant applications
+/// - dynamic application monitoring and tuning
+/// - extensibility
+///
+/// Individually, none of the "hard stuff" is new. 
+/// There are many software packages and tools that provide these functions
+/// competently.  What is new is the ability to package all the "hard stuff" 
+/// into a single well-integrated product that then hides the details from the 
+/// programmer. By providing a comprehensive platform upon which robust 
+/// Internet applications are developed, XPS makes that development easier.
+/// 
+/// But that's just the beginning. It isn't enough to produce just a 
+/// best-of-class development environment. Programming is also hampered by its 
+/// low level of abstraction. After 50+ years of software development, we're 
+/// still only a few levels removed from the physical machine. This low level 
+/// of abstraction still requires highly-skilled programmers to produce 
+/// extremely technical code. While that fosters job security, it doesn't do 
+/// much to advance the state of the art. One of XPS's stated goals is to 
+/// bring programming to layperson and expert alike. We envision a day when
+/// programming is just plain easy.
+/// 
+/// XPS uses a variety of techniques to address this situation:
+/// - use of an efficient virtual machine (XVM) 
+/// - a high-level programming language (XPL)
+/// - horizontal and vertical extensibility
+///
+/// Each of these is described in the following subsections.
+///
+/// @subsection xvm eXtensible Virtual Machine (XVM)
+/// The XVM is the basic building block of XPS. It is responsible for the 
+/// correct execution of XPL programs. Virtual machines are nothing new, 
+/// they've been around for decades. However, the XVM differs from previous 
+/// virtual machine implementations in the following ways:
+/// - there is no byte code interpretation, everything executes at machine 
+///   speeds (JITing as necessary).
+/// - the machine semantics are not limited by hardware constraints
+/// - operations range from the mundane low-level bit manipulations familiar in most virtual machines to very high-order operations such as transaction commit.
+/// - the machine only manages state, not execution. Consequently, there are no branching instructions!
+/// - special attention is paid to security, robustness, fault tolerance, and provable semantics.
+/// - the machine provides efficient monitoring, tracing, and debugging facilities.
+///
+/// @subsection xpl eXtensible Programming Language (XPL)
+/// XPL is a high-level programming language. It supports the usual definition of
+/// types, functions, object classes and methods, and etc.  However, it also
+/// provides numerous complicated features by simply declaring them. That is, you
+/// don't do any procedural programming for these features, you just declare that 
+/// you want them.  Some of the features that can be applied declaratively are:
+/// - reference counting
+/// - memory usage optimization
+/// - memory allocation strategies
+/// - persistent memory
+/// - multi-thread synchronization
+/// - asynchronous function/method invocation
+/// - atomic operations
+/// - parallelism
+/// - transactions
+/// - security
+/// - complex collection types
+/// - active objects
+/// - configurable program behavior
+/// - network protocols
+/// - software engineering features (assertions, invariants, etc.)
+///
+/// By handling these kinds of things as simple selectable options, the programmer
+/// needn't be bogged down in trying to correctly implement them in every program. 
+/// Furthermore, XPS handles any combination of these features efficiently. It 
+/// carefully analyzes which features a given program construct is requesting and 
+/// generates the best code for that combination.
+///   
+/// XPL is also very flexible. Because it is based on XML, all the power of XML
+/// processing tools can be utilized. Two are worthy of mentioning here:
+/// @par XML Substitution Groups (Horizontal Extension)
+/// XPL uses XML substitution groups in its schema definition to allow \em additional syntax 
+/// and semantics to be added to the base XPL language. Unlike more static languages, this 
+/// means it is possible for the XPL compiler recognize language constructs not originally 
+/// envisioned.
+/// @par XSL Transformations (Vertical Extension)
+/// The XPL compiler can compile higher order languages if there is an XSL Transformation
+/// available from the high order language to XPL. The transformations is automatically and
+/// transparently applied by the compiler. This allows programmers to rapidly invent their
+/// own languages to meet the needs of their particular application domain.
+///
+/// Together these two features comprise the extensibility features for XPL.
+///
+/// @subsection extension Horizontal and Vertical eXtensibility
+/// As just noted, XPL supports horizontal and vertical extensiblity. First, lets define what we mean by this. If you think of
+/// XPS as a black box sitting on the floor, you can put other boxes around (horizontally on the floor) or on top of it (building a
+/// stack vertically).  When we speak of horizontal extensibility, we mean adding things to the fundamental nature of XPS. For example,
+/// a web server's plugin is a kind of horizontal extensibility. You add some code that gets invoked through a well defined interface
+/// to make the web server do something it didn't do before .. little boxes laid out on the floor.  When we speak of vertical 
+/// extensibility we mean using the core features of XPS (and, possibily, its horizontal extensions) in new and interesting ways
+/// without changing XPS itself.  For example, the C pre-processor is an example of vertical extensibility. You can make regular old
+/// C and C++ programs much more concise by breaking it into multiple #included files and using macros to eliminate repetitive or
+/// complex constructs. 
+/// 
+/// To support horizontal extensibility, XPS provides the following:
+/// - XPL can be extended by including new programming constructs into the base language.
+/// - The XPL compiler can be extended to generate code in a variety of new ways, especially for XPL extensions.
+/// - The XVM can be extended by creating new fundamental opcodes that can be used in XPL programs.
+/// - The XPS daemon can be extended to provide new services to users of XPS.
+/// - The XPS shell can be extended to process new commands from users.
+///
+/// To support vertical extensibility, XPS provides the following:
+/// - The XPL compiler can recursively and automatically apply XSL Transformations to non-XPL XML input. That is, you can write your program in whatever language you like as long as a series of transformations to XPL (or some extension of XPL) is provided.
+/// - Similarly, the XPS shell can recursively translate and execute command definitions written in higher-order command languages.
+/// - The XVM can interpret opcode sets built strictly from other, existing opcodes.
+/// - The XPS daemon supports loadable services that can be re-used in XPL programs.
+///
+/// @section main_other Other Features
+/// Although the overview above describes the main features of XPS, there are some additional
+/// features worthy of at least making a note here:
+/// - XPS supports a complete build management service so that all programming related chores in XPS can be done remotely and safely. Programmer's have workspaces in which they can create, check-in, check-out, merge, compile, link, and execute their programs.
+/// - XPS supports a complete deployment management service so that applications can be rigorously and safely deployed into a production environment. Services for testing, configuring, updating, and activating a running application are provided in such a way that downtime is minimized.
+/// - Logic programming will be added as an extension to the core. It will look familiar to Prolog programmers.
+/// - Fuzzy logic programming will be added as an extension to the core. Fuzzy variables will be available to all programs.
+/// - A high-order multimedia 4D user interface extension will be added.
+/// - A 4D software development environment will be added once the user interface extensions is complete.
+///
+/// @section main_summary Summary
+/// XPS provides a wealth of tools to the programmer.  And, those tools are aimed at making
+/// programming easier, not more complicated.  The "hard stuff" is encoded into the internals
+/// of XPS so that programmer's can simply select the features they need in their programs.
+/// Extensibility further enhances simplicity by allowing programming to be done at higher
+/// and higher levels of abstraction without loss of performance. Planned extensions will
+/// directly support the rapid creation of high-quality software.
+/// 
+/// @section main_plug Shameless Plug
+/// If you've been programming for at least a couple of years, you're probably salivating
+/// by now. XPS, as described above, is aimed at being programming heaven. But, before you 
+/// get your hopes up too high, take to heart that XPS is currently a work in progress.  
+/// Much of what is described above is just jotted down notes, ruminations from past 
+/// experience, and the desire to be really, really lazy when it comes to programming high
+/// quality applications.  Unfortunately, it takes a lot of hard work to be that lazy.
+/// Although we believe XPS to be doable in the short term, it is definitely a challenge -- a challenge worth taking. 
+/// 
+/// So, here's where you come in. If you've gotten over laughing at the audaciousness
+/// of the project, and think it is a worthy ambition, why not lend a hand?  We need help
+/// in just about every area.  Why not utilize your best talents and add your name to the
+/// roster of contributors to what will eventually become @em the way to program Internet
+/// applications?
+/// 
+/// We look forward to your future contributions.
+///
+/// @section main_changelog Change Log
+/// - Original Introduction written 4/23/2003 by Reid Spencer
+/// - Overview, Other Features & Summary written 4/26/2003 by Reid Spencer

Added: hlvm/trunk/hlvm/AST/Bundle.h
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/hlvm/AST/Bundle.h?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/hlvm/AST/Bundle.h (added)
+++ hlvm/trunk/hlvm/AST/Bundle.h Sat Jul  7 18:58:30 2007
@@ -0,0 +1,60 @@
+//
+// Copyright (C) 2006 HLVM Group. All Rights Reserved.
+//
+// This program is open source software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License (GPL) as published by
+// the Free Software Foundation; either version 2 of the License, or (at your
+// option) any later version. You should have received a copy of the GPL in a
+// file named COPYING that was included with this program; if not, you can
+// obtain a copy of the license through the Internet at http://www.fsf.org/
+//
+// 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.
+//
+////////////////////////////////////////////////////////////////////////////////
+/// @file hlvm/AST/Bundle.h
+/// @author Reid Spencer <reid at hlvm.org> (original author)
+/// @date 2006/05/04
+/// @since 0.1.0
+/// @brief Declares the class hlvm::AST::Bundle
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef HLVM_AST_BUNDLE_H
+#define HLVM_AST_BUNDLE_H
+
+#include <hlvm/AST/Node.h>
+
+namespace hlvm
+{
+namespace AST
+{
+  /// This class represents an HLVM Bundle. A Bundle is simply a collection of
+  /// declarations and definitions. It is the root of the AST tree and also
+  /// the grouping and namespace construct in HLVM. Every compilation unit is
+  /// a Bundle. Bundles can also be nested in other Bundles. All programming
+  /// constructs are defined as child nodes of some Bundle.
+  /// @brief HLVM AST Bundle Node
+  class Bundle : Node
+  {
+    /// @name Constructors
+    /// @{
+    public:
+      Bundle(
+        Bundle* parent,         ///< The bundle to which this bundle belongs
+        const std::string& name ///< The name of this bundle
+      ) : Node(parent,name) {}
+      virtual ~Bundle();
+
+    /// @}
+    /// @name Data
+    /// @{
+    protected:
+    /// @}
+  };
+}
+
+#endif
+
+#endif

Added: hlvm/trunk/hlvm/AST/Function.h
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/hlvm/AST/Function.h?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/hlvm/AST/Function.h (added)
+++ hlvm/trunk/hlvm/AST/Function.h Sat Jul  7 18:58:30 2007
@@ -0,0 +1,67 @@
+//
+// Copyright (C) 2006 HLVM Group. All Rights Reserved.
+//
+// This program is open source software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License (GPL) as published by
+// the Free Software Foundation; either version 2 of the License, or (at your
+// option) any later version. You should have received a copy of the GPL in a
+// file named COPYING that was included with this program; if not, you can
+// obtain a copy of the license through the Internet at http://www.fsf.org/
+//
+// 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.
+//
+////////////////////////////////////////////////////////////////////////////////
+/// @file hlvm/AST/Function.h
+/// @author Reid Spencer <reid at hlvm.org> (original author)
+/// @date 2006/05/04
+/// @since 0.1.0
+/// @brief Declares the class hlvm::AST::Function
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef HLVM_AST_FUNCTION_H
+#define HLVM_AST_FUNCTION_H
+
+#include <hlvm/AST/LinkageItem.h>
+#include <hlvm/AST/NamedType.h>
+
+namespace hlvm
+{
+namespace AST
+{
+  class Block; // Forward declare
+  class Type;  // Forward declare
+
+  /// This class represents an Function in the HLVM Abstract Syntax Tree.  
+  /// A Function is a callable block of code that accepts parameters and 
+  /// returns a result.  This is the basic unit of code in HLVM. A Function
+  /// has a name, a set of formal arguments, a return type, and a block of
+  /// code to execute.
+  /// @brief HLVM AST Function Node
+  class Function : LinkageItem
+  {
+    /// @name Constructors
+    /// @{
+    public:
+      Function(
+        Bundle* parent, ///< The bundle in which the function is defined
+        const std::string& name ///< The name of the function
+      ) : LinkageItem(parent,name) {}
+      virtual ~Function();
+
+    /// @}
+    /// @name Data
+    /// @{
+    protected:
+      Block * block_;                   ///< The code block to be executed
+      Type* result_;                    ///< The type of the function's result
+      std::vector<NamedType> arguments_;///< The formal arguments 
+    /// @}
+  };
+}
+
+#endif
+
+#endif

Added: hlvm/trunk/hlvm/AST/LinkageItem.h
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/hlvm/AST/LinkageItem.h?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/hlvm/AST/LinkageItem.h (added)
+++ hlvm/trunk/hlvm/AST/LinkageItem.h Sat Jul  7 18:58:30 2007
@@ -0,0 +1,70 @@
+//
+// Copyright (C) 2006 HLVM Group. All Rights Reserved.
+//
+// This program is open source software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License (GPL) as published by
+// the Free Software Foundation; either version 2 of the License, or (at your
+// option) any later version. You should have received a copy of the GPL in a
+// file named COPYING that was included with this program; if not, you can
+// obtain a copy of the license through the Internet at http://www.fsf.org/
+//
+// 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.
+//
+////////////////////////////////////////////////////////////////////////////////
+/// @file hlvm/AST/LinkageItem.h
+/// @author Reid Spencer <reid at hlvm.org> (original author)
+/// @date 2006/05/04
+/// @since 0.1.0
+/// @brief Declares the class hlvm::AST::LinkageItem
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef HLVM_AST_LINKAGEITEM_H
+#define HLVM_AST_LINKAGEITEM_H
+
+#include <hlvm/AST/Node.h>
+
+namespace hlvm
+{
+namespace AST
+{
+  /// This enumeration is used to specify the kinds of linkage that are
+  /// permitted for a LinkageItem.
+  enum LinkageTypes {
+    ExternalLinkage,    ///< Externally visible item
+    InternalLinkage     ///< Rename collisions when linking (static funcs)
+    LinkOnceLinkage,    ///< Keep one copy of item when linking (inline)
+    WeakLinkage,        ///< Keep one copy of item when linking (weak)
+    AppendingLinkage,   ///< Append item to an array of similar items
+  };
+
+  /// This class represents an LinkageItem in the HLVM Abstract Syntax Tree. 
+  /// A LinkageItem is any construct that can be linked; that is, referred to
+  /// elsewhere and linked into another bundle to resolve the reference. The
+  /// LinkageItem declares what kind of linkage is to be performed.
+  /// @brief HLVM AST Bundle Node
+  class LinkageItem : Node
+  {
+    /// @name Constructors
+    /// @{
+    public:
+      LinkageItem(
+        Bundle* parent, ///< The Bundle to which this bundle belongs, or null
+        const std::string& name ///< The name of the bundle
+      ) : Node(parent,name) {}
+      virtual ~Bundle();
+
+    /// @}
+    /// @name Data
+    /// @{
+    protected:
+      LinkageTypes type_; ///< The type of linkage to perform for this item
+    /// @}
+  };
+}
+
+#endif
+
+#endif

Added: hlvm/trunk/hlvm/AST/Makefile
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/hlvm/AST/Makefile?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/hlvm/AST/Makefile (added)
+++ hlvm/trunk/hlvm/AST/Makefile Sat Jul  7 18:58:30 2007
@@ -0,0 +1,14 @@
+#-------------------------------------------------------------------------------
+# 
+# Copyright (C) 2006 HLVM Group. All Rights Reserved
+#
+#-------------------------------------------------------------------------------
+
+LEVEL = ../..
+LIBRARYNAME = HLVMAST
+DONT_BUILD_RELINKED := 1
+BUILD_ARCHIVE := 1
+INSTALL_INCLUDES := Bundle.h Conditionable.h Function.h LinkageItem.h \
+                    NamedType.h Node.h Variable.h
+
+include $(LEVEL)/Makefile.hlvm

Added: hlvm/trunk/hlvm/AST/Node.h
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/hlvm/AST/Node.h?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/hlvm/AST/Node.h (added)
+++ hlvm/trunk/hlvm/AST/Node.h Sat Jul  7 18:58:30 2007
@@ -0,0 +1,65 @@
+//
+// Copyright (C) 2006 HLVM Group. All Rights Reserved.
+//
+// This program is open source software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License (GPL) as published by
+// the Free Software Foundation; either version 2 of the License, or (at your
+// option) any later version. You should have received a copy of the GPL in a
+// file named COPYING that was included with this program; if not, you can
+// obtain a copy of the license through the Internet at http://www.fsf.org/
+//
+// 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.
+//
+////////////////////////////////////////////////////////////////////////////////
+/// @file hlvm/AST/Node.h
+/// @author Reid Spencer <reid at hlvm.org> (original author)
+/// @date 2006/05/04
+/// @since 0.1.0
+/// @brief Declares the class hlvm::AST::Node
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef HLVM_AST_NODE_H
+#define HLVM_AST_NODE_H
+
+#include <vector>
+#include <string>
+
+namespace hlvm
+{
+namespace AST
+{
+  class Type;
+
+  /// A NamedType is simply a pair involving a name and a pointer to a Type.
+  /// This is so frequently needed, it is declared here for convenience.
+  typedef std::pair<std::string,Type*> NamedType;
+
+  /// This class is the base class of HLVM Abstract Syntax Tree (AST). All 
+  /// other AST nodes are subclasses of this class.
+  /// @brief Abstract base class of all HLVM AST node classes
+  class Node
+  {
+    /// @name Constructors
+    /// @{
+    public:
+      Node(Node* parent, const std::string& name) 
+        : parent_(parent), name_(name) {}
+      virtual ~Node();
+
+    /// @}
+    /// @name Data
+    /// @{
+    protected:
+      std::string name_;        ///< The name of this node.
+      Node* parent_;            ///< The node that owns this node.
+      std::vector<Node> kids_;  ///< The vector of children nodes.
+    /// @}
+  };
+}
+
+#endif
+
+#endif

Added: hlvm/trunk/hlvm/Base/Config.h.in
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/hlvm/Base/Config.h.in?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/hlvm/Base/Config.h.in (added)
+++ hlvm/trunk/hlvm/Base/Config.h.in Sat Jul  7 18:58:30 2007
@@ -0,0 +1,70 @@
+/* xps/base/config.h.in.  Generated from autoconf/configure.ac by autoheader.  */
+
+/* Define to 1 if you have the <apr-1/apr.h> header file. */
+#undef HAVE_APR_1_APR_H
+
+/* Define to 1 if you have the <expat.h> header file. */
+#undef HAVE_EXPAT_H
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the `aprutil-1' library (-laprutil-1). */
+#undef HAVE_LIBAPRUTIL_1
+
+/* Define to 1 if you have the `apr-1' library (-lapr-1). */
+#undef HAVE_LIBAPR_1
+
+/* Define to 1 if you have the `efence' library (-lefence). */
+#undef HAVE_LIBEFENCE
+
+/* Define to 1 if you have the `expat' library (-lexpat). */
+#undef HAVE_LIBEXPAT
+
+/* Define to 1 if you have the <llvm/Module.h> header file. */
+#undef HAVE_LLVM_MODULE_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 <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/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 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
+
+/* Defined if all configurations share the same prefix */
+#undef XPS_SHAREDPREFIX

Added: hlvm/trunk/hlvm/Base/ConfigData.cpp.in
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/hlvm/Base/ConfigData.cpp.in?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/hlvm/Base/ConfigData.cpp.in (added)
+++ hlvm/trunk/hlvm/Base/ConfigData.cpp.in Sat Jul  7 18:58:30 2007
@@ -0,0 +1,75 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (C) 2002-2005 eXtensible Systems, Inc. All Rights Reserved.
+//
+// This program is open source software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License (GPL) as published by
+// the Free Software Foundation; either version 2 of the License, or (at your
+// option) any later version. You should have received a copy of the GPL in a
+// file named COPYING that was included with this program; if not, you can
+// obtain a copy of the license through the Internet at http://www.fsf.org/
+//
+// 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.
+//
+////////////////////////////////////////////////////////////////////////////////
+/// @file xps/base/Dirs.C.in
+/// @author Reid Spencer <rspencer at x10sys.com>
+/// @date 2003/04/25
+/// @since 0.1.9
+/// @brief Configuration template for getting configurable directories etc.
+////////////////////////////////////////////////////////////////////////////////
+
+#include <xps/base/Base.h>
+
+namespace XPS_base
+{
+
+const char xps_prefix[]            = "@XPS_PREFIX@";
+const char xps_workspace_dir[]     = "@XPS_WITH_WORKSPACE@";
+const char xps_bindir[]            = "@XPS_PREFIX@/bin";
+const char xps_libdir[]            = "@XPS_PREFIX@/lib";
+const char xps_includedir[]        = "@XPS_PREFIX@/include";
+const char xps_datadir[]           = "@XPS_PREFIX@/data";
+const char xps_configdir[]         = "@XPS_PREFIX@/etc";
+const char xps_infodir[]           = "@XPS_PREFIX@/info";
+const char xps_mandir[]            = "@XPS_PREFIX@/man";
+const char xps_schemasdir[]        = "@XPS_PREFIX@/schemas";
+const char xps_src_dir[]           = "@abs_top_srcdir@";
+const char xps_build_dir[]         = "@abs_top_builddir@";
+const char xps_config_time[]       = "@XPS_CONFIGTIME@";
+const char xps_config[]            = "XPS.cfg";
+const char xps_config_path[]       = "@XPS_PREFIX@/etc/XPS.cfg";
+const char xps_version[]           = "@XPS_VERSION@";
+const char xps_so_version[]        = "@XPS_SO_VERSION@";
+const char xps_xpl_rng_path[]      = "@XPS_PREFIX@/schemas/XPL.rng";
+const char xps_package_name[]      = "@PACKAGE_NAME@";
+const char xps_package_bugreport[] = "@PACKAGE_BUGREPORT@";
+const char xps_package_string[]    = "@PACKAGE_STRING@";
+const char xps_package_version[]   = "@PACKAGE_VERSION@";
+const int xps_lib_current = @XPS_SO_CURRENT@;
+const int xps_lib_revision = @XPS_SO_REVISION@;
+const int xps_lib_AGE = @XPS_SO_AGE@;
+
+const char Configuration_schema_location[] =
+  "http://x-p-s.net/XPS/Schemas/Configuration "
+  "@XPS_PREFIX@/schemas/Config.rng";
+
+const char XPL_schema_location[] =
+  "http://x-p-s.net/XPS/Schemas/XPL "
+  "@XPS_PREFIX@/schemas/XPL.rng";
+
+const char Command_schema_location[] =
+  "http://x-p-s.net/XPS/Schemas/Command "
+  "@XPS_PREFIX@/schemas/Command.rng";
+
+const char XHTML_schema_location[] =
+  "http://www.w3.org/1999/xhtml "
+  "@XPS_PREFIX@/schemas/XHTML.xsd";
+
+const char XSLT_schema_location[] =
+  "http://www.w3.org/1999/XSL/Transform "
+  "@XPS_PREFIX@/schemas/XSLT.xsd";
+}

Added: hlvm/trunk/hlvm/Base/Makefile
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/hlvm/Base/Makefile?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/hlvm/Base/Makefile (added)
+++ hlvm/trunk/hlvm/Base/Makefile Sat Jul  7 18:58:30 2007
@@ -0,0 +1,12 @@
+##===- hlvm/Base/Makefile ----------------------------------*- Makefile -*-===##
+#
+# Relative path to the top of the source tree.
+#
+LEVEL=../..
+
+#
+# List all of the subdirectories that we will compile.
+#
+DIRS=
+
+include $(LEVEL)/Makefile.hlvm

Propchange: hlvm/trunk/hlvm/Base/Makefile

------------------------------------------------------------------------------
    svn:executable = *

Added: hlvm/trunk/hlvm/Makefile
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/hlvm/Makefile?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/hlvm/Makefile (added)
+++ hlvm/trunk/hlvm/Makefile Sat Jul  7 18:58:30 2007
@@ -0,0 +1,12 @@
+##===- hlvm/Makefile ---------------------------------------*- Makefile -*-===##
+#
+# Relative path to the top of the source tree.
+#
+LEVEL=..
+
+#
+# List all of the subdirectories that we will compile.
+#
+DIRS=Base AST
+
+include $(LEVEL)/Makefile.hlvm

Propchange: hlvm/trunk/hlvm/Makefile

------------------------------------------------------------------------------
    svn:executable = *

Added: hlvm/trunk/test/Makefile
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/test/Makefile?rev=37974&view=auto

==============================================================================
--- hlvm/trunk/test/Makefile (added)
+++ hlvm/trunk/test/Makefile Sat Jul  7 18:58:30 2007
@@ -0,0 +1,13 @@
+##===- test/Makefile ---------------------------------------*- Makefile -*-===##
+
+#
+# Relative path to the top of the source tree.
+#
+LEVEL=..
+
+#
+# List all of the subdirectories that we will compile.
+#
+DIRS=
+
+include $(LEVEL)/Makefile.hlvm

Propchange: hlvm/trunk/test/Makefile

------------------------------------------------------------------------------
    svn:executable = *

Modified: hlvm/trunk/tools/Makefile
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/tools/Makefile?rev=37974&r1=37973&r2=37974&view=diff

==============================================================================
--- hlvm/trunk/tools/Makefile (original)
+++ hlvm/trunk/tools/Makefile Sat Jul  7 18:58:30 2007
@@ -10,4 +10,4 @@
 #
 DIRS=
 
-include $(LEVEL)/Makefile.common
+include $(LEVEL)/Makefile.hlvm





More information about the llvm-commits mailing list