Portable Object Compiler (c) 1997,98,99.  All Rights Reserved.


               I N S T A L L I N G   T H E   S O F T W A R E


PROBLEMS
--------

For help, send email to:            objc-bugs@cys.de.

RECOMPILING THE COMPILER WITH ITSELF
------------------------------------

Because "objc" is written in itself, installing the software consists of *recompiling* the compiler using a bootstrap compiler.  

NOTE: it may be possible to use a different Objective-C compiler (such as Stepstone Objective-C) as bootstrap compiler in some cases.

You can repeat the process of recompiling the compiler with itself a couple of times, to verify that it works.

There are 5 steps involved in installing the package.  Step 1 and 2 are optional if you already have an 'objc' compiler installed.

1. Start by uncompressing and extracting the BOOTSTRAP compiler files,

	gunzip objc1.8.5-bootstrap.tar.gz
	tar xvf objc1.8.5-bootstrap.tar

	configure --prefix=$HOME

You can do this in $HOME/src (or /usr/local/src, if you have the necessary permissions).

It is important to use the --prefix option if you want to install the compiler in a directory like $HOME/bin.  The default (if no --prefix is specified) is to install into /usr/local/bin.  

2. Build and install the bootstrap compiler,

	make
	make install

You should now be able to run the bootstrap Objective C compiler.  For instance, 'objc -version' and 'objc1 -version' should work.

3. Next, go into the actual compiler sources (as opposed to the bootstrap compiler sources) and configure for recompiling the compiler.  

	cd objc1.8.5
	./configure

Configuration will set a variable OBJCDIR, which defaults to /usr/local.  In step 5, binaries will go into OBJCDIR/bin, headers into OBJCDIR/include, manpages into OBJCDIR/man and so on.

Again, do,

	./configure --prefix=$HOME

to set OBJCDIR to $HOME, and to install, for example, in "$HOME/bin", "$HOME/man" etc. instead of "/usr/local".

4. Rebuild (but do not install) the compiler, using the bootstrap compiler:

	make

This will also rebuild (but not install) the runtime libraries.  The
compiler is built with -O flags.

4a.  [Optional] If you like, you can also build debug, profile, or shared libraries.  Those will also be installed by the "make install".
       
       ./makeLibs

5. The final step consists of installing the newly compiled software in
the installation directory, which defaults to /usr/local, by doing,

	su root
	make install

This will copy the compiler that you just compiled (not the original bootstrap compiler) into a location such as /usr/local/bin which is probably already in your $PATH, and which is probably the most convenient location for most applications.

To test that things work okay, you can repeat the process using the new compiler.  In some cases, it can even be necessary that the libraries be compiled with the compiler itself.

