- char *argv[128];
- char procDef[128];
-
- preOutName = NULL;
-
- if (!options.c1mode) {
- /* if using external stack define the macro */
- if ( options.useXstack )
- _addToList(preArgv, "-DSDCC_USE_XSTACK");
-
- /* set the macro for stack autos */
- if ( options.stackAuto )
- _addToList(preArgv, "-DSDCC_STACK_AUTO");
-
- /* set the macro for stack autos */
- if ( options.stack10bit )
- _addToList(preArgv, "-DSDCC_STACK_TENBIT");
-
- /* set the macro for large model */
- switch(options.model)
- {
- case MODEL_LARGE:
- _addToList(preArgv, "-DSDCC_MODEL_LARGE");
- break;
- case MODEL_SMALL:
- _addToList(preArgv, "-DSDCC_MODEL_SMALL");
- break;
- case MODEL_COMPACT:
- _addToList(preArgv, "-DSDCC_MODEL_COMPACT");
- break;
- case MODEL_MEDIUM:
- _addToList(preArgv, "-DSDCC_MODEL_MEDIUM");
- break;
- case MODEL_FLAT24:
- _addToList(preArgv, "-DSDCC_MODEL_FLAT24");
- break;
- default:
- werror(W_UNKNOWN_MODEL, __FILE__, __LINE__);
- break;
- }
-
-
- /* add port (processor information to processor */
- sprintf(procDef,"-DSDCC_%s",port->target);
- _addToList(preArgv,procDef);
-
- if (!preProcOnly)
- preOutName = strdup(tmpnam(NULL));
-
- buildCmdLine(buffer, argv, _preCmd, fullSrcFileName,
- preOutName, srcFileName, preArgv);
-
- if (options.verbose)
- printf ("sdcc: Calling preprocessor...\n");
-
- if (my_system(argv[0], argv)) {
- unlink (preOutName);
- perror("Cannot exec Preprocessor");
- exit(1);
+ char procDef[128];
+
+ preOutName = NULL;
+
+ if (!options.c1mode)
+ {
+ /* if using external stack define the macro */
+ if (options.useXstack)
+ _addToList (preArgv, "-DSDCC_USE_XSTACK");
+
+ /* set the macro for stack autos */
+ if (options.stackAuto)
+ _addToList (preArgv, "-DSDCC_STACK_AUTO");
+
+ /* set the macro for stack autos */
+ if (options.stack10bit)
+ _addToList (preArgv, "-DSDCC_STACK_TENBIT");
+
+ /* set the macro for large model */
+ switch (options.model)
+ {
+ case MODEL_LARGE:
+ _addToList (preArgv, "-DSDCC_MODEL_LARGE");
+ break;
+ case MODEL_SMALL:
+ _addToList (preArgv, "-DSDCC_MODEL_SMALL");
+ break;
+ case MODEL_COMPACT:
+ _addToList (preArgv, "-DSDCC_MODEL_COMPACT");
+ break;
+ case MODEL_MEDIUM:
+ _addToList (preArgv, "-DSDCC_MODEL_MEDIUM");
+ break;
+ case MODEL_FLAT24:
+ _addToList (preArgv, "-DSDCC_MODEL_FLAT24");
+ break;
+ default:
+ werror (W_UNKNOWN_MODEL, __FILE__, __LINE__);
+ break;
+ }
+
+ /* standard include path */
+ if (!options.nostdinc) {
+ _addToList (preArgv, "-I" SDCC_INCLUDE_DIR);
+ }
+
+ /* add port (processor information to processor */
+ sprintf (procDef, "-DSDCC_%s", port->target);
+ _addToList (preArgv, procDef);
+ sprintf (procDef, "-D__%s", port->target);
+ _addToList (preArgv, procDef);
+
+ if (!preProcOnly)
+ preOutName = strdup (tmpnam (NULL));
+
+ if (options.verbose)
+ printf ("sdcc: Calling preprocessor...\n");
+
+ buildCmdLine (buffer, _preCmd, fullSrcFileName,
+ preOutName, srcFileName, preArgv);
+ if (my_system (buffer))
+ {
+ // @FIX: Dario Vecchio 03-05-2001
+ if (preOutName)
+ {
+ unlink (preOutName);
+ free (preOutName);
+ }
+ // EndFix
+ exit (1);