	   
Last modified: Sat Mar 25 21:27:58 1995

For GPC-1.1*
and GCC version 2.6.*

This is a short installation quide for the gnu pascal compiler:

	0) Unpack gpc snapshot. The file is a GNU Zip compressed
	   tar file. The distribution creates a new subdirectory
	   named after the GCC version number it is based on,
	   and writes the files there, e.g. a directory "2.6.3"
	   for gpc version running with GCC 2.6.3.

	   Note: Earlier snapshots unpacked all files to the current
	   directory.

	1) compile gcc. It must be the same version as the one GPC is
	   implemented with.

	   Leave the objects in place, since GPC will directly load
	   most of the GCC object files.

	  Install the GNU C compiler. At least install it so that the
	  "xgcc" program will be able to locate the libgcc.a file with
	  "xgcc --print-libgcc-file-name" command. This is to find
	  out where gpc Makefile should put libgpc.a and gpc1.

	2) cd to gpc object directory. It should NOT be
	   the same as the GPC source directory. You'll need
	   a make that understands VPATH variable. GNU Make does.

	   Gpc will later be integrated to the gcc distribution
	   and then will compile like the other GNU compilers.

	   If you have some kind of magic error during compiltion,
	   e.g. some rts/file can not be generated, please use GNU
	   make. If you do, and you get errors like that send me mail.

	3) In the gpc object directory, run the "configure" program
	   from gpc source directory. 

	   Do not use "--prefix" flag unless you have to. If you do not
	   use it, gpc will install itself to the same directory where
	   gcc has been installed before.

	   To make this easy, I use the shell script DOCONF.example to
	   configure gpc.

	   This shell script gives the --gccsrc and --gccdir
	   switches to gpc configure program. To use it, you should
	   create file GCC-VERSION that contains only the version
	   number of gcc (it's used in the pathnames), e.g. 2.6.0

	   NOTE: Do *not* use absolute path names in gccdir or gccsrc
	   symlinks!!!

	   The configure script then generates a Makefile to your
	   current directory from the Makefile.in in the distribution.

	   Note that the gpc configure script does not want to
	   have the usual host-vendor-system spec, since GPC is
	   compiled for the same system than GCC was.

	4) Say "make -n" to see if everything is ok.

	5) After it is, you just say "make" to make the compiler
	   and run time system.
	  
	   NOTE: For alpha OSF/1 v3.2 (GCC 2.6.3):
	   If your linker starts to output error messagaes like:

Warning: Linking some objects which contain exception information sections
        and some which do not. This may cause fatal runtime exception handling
        problems (last obj encountered without exceptions was <OBJ/LIB>)

	   I do not know why these started to appear, but you can
	   get rid of these if you do as follows in the GPC object
	   directory.

	   You need to trigger the Makefile dependencies, e.g. by
	   doing the touch command below. What happens is that it
	   re-generates the version.c and rts/version.c files, which
	   need to be recompiled with ALPHA_BUG defined.

	   Example:
	    % touch Makefile
	    % make MY_CFLAGS=-DALPHA_BUG other-make-flags-you-want-to-use

	6) The run time system is quite portable, but I have not
	   tested it on a pure System V, and it may require
	   some modifications. My current development system is a
	   i486 Mach 3.0 + BSD single server.

	   The rts has been compiled in: aix,osf 1,mach ux,linux,
	   ultrix,hp-ux,minix,etc...

	7) When everything compiles, you can verify what the 
	   "make -n install" command does, and if you are satisfied
	   run it without the -n option to install the compiler (gpc1),
	   front end (gpc), run time system (libgpc.a) to the same
	   place where gcc was installed.

	   It is sort of stupid to have a separate incarnation
	   of gcc.c; the difference now is that "gpc"
	   also searches from library "libgpc.a and -lm".
	   In addition gcc.c specifies the interface to the
	   Pascal compiler (gpc1). This command will vanish when
	   "gcc" knows how to compile Pascal programs.

	8) While compiling, browse through COPYING, README, GPC.NOTES
	   and PROBLEMS to see what you are getting.

	9) If you make modifications/bug fixes, please send
	   them back to me so that we can make this a better compiler.

						Juki
						jtv@hut.fi

*---------------------------------------------------------------------------*
 jtv@hut.fi                               Jukka Virtanen
 Jukka.Virtanen@hut.fi                    Helsinki University of Technology
 juki@hut.fi                              Computing Centre
                                          SF-02150, Espoo, FINLAND
				          tel. +358 0 4514315
					  Fax. +358 0 464788

-----------------------------------------------------------------------------
