* configure, configure.in, config.dsp, config_vc.awk,
[fw/sdcc] / as / link / aslink.h
index 15796382e27344173f5cb6025802fb96109932e1..fa2b792aa865145ed5486c884c71f65b40f82439 100644 (file)
@@ -22,6 +22,9 @@
  * Extensions: P. Felber
  */
 
+#include "getline.h"
+#include "asxxxx_config.h"
+
 #define VERSION "V01.75 + NoICE + SDCC Feb 1999"
 
 /*
         $(STACK) = 2000
 */
 
+#if defined  decus
 /* DECUS C void definition */
 /* File/extension seperator */
 
-#ifdef  decus
-#define VOID    char
-#define FSEPX   '.'
-#endif
+#define VOID        char
+#define FSEPX       '.'
 
+#elif defined  PDOS
 /* PDOS C void definition */
 /* File/extension seperator */
 
-#ifdef  PDOS
-#define VOID    char
-#define FSEPX   ':'
-#endif
+#define VOID        char
+#define FSEPX       ':'
 
-/* Default void definition */
+#elif defined UNIX
+/* UNIX void definition */
 /* File/extension seperator */
 
-#ifndef VOID
-#define VOID    void
-#define FSEPX   '.'
+#define VOID        void
+#define FSEPX       '.'
+#define LKDIRSEP    '/'
+#define LKDIRSEPSTR "/"
 #define OTHERSYSTEM
+
+#else
+/* DOS/WINDOWS void definition */
+/* File/extension seperator */
+
+#define VOID        void
+#define FSEPX       '.'
+#define LKDIRSEP    '\\'
+#define LKDIRSEPSTR "\\"
+#define OTHERSYSTEM
+
 #endif
 
 /*
  #endif
 #endif
 
+#ifdef SDK
+    #define LKOBJEXT "o"
+#else /* SDK */
+    #define LKOBJEXT "rel"
+#endif /* SDK */
+
 /*
  * This file defines the format of the
  * relocatable binary file.
 /*
  * File types
  */
-#define F_INV  0               /* invalid */
+#define F_INV   0               /* invalid */
 #define F_STD   1               /* stdin */
 #define F_LNK   2               /* File.lnk */
 #define F_REL   3               /* File.rel */
-#define        F_CMD   4               /* Command line */
+#define F_CMD   4               /* Command line */
 
 #ifdef GAMEBOY
 /*
@@ -278,8 +298,10 @@ struct  area
         Addr_T  a_size;         /* Total size of the area */
         Addr_T  a_unaloc;       /* Total number of unallocated bytes, for error reporting */
         char    a_type;         /* Area subtype */
-        char    a_flag;         /* Flag byte */
+        int     a_flag;         /* Flag byte */
         char    a_id[NCPS];     /* Name */
+        char    *a_image;       /* Something for hc08/lkelf */
+        char    *a_used;        /* Something for hc08/lkelf */
 };
 
 /*
@@ -616,8 +638,8 @@ extern  int     stacksize;      /*      Pack data memory flag
                                  */
 extern  int     jflag;          /*      NoICE output flag
                                  */
-extern int     symflag;        /*      no$gmb .sym output flag
-                                */
+extern  int     symflag;        /*      no$gmb .sym output flag
+                                 */
 extern  int     xflag;          /*      Map file radix type flag
                                  */
 extern  int     pflag;          /*      print linker command file flag
@@ -701,7 +723,7 @@ extern  VOID            link_main();
 extern  VOID            lkexit();
 extern  int             main();
 extern  VOID            map();
-extern VOID            sym();
+extern  VOID            sym();
 extern  int             parse();
 extern  VOID            setbas();
 extern  VOID            setgbl();
@@ -800,8 +822,8 @@ extern  VOID            s19();
 
 /* lkihx.c */
 extern  VOID            ihx();
-extern  VOID            ihxEntendedLinearAddress(Addr_T);
-extern  VOID            newArea();
+extern  VOID            ihxExtendedLinearAddress(Addr_T);
+extern  VOID            ihxNewArea();
 
 /* lkstore.c */
 extern  char *          StoreString( char *str );