|
|
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.