]> git.saurik.com Git - apple/security.git/blob - SecuritySNACCRuntime/Apple_README
Security-54.1.tar.gz
[apple/security.git] / SecuritySNACCRuntime / Apple_README
1 MacOS X Porting notes
2 20 March 2002 dmitch
3
4 -- snacc.pbproj contains the following targets:
5
6 world: aggregate target, builds UnixBuild and snaccRuntime
7
8 UnixBuild: Legacy target, invokes MacOSX-Install, a custom
9 script to config and build the snacc compiler. This does
10 not install the snacc binary; maybe it should.
11
12 snaccRuntime: builds the runtime support library as an OSX
13 framework using the same source as c++-lib. Currently
14 obsolete; this is now part of Security.framework.
15
16 asn-useful - recompiles the sole ASN1 source in this modules
17 asn-usefule.asn1. Do this after building and installing
18 a new compiler.
19
20 -- There are a few header files which have duplicate copies
21 in the snacc-1.3vda root directory and in c++-lib/inc. They're
22 needed in the root by the compiler build and various configure
23 operations, and neneded in c++lib for the framework built
24 there (snaccRuntime.framework). The headers are needed by
25 other headers installed in that framework. A non-trivial
26 amount of Makefile and configure.in hacking could eliminate
27 the need for maintaining duplicate copies of these files.
28 Be my guest. One header, config.h, is generated at configure
29 time and is subsequently copied into the c++-lib/inc directory
30 by the MacOSX-Install script. The other headers are policy.h
31 and snacc.h, which change rarely.
32
33 -- The following examples are skipped during the build all.
34
35 c++-examples.simple - runtime failure
36 c-examples/snmp - runtime failure
37 tbl-example - runtime failure
38 tcl-example - build failure
39
40 -- When running the snacc compiler to generate C++ source, you
41 must specify the (undocumented) -D argument to enable VDADER_RULES.
42 When compiling that source, you must do a -DVDADER_RULES.
43
44 -- As of 20 March 2002, the BDec routines now throw SnaccExcep exceptions;
45 there are no more setjmp/longjmp catchers. This is controlled by the
46 SNACC_EXCEPTION_ENABLE flag found in both asn-config.h files.
47
48 -- As of 20 March 2002, there are no more BEncPdu or BDecPdu functions
49 anywhere. These were convenience routines and added about 47 KBytes
50 to Security.framework. This is controlled by the SNACC_ENABLE_PDU
51 flag found in both asn-config.h files.
52
53