|
|
1.1 root 1:
2: Elvis 1.4 CFLAGS Page 9-1
3:
4:
5: E9. CFLAGSF
6:
7: Elvis uses many preprocessor symbols to control compilation.
8: Some of these control the sizes of buffers and such. The
9: "-DNO_XXXX" options remove small sets of related features.
10:
11: Most Elvis users will probably want to keep all features
12: available. Minix-PC users, though, will have to sacrifice some
13: sets because otherwise Elvis would be too bulky to compile. The
14: "asld" phase of the compiler craps out.
15:
16: -DM_SYSV, -DTOS, -DCOHERENT
17: These flags tell the compiler that Elvis is being compiled
18: for System-V UNIX, Atari TOS, or Coherent, respectively.
19: For other systems, the config.h file can generally figure it
20: out automatically.
21:
22: -DDATE=4string5
23: DATE should be defined to be a string constant. It is
24: printed by the :version command as the compilation date of
25: the program.
26:
27: It is only used in cmd1.c, and even there you may leave it
28: undefined without causing an urp.
29:
30: -DNBUFS=4number5
31: Elvis keeps most of your text in a temporary file; only a
32: small amount is actually stored in RAM. This flag allows
33: you to control how much of the file can be in RAM at any
34: time. The default is 5 blocks. (See the -DBLKSIZE flag,
35: below.)
36:
37: More RAM allows global changes to happen a little faster.
38: If you're just making many small changes in one section of a
39: file, though, extra RAM won't help much.
40:
41: -DBLKSIZE=4number5
42: This controls the size of blocks that Elvis uses
43: internally. The value of BLKSIZE must be a power of two.
44: The default value is 1024, which allows you to edit files up
45: to almost 512K bytes long. Every time you double BLKSIZE,
46: you quadruple the size of a text file that Elvis can handle,
47: but you also cause the temporary file to grow faster.
48:
49: -DTMPDIR=4string5
50: This sets the default value of the "directory" option, which
51: specifies where the temporary files should reside. The
52: value of TMPDIR must be a string, so be sure your value
53: includes the quote characters on each end.
54:
55: -DEXRC=4str5, -DHMEXRC=4str5, -DSYSEXRC=4str5, -DEXINIT=4str5
56: This lets you control the names of the initialization
57: files. Their values must be strings, so be careful about
58: quoting.
59:
60:
61:
62:
63:
64:
65:
66:
67:
68: Elvis 1.4 CFLAGS Page 9-2
69:
70:
71: EXRC is the name of the initialization file in the current
72: directory. Its default value is ".exrc" on UNIX systems --
73: the same as the real vi. For other systems, check the
74: config.h file.
75:
76: HMEXRC is the name of the initialization file in your home
77: directory. By default, it is the same as EXRC. Elvis will
78: automatically prepend the name of your home directory to
79: HMEXRC at run time, so don't give a full path name.
80:
81: SYSEXRC is the name of a system-wide initialization file.
82: It has no default value; if you don't define a value for it,
83: then the code that supports SYSEXRC just isn't compiled.
84: The value of SYSEXRC should be a full pathname, in quotes.
85:
86: EXINIT is the name of an environment variable that can
87: contain initialization commands. Normally, its value is
88: "EXINIT".
89:
90: -DKEYWORDPRG=4string5
91: This flag determines the default value of the "keywordprg"
92: option. Its value must be a string, so be careful about
93: quoting. The default value of this flag is "ref", which is
94: a C reference program.
95:
96: -DCC_COMMAND=4string5 -DMAKE_COMMAND=4string5 -DERRLIST=4string5
97: These control the names of the C compiler, the "make"
98: utility, and the error output file, respectively. They are
99: only used if -DNO_ERRLIST is not given.
100:
101: -DMAXMAPS=4number5
102: This controls the capacity of the key map table.
103:
104: -DMAXRCLEN=4number5
105: This determines how large a .exrc file can be (measured in
106: bytes). The default is 1000 bytes. If you increase this
107: value significantly, then you may need to allocate extra
108: memory for the stack. See the "CHMEM" setting in the
109: Makefile.
110:
111: -DSHELL=4string5
112: This is the default value of the "shell" option, and hence
113: the default shell used from within Elvis. This only
114: controls the default; the value you give here may be
115: overridden at run-time by setting an environment variable
116: named SHELL (or COMSPEC for MS-DOS). Its value must be a
117: string constant, so be careful about quoting.
118:
119: -DTAGS=4string5
120: This sets the name of the "tags" file, which is used by the
121: :tag command. Its value must be a string constant, so be
122: careful about quoting.
123:
124: -DCS_IBMPC
125: The digraph table and flipcase option will normally start
126: out empty. However, if you add -DCS_IBMPC or -DCS_LATIN1 to
127: your CFLAGS, then they will start out filled with values
128: that are appropriate for the IBM PC character set or the ISO
129:
130:
131:
132:
133:
134: Elvis 1.4 CFLAGS Page 9-3
135:
136:
137: Latin-1 character set, respectively.
138:
139: -DDEBUG
140: This adds the ":debug" and ":validate" commands, and also
141: adds many internal consistency checks. It increases the
142: size of the ".text" segment by about 5K.
143:
144: -DCRUNCH
145: This flag removes some non-critical code, so that Elvis is
146: smaller. For example, it removes a short-cut from the
147: regexp package, so that text searches are slower. Also,
148: screen updates are not as efficient. A couple of obscure
149: features are disabled by this, too.
150:
151: -DNO_MKEXRC
152: This removes the ":mkexrc" command, so you have to create
153: any .exrc files manually. The size of the .text segment
154: will be reduced by about 600 bytes.
155:
156: -DNO_CHARATTR
157: Permanently disables the charattr option. This reduces the
158: size of your ".text" segment by about 850 bytes.
159:
160: -DNO_RECYCLE
161: Normally, Elvis will recycle space (from the tmp file) which
162: contains totally obsolete text. This flag disables this
163: recycling. Without recycling, the ".text" segment is about
164: 1K smaller than it would otherwise be, but the tmp file
165: grows much faster. If you have a lot of free space on your
166: harddisk, but Elvis is too bulky to run with recycling, then
167: try it without recycling.
168:
169: When using a version of Elvis that has been compiled with
170: -DNO_RECYCLE, you should be careful to avoid making many
171: small changes to a file because each individual change will
172: cause the tmp file to grow by at least 1k. Hitting "x"
173: thirty times counts as thirty changes, but typing "30x"
174: counts as one change. Also, you should occasionally do a
175: ":w" followed by a ":e" to start with a fresh tmp file.
176:
177: -DNO_SENTENCE
178: Leaves out the "(" and ")" visual mode commands. Also, the
179: "[[", "]]", "{", and "}" commands will not recognize *roff
180: macros. The sections and paragraphs options go away. This
181: saves about 650 bytes in the ".text" segment.
182:
183: -DNO_CHARSEARCH
184: Leaves out the visual commands which locate a given
185: character in the current line: "f", "t", "F", "T", "," and
186: ";". This saves about 900 bytes.
187:
188: -DNO_EXTENSIONS
189: Leaves out the "K" and "#" visual commands. Also, the arrow
190: keys will no longer work in input mode. (Other extensions
191: are either inherent in the design of elvis, or are
192: controlled by more specific flags, or are too tiny to be
193: worth removing.) This saves about 250 bytes.
194:
195:
196:
197:
198:
199:
200: Elvis 1.4 CFLAGS Page 9-4
201:
202:
203: -DNO_MAGIC
204: Permanently disables the "magic" option, so that most
205: meta-characters in a regular expression are *NOT*
206: recognized. This saves about 3k of space in the ".text"
207: segment, because the complex regular expression code can be
208: replaced by much simpler code.
209:
210: -DNO_SHOWMODE
211: Permanently disables the "showmode" option, saving about 250
212: bytes.
213:
214: -DNO_CURSORSHAPE
215: Normally, Elvis tries to adjust the shape of the cursor as a
216: reminder of which mode you're in. The -DNO_CURSORSHAPE flag
217: disables this, saving about 150 bytes.
218:
219: -DNO_DIGRAPH
220: To allow entry of non-ASCII characters, Elvis supports
221: digraphs. A digraph is a single (non-ASCII) character which
222: is entered as a combination of two other (ASCII)
223: characters. If you don't need to input non-ASCII
224: characters, or if your keyboard supports a better way of
225: entering non-ASCII characters, then you can disable the
226: digraph code and save about 450 bytes.
227:
228: -DNO_ERRLIST
229: Elvis adds a ":errlist" command, which is useful to
230: programmers. If you don't need this feature, you can
231: disable it via the -DNO_ERRLIST flag. This will reduce the
232: .text segment by about 900 bytes, and the .bss segment by
233: about 300 bytes.
234:
235: -DNO_ABBR
236: The -DNO_ABBR flag disables the ":abbr" command, and reduces
237: the size of Elvis by about 600 bytes.
238:
239: -DNO_OPTCOLS
240: When Elvis displays the current options settings via the
241: ":set" command, the options are normally sorted into
242: columns. The -DNO_OPTCOLS flag causes the options to be
243: sorted across the rows, which is much simpler. The
244: -DNO_OPTCOLS flag will reduce the size of your .text segment
245: by about 500 bytes.
246:
247: -DNO_MODELINE
248: This removes all support for modelines.
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.