> From: owner-openssl-us...@openssl.org On Behalf Of Vladimir Belov
> Sent: Thursday, 10 May, 2012 16:09

> I want to know what constants(such as OPENSSL_SYS_WIN32 or 
> OPENSSL_SYS_UNIX) 
> with #define operator I must define at the beginning of the 
> program in 
> different OS: Windows, Linux  and others? .
> 
Do you mean an application which calls OpenSSL, or OpenSSL itself?

> I understand that there are different functions that must be 
> different in 
> different OS, that's why these macroses are used. But I see 
> in e-os2.h that 
> OpenSSL automatically define necessity macros depending on 
> OS-specific 
> macroses that are already defined.
> 
When an instance of OpenSSL is built, the first step 
is either:

- run a perl script Configure and tell it your OS, CPU, 
compiler/tools, target location(s), etc., and optionally 
numerous things you can select (include or exclude 
certain ciphers, use or not use assembler, etc.) and 
it sets various neeeded macros in crypto/opensslconf.h 

- or run a shell script config which guesses your OS/CPU/etc 
and runs Configure with 'recommended' options

Either way, when OpenSSL is compiled it uses opensslconf.h 
to control all (we hope!) platform-dependent things.

If you mean your client program, opensslconf.h is among 
the .h files copied to the installed include directory, 
so you can #include it if you want. But your program 
shouldn't need to do anything different *in OpenSSL 
calls* depending on platform. (If your program makes 
platform-dependent calls directly, that's your own 
concern.) I suppose you might do some things differently 
(or not at all) if your OpenSSL was built with or without 
certain cipher or protocol features.


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to