char scratchFileName[PATH_MAX];
char buffer[PATH_MAX * 2];
-#define OPTION_HELP "-help"
-
#define LENGTH(_a) (sizeof(_a)/sizeof(*(_a)))
+#define OPTION_HELP "--help"
#define OPTION_STACK_8BIT "--stack-8bit"
#define OPTION_OUT_FMT_IHX "--out-fmt-ihx"
#define OPTION_OUT_FMT_S19 "--out-fmt-s19"
static const OPTION
optionsTable[] = {
{ 0, NULL, NULL, "General options" },
- { 0, "--help", NULL, "Display this help" },
+ { 0, OPTION_HELP, NULL, "Display this help" },
{ 'v', OPTION_VERSION, NULL, "Display sdcc's version" },
{ 0, "--verbose", &options.verbose, "Trace calls to the preprocessor, assembler, and linker" },
{ 'V', NULL, &options.verboseExec, "Execute verbosely. Show sub commands as they are run" },
{ 'o', NULL, NULL, "Place the output into the given path resp. file" },
{ 0, OPTION_PRINT_SEARCH_DIRS, &options.printSearchDirs, "display the directories in the compiler's search path"},
{ 0, OPTION_MSVC_ERROR_STYLE, &options.vc_err_style, "messages are compatible with Micro$oft visual studio"},
- { 0, OPTION_USE_STDOUT, &options.use_stdout, "send errors to stdout instead of stderr"},
+ { 0, OPTION_USE_STDOUT, NULL, "send errors to stdout instead of stderr"},
{ 0, "--nostdlib", &options.nostdlib, "Do not include the standard library directory in the search path" },
{ 0, "--nostdinc", &options.nostdinc, "Do not include the standard include directory in the search path" },
{ 0, OPTION_LESS_PEDANTIC, NULL, "Disable some of the more pedantic warnings" },
printUsage (void)
{
int i;
-#if defined(__MINGW32__)
- FILE *stream = stdout;
-#elif defined(__DJGPP__)
- FILE *stream = stdout;
-#elif defined(_MSC_VER)
- FILE *stream = stdout;
-#elif defined(__BORLANDC__)
- FILE *stream = stdout;
-#else
FILE *stream = stderr;
-#endif
printVersionInfo (stream);
fprintf (stream,
/* options */
if (argv[i][0] == '-' && argv[i][1] == '-')
{
+ if (strcmp (argv[i], OPTION_USE_STDOUT) == 0)
+ {
+ if (options.use_stdout == 0)
+ {
+ options.use_stdout = 1;
+ dup2(STDOUT_FILENO, STDERR_FILENO);
+ }
+ continue;
+ }
if (strcmp (argv[i], OPTION_HELP) == 0)
{
printUsage ();
if (strcmp (argv[i], OPTION_VERSION) == 0)
{
printVersionInfo (stdout);
- exit (0);
+ exit (EXIT_SUCCESS);
continue;
}
werror (E_FILE_OPEN_ERR, scratchFileName);
}
MSVC_style(options.vc_err_style);
- if(options.use_stdout) dup2(STDOUT_FILENO, STDERR_FILENO);
return 0;
}
options.out_fmt ? ".S19" : ".ihx",
sizeof(scratchFileName));
if (strcmp (fullDstFileName, scratchFileName))
- unlink (fullDstFileName);
+ remove (fullDstFileName);
rename (scratchFileName, fullDstFileName);
strncpyz (buffer, fullDstFileName, sizeof(buffer));
*q = 0;
strncatz(buffer, ".map", sizeof(buffer));
if (strcmp (scratchFileName, buffer))
- unlink (buffer);
+ remove (buffer);
rename (scratchFileName, buffer);
*p = 0;
strncatz (scratchFileName, ".mem", sizeof(scratchFileName));
*q = 0;
strncatz(buffer, ".mem", sizeof(buffer));
if (strcmp (scratchFileName, buffer))
- unlink (buffer);
+ remove (buffer);
rename (scratchFileName, buffer);
if (options.debug)
{
*q = 0;
strncatz(buffer, ".cdb", sizeof(buffer));
if (strcmp (scratchFileName, buffer))
- unlink (buffer);
+ remove (buffer);
rename (scratchFileName, buffer);
/* and the OMF file without extension: */
*p = 0;
*q = 0;
if (strcmp (scratchFileName, buffer))
- unlink (buffer);
+ remove (buffer);
rename (scratchFileName, buffer);
}
}
port->linker.rel_ext,
sizeof(scratchFileName));
if (strcmp (scratchFileName, fullDstFileName))
- unlink (fullDstFileName);
+ remove (fullDstFileName);
rename (scratchFileName, fullDstFileName);
}
}