aboutsummaryrefslogtreecommitdiff
path: root/contrib/global/INSTALL
blob: a047c1e73d92cbe92085ed5aa6fa35cacb177f38 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221

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!