X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=e_os2.h;h=ff68d5b94aae707c5a8180a9b6d39a21fb3e46a2;hp=272faad39cc0ba3579e405176e55eb3b59aab099;hb=6859cf745961b04bea73297a275b3269085f6970;hpb=595cc5b4b86327fba7bb0570294f7fb05987485b diff --git a/e_os2.h b/e_os2.h index 272faad39c..ff68d5b94a 100644 --- a/e_os2.h +++ b/e_os2.h @@ -90,17 +90,22 @@ extern "C" { /* For 32 bit environment, there seems to be the CygWin environment and then all the others that try to do the same thing Microsoft does... */ -#if defined(__CYGWIN32__) || defined(OPENSSL_SYSNAME_CYGWIN32) +#if defined(OPENSSL_SYSNAME_UWIN) # undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WIN32_CYGWIN +# define OPENSSL_SYS_WIN32_UWIN #else -# if defined(_WIN32) || defined(OPENSSL_SYSNAME_WIN32) +# if defined(__CYGWIN32__) || defined(OPENSSL_SYSNAME_CYGWIN32) # undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WIN32 -# endif -# if defined(OPENSSL_SYSNAME_WINNT) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WINNT +# define OPENSSL_SYS_WIN32_CYGWIN +# else +# if defined(_WIN32) || defined(OPENSSL_SYSNAME_WIN32) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WIN32 +# endif +# if defined(OPENSSL_SYSNAME_WINNT) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WINNT +# endif # endif #endif @@ -131,14 +136,23 @@ extern "C" { # define OPENSSL_SYS_VMS # if defined(__DECC) # define OPENSSL_SYS_VMS_DECC +# elif defined(__DECCXX) +# define OPENSSL_SYS_VMS_DECC +# define OPENSSL_SYS_VMS_DECCXX # else # define OPENSSL_SYS_VMS_NODECC # endif #endif +/* --------------------------------- OS/2 ---------------------------------- */ +#if defined(__EMX__) || defined(__OS2__) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_OS2 +#endif + /* --------------------------------- Unix ---------------------------------- */ #ifdef OPENSSL_SYS_UNIX -# if defined(linux) || defined(OPENSSL_SYSNAME_LINUX) +# if defined(linux) || defined(__linux__) || defined(OPENSSL_SYSNAME_LINUX) # define OPENSSL_SYS_LINUX # endif # ifdef OPENSSL_SYSNAME_MPE @@ -223,8 +237,8 @@ extern "C" { #define foobar OPENSSL_GLOBAL_REF(foobar) */ #ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION -# define OPENSSL_IMPLEMENT_GLOBAL(type,name) extern static type _hide_##name; \ - type *_shadow_##name(void) { static type local_var; return &local_var; } \ +# define OPENSSL_IMPLEMENT_GLOBAL(type,name) static type _hide_##name; \ + type *_shadow_##name(void) { return &_hide_##name; } \ static type _hide_##name # define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void) # define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name()))