This is what you need to do to install Pike:

1) Run ./configure, this is a sh script that will generate machine.h and
   Makefile from machine.h.in and Makefile.in.

  Some options for ./configure are:
  --prefix=/foo/bar   if you want to install Pike in /foo/bar,
                      default is /usr/local.
  --without-gdbm      compile without gdbm support
  --without-gmp       compile without gmp support
  --without-readline  compile without readline support
  --without-debug     compile without runtime debugging
  --without-threads   compile without threads support
  --without-zlib      compile without gzip compression libary support

   You might also want to set the following environment variables:
   CFLAGS     Put extra flags for your C compiler here.
   CPPFLAGS   Put extra flags for your C preprocessor here
              (such as -I/usr/gnu/include)
   LDFLAGS    Put extra flags to your linker here, such as -L/usr/gnu/lib
              and -R/usr/gnu/lib

   Use the above flags to make sure the configure script finds the
   gdbm, gmp and readline libraries and include files if you need or
   want those modules. If the configure script doesn't find them, Pike
   will still compile, but without those modules.

2) If needed, edit config.h and Makefile to suit your purposes.
   I've tried to make it so that you don't have to change config.h or
   Makefile at all. If you need to do what you consider 'unnessecary
   changes' then mail me and I'll try to fit it into configure.  If
   possible, use gnu make, gcc, gnu sed and bison.

3) Run make.

4) optionally, run 'make verify' to check that the compiled driver works
   as it should (might be a good idea) This will take a little time
   and use quite a lot of memory, because the testprogram is quite
   large. If everything works out fine no extra messages are written.

5) If you want to install Pike, write 'make install'

6) Optionally do 'make html_docs' to create a directory called docs which
   will contain the Pike documentation in html. This directory can then
   be copied to anywhere you want.

What to do when it doesn't work:
1) Try again.

2) Your sh might be too buggy to run ./configure. (This is the case on A/UX)
   Try using bash, zsh or possibly ksh. To use bash, first run /bin/sh and
   type:
   $ CONFIG_SHELL=full_path_for_bash
   $ export CONFIG_SHELL
   $ $CONFIG_SHELL ./configure

3) ./configure relies heavily on sed, if you have several sed in your path
   try another sed. (preferably gnu sed)

4) configure might have done something wrong, check machine.h and report
   any errors back to me.

5) Your gmp/readline/gdbm libraries might not be working or incorrectly 
   installed, start over by running configure with the approperiate
   --without-xxx arguments. Also note that threads might give problems
   with I/O and signals. If so you need to run configure --without-threads.

6) Try a different compiler, malloc, compiler-compiler and/or make.
   (if you have any other)

7) On Linux Slackware machines (older than slackware 3.0), Pike sometimes
   fails to find -lm, this is because of a bug in /usr/lib/libm.sa
   (or possibly libg.a) in slackware.
   Compile with 'make EXTRALIBS="-lc -lm"' to get around this bug.

8)
If you find a bug in the interpreter, the first thing to do is to make sure
the interpreter is compiled with DEBUG defined. If not recompile with DEBUG
and see if you get another error. When you've done this, please report the
bug to hubbe@lysator.liu.se and include as much as you can muster of the
following:

  o The version of the driver. (can be found in lib/simulate.pike)
  o What kind of system hardware/software you use (OS, compiler, etc.)
  o the piece of code that crashes or bugs.
    (preferably in a very small pike-script with the bug isolated)
    Please send a complete running example of something that makes the
    interpreter bug.
  o a description of what it is that bugs and when.
  o if you know how then also give me a backtrace and dump of vital variables
    at the point of crash.
  o or, if you found the error and corrected it, just send me the bugfix along
    with a description of what you did and why.

  /Fredrik Hubinette
