[[EMAIL PROTECTED] - Thu Jun 27 11:32:12 2002]:

A few comments...

> rand.h : Various files in the tree (crypto/des/rand_key.c, for
> example)
> include rand.h without including anything that would drag in 
windows.h
> and
> hence windef.h under Win32.  This causes a problem with the 
prototype
> of
> RAND_event, which uses the windows-specific types WPARAM, LPARAM 
and
> UINT.
> The patch therefore adds an addition #if defined() protection,
> checking
> for BASENAMES, a macro which is defined by windef.h, the same file
> that
> defines these three types.  I don't really follow how other Windows
> environments have been compiling rand_key.c and others without this
> change.

Hmm, wouldn't it be easier to have the following early in rand.h?

#include <openssl/opensslconf.h>

#if defined(OPENSSL_SYS_WINDOWS)
#include <windows.h>
#endif

> x509.h : This is the change I'm genuinely unsure about.  x509.h
> includes
> asn1.h, but both x509/x_all.c and x509v3/v3_bitst.c reference (via
> macros)
> struct ASN1_ITEM_st, which is defined not in asn1.h but in asn1t.h.
> Since both files include x509.h, which includes asn1.h, and since
> asn1t.h
> includes asn1.h, I've changed x509.h to include asn1t.h instead of
> asn1.h.
> Someone who knows the code better may be able to come up with a 
better
> solution.

I'll see if I can make sense of that.

> do_nasm.bat : Change all xx-win32.asm files to xx_win32.asm.  If 
the
> filenames have hyphens in them, this gets interpreted by the dumb
> borland
> linker as an option later on in the build.  Since according to the
> commit
> on x86nasm.pl, nasm never worked anyway under Windows, this change
> shouldn't bother anyone.  Also, generate a bcb.mak using mk1mf.pl 
and
> 'nasm'.
> 
> BC-32.pl : One ugly hack to get around the fact that _stricmp is
> called
> stricmp by Borland.  Change the assembler to nasm (from nothing),
> change
> the assembler flags.  Perform the same hyphen->underscore 
conversion
> as
> above.

Actually, the ugliness lies with Microsoft, who felt compelled to 
add underscores to many common functions...  *sigh*

> ...and that's it.  Apologies if the explanation's on the long side,

What, those were good explanations!  That helps a lot, so do not 
appologise.

> After this patch, the following instructions will build OpenSSL on 
a
> machine with perl, builder (including Builder's 'make') and nasm in
> the
> path:
> 
> perl Configure BC-32
> ms\do_nasm.bat
> make -f ms\bcb.mak

Will do...

-- 
Richard Levitte
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to