This change will cause builds (by default) to not use different STACK
authorGeoff Thorpe <geoff@openssl.org>
Thu, 1 Jun 2000 05:13:52 +0000 (05:13 +0000)
committerGeoff Thorpe <geoff@openssl.org>
Thu, 1 Jun 2000 05:13:52 +0000 (05:13 +0000)
commite41c8d6ad4d1ffab51865d8cf90baff108bbe4a1
tree0743c50a5fb135a2731e418985504664a071bf7a
parentccd86b68ef7f9a5cfaaed4089bce29fdc5fe4219
This change will cause builds (by default) to not use different STACK
structures and functions for each stack type. The previous behaviour
can be enabled by configuring with the "-DDEBUG_SAFESTACK" option.
This will also cause "make update" (mkdef.pl in particular) to
update the libeay.num and ssleay.num symbol tables with the number of
extra functions DEBUG_SAFESTACK creates.

The way this change works is to accompany each DECLARE_STACK_OF()
macro with a set of "#define"d versions of the sk_##type##_***
functions that ensures all the existing "type-safe" stack calls are
precompiled into the underlying stack calls. The presence or abscence
of the DEBUG_SAFESTACK symbol controls whether this block of
"#define"s or the DECLARE_STACK_OF() macro is taking effect. The
block of "#define"s is in turn generated and maintained by a perl
script (util/mkstack.pl) that encompasses the block with delimiting
C comments. This works in a similar way to the auto-generated error
codes and, like the other such maintenance utilities, is invoked
by the "make update" target.

A long (but mundane) commit will follow this with the results of
"make update" - this will include all the "#define" blocks for
each DECLARE_STACK_OF() statement, along with stripped down
libeay.num and ssleay.num files.
CHANGES
Configure
Makefile.org
crypto/stack/safestack.h
util/mkdef.pl
util/mkstack.pl [new file with mode: 0755]