PACKAGE INSTALL
===============

VM releases are avaliable through a non-gnu ELPA package:

   M-x package-install <ret> vm <ret>


BUILD FROM SOURCE
=================

VM source is availabe from https://gitlab.com/emacs-vm/vm

1) configure: First you need to decide the various options.

   --with-emacs      the emacs you will use to compile (can be a Unix path)
   --prefix          the prefix for the installation (default /usr/local)
   --with-other-dirs the directories to use for loading any extra
                     emacs-lisp libraries during compilation

   The default installation locations are as follows:

   a) GNU Emacs: 
      lisp files goto ${prefix}/share/emacs/site-lisp,
      data files (e.g. pixmaps) go to ${prefix}/share/vm, and 
      doc files go to the same location as data files, and 
      info files go to ${prefix}/share/info, (overridable with
      --with-lispdir=..., --with-etcdir=..., --with-docdir=...
      and --infodir=...).

   b) XEmacs: 
      lisp files go to ${prefix}/lib/xemacs/site-packages/lisp/vm, 
      data files go to ${prefix}/lib/xemacs/site-packages/etc/vm,
      doc files go to the same location as data files, and 
      info files to ${prefix}/lib/xemacs/site-packages/info, (overridable
      with --with-lispdir=..., --with-etcdir=...,  --with-docdir=...
      and --infodir=...).

      Run M-x describe-installation in XEmacs for hints on where to
      install the files for XEmacs.

   NOTE: VM 8.1.1 and older versions used an option --with-pixmapdir,
   which is now replaced by --with-etcdir.

   ATTENTION: Files byte-compiled with GNU Emacs are NOT COMPATIBLE with
   XEmacs and you may experience strange problems during startup if you do
   so.  Even between different versions of the same Emacs, there can be
   problems!  

   EXAMPLES:

   a) GNU Emacs+BBDB users run:
        ./configure --with-other-dirs=/absolute/path/to/bbdb/lisp

   b) XEmacs+BBDB users run:
        ./configure --with-emacs=xemacs --with-other-dirs=/path/to/bbdb/lisp
   
   c) GNU Emacs+BBDB+Emacs-w3m users run:
        ./configure --with-other-dirs="/absolute/path/to/bbdb/lisp;/absolute/path/to/emacs-w3m"

   d) XEmacs with no additional packages
        ./configure --with-emacs=xemacs

2) make: Compile everything by running:

        make

   You may ignore the byte compiler warnings.  However any messages from
   `make' indicate problems or deficiencies in the installation, such as
   missing libraries.

3) Installing the files

   a) To use VM from the built directory

      You can use VM directly from the directory where you built it, without
      any further installation.  To activate VM, follow these steps:

      Add the "lisp" and "info" directories in the VM built directory to the
      Emacs search paths, e.g. if you have built vm in ~/vm, add the following
      to your ~/.emacs or ~/.xemacs/init.el files.

         (add-to-list 'load-path
                      (expand-file-name "~/vm/lisp"))
         (add-to-list 'Info-default-directory-list
                      (expand-file-name "~/vm/info"))

      IMPORTANT: If there are any old VM-related autoloads in your
      emacs init file, you should remove them.  The current version of
      VM takes care of its own autoloading.

      GNU Emacs: Load the autoloads by hand by adding

         (require 'vm-autoloads)

      to their ~/.emacs.  

      XEmacs: Since XEmacs has a built-in distribution of VM, you have two
      options.  (i) You can delete the built-in package in the XEmacs
      xemacs-packages directory.  Then the new copy of VM in ~/vm/lisp
      will get loaded.  (ii) You can include the following line in
      your ~/.xemacs/init.el file:

        (load-library "~/vm/lisp/auto-autoloads")

      Info files: Add the following lines to the `dir' file in your
      user-maintained info directory.  If you don't have one, you can create
      a new `dir' file in ~/vm/info.

      * VM: (vm.info).                  VM Mail Reader
      * VM-PCrisis: (vm-pcrisis.info).  Personality Crisis package for VM

      Note that vm-pcrisis is a separate add-on package (not officially a
      part of VM).

   b) To use VM from system directories: Run

          make install

      This will install VM files in the locations chosen in the `configure'
      step. 

   You are now ready to use VM.  C-h i should start up the Emacs Info
   system.  If you have installed the Info documents properly, you can use
   the online documentation to teach yourself how to use VM.

COMPANION PACKAGES
==================

VM uses companion packages for address book maintenance and HTML
display.  VM will work fine even if the companion packages are
unavailable, but the best functionality is obtained with them.

* BBDB or "Big Brother Insidious DataBase" is an address book
  application that runs within Emacs.  It is able to watch the email
  addresses in the headers of your email addresses and record them in
  the database.

  Assuming that you have compiled VM with BBDB included in the
  `lispdir' list, include the following lines in your .emacs to turn
  on BBDB support:

         (require 'bbdb)
         (bbdb-initialize 'vm)

* For rendering HTML messages, VM can make use of the following Emacs
  libraries:

  - Emacs/W3 - a web browser written by William Perry in Emacs Lisp.
    It is said to be slow and its current maintenance (in 2010) is
    weak.

  - Emacs/W3M - an Emacs interface to the text-mode web browser W3M.

  For guidance on installing either of these libraries, please check
  their EmacsWiki pages and their own installation instructions.

  VM can also make use of the following external text-mode web
  browsers (as basically converters from html to plain text).

  - Lynx - A fast text-based web browser that runs under Unix.
  Developed at the University of Kansas.

  - W3M - Possibly the best text-based web browser.  Written by
  Akinori Ito and his team, it runs fast and renders pages
  as true to form as possible in plain text.
  
  VM can check the libraries available on your path and pick the best
  one for HTML rendering, but you can also specify the choice
  explicitly by including in your .emacs file, e.g.,

          (setq vm-mime-text/html-handler 'emacs-w3m)

  Other than 'emacs-w3m, you can also use 'emacs-w3, 'w3m and 'lynx.
