                 MacOS X Porting notes
				   20 March 2002 dmitch
				   
-- snacc.pbproj contains the following targets:

	world: aggregate target, builds UnixBuild and snaccRuntime
	
	UnixBuild: Legacy target, invokes MacOSX-Install, a custom
		script to config and build the snacc compiler. This does 
		not install the snacc binary; maybe it should. 

    snaccRuntime: builds the runtime support library as an OSX
      framework using the same source as c++-lib. Currently 
	  obsolete; this is now part of Security.framework. 
	
    asn-useful - recompiles the sole ASN1 source in this modules
	   asn-usefule.asn1. Do this after building and installing
	   a new compiler. 
	   
-- There are a few header files which have duplicate copies
   in the snacc-1.3vda root directory and in c++-lib/inc. They're
   needed in the root by the compiler build and various configure
   operations, and neneded in c++lib for the framework built
   there (snaccRuntime.framework). The headers are needed by
   other headers installed in that framework. A non-trivial 
   amount of Makefile and configure.in hacking could eliminate
   the need for maintaining duplicate copies of these files.
   Be my guest.  One header, config.h, is generated at configure
   time and is subsequently copied into the c++-lib/inc directory
   by the MacOSX-Install script. The other headers are policy.h 
   and snacc.h, which change rarely. 
   
-- The following examples are skipped during the build all.

    c++-examples.simple - runtime failure
	c-examples/snmp - runtime failure
	tbl-example - runtime failure
	tcl-example - build failure
	
-- When running the snacc compiler to generate C++ source, you 
   must specify the (undocumented) -D argument to enable VDADER_RULES. 
   When compiling that source, you must do a -DVDADER_RULES. 
   
-- As of 20 March 2002, the BDec routines now throw SnaccExcep exceptions;
   there are no more setjmp/longjmp catchers. This is controlled by the
   SNACC_EXCEPTION_ENABLE flag found in both asn-config.h files. 
   
-- As of 20 March 2002, there are no more BEncPdu or BDecPdu functions
   anywhere. These were convenience routines and added about 47 KBytes
   to Security.framework. This is controlled by the SNACC_ENABLE_PDU
   flag found in both asn-config.h files.
   
   