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 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
|
Elvis 1.4 CFLAGS Page 9-1
E9. CFLAGSF
Elvis uses many preprocessor symbols to control compilation.
Some of these control the sizes of buffers and such. The
"-DNO_XXXX" options remove small sets of related features.
Most Elvis users will probably want to keep all features
available. Minix-PC users, though, will have to sacrifice some
sets because otherwise Elvis would be too bulky to compile. The
"asld" phase of the compiler craps out.
-DM_SYSV, -DTOS, -DCOHERENT
These flags tell the compiler that Elvis is being compiled
for System-V UNIX, Atari TOS, or Coherent, respectively.
For other systems, the config.h file can generally figure it
out automatically.
-DDATE=4string5
DATE should be defined to be a string constant. It is
printed by the :version command as the compilation date of
the program.
It is only used in cmd1.c, and even there you may leave it
undefined without causing an urp.
-DNBUFS=4number5
Elvis keeps most of your text in a temporary file; only a
small amount is actually stored in RAM. This flag allows
you to control how much of the file can be in RAM at any
time. The default is 5 blocks. (See the -DBLKSIZE flag,
below.)
More RAM allows global changes to happen a little faster.
If you're just making many small changes in one section of a
file, though, extra RAM won't help much.
-DBLKSIZE=4number5
This controls the size of blocks that Elvis uses
internally. The value of BLKSIZE must be a power of two.
The default value is 1024, which allows you to edit files up
to almost 512K bytes long. Every time you double BLKSIZE,
you quadruple the size of a text file that Elvis can handle,
but you also cause the temporary file to grow faster.
-DTMPDIR=4string5
This sets the default value of the "directory" option, which
specifies where the temporary files should reside. The
value of TMPDIR must be a string, so be sure your value
includes the quote characters on each end.
-DEXRC=4str5, -DHMEXRC=4str5, -DSYSEXRC=4str5, -DEXINIT=4str5
This lets you control the names of the initialization
files. Their values must be strings, so be careful about
quoting.
Elvis 1.4 CFLAGS Page 9-2
EXRC is the name of the initialization file in the current
directory. Its default value is ".exrc" on UNIX systems --
the same as the real vi. For other systems, check the
config.h file.
HMEXRC is the name of the initialization file in your home
directory. By default, it is the same as EXRC. Elvis will
automatically prepend the name of your home directory to
HMEXRC at run time, so don't give a full path name.
SYSEXRC is the name of a system-wide initialization file.
It has no default value; if you don't define a value for it,
then the code that supports SYSEXRC just isn't compiled.
The value of SYSEXRC should be a full pathname, in quotes.
EXINIT is the name of an environment variable that can
contain initialization commands. Normally, its value is
"EXINIT".
-DKEYWORDPRG=4string5
This flag determines the default value of the "keywordprg"
option. Its value must be a string, so be careful about
quoting. The default value of this flag is "ref", which is
a C reference program.
-DCC_COMMAND=4string5 -DMAKE_COMMAND=4string5 -DERRLIST=4string5
These control the names of the C compiler, the "make"
utility, and the error output file, respectively. They are
only used if -DNO_ERRLIST is not given.
-DMAXMAPS=4number5
This controls the capacity of the key map table.
-DMAXRCLEN=4number5
This determines how large a .exrc file can be (measured in
bytes). The default is 1000 bytes. If you increase this
value significantly, then you may need to allocate extra
memory for the stack. See the "CHMEM" setting in the
Makefile.
-DSHELL=4string5
This is the default value of the "shell" option, and hence
the default shell used from within Elvis. This only
controls the default; the value you give here may be
overridden at run-time by setting an environment variable
named SHELL (or COMSPEC for MS-DOS). Its value must be a
string constant, so be careful about quoting.
-DTAGS=4string5
This sets the name of the "tags" file, which is used by the
:tag command. Its value must be a string constant, so be
careful about quoting.
-DCS_IBMPC
The digraph table and flipcase option will normally start
out empty. However, if you add -DCS_IBMPC or -DCS_LATIN1 to
your CFLAGS, then they will start out filled with values
that are appropriate for the IBM PC character set or the ISO
Elvis 1.4 CFLAGS Page 9-3
Latin-1 character set, respectively.
-DDEBUG
This adds the ":debug" and ":validate" commands, and also
adds many internal consistency checks. It increases the
size of the ".text" segment by about 6K.
-DCRUNCH
This flag removes some non-critical code, so that Elvis is
smaller. For example, it removes a short-cut from the
regexp package, so that text searches are slower. Also,
screen updates are not as efficient. A couple of obscure
features are disabled by this, too.
-DNO_MKEXRC
This removes the ":mkexrc" command, so you have to create
any .exrc files manually. The size of the .text segment
will be reduced by about 600 bytes.
-DNO_CHARATTR
Permanently disables the charattr option. This reduces the
size of your ".text" segment by about 850 bytes.
-DNO_RECYCLE
Normally, Elvis will recycle space (from the tmp file) which
contains totally obsolete text. This flag disables this
recycling. Without recycling, the ".text" segment is about
1K smaller than it would otherwise be, but the tmp file
grows much faster. If you have a lot of free space on your
harddisk, but Elvis is too bulky to run with recycling, then
try it without recycling.
When using a version of Elvis that has been compiled with
-DNO_RECYCLE, you should be careful to avoid making many
small changes to a file because each individual change will
cause the tmp file to grow by at least 1k. Hitting "x"
thirty times counts as thirty changes, but typing "30x"
counts as one change. Also, you should occasionally do a
":w" followed by a ":e" to start with a fresh tmp file.
-DNO_SENTENCE
Leaves out the "(" and ")" visual mode commands. Also, the
"[[", "]]", "{", and "}" commands will not recognize *roff
macros. The sections and paragraphs options go away. This
saves about 650 bytes in the ".text" segment.
-DNO_CHARSEARCH
Leaves out the visual commands which locate a given
character in the current line: "f", "t", "F", "T", "," and
";". This saves about 900 bytes.
-DNO_EXTENSIONS
Leaves out the "K" and "#" visual commands. Also, the arrow
keys will no longer work in input mode. (Other extensions
are either inherent in the design of elvis, or are
controlled by more specific flags, or are too tiny to be
worth removing.) This saves about 250 bytes.
Elvis 1.4 CFLAGS Page 9-4
-DNO_MAGIC
Permanently disables the "magic" option, so that most
meta-characters in a regular expression are *NOT*
recognized. This saves about 3k of space in the ".text"
segment, because the complex regular expression code can be
replaced by much simpler code.
-DNO_SHOWMODE
Permanently disables the "showmode" option, saving about 250
bytes.
-DNO_CURSORSHAPE
Normally, Elvis tries to adjust the shape of the cursor as a
reminder of which mode you're in. The -DNO_CURSORSHAPE flag
disables this, saving about 150 bytes.
-DNO_DIGRAPH
To allow entry of non-ASCII characters, Elvis supports
digraphs. A digraph is a single (non-ASCII) character which
is entered as a combination of two other (ASCII)
characters. If you don't need to input non-ASCII
characters, or if your keyboard supports a better way of
entering non-ASCII characters, then you can disable the
digraph code and save about 450 bytes.
-DNO_ERRLIST
Elvis adds a ":errlist" command, which is useful to
programmers. If you don't need this feature, you can
disable it via the -DNO_ERRLIST flag. This will reduce the
.text segment by about 900 bytes, and the .bss segment by
about 300 bytes.
-DNO_ABBR
The -DNO_ABBR flag disables the ":abbr" command, and reduces
the size of Elvis by about 600 bytes.
-DNO_OPTCOLS
When Elvis displays the current options settings via the
":set" command, the options are normally sorted into
columns. The -DNO_OPTCOLS flag causes the options to be
sorted across the rows, which is much simpler. The
-DNO_OPTCOLS flag will reduce the size of your .text segment
by about 500 bytes.
-DNO_MODELINE
This removes all support for modelines.
|