* as/z80/asm.h: made CASE_SENSITIVE 1
[fw/sdcc] / link / z80 / aslink.h
index 9ef08c54ea233d437aadf8567f6c0a101109b9f3..e18cd023a825c13966934974d352dd1008afed3e 100644 (file)
 /*
  * Extensions: P. Felber
  */
-
 #define        VERSION "V01.75"
 
 /*
  * Case Sensitivity Flag
  */
-#define        CASE_SENSITIVE  0
+#define        CASE_SENSITIVE  1
 
 /*)Module      asmlnk.h
  *
 #define        OTHERSYSTEM
 #endif
 
+/*
+ * PATH_MAX
+ */
+#include <limits.h>
+#ifndef PATH_MAX                /* POSIX, but not required   */
+ #if defined(__BORLANDC__) || defined(_MSC_VER)
+  #include <stdlib.h>
+  #define PATH_MAX     _MAX_PATH
+ #else
+  #define PATH_MAX     255     /* define a reasonable value */
+ #endif
+#endif
+
 /*
  * This file defines the format of the
  * relocatable binary file.
  */
 
 #ifdef SDK
-#define        NCPS    32              /* characters per symbol */
+#define        NCPS    80              /* characters per symbol.  Used to be 32... */
 #else /* SDK */
 #define        NCPS    8               /* characters per symbol */
 #endif /* SDK */
 /* #define     NCPS    32 */   /* characters per symbol */
 #define        NDATA   16              /* actual data */
-#define        NINPUT  128             /* Input buffer size */
+#define        NINPUT  PATH_MAX        /* Input buffer size */
 #define        NHASH   64              /* Buckets in hash table */
 #define        HMASK   077             /* Hash mask */
 #define        NLPP    60              /* Lines per page */
 #define        NTXT    16              /* T values */
-/** PENDING: Taking this to 256 causes a segfault. */
-#define        FILSPC  100             /* File spec length */
+#define        FILSPC  PATH_MAX        /* File spec length */
 
 /*
  *     The "R_" relocation constants define values used in
 /*
  * Area types
  */
-#define        A_CON   000             /* concatenate */
-#define        A_OVR   00            /* overlay */
-#define        A_REL   000             /* relocatable */
-#define        A_ABS   010             /* absolute */
-#define        A_NOPAG 000             /* non-paged */
-#define        A_PAG   020             /* paged */
+#define        A_CON   0000            /* concatenate */
+#define        A_OVR   0004            /* overlay */
+#define        A_REL   0000            /* relocatable */
+#define        A_ABS   0010            /* absolute */
+#define        A_NOPAG 0000            /* non-paged */
+#define        A_PAG   0020            /* paged */
 
 /*
  * File types
@@ -417,6 +428,7 @@ struct lbfile {
        char            *libspc;
        char            *relfil;
        char            *filspc;
+    long               offset; /*>=0 if rel file is embedded in a lib file at this offset*/
 };
 
 /*
@@ -438,10 +450,14 @@ extern    char    *rp;            /*      pointer into the LST file
 extern char    rb[NINPUT];     /*      LST file text line being
                                 *      address relocated
                                 */
-extern char    ctype[];        /*      array of character types, one per
+extern unsigned char   ctype[];        /*      array of character types, one per
                                 *      ASCII character
                                 */
 
+extern char sdccopt[NINPUT];
+extern char sdccopt_module[NINPUT];
+extern char curr_module[NINPUT];
+
 /*
  *     Character Type Definitions
  */
@@ -471,7 +487,7 @@ extern      char    ccase[];        /*      an array of characters which
 extern struct  lfile   *filep; /*      The pointers (lfile *) filep,
                                 *      (lfile *) cfp, and (FILE *) sfp
                                 *      are used in conjunction with
-                                *      the routine getline() to read
+                                *      the routine lk_getline() to read
                                 *      asmlnk commands from
                                 *      (1) the standard input or
                                 *      (2) or a command file
@@ -635,12 +651,13 @@ extern    char            endline();
 extern char            get();
 extern VOID            getfid();
 extern VOID            getid();
-extern int             getline();
+extern int             lk_getline();
 extern int             getmap();
 extern char            getnb();
 extern int             more();
 extern VOID            skip();
 extern VOID            unget();
+extern VOID            chop_crlf();
 
 /* lkarea.c */
 extern VOID            lkparea();
@@ -700,7 +717,7 @@ extern      VOID            erpdmp();
 extern VOID            prntval();
 
 /* lklibr.c */
-extern VOID            addfile();
+extern int             addfile();
 extern VOID            addlib();
 extern VOID            addpath();
 extern int             fndsym();