bbdb / INSTALL

Full commit
This file has three sets of installation instructions: with `make',
without `make', and uncompiled. Please follow the appropriate set of
instructions. If you plan on running BBDB directly from CVS, please
check the additional instructions below.


Running BBDB from CVS:

  *** PLEASE NOTE ****
  This applies to the master CVS tree at sourceforge, not the XEmacs CVS tree.
  *** PLEASE NOTE ***

  This is not recommended, unless you're a BBDB developer. You will
  need to either install the GNU autoconf package, or download the
  pregenerated copy of configure from the BBDB website. If you choose
  the former option, you'll need to run `autoconf' to generate the
  configure script. Thereafter, follow the appropriate set of
  instructions below.


To compile and install the BBDB on systems with `make':

  1) Configure the compilation process:

       First of all, you should run the `configure' script at the toplevel of
       the distribution. This script will perform a number of checks on your
       system and generate the Makefile's accordingly.

       The `configure' script comes with a number of options that might be of
       interest to you:

       `--with-emacs=PROG' lets you select an Emacs program to use. By
         default, "emacs" and "xemacs" will be tried in that order.

       `--with-{gnus,mhe,vm}-dir=DIR' let you specify the paths where Gnus,
         MH-E and VM can respectively be found, if Emacs can't find them by
         itself (like, if they're not in the load-path by default).

       `--with-other-dirs=DIRS' lets you specify additional paths (space or
         colon spearated) to find other libraries that might be needed (see
         the "Byte Compiling the Lisp files" section of the BBDB manual for
         more information).

         NOTE: Gnu Emacs 19.34 users should add the path to Custom 1.9962
         here if they plan to build Gnus support.  Gnus support will not build
         under Gnu Emacs 19.34 without Custom 1.9962.

       `--with-package-dir=DIR' lets you specify the installation path for
         for XEmacs package installation. By default,
         "/usr/local/lib/xemacs/site-packages" is used.

       `--with-symlinks' will make the installation process use symbolic links
         to the sources instead of copying the files.

       `--with-linkpath=PATH' lets you specify the path to link from, if your
         `pwd' command doesn't work properly.

  2) Build the BBDB:

       To build the BBDB with support for all of the supported mail
       and news programs (gnus, mh-e, rmail, and vm), issue the
       command 'make all'.  (The BBDB also supports sendmail mode -
       support for it is automatically compiled in, regardless of the
       build options supplied) To build with support only for gnus,
       mh-e, rmail, and/or vm, issue the 'make' command with one or
       more of the following arguments: 'gnus', 'mh-e', 'rmail',
       and/or 'vm'.  To build the BBDB without support for any mail
       program (except for sendmail mode), issue the command
       'make bbdb'.

  3) Install the BBDB:

       The three most typical installations are outlined below:

        a) In-place.
             i)   Follow steps 1 and 2
             ii)  Add the lisp subdirectory to the Emacs load-path
             iii) Add the tex subdirectory to the TeX
                  search path (can be done by adding the complete path
                  to the tex subdirectory to the environment variable
             iv)  Add the texinfo directory to the Info search path.
        b) "Normal".
             i)   Follow steps 1 and 2.
             ii)  Copy the .el and .elc files from the lisp
                  subdirectory to a directory on the Emacs load-path
                  (or make a new directory, copy the files to it, and
                  add the new directory to the load-path).
             iii) Copy the .tex files from the tex subdirectory to a
                  directory on the TeX search path (or make a new
                  directory, copy the files to it, and add the new
                  directory to the TeX search path.
             iv)  Copy the .info and .info-* files from the texinfo
                  subdirectory to a directory on the Info search path
                  (or make a new directory, copy the files to it, and
                  add the new directory to the Info search path)
        c) XEmacs Package
             NOTE: This installation option is only available to users
                   running XEmacs 20.3 or higher.
             i)    Follow steps 1 and 2.
             ii)   Issue the 'make install-pkg' command.

To compile and install the BBDB on systems without `make':

  If at all possible, use make to automatically build the BBDB as
  outlined above.  While it looks like there are fewer steps in the
  non-make instructions below, they're more tedious and involved.

  1) Compile the .el files using the byte-compile-file function in

  2) Install the BBDB as outlined in step 3 above.


To run BBDB uncompiled:

  Again, this is really not recommended, although it will generate a
  more meaningful stacktrace if you happen to run into a problem. In
  order to run BBDB uncompiled, you'll need to do two things:

  1) Generate bbdb-autoloads.el
     You can do this by typing 'make autoloads' in the main BBDB
     directory. Note that this will require you to have previously run
     configure to generate Makefiles.

  2) Add .../bbdb/lisp to your load path
     You need to make sure that the lisp subdirectory of the BBDB
     source is in your load path so that Emacs can find the BBDB

  Since arbitrary chunks of the BBDB are macros, you'll probably find
  the uncompiled version slower than the compiled version.


*                                                                         *
*                                                                         *
*                              YOU *MUST* ADD                             *
*                                                                         *
*   (require 'bbdb)                                                       *
*   (bbdb-initialize)                                                     *
*                                                                         *
*                                                                         *
*       If you do not add this code, you will receive keymap errors       *
*                          (among other things)                           *
*                                                                         *

For information on post-installation BBDB configuration and setup, see
the info file. (M-x bbdb, and press 'i' in the BBDB info window)

Questions, Comments, Suggestions, and Bug Reports may be directed to
the BBDB mailing list at  To
subscribe, send mail to, with
'subscribe' as the subject.