QuickStart Instructions
=======================
% ./chores.3dfx --clean --generate \
           --configure[=whatever configuration options you want] \
           --build
% cd build
% ./build.3dfx install
N.B.: The last command may have to be executed as root.  It will
      install libglide3x.so into /usr/lib, and the glide include
      files into /usr/include/glide3.

SwiftButNotQuickButMoreConventionalStart Instructions
=====================================================
% aclocal && automake && autoconf
% mkdir build
% cd build
% ../configure [ whatever options you want ]
% make -f makefile.autoconf all 2>&1 | tee make.hst

SlowStart Instructions
======================
This is generally a standard GNU automake/autoconf project.
  o There is a script named "configure" in the root of the
    source directory which creates makefiles with parameters
    set as appropriate for a particular system.
  o We use automake to make makefile templates and autoconf
    to make a configure script from configure.in.
    
However, there are some small wrinkles.
0.) Building from the CVS archive requires several tools, 
    notably automake autoconf and libtool. These, in
    turn, have their own requirements.  The versions of some of the
    tools used to create the configuration are:
       o automake: 1.4
       o autoconf: 2.13
       o libtool:  1.3.3
       o GNU m4:   1.4 (used by autoconf.)
       o perl      5.005_03
    FWIW, this was debugged on a Debian distribution, using
    a not-completely-current frozen release.
1.) The makefiles are all named makefile.autoconf.  This is because
    the Glide code is built for several platforms, one of which
    is Win32.  The Win32 build uses the name makefile, and so we need
    to use another.  Except for the top build, the makefile.autoconf
    makefiles take care of choosing the right names.  (But see
    the note below about build.3dfx.)
2.) The (canonical) sequence of files is:
      makefile.autoconf.am    --> makefile.autoconf.in    (b)
                              --> makefile.autoconf       (c)
      Note:
      (a) You will have to run aclocal before automake.
      (b) makefile.autoconf.in is created by automake as usual.
      (c) makefile.autoconf is created by the configure script,
          as usual.  It is the concatenation of the
          makefile.autoconf.in file created by automake, and
          some constant boilerplate from the file
               swlibs/include/make/makefile.autoconf.bottom
3.) The configuration options are:
      --enable-fx-debug:          Build for debugging.  This is
                                  actually the default.  Turn it
                                  off by --disable-fx-debug or
                                  else --enable-fx-debug=no.
      --enable-fx-glide-hw=<asic> Build for the given asic.
           asic          HW
           h5            Voodoo4/VoodooV
           h3            Voodoo3/Banshee
           cvg           Voodoo2.  (It's not clear that this
                                    works at all.)
      --enable-fx-dri-build       Make links called *.c to the files 
                                  named *.c.dri.  This will build
                                  h3 for DRI.  To build h3 stand alone,
                                  use --disable-fx-dri-build.
      --enable-amd3d              Build with 3DNow instructions.
      --enable-fx-texus=library   Choose which texture manipulation
                                  library to use.  The default value,
                                  texus, is the only one which is
                                  currently functional.
      --enable-build-architecture Choose which architecture to build
                                  for.  The legal values are i[3456]86,
                                  or the alpha.
4.) There is a script, build.3dfx, which is installed by the
    configure script at the root of every build directory.  It
    is essentially the single line:
        make -f makefile.autoconf "$@"2>&1
    however, there is some cruft to determine how much time and
    disk space is used by the compilation.  There is also some
    stuff there to put information in the title bar of xterms,
    because I like it.  If you don't like this, don't use it,
    and build your own script.
5.) There is a second script, chores.3dfx, which takes care of some
    chores, such as cleaning emacs backup files, deleting old makefiles,
    generating new makefiles and configuring.  I find this is useful,
    but it is not required.  The --help command gives usage.
6.) A special note about H3:
    The Glide3 H3 source can be built as a DRI client or as a
    stand alone library.  Controlling which gets built is done by
    setting up symlinks.  The configuration script sets up the
    symlinks in the build directory.

    To setup glide3x/h3 to build as a DRI client, configure with
    the --enable-fx-dri-build.  To setup glide3x/h3 to build as a
    stand alone client, configure with --disable-fx-dri-build.

    The default is to build as a DRI client.
7.) A special note about H5: 
    The Glide3 H5 source can only be built as a DRI client, so the
    symlinks necessary for the H3 tree are not necessary for the H3
    tree.

So, to make things from absolute scratch, run one of these command
sequences:
1.) Using chores.3dfx
    % ./chores.3dfx --clean --generate --configure --build
    This will build in a directory named "build".  If you want to
    use another name, use "--build=build_dir".  For example,
          --build=/tmp/glide.build
2.) Not using chores.3dfx
    #
    # Create the makefile.autoconf files.
    #
    % aclocal && automake && autoconf
    #
    # Make a build directory and configure it.
    #
    % mkdir build
    % cd build
    % ../configure [whatever options you want here]
    #
    # Build everything, using one of these two commands:
    1.) % ./build.3dfx all | tee make.hst
    2.) % make -f makefile.autoconf all 2>&1 | tee make.hst
    # 
    #
