-
Notifications
You must be signed in to change notification settings - Fork 0
/
FAQ
161 lines (117 loc) · 5.43 KB
/
FAQ
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
___________________________________
| | | | | _ | | |
| |___| | | | | _| | | | GNU GLOBAL source code tag system
| | | | | | | | | |
| ~~ | ~~| | ~ | | | ~~| for all hackers.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Copyright (c) 2000, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Tama Communications Corporation
This file is free software; as a special exception the author gives
unlimited permission to copy and/or distribute it, with or without
modifications, as long as this notice is preserved.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
----------------------------------
Frequently Asked Questions about GLOBAL.
----------------------------------------------------------------------------
Q0. Please explain about BOKINware.
A0. GNU GLOBAL is BOKINware. It means that it is free software
based on GNU GPL, and is commercial (for-profit) software
based on BOKIN model.
BOKIN Model is a business model to obtain proceeds by widely
collecting donations while developing and distributing
free software. This model is constructed not to take away
consumer's freedom of software, and is similar to the model
of FSF except that FSF is not commercial organization.
Your contribution is put on donors list in DONORS file, and
distributed all over the world with GNU GLOBAL itself.
Please see the files: DONORS, BOKIN_MODEL and BOKIN_MODEL_FAQ
for more details.
----------------------------------------------------------------------------
Q1. Does GLOBAL support DOS and Windows 32 environment?
A1. No, it doesn't. GNU GLOBAL supports only UNIX(POSIX) environment.
But some outside projects develop DOS and Windows 32 version of it.
Please see:
http://www.gnu.org/software/global/download.html
Though GLOBAL doesn't supports DOS and Windows 32 environment,
we accept the code for them if the following requirements are met:
o It works in DOS and(or) Windows 32 environment.
o It doesn't influence UNIX environment.
----------------------------------------------------------------------------
Q2. GLOBAL skips some functions.
For example, GLOBAL skips the function 'func()' in this example.
#define M(a) static char *string = a;
M(a)
func() { <= GLOBAL skip func().
...
}
A2. GLOBAL cannot recognize 'func()', because M(a) seems to be a function
definition.
It should be follows:
#define M(a) static char *string = a
M(a); <= end with ';'
func() {
...
}
Otherwise, you can tell gtags(1) that 'M' is not a function by listing
the macros in '.notfunction' file in the current directory.
[.notfunction]
+---------------
|M
|...
----------------------------------------------------------------------------
Q3. I'm a C++ programmer. Why does not gtags pick up the class names in *.h?
A3. GLOBAL treats *.h files as a C source file. If you want to treat them
as a C++ source file, please set environment variable GTAGSFORCECPP.
% setenv GTAGSFORCECPP
or
$ export GTAGSFORCECPP=
----------------------------------------------------------------------------
Q4. I'm using GNU system. In a large project, gtags fails in making tags
like follows:
$ gtags
gtags: cannot write to database.
$ _
File system is not full. It seems that gtags cannot make a file over 2GB.
Any solution?
A4. If your GNU system supports 64-bit file offset then please try the
following configuration.
$ ./configure CFLAGS='-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64'
----------------------------------------------------------------------------
Q5. Deleted.
----------------------------------------------------------------------------
Q6. Deleted.
----------------------------------------------------------------------------
Q7. Gtags(1) and htags(1) work only for one directory tree. So, we cannot
refer library functions like strlen() from my project. Any solutions?
A7. For global(1), you can use GTAGSLIBPATH environment variable.
[library] /usr/src/lib
[your project] /usr/home/project
$ (cd /usr/src/lib; gtags)
$ export GTAGSLIBPATH=/usr/src/lib
$ global strlen
../../../usr/src/lib/libc/string/strlen.c
Or, you can take a more straightforward way to do the same thing.
In the following example, you treat as if the system library is
part of your project. This way is effective also to htags(1).
$ cd /usr/home/project
$ ln -s /usr/src/lib .
$ gtags
$ htags
----------------------------------------------------------------------------
Q8. Deleted.
----------------------------------------------------------------------------
Q9. Deleted.
----------------------------------------------------------------------------
Q10. Does GLOBAL support multi-byte code set?
Which character code set is supported?
A10. GLOBAL doesn't support multi-byte character code set yet.
GLOBAL supports only ASCII and ASCII supersets.
----------------------------------------------------------------------------
Q11. Can GLOBAL running on a UNIX machine treat source files
which include DOS/Windows style new-line code? And vice versa?
A11. GLOBAL supports only native text format of POSIX.
Besides, please go by the own responsibility.
----------------------------------------------------------------------------
End of FAQ.