Building the Macintosh version of Kerberos 5 and GSS
----------------------------------------------------

(Last updated $Date: 1999/04/29 20:33:40 $)

If you have questions or comments about the Macintosh build process,
send e-mail to <macdev@mit.edu> .


To build the Macintosh version of Kerberos 5 and GSS:

--- Installing tools ---

	1) Install CodeWarrior Pro 4, including MPW.
		This build of Kerberos v5 and GSS requires CodeWarrior Pro4 MPW tools.
		Don't forget to run one of 4 Metrowerks MPW scripts, as described at the
		bottom of MPW worksheet the first time you launch it.

	2) Download MacPerl and MacPerl MPW tool from
	
	   <ftp://sunsite.cnlab-switch.ch/software/platform/macos/perl/>
	   
	   The MacPerl directory contains several versions of the app and the MPW
	   tool.  The *_appl and *_tool versions work properly with our scripts, e.g.,
	   you should download "Mac_Perl_520r4_appl.bin" and "Mac_Perl_520r4_tool.bin".

	3) Install MacPerl and MacPerl MPW tool by following the installation 
	   instructions provided with them:
	    - install MacPerl application before installing MacPerl tool
		- after installing MacPerl tool, run its MPW configuration script
		  and follow the instructions

--- Preparing Kerberos v5 build tree ---

	4) Launch MPW.

	5) Set directory in MPW to the top level of Kerberos 5 distribution
	   (e.g. "GSS-Kerberos5").

	6) Build target "prebuild" in MPW.
		This will create a new Makefile, so you may be asked whether you 
		want to save changes to the Makefile if you opened it before step
		6. Save the changes.
	    
--- Building libraries ---

	7) Build target "all" in MPW. Wait.
	
	   Example build times: 30-40 minutes on a G3 machine, 80 minutes
	   on a PowerMac 9600/233.
	   
	   You may receive some compile warnings about an ignored pragma, warnings
	   about illegal implicit const pointer conversions, and some link warnings.
	   These are normal and can be ignored.
	   
	   We used to see MPW crash during the link stage of the build. We think this 
	   has been fixed. If this happens to you, you should restart MPW and start
	   the build again, and report the problem to macdev@mit.edu.

--- Binaries ---

	The following assumes that you have followed the steps above to build
	the GSS & Kerberos 5 libraries.  What you now have supports both the
	Kerberos 5 and GSS APIs.  Each is supported as both CFM shared libraries
	and CodeWarrior static link libraries for both 68k & PowerPC Macs.
	We strongly recommend you use the CFM shared libraries.
	
	The following binary components are provided/built in this release:

       ":MIT Kerberos Library"
       * Fat CFM Shared Library including GSS, and Kerberos v5, CCache, and DES
	   libraries.
       * Not for linking against in your projects; include in distributions to
         be placed in System Folder:Extensions.
       
       :GSSLib.68K
       * CFM Shared Library including GSS for 68k Macs.
       
       :GSSLib.PPC
       * CFM Shared Library including GSS for PowerPC Macs.
       
       :Kerberos5Lib.68K
       * CFM Shared Library including Kerberos 5 for 68k Macs.
       
       :Kerberos5Lib.68K
       * CFM Shared Library including Kerberos 5 for PowerPC Macs.
       
	   :mac:krb5.ini
	   * Sample krb5.ini file using CYGNUS.COM as the default realm
	     
	   :include
	   * An include directory containing the files necessary for development

--- Installation ---

	 To install the Kerberos 5 system on your Mac:

	   1) Copy the :mac:krb5.ini file (configured for your site) into
	      the "Preferences" folder in the "System Folder".
	   
	   2) Install the shared libraries by copying the  "MIT Kerberos Library" file
	      to the "Extensions" folder in the "System Folder".
	   
	   3) If you are using System 7.6 or earlier on a 68K Mac, install
	      the CFM-68K Runtime Enabler 4.0, available from Apple at:
	      
	      <ftp://ftp.info.apple.com/Apple_Support_Area/Apple_Software_Updates/US/Macintosh/System/CFM-68K/>

--- Getting Started Programming ---

	You can program using either the Kerberos 5 or GSS APIs.

	To add Kerberos functionality to a Code Warrior based application:
	
	   1) PPC application: use shared libraries:
	   		For GSSAPI, add GSSLibraryPPC to your project
	   		For Kerberos v5 API, add K5LibraryPPC to your project
			Set the project options to 4 byte integers and enums treated as ints.

	   2) CFM-68K application: use shared libraries
	   		For GSSAPI, add GSSLibrary68K to your project
	   		For Kerberos v5 API, add K5Library68K to your project
			Set the project options to 4 byte integers and enums treated as ints.

	   3) Classic 68K application: use glue for shared libraries
	   		For GSSAPI, add GSSLib.glue.c to your project
	   		For Kerberos v5 API, add Kerberos5.glue.c to your project
			Set the project options to 4 byte integers and enums treated as ints.

    A PDF document describing the Kerberos 5 API is located at:
    
      <http://web.mit.edu/macdev/mit/doc/pdf/krb5api.pdf>
    
    (That document was created from tex files in the main Kerberos 5 source tree.)
    
    The GSSAPI is described in Internet RFC's 1508 and 1509:
    
      <http://info.internet.isi.edu/in-notes/rfc/files/rfc1508.txt>
      <http://info.internet.isi.edu/in-notes/rfc/files/rfc1509.txt>
