> 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