# See "br-vers.el" for the OO-Browser Lisp Code Directory information.
#
# SUMMARY:      OO-Browser overview and installation notes
#
# AUTHOR:       Bob Weiner
#
# ORIG-DATE:    16-Jun-90
# LAST-MOD:     3-May-96 at 20:45:00 by Harri Pasanen
#
# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996  Free Software Foundation, Inc.
# See the file BR-COPY for license information.
#
# This file is part of the OO-Browser.

===========================================================================
*			Table of Contents
===========================================================================
			* Files
			* Mail Lists
			* Installation / Configuration
			* Invocation


===========================================================================
*			   Files
===========================================================================

See the "BR-COPY" file for copying and distribution information.

See the "BR-OBTAIN" file for information on obtaining the OO-Browser.

See the "MANIFEST" file for summaries of the OO-Browser files.

See the "BR-RELEASE" file for a summary of new features in this release.

See the "BR-FEATURES" file for a summary of OO-Browser features.

"man/oo-browser.info" and "man/oo-browser.texi" contain the Info and Texinfo
source versions of the OO-Browser User Manual.


===========================================================================
*			    Mail Lists
===========================================================================

<oo-browser@hub.ucsb.edu>            - mail list
<oo-browser-request@hub.ucsb.edu>    - administrative requests

   The oo-browser mail list is for discussion, bug reports and feature
   requests concerning the OO-Browser multi-language code browser.
   If your Emacs version supports menubars and popup menus, you can use the
   Compose-Mail-to-List and Mail-List-Request menu items to access the
   mail list and administrative address, respectively, when in the OO-Browser.

   ALL mail concerning administration of the OO-Browser mailing list should
   be sent to the -request address.  That includes addition, change, or
   deletion requests.  Don't EVER consider sending such a request to the
   oo-browser mail list.

   Use the following formats on your subject line to execute requests,
   where you substitute your own values for the <> delimited items.
 
     Subject: Subscribe '<' <user@domain> '>' (<your name>).
     Subject: Unsubscribe '<' <user@domain> '>'.

   To change your address, you must unsubscribe your old address in one
   message and then subscribe your new address in another message.

   For example:

     To: oo-browser-request@hub.ucsb.edu
     Subject: Unsubscribe <joe@any.com>.

     To: oo-browser-request@hub.ucsb.edu
     Subject: Subscribe <joe@any.com> (Joe Williams).

   If you ask questions, you should consider adding to the discussion by
   telling people the kinds of work you are doing or contemplating doing
   with the OO-Browser.  In this way, the list will not be overwhelmed by
   messages that ask for, but provide no information.


===========================================================================
*		      Installation / Configuration
===========================================================================

To install the OO-Browser:

    If you have the Hyperbole system installed, you must be using
    V3.18.4 or greater.  Otherwise, you must upgrade.  Get Hyperbole
    from: /anonymous@ftp.xemacs.org:/pub/infodock.  Get the h*
    files in that directory.  Once you have this version installed,
    you can safely delete the oobr/hypb/ directory, which duplicates a
    subset of the Hyperbole files to provide the OO-Browser with
    context-sensitive keyboard and mouse keys.  But then you must
    make a symbolic link from your hyperbole directory to oobr/hypb,
    so that the OO-Browser Makefile can see the Hyperbole files it needs.

    Add the full path of either the Hyperbole code directory or the
    "oobr/hypb/" subdirectory to your 'load-path' variable.

    You may want to change the settings of 'c++-cpp-include-dirs'
    and 'c++-include-dirs' at the bottom of "br-site.el".

    If you prefer to use some non-GNU Emacs editor such
    as vi to view and edit your code, then modify to your taste the
    settings in the br-setup-external function in "br-site.el" and add
    the following line to your personal Emacs initialization file:
         (add-hook 'br-mode-hook 'br-setup-external)

    Add the following lines to your site autoload configuration, substituting
    the correct full path for <OO-BROWSER-DIR>:

         (defvar br-directory "<OO-BROWSER-DIR>/")
  "Directory where the OO-Browser executable code is kept.
It must end with a directory separator character.")

         (autoload 'oo-browser (expand-file-name "br-start" br-directory)
	           "Invoke the OO-Browser" t)
         (autoload 'br-env-browse (expand-file-name "br-start" br-directory)
 		   "Browse an existing OO-Browser Environment" t)

    Add the following key binding to your site keys configuration:

         (global-set-key "\C-c\C-o" 'oo-browser)

    It conceivable that you are not actively using all the languages that 
    OO-Browser supports. You can limit the list of offered languages by 
    providing your own definition of br-env-lang-avector, defined in 
    br-env.el. 

    For example, to enable just C++ and Python browsing, add this to your
    .emacs:

	(defvar br-env-lang-avector
      	  '[("C++"     . "c++-")
            ("Python"  . "python-")]
  "Association vector of (LANGUAGE-NAME . LANGUAGE-PREFIX-STRING) elements of OO-Browser languages.")

    The OO-Browser's Emacs Lisp files are pre-byte-compiled for InfoDock,
    Emacs 19 and XEmacs, so if you run one of these versions, when you use
    make to build the OO-Browser, very few files will need to be built, so
    your make will finish quickly.

    Before doing your first make, edit the CONFIGURABLE SECTION in the
    "Makefile".  You must set the EMACS variable to point to the Emacs
    executable that you want to use to byte-compile the OO-Browser Lisp
    files.  You may also have to set SITE-PRELOADS; follow the instructions
    that precede the 'SITE-PRELOADS =' line.  Make these changes now and save
    the Makefile.

    If you are running Emacs V18 or Epoch, you must first rebuild all
    byte-compiled Lisp files.  Move to the oobr directory and use:
           make all-elc

    Then, whatever Emacs version you use, move to the oobr directory
    and use:
	   make

    Use these commands if you want to build graphical interfaces to
    the OO-Browser:

           If you want to build the X OO-Browser, you have to change some
           of the variable settings at the top of the "tree-x/Makefile",
           such as the BINDIR directory.

           Once you have done that, use:
	      make xoobr
           to build the X OO-Browser and then use:
	      make install
           to install the executable for use.

           If you want to rebuild the NEXTSTEP OO-Browser below the
           "tree-nx" directory, you must use NeXT's ProjectBuilder.  The
           browser is pre-built for NEXTSTEP 3.0 on 68k NeXT machines.

    To produce the Postscript version of the Hyperbole manual:
           make ps

    If you ever want to just rebuild out of data Lisp files, use:
           make elc
    
    The OO-Browser is now ready for use.


===========================================================================
*			    Invocation
===========================================================================

To invoke the OO-Browser, use:

    {C-c C-o} or {M-x oo-browser RET}
