
Installation of GLOBAL

						6-Dec-1998 Shigio Yamaguchi
---------------------------------------------------------------------------
Guide line (C style)
---------------------------------------------------------------------------

if (Your system == FreeBSD) {
	You are lucky!
	You need not to do procedure "1. Preparation for generic UNIX".

	switch (version) {
	case 2.0.5R:
	case 2.1.0R:
	case 2.1.5R:
	case 2.1.6R:
	case 2.1.7R:
	case 2.2.1R:
		There is no problem.
		break;
	case 2.2.2R:
	case 2.2.5R:
	case 2.2.6R:
	case 2.2.7R:
		Your system includes GLOBAL 1.9 or 2.24.
		You can overwrite it with this package.
		break;
	default:
		I don't know. But it seems to be little problem.
	}
} else if (Your system == NetBSD 1.3.2) {
	You are lucky!
	You need not to do procedure "1. Preparation for generic UNIX"
	and you can use nvi-1.66.diff for native nvi.
} else if (Your system == Debian GNU linux 1.3.1) {
	You are lucky!

	You can skip most of "1. Preparation for generic UNIX" except for
   	"a) Generic makefile".(It's very easy.)
} else {
	You may some error messages to make GLOBAL.
	But it seems not so difficult to clear it. If you make a patch for it,
	please let me know. I would like to include your patch into new
	version of GLOBAL.

	Thank you in advance.
}

Please see ./dbpatches/README.

----------------------------------------------------------------------------
Install procedure
----------------------------------------------------------------------------

0. Extracting

	% tar xzvf global-XXX.tar.gz
	% cd global-XXX

	(XXX is version number.)

1. Preparation for generic UNIX

   If you are a user of FreeBSD (all version) or NetBSD 1.3.2 then
   nothing to do here.  Please go to "2. GLOBAL basic".

   Otherwise, you must check following items before you install GLOBAL.

   a) Generic makefile (necessary)

      This package includes generic makefile. Please do the followings.

	% make -f Makefile.generic gen
	% vi Makefile		<- check variables like BINDIR, MANDIR, ...

   b) Some UNIX tools (necessary)

      Find(1), sed(1), sort(1), uniq(1) are needed.
      If your environment is UNIX, you have them. You can confirm it like this.

	% which find
	/usr/bin/find
	%

   c) POSIX regular expression (extension) library (necessary)

      If you don't have it, you can use GNU's regex library (regex-0.12.tar.gz).
      See following site.

	http://www.gnu.org/order/ftp.html

   d) BSD db library version 1.85 (necessary)

      If you don't have it, you can fetch it from this site.

	http://mongoose.bostic.com/db/packages/db.1.85.tar.gz

   e) PERL version 4 or later (needed for htags)

      If you don't have it, you can fetch it from this site.

	ftp://ftp.cis.ufl.edu/pub/perl/CPAN/src/5.0/latest.tar.gz

   f) Rewrite some files (needed for htags)

      If you install GLOBAL into other than /usr/bin, you need rewrite
      hard coded path in a program. You can find the place by this command.

	% grep '/usr/bin/global' */*.pl

      If you install perl to other than /usr/bin, please rewrite hard coded
      path in some programs. You can find the places by this command.
 
	% grep '/usr/bin/perl' */*.pl

   g) Groff (needed for formatting online manuals)

      Online manuals in GLOBAL are written with 'mandoc' macro which is a part
      of GNU groff package. See following site:

	http://www.gnu.org/order/ftp.html

      You can format these manuals by following command line manually.

	% groff -Wall -Tascii -mandoc global.1

      If you replace your system's nroff(1) with GNU's one(nroff.sh) then
      you can use man(1) to see GLOBAL's online manuals.

2. GLOBAL basic (NEEDED)

   	% make
   	# make install

3. Extended nvi (OPTIONAL)

   If you use FreeBSD 2.2.2R or later, your nvi is already extended nvi.
   Otherwise, please get nvi-1.79 at:

	   ftp://ftp.cs.berkeley.edu/ucb/4bsd/nvi-1.79.tar.gz

   and do the followings.

	% tar xzvf nvi-1.79.tar.gz
	% cd nvi-1.79
	% patch -p < ../nvi-1.79.diff
	% cd build
	% ./configure
	% make
	# make install

   The patch for nvi-1.66 is also available for NetBSD 1.3.2 users.

4. Extended emacs (OPTIONAL)

   The version of Emacs supported by GLOBAL is GNU Emacs 19.28, 19.34 or
   Mule 2.3 (= Emacs 19.28). Other emacs version seems to work well,
   but I don't confirm it.

   You can get it at:

	Emacs 19.34b:
		ftp://prep.ai.mit.edu/pub/gnu/emacs-19.34b.tar.gz
	Mule 2.3:
		ftp://ftp.cs.buffalo.edu/pub/mule/mule-2.3.tar.gz

   If you are a FreeBSD user, install it from 'package' (see pkg_add(1)).

   If you have installed it then copy gtags.el in this package to the emacs
   lisp library directory or place the file in a directory
   (for example "~/lisp") and write $HOME/.emacs like this.

	+-----------------------------------------------
	|(setq load-path (cons "~/lisp" load-path))

5. Elvis (OPTIONAL)

   You need Elvis 2.1. You can get it at:

	ftp://ftp.cs.pdx.edu/pub/elvis/elvis-2.1.tar.gz

   You need not any patch for it.


6. Gozilla (OPTIONAL)

   You need X(1) to install gozilla.

	% cd gozilla
	% xmkmf
	% make
	# make install
	# make install.man

7. other parser (OPTIONAL)

   If you want to use other tag command like etags (tag command for emacs)
   as a parser, you need to write global.conf (or $HOME/.globalrc).

   Sample gtags.conf has etags's entry. Try this.


   a) Install parser.

	% cd <emacs's source directory>/lib-src
	% make ctags
	...
	# cp ctags /usr/local/bin/ctags-emacs

   b) Select ctags-emacs for GLOBAL system.

	% setenv GTAGSLABEL ctags-emacs

	or

	+------------------------------------------------
	|default:\		<== gtags use 'default' entry by default.
	|	:include=ctags-emacs:include=htags:

Good luck!
