Define OPENSSL_EXPORT and OPENSSL_IMPORT and give OPENSSL_EXTERN the
default value OPENSSL_IMPORT. Explain the use of all those macros.
This commit is contained in:
parent
f09628e42f
commit
21cd437886
1 changed files with 27 additions and 8 deletions
35
e_os2.h
35
e_os2.h
|
@ -17,22 +17,41 @@ extern "C" {
|
|||
# define OPENSSL_DECLARE_EXIT /* declared in unistd.h */
|
||||
#endif
|
||||
|
||||
/* Definitions of OPENSSL_GLOBAL and OPENSSL_EXTERN,
|
||||
to define and declare certain global
|
||||
symbols that, with some compilers under VMS, have to be defined and
|
||||
declared explicitely with globaldef and globalref. On other OS:es,
|
||||
these macros are defined with something sensible. */
|
||||
/* Definitions of OPENSSL_GLOBAL and OPENSSL_EXTERN, to define and declare
|
||||
certain global symbols that, with some compilers under VMS, have to be
|
||||
defined and declared explicitely with globaldef and globalref.
|
||||
Definitions of OPENSSL_EXPORT and OPENSSL_IMPORT, to define and declare
|
||||
DLL exports and imports for compilers under Win32. These are a little
|
||||
more complicated to use. Basically, for any library that exports some
|
||||
global variables, the following code must be present in the header file
|
||||
that declares them, before OPENSSL_EXTERN is used:
|
||||
|
||||
#ifdef SOME_BUILD_FLAG_MACRO
|
||||
# undef OPENSSL_EXTERN
|
||||
# define OPENSSL_EXTERN OPENSSL_EXPORT
|
||||
#endif
|
||||
|
||||
The default is to have OPENSSL_EXPORT, OPENSSL_IMPORT and OPENSSL_GLOBAL
|
||||
have some generally sensible values, and for OPENSSL_EXTERN to have the
|
||||
value OPENSSL_IMPORT.
|
||||
*/
|
||||
|
||||
#if defined(VMS) && !defined(__DECC)
|
||||
# define OPENSSL_EXTERN globalref
|
||||
# define OPENSSL_EXPORT globalref
|
||||
# define OPENSSL_IMPORT globalref
|
||||
# define OPENSSL_GLOBAL globaldef
|
||||
#elif defined(WINDOWS)
|
||||
# define OPENSSL_EXPORT extern _declspec(dllexport)
|
||||
# define OPENSSL_IMPORT extern _declspec(dllimport)
|
||||
# define OPENSSL_GLOBAL
|
||||
#else
|
||||
# define OPENSSL_EXTERN extern
|
||||
# define OPENSSL_EXPORT extern
|
||||
# define OPENSSL_IMPORT extern
|
||||
# define OPENSSL_GLOBAL
|
||||
#endif
|
||||
#define OPENSSL_EXTERN OPENSSL_IMPORT
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue