{ 0, OPTION_USE_STDOUT, &options.use_stdout, "send errors to stdout instead of stderr"},
#if !OPT_DISABLE_Z80 || !OPT_DISABLE_GBZ80
{ 0, "--no-std-crt0", &options.no_std_crt0, "For the z80/gbz80 do not link default crt0.o"},
-#endif
-#if !OPT_DISABLE_PIC16
- { 0, "--gen-banksel", &options.gen_banksel, "enable the generation of banksel assembler directives in PIC16 port"},
#endif
/* End of options */
{ 0, NULL }
#if !OPT_DISABLE_DS390
&ds390_port,
#endif
-#if !OPT_DISABLE_PIC
- &pic_port,
-#endif
#if !OPT_DISABLE_PIC16
&pic16_port,
#endif
+#if !OPT_DISABLE_PIC
+ &pic_port,
+#endif
#if !OPT_DISABLE_TININative
&tininative_port,
#endif
}
/* Use the first in the list */
-#if defined(DEFAULT_PORT)
- /* VR - 13/5/2003 DEFAULT_PORT is defined in port.h */
- port = &DEFAULT_PORT;
-#else
port = _ports[0];
-#endif
-
}
/* search through the command line options for the processor */
fprintf (stderr,
"SDCC : ");
- for (i = 0; i < NUM_PORTS; i++) {
+ for (i = 0; i < NUM_PORTS; i++)
fprintf (stderr, "%s%s", i == 0 ? "" : "/", _ports[i]->target);
-#ifdef DEFAULT_PORT
- fprintf(stderr, "%s", (&DEFAULT_PORT == _ports[i])?"*":"");
-#endif
- }
fprintf (stderr, " " SDCC_VERSION_STR
#ifdef SDCC_SUB_VERSION_STR
/** Gets the string argument to this option. If the option is '--opt'
then for input of '--optxyz' or '--opt xyz' returns xyz.
*/
-static char *
+char *
getStringArg(const char *szStart, char **argv, int *pi, int argc)
{
if (argv[*pi][strlen(szStart)])
/** Gets the integer argument to this option using the same rules as
getStringArg.
*/
-static int
+int
getIntArg(const char *szStart, char **argv, int *pi, int argc)
{
return (int)floatFromVal(constVal(getStringArg(szStart, argv, pi, argc)));
int system_ret;
const char *s;
+
+ if(port->linker.needLinkerScript) {
/* first we need to create the <filename>.lnk file */
SNPRINTF (scratchFileName, sizeof(scratchFileName),
"%s.lnk", dstFileName);
fprintf (lnkfile, "\n-e\n");
fclose (lnkfile);
+ } /* if(port->linker.needLinkerScript) */
if (options.verbose)
printf ("sdcc: Calling linker...\n");
glue();
}
+ if (fatalError) {
+ exit (1);
+ }
+
if (!options.c1mode && !noAssemble)
{
if (options.verbose)