nasm option reshuffling, -E -> -Z

Old -E becomes -Z
New -E is alias for -e
Remove the obsolete -r option
This commit is contained in:
H. Peter Anvin 2007-09-26 15:19:28 -07:00
parent 4cba95cf81
commit 413fb900bf
2 changed files with 20 additions and 15 deletions

View File

@ -35,6 +35,7 @@
\IR{-v} \c{-v} option
\IR{-w} \c{-w} option
\IR{-y} \c{-y} option
\IR{-Z} \c{-Z} option
\IR{!=} \c{!=} operator
\IR{$, here} \c{$}, Here token
\IR{$, prefix} \c{$}, prefix
@ -581,7 +582,7 @@ instead of being delimited by colons.
See also the \c{Visual C++} output format, \k{win32fmt}.
\S{opt-E} The \i\c{-E} Option: Send Errors to a File
\S{opt-Z} The \i\c{-Z} Option: Send Errors to a File
Under \I{DOS}\c{MS-DOS} it can be difficult (though there are ways) to
redirect the standard-error output of a program to a file. Since
@ -589,13 +590,16 @@ NASM usually produces its warning and \i{error messages} on
\i\c{stderr}, this can make it hard to capture the errors if (for
example) you want to load them into an editor.
NASM therefore provides the \c{-E} option, taking a filename argument
NASM therefore provides the \c{-Z} option, taking a filename argument
which causes errors to be sent to the specified files rather than
standard error. Therefore you can \I{redirecting errors}redirect
the errors into a file by typing
\c nasm -E myfile.err -f obj myfile.asm
\c nasm -Z myfile.err -f obj myfile.asm
In earlier versions of NASM, this option was called \c{-E}, but it was
changed since \c{-E} is an option conventionally used for
preprocessing only, with disastrous results. See \k{opt-E}.
\S{opt-s} The \i\c{-s} Option: Send Errors to \i\c{stdout}
@ -606,7 +610,7 @@ program, you can type:
\c nasm -s -f obj myfile.asm | more
See also the \c{-E} option, \k{opt-E}.
See also the \c{-Z} option, \k{opt-Z}.
\S{opt-i} The \i\c{-i}\I\c{-I} Option: Include File Search Directories
@ -699,10 +703,10 @@ For Makefile compatibility with many C compilers, this option can also
be specified as \c{-U}.
\S{opt-e} The \i\c{-e} Option: Preprocess Only
\S{opt-E} The \i\c{-E}\I{-e} Option: Preprocess Only
NASM allows the \i{preprocessor} to be run on its own, up to a
point. Using the \c{-e} option (which requires no arguments) will
point. Using the \c{-E} option (which requires no arguments) will
cause NASM to preprocess its input file, expand all the macro
references, remove all the comments and preprocessor directives, and
print the resulting file on standard output (or save it to a file,
@ -716,6 +720,9 @@ which depend on the values of symbols: so code such as
will cause an error in \i{preprocess-only mode}.
For compatiblity with older version of NASM, this option can also be
written \c{-e}. \c{-E} in older versions of NASM was the equivalent
of the current \c{-Z} option, \k{opt-Z}.
\S{opt-a} The \i\c{-a} Option: Don't Preprocess At All
@ -844,8 +851,7 @@ brackets) exists.
\S{opt-v} The \i\c{-v} Option: Display \i{Version} Info
Typing \c{NASM -v} will display the version of NASM which you are using,
and the date on which it was compiled. This replaces the deprecated
\c{-r}.
and the date on which it was compiled.
You will need the version number if you report a bug.

13
nasm.c
View File

@ -383,11 +383,11 @@ static int process_arg(char *p, char *q)
case 'i':
case 'I':
case 'l':
case 'E':
case 'F':
case 'X':
case 'u':
case 'U':
case 'Z':
if (!(param = get_param(p, q, &advance)))
break;
if (p[1] == 'o') { /* output file */
@ -441,7 +441,7 @@ static int process_arg(char *p, char *q)
pp_include_path(param);
} else if (p[1] == 'l') { /* listing file */
strcpy(listname, param);
} else if (p[1] == 'E') { /* error messages file */
} else if (p[1] == 'Z') { /* error messages file */
error_file = fopen(param, "w");
if (!error_file) {
error_file = stderr; /* Revert to default! */
@ -476,16 +476,15 @@ static int process_arg(char *p, char *q)
("usage: nasm [-@ response file] [-o outfile] [-f format] "
"[-l listfile]\n"
" [options...] [--] filename\n"
" or nasm -r for version info (obsolete)\n"
" or nasm -v for version info (preferred)\n\n"
" or nasm -v for version info\n\n"
" -t assemble in SciTech TASM compatible mode\n"
" -g generate debug information in selected format.\n");
printf
(" -e preprocess only (writes output to stdout by default)\n"
(" -E (or -e) preprocess only (writes output to stdout by default)\n"
" -a don't preprocess (assemble only)\n"
" -M generate Makefile dependencies on stdout\n"
" -MG d:o, missing files assumed generated\n\n"
" -E<file> redirect error messages to file\n"
" -Z<file> redirect error messages to file\n"
" -s redirect error messages to stdout\n\n"
" -F format select a debugging format\n\n"
" -I<path> adds a pathname to the include file path\n");
@ -523,7 +522,6 @@ static int process_arg(char *p, char *q)
case 't':
tasm_compatible_mode = TRUE;
break;
case 'r':
case 'v':
{
const char *nasm_version_string =
@ -537,6 +535,7 @@ static int process_arg(char *p, char *q)
}
break;
case 'e': /* preprocess only */
case 'E':
operating_mode = op_preprocess;
break;
case 'a': /* assemble only - don't preprocess */