home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / CLISP-1.LHA / CLISP960530-sr.lha / amiga / jchlib / README < prev    next >
Encoding:
Text File  |  1996-04-15  |  2.5 KB  |  72 lines

  1.                         Tiny Library for GCC
  2.  
  3. This archive contains all the files necessary to make a small library that
  4. contains just everything that CLISP needs from external link libraries. It
  5. works with the GCC-BuRP and GCC-Wild ports, with GCC1 and GCC2. Modify the
  6. supplied Makefile to add your include paths etc.
  7.  
  8. Using this library with GCC-Wild makes CLISP (and possibly your programs)
  9. independent of ixemul.library.
  10.  
  11.  
  12. This library contains the following funtions: strlen(), set/longjmp(),
  13. wbmain(), exit().
  14.  
  15. The setjmp.[ch] are not compatible with the GCC-Wild version, (they are
  16. compatible with GCC-BuRP). Thus you must be careful with the order of -I
  17. options (use this libs include before the standard GCC:include). See in the
  18. Makefile how I used -nodtinc and -nostdlib to prevent gcc from looking at
  19. the normal places.
  20.  
  21. wbmain() calls main() after parsing the tool and project ARGS tooltypes and
  22. opening a window specified by the WINDOW tooltype of the tool icon. Note
  23. however that the WINDOW filehandle is only available in the BPTR
  24. Input_handle (or Output_handle, same value) variable. I didn't want to set
  25. pr_CIS or such fields. Thus it always opens a Window for I/O and lets you
  26. run as if from CLI (i.e. argc is never 0). If there's no ARGS tooltype for a
  27. project, the project's name is simply dumped to the argv array. A token of *
  28. is replaced by the name. Override wbmain() if you don't like this or want to
  29. save few code:
  30.  
  31.         void wbmain(struct WBStartup *wbmsg) {}
  32.  
  33. The file lib/gnuarith.o comes from the GCC-BuRP project. It contains low-level
  34. arithmetic needed by the GNU compiler.
  35.  
  36. The files lib/_ashldi3.o and lib/_ucmpdi2.o come from GCC-2.5.8.
  37.  
  38.  
  39. Patches:
  40.  
  41. GCC-233 contained the following in gcc:os-include/inline/exec.h which is not
  42. found in gcc-2.5.6. misc/CreatePort() needs it.
  43. #ifndef __GNUG__
  44. static __inline struct List *
  45. NewList(struct List *list)
  46. {
  47.   list->lh_Tail = 0;
  48.   list->lh_TailPred = (struct Node *)list;
  49.   list->lh_Head = (struct Node *)&list->lh_Tail;
  50. }
  51. #endif
  52.  
  53. The ar found in the gcc-2.5.6-2.5.8 archives doesn't strip dirnames,
  54. resulting in too long names. Ar from gcc-1.40 and gcc-2.3.3 worked ok.
  55.  
  56.  
  57. TODO:
  58.  
  59. The Workbench startup code needs to be enhanced to allow project icons to be
  60. found in other places than the tool directory. I need a NameFromLock() for
  61. 1.3 for this to work.
  62.  
  63. The WB code could set pr_ConsoleTask to make Execute() work under 1.3.
  64.  
  65. Not remove quotes in tokenize(), useful for LISP.
  66.  
  67. Handle quotes and Amiga escapes (*) in tokenize().
  68.  
  69.  
  70. Enjoy,
  71.         Jörg Höhle,     9-Jul-94
  72.