epoc32/include/stdapis/stlportv5/stl/config/_windows.h
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
     1.1 --- a/epoc32/include/stdapis/stlportv5/stl/config/_windows.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ b/epoc32/include/stdapis/stlportv5/stl/config/_windows.h	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -25,6 +25,20 @@
     1.4  #  define _STLP_PLATFORM "Windows"
     1.5  #endif
     1.6  
     1.7 +/* _STLP_WIN32_VERSION is used to detect targetted Windows platforms as
     1.8 + * old ones are not supporting some Win32 functions that STLport use.
     1.9 + * Limited OSs are going up to and including Windows 98 so they can be
    1.10 + * detected using WINVER or _WIN32_WINDOWS macros, we do not have to use
    1.11 + * _WINNT_WINDOWS macro for the moment.
    1.12 + */
    1.13 +#if !defined (_STLP_WIN32_VERSION)
    1.14 +#  if defined (WINVER)
    1.15 +#    define _STLP_WIN32_VERSION WINVER
    1.16 +#  elif defined (_WIN32_WINDOWS)
    1.17 +#    define _STLP_WIN32_VERSION _WIN32_WINDOWS
    1.18 +#  endif
    1.19 +#endif
    1.20 +
    1.21  #if !defined (_STLP_BIG_ENDIAN) && !defined (_STLP_LITTLE_ENDIAN)
    1.22  #  if defined (_MIPSEB)
    1.23  #    define _STLP_BIG_ENDIAN 1
    1.24 @@ -145,6 +159,8 @@
    1.25  
    1.26  /* end of eMbedded Visual C++ specific section */
    1.27  
    1.28 +#    elif defined (__SYMBIAN32__) && defined(__GCCXML__)
    1.29 +/* Nothing to do here */
    1.30  #    else
    1.31  /* boris : for the latest SDK, you may actually need the other version of the declaration (above)
    1.32   * even for earlier VC++ versions. There is no way to tell SDK versions apart, sorry ...
    1.33 @@ -158,7 +174,7 @@
    1.34  /* This API function do not exist in the old platform SDK and is equivalent to
    1.35   * InterlockedExchange on 32 bits platform:
    1.36   */
    1.37 -#      if defined (__cplusplus)
    1.38 +#      if defined (__cplusplus) && !( defined(__SYMBIAN32__) && (__GCCXML__))
    1.39  /* We do not define this function if we are not in a C++ translation unit just
    1.40   * because of the inline portability issue it would introduce. We will have to
    1.41   * fix it the day we need this function for a C translation unit.
    1.42 @@ -187,7 +203,7 @@
    1.43  #      endif
    1.44  #    endif
    1.45  
    1.46 -#    if !defined (_STLP_WCE)
    1.47 +#    if !defined (_STLP_WCE) && !( defined(__SYMBIAN32__) && (__GCCXML__))
    1.48  _STLP_IMPORT_DECLSPEC void _STLP_STDCALL Sleep(unsigned long);
    1.49  _STLP_IMPORT_DECLSPEC void _STLP_STDCALL OutputDebugStringA(const char* lpOutputString);
    1.50  #    endif