_setProcessor (char *_processor)
{
port->processor = _processor;
- fprintf(stderr,"Processor: %s\n",_processor);
}
static void
}
/* Use the first in the list */
- port = _ports[0];
+ port = _ports[0];
}
/* search through the command line options for the processor */
if (strcmp (argv[i], OPTION_XRAM_SIZE) == 0)
{
- options.xram_size = getIntArg(OPTION_IRAM_SIZE, argv, &i, argc);
+ options.xram_size = getIntArg(OPTION_XRAM_SIZE, argv, &i, argc);
options.xram_size_set = TRUE;
continue;
}
if (strcmp (argv[i], OPTION_CODE_SIZE) == 0)
{
- options.code_size = getIntArg(OPTION_IRAM_SIZE, argv, &i, argc);
+ options.code_size = getIntArg(OPTION_CODE_SIZE, argv, &i, argc);
continue;
}
switch (options.model)
{
case MODEL_SMALL:
- c = "small";
+ if (options.stackAuto)
+ c = "small-stack-auto";
+ else
+ c = "small";
break;
case MODEL_MEDIUM:
- c = "medium";
+ if (options.stackAuto)
+ c = "medium-stack-auto";
+ else
+ c = "medium";
break;
case MODEL_LARGE:
- c = "large";
+ if (options.stackAuto)
+ c = "large-stack-auto";
+ else
+ c = "large";
break;
case MODEL_FLAT24:
/* c = "flat24"; */
set *tempSet=NULL, *libSet=NULL;
strcpy(buffer3, linkerScriptFileName);
- if(TARGET_IS_PIC16 || TARGET_IS_PIC) {
+ if(/*TARGET_IS_PIC16 ||*/ TARGET_IS_PIC) {
/* use $l to set the linker include directories */
tempSet = appendStrSet(libDirsSet, "-I\"", "\"");
const char *s;
set *inclList = NULL;
+ if (NULL != port->linker.rel_ext)
+ {
+#define OBJ_EXT_STR "-obj-ext="
+#define OBJ_EXT_LEN ((sizeof OBJ_EXT_STR) - 1)
+ char *buf = Safe_alloc(strlen(port->linker.rel_ext) + (OBJ_EXT_LEN + 1));
+ strcpy(buf, OBJ_EXT_STR);
+ strcpy(&buf[OBJ_EXT_LEN], port->linker.rel_ext);
+ addSet(&preArgvSet, buf);
+ }
+
/* if using external stack define the macro */
if (options.useXstack)
addSet(&preArgvSet, Safe_strdup("-DSDCC_USE_XSTACK"));
if (options.verbose)
printf ("sdcc: Calling preprocessor...\n");
-
buildCmdLine2 (buffer, sizeof(buffer), _preCmd);
if (preProcOnly) {
SNPRINTF(buf, sizeof buf, "%s" PREFIX2BIN_DIR, p);
addSetHead(&binPathSet, Safe_strdup(buf));
}
-
-#if 0
- if (options.printSearchDirs) {
- printf("programs:\n");
- fputStrSet(stdout, binPathSet);
- }
-#endif
}
/* Set system include path */
addSetHead(&includeDirsSet, p2);
}
}
-
-#if 0
- if (options.printSearchDirs) {
- printf("includedir:\n");
- fputStrSet(stdout, includeDirsSet);
- }
-#endif
}
/* Set system lib path */
if ((p = getenv(SDCC_LIB_NAME)) != NULL)
addSetHead(&libDirsSet, p);
-
-#if 0
- if (options.printSearchDirs) {
- printf("libdir:\n");
- fputStrSet(stdout, libDirsSet);
- }
-#endif
}
/* Set data path */
addSet(&dataDirsSet, Safe_strdup(DATADIR));
#endif
-#if 0
- if (options.printSearchDirs) {
- printf("datadir:\n");
- fputStrSet(stdout, dataDirsSet);
- }
-#endif
-
setIncludePath();
setLibPath();
}
#ifdef JAMIN_DS390
if (strcmp(port->target, "mcs51") == 0) {
printf("DS390 jammed in A\n");
- _setPort ("ds390");
+ _setPort ("ds390");
ds390_jammed = 1;
}
#endif
options.stack10bit=0;
}
#endif
+
parseCmdLine (argc, argv);
+ if (options.verbose && NULL != port->processor)
+ printf("Processor: %s\n", port->processor);
+
initValues ();
setBinPaths(argv[0]);
!options.c1mode &&
(fullSrcFileName || peekSet(relFilesSet) != NULL))
{
+ if (options.verbose)
+ printf ("sdcc: Calling linker...\n");
+
if (port->linker.do_link)
port->linker.do_link ();
else