home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / gcc / cc1obj / !gcc / docs / obj-c / !Readme next >
Encoding:
Text File  |  1996-11-09  |  4.0 KB  |  150 lines

  1. The GNU Objective C compiler
  2. ============================
  3.  
  4. Introduction
  5. ------------
  6.  
  7. This is a port of the GNU Objective C compiler (version 2.7.2) for the 
  8. Objective C programming language to the Acorn range of ARM based machines,
  9. running under RISC OS. As such, this package is covered by the FSF General
  10. Public License (see the files docs.COPYING and docs.COPYINGLIB for details).
  11.  
  12. This port is © 1996 Nick Burrett
  13.  
  14. As with GNU programs, THERE IS NO WARRANTY OF ANY SORT
  15.  
  16. This compiler requires a minimum 2800Kb of free RAM for compilations.
  17.  
  18. Thanks go to various people for the help and assistance that they have
  19. given me during the creation of this port. These are:
  20.  
  21. Andre' Schaefer for general Objective-C information and the first Obj-C
  22. test case.
  23.  
  24.  
  25. Files
  26. -----
  27.  
  28. This is a binary distribution only and consists of the following files:
  29.  
  30.   bin.cc1obj        Objective-C compiler
  31.   docs.ObjectiveC   This documentation
  32.   gcc.o.libobjc     Objective-C runtime library
  33.   gcc.objc.h...     Objective-C runtime library header files.
  34.  
  35. The compiler sources (about 27Mb) can be obtained from the sites listed at
  36. the end of docs.!Intro.
  37.  
  38. Installation
  39. ------------
  40.  
  41. Before attempting to use GNU C, it should be noted that this distribution
  42. will require the GCC front end files stored in the archive gccmain.zip.
  43. If you do not have a copy of this, it can be retrieved from
  44.   ftp://micros.hensa.ac.uk/micros/arch/riscos/b/b013/gccmain.zip
  45. and relevant mirrors.
  46.  
  47. GNU Obj-C 2.7.2 also requires UnixLib 3.7a or later, but not UnixLib 4.0.
  48. GNU Obj-C will not work with UnixLib 3.6e or earlier.
  49.  
  50.  
  51. Compiling Objective-C source
  52. ----------------------------
  53.  
  54. Objective-C source files are kept in the 'm' directory. Header files are
  55. stored, as for C, in the 'h' directory.
  56.  
  57. Simply typing:
  58.   gcc -c m.test
  59.  
  60. will compile the Objective C file, test, into an AOF file and store it
  61. in the 'o' directory.
  62.  
  63. For compiling and linking, it is necessary to add the command -lobjc:
  64.   gcc m.test -o test -lobjc
  65.  
  66. will compile and link the file 'test' and include the Obj-C runtime library
  67. gcc:o.libobjc (remember that LD searches first for libraries prepended by
  68. the name 'lib').
  69.  
  70. In all cases, the runtime library libobjc must be included in all link
  71. operations.
  72.  
  73. All GNU compilers require the library gcc:o.libgcc to operate. So separate
  74. compile and link operations must include this.
  75.  
  76.  
  77. Compiling and running the example programs
  78. ------------------------------------------
  79.  
  80. The following example programs are to be found in the directory !gcc.files.
  81. For each program, there is a list of the necessary command lines for how
  82. to compile, link and run the program.
  83.  
  84.  
  85. simple
  86. ^^^^^^
  87. A simple Objective-C program.
  88.  
  89. Source:     m.simple
  90. Compile using:     gcc m.simple -o simple
  91. Run using:     simple
  92.  
  93. If everything has been successful, you should receive an answer of 7.
  94.  
  95. SeaApp
  96. ^^^^^^
  97. A demonstration of Objective-C classes.
  98.  
  99. Source:        m.SeaApp, m.Fishie, h.Fishie
  100.  
  101. Compile using:    gcc -c m.SeaApp
  102.         gcc -c m.Fishie
  103.  
  104. Link using:
  105.   drlink -o SeaApp o.SeaApp o.Fishie gcc:o.libgcc gcc:o.libobjc unix:o.unixlib
  106.  
  107. Run using:    SeaApp
  108.  
  109.  
  110. Predefines
  111. ----------
  112.  
  113. In addition to the ones defined by the GCC front end, GNU Objective C also
  114. supplies '__OBJC__'.
  115.  
  116.  
  117. Known problems
  118. --------------
  119.  
  120. If you find a bug then please read the file docs.bugs for what to do if you
  121. have found a bug.
  122.  
  123. Here is a list of all problems that I know of:
  124.  
  125. Statements of the form #include "dir.file.h" do not work correctly - Unixlib
  126. does not convert this to dir.h.file. Use "dir/file.h" instead or "dir.h.file".
  127.  
  128.  
  129. Known Restrictions
  130. ------------------
  131.  
  132. Non-local gotos are not implemented for functions within functions. This is
  133. being worked on, when I have the time.
  134.  
  135.  
  136. Further Reading
  137. ---------------
  138.  
  139. Have a look at the official introductory reading by NeXT.
  140.   http://www.next.com/Pubs/Documents/OPENSTEP/ObjectiveC/objctoc.htm
  141.  
  142.  
  143. Contacting me
  144. -------------
  145.  
  146. I can be contacted by e-mail at: nickb@digibank.demon.co.uk
  147.  
  148. However, if there is no response from that address I can be contacted
  149. through Simon Callan: gcc@callan.demon.co.uk.
  150.