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.