-*- mode: Text -*-

--------------------------------------------------------------------

C-Reduce 

--------------------------------------------------------------------
Prereqs:

On Ubuntu or Mint, prerequisites other than LLVM can be installed like
this:

  sudo apt-get install indent astyle delta libbenchmark-timer-perl \
    libexporter-lite-perl libfile-which-perl libgetopt-tabular-perl \
    libregexp-common-perl libsys-cpu-perl flex build-essential \
    zlib1g-dev

Otherwise, install these packages either manually or using the package
manager:

astyle: 
  http://astyle.sourceforge.net/

Berkeley delta:
  http://delta.tigris.org/

Flex:
  http://flex.sourceforge.net/

GNU Indent:
  http://www.gnu.org/software/indent/

LLVM/Clang 3.3:
  http://llvm.org/releases/download.html#3.3
  (no need to compile it, the appropriate "Clang binaries" package is
  all you need)

NOTE: The LLVM 3.3 release has some performance issues that were fixed
      by the LLVM developers shortly after the release. If you want to
      increase the speed of C-Reduce by as much as 100% when reducing
      large C++ programs, you may want to experiment with using
      development versions of LLVM 3.3+, following instructions here:
      http://clang.llvm.org/get_started.html We have had good luck
      using versions around 186000 but newer versions probably also
      work.

Perl modules:
  Benchmark::Timer
  Exporter::Lite
  File::Which
  Getopt::Tabular
  Regexp::Common
  Sys::CPU (optional, but recommended)

For example, (perhaps as root):
  cpan -i 'Benchmark::Timer'
  cpan -i 'Exporter::Lite'
  cpan -i 'File::Which'
  cpan -i 'Getopt::Tabular'
  cpan -i 'Regexp::Common'
  cpan -i 'Sys::CPU'

zlib:
  http://www.zlib.net/

--------------------------------------------------------------------
Building and installing C-Reduce:

From either the source directory or a build directory:

  [source-path/]configure [options]
  make
  make install

The `configure' script was generated by GNU Autoconf, and therefore
accepts the usual options for naming the installation directories,
choosing the compilers you want to use, and so on.  `configure --help'
summarizes the command-line options.

If LLVM/Clang is not in your search path, you can tell the `configure'
script where to find LLVM/Clang:

  # Use the LLVM/Clang tree rooted at /opt/llvm
  configure --with-llvm=/opt/llvm

Note that assertions are disabled by default.  To enable assertions:

  configure --enable-trans-assert

--------------------------------------------------------------------
