home *** CD-ROM | disk | FTP | other *** search
- The GNU Objective C compiler
- ============================
-
- Introduction
- ------------
-
- This is a port of the GNU Objective C compiler (version 2.7.2) for the
- Objective C programming language to the Acorn range of ARM based machines,
- running under RISC OS. As such, this package is covered by the FSF General
- Public License (see the files docs.COPYING and docs.COPYINGLIB for details).
-
- This port is © 1996 Nick Burrett
-
- As with GNU programs, THERE IS NO WARRANTY OF ANY SORT
-
- This compiler requires a minimum 2800Kb of free RAM for compilations.
-
- Thanks go to various people for the help and assistance that they have
- given me during the creation of this port. These are:
-
- Andre' Schaefer for general Objective-C information and the first Obj-C
- test case.
-
-
- Files
- -----
-
- This is a binary distribution only and consists of the following files:
-
- bin.cc1obj Objective-C compiler
- docs.ObjectiveC This documentation
- gcc.o.libobjc Objective-C runtime library
- gcc.objc.h... Objective-C runtime library header files.
-
- The compiler sources (about 27Mb) can be obtained from the sites listed at
- the end of docs.!Intro.
-
- Installation
- ------------
-
- Before attempting to use GNU C, it should be noted that this distribution
- will require the GCC front end files stored in the archive gccmain.zip.
- If you do not have a copy of this, it can be retrieved from
- ftp://micros.hensa.ac.uk/micros/arch/riscos/b/b013/gccmain.zip
- and relevant mirrors.
-
- GNU Obj-C 2.7.2 also requires UnixLib 3.7a or later, but not UnixLib 4.0.
- GNU Obj-C will not work with UnixLib 3.6e or earlier.
-
-
- Compiling Objective-C source
- ----------------------------
-
- Objective-C source files are kept in the 'm' directory. Header files are
- stored, as for C, in the 'h' directory.
-
- Simply typing:
- gcc -c m.test
-
- will compile the Objective C file, test, into an AOF file and store it
- in the 'o' directory.
-
- For compiling and linking, it is necessary to add the command -lobjc:
- gcc m.test -o test -lobjc
-
- will compile and link the file 'test' and include the Obj-C runtime library
- gcc:o.libobjc (remember that LD searches first for libraries prepended by
- the name 'lib').
-
- In all cases, the runtime library libobjc must be included in all link
- operations.
-
- All GNU compilers require the library gcc:o.libgcc to operate. So separate
- compile and link operations must include this.
-
-
- Compiling and running the example programs
- ------------------------------------------
-
- The following example programs are to be found in the directory !gcc.files.
- For each program, there is a list of the necessary command lines for how
- to compile, link and run the program.
-
-
- simple
- ^^^^^^
- A simple Objective-C program.
-
- Source: m.simple
- Compile using: gcc m.simple -o simple
- Run using: simple
-
- If everything has been successful, you should receive an answer of 7.
-
- SeaApp
- ^^^^^^
- A demonstration of Objective-C classes.
-
- Source: m.SeaApp, m.Fishie, h.Fishie
-
- Compile using: gcc -c m.SeaApp
- gcc -c m.Fishie
-
- Link using:
- drlink -o SeaApp o.SeaApp o.Fishie gcc:o.libgcc gcc:o.libobjc unix:o.unixlib
-
- Run using: SeaApp
-
-
- Predefines
- ----------
-
- In addition to the ones defined by the GCC front end, GNU Objective C also
- supplies '__OBJC__'.
-
-
- Known problems
- --------------
-
- If you find a bug then please read the file docs.bugs for what to do if you
- have found a bug.
-
- Here is a list of all problems that I know of:
-
- Statements of the form #include "dir.file.h" do not work correctly - Unixlib
- does not convert this to dir.h.file. Use "dir/file.h" instead or "dir.h.file".
-
-
- Known Restrictions
- ------------------
-
- Non-local gotos are not implemented for functions within functions. This is
- being worked on, when I have the time.
-
-
- Further Reading
- ---------------
-
- Have a look at the official introductory reading by NeXT.
- http://www.next.com/Pubs/Documents/OPENSTEP/ObjectiveC/objctoc.htm
-
-
- Contacting me
- -------------
-
- I can be contacted by e-mail at: nickb@digibank.demon.co.uk
-
- However, if there is no response from that address I can be contacted
- through Simon Callan: gcc@callan.demon.co.uk.
-