accepts --xram-size 0 (no ext ram)
[fw/sdcc] / src / SDCCglobl.h
index 4bfc4c3294e122930a5a414bc139382585a681db..0a667f2bbd6e74b4e77a6bfe6a2c10a91a8b4e61 100644 (file)
@@ -53,7 +53,6 @@
 #define PATH_MAX 255           /* define a reasonable value */
 #endif
 
-#define  MAX_FNAME_LEN  128
 #define  MAX_REG_PARMS  1
 typedef int bool;
 
@@ -205,7 +204,6 @@ struct options
     int stackAuto;             /* Stack Automatic  */
     int useXstack;             /* use Xternal Stack */
     int stack10bit;            /* use 10 bit stack (flat24 model only) */
-    int genericPtr;            /* use generic pointers */
     int dump_raw;              /* dump after intermediate code generation */
     int dump_gcse;             /* dump after gcse */
     int dump_loop;             /* dump after loop optimizations */
@@ -225,10 +223,8 @@ struct options
     int nopeep;                        /* no peep hole optimization */
     int asmpeep;               /* pass inline assembler thru peep hole */
     int debug;                 /* generate extra debug info */
-    int stackOnData;           /* stack after data segment  */
     int c1mode;                        /* Act like c1 - no pre-proc, asm or link */
     char *peep_file;           /* additional rules for peep hole */
-    char *out_name;            /* Asm output name for c1 mode */
     int nostdlib;              /* Don't use standard lib files */
     int nostdinc;              /* Don't use standard include files */
     int noRegParams;            /* Disable passing some parameters in registers */
@@ -253,15 +249,25 @@ struct options
     int data_loc;              /* interram start location       */
     int idata_loc;             /* indirect address space        */
     int code_loc;              /* code location start           */
-    int iram_size;             /* internal ram size (used only for error checking) */    
+    int iram_size;             /* internal ram size (used only for error checking) */   
+    int xram_size;             /* external ram size (used only for error checking) */
+       bool xram_size_set; /* since xram_size=0 is a possibility */
+    int code_size;             /* code size (used only for error checking) */    
   };
 
 /* forward definition for variables accessed globally */
 extern int noAssemble;         /* no assembly, stop after code generation */
 extern char *yytext;
 extern char *currFname;
-extern char *srcFileName;      /* source file name without the extenstion */
-extern char *moduleName;       /* source file name without path & extension */
+extern char *fullSrcFileName;  /* full name for the source file; */
+                               /* can be NULL while linking without compiling */
+extern char *fullDstFileName;  /* full name for the output file; */
+                               /* only given by -o, otherwise NULL */
+extern char *dstFileName;      /* destination file name without extension */
+extern char *dstPath;          /* path for the output files; */
+                               /* "" is equivalent with cwd */
+extern char *moduleName;       /* module name is source file without path and extension */
+                               /* can be NULL while linking without compiling */
 extern int currLineno;         /* current line number    */
 extern int yylineno;           /* line number of the current file SDCC.lex */
 extern FILE *yyin;             /* */
@@ -289,7 +295,8 @@ extern int nlibFiles;
 extern char *libPaths[128];
 extern int nlibPaths;
 
-extern bool verboseExec ;
+extern bool verboseExec;
+extern bool noXinitOpt;
 
 void parseWithComma (char **, char *);