epoc32/include/stdapis/stlport/config/_gcc.h
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
     1.1 --- a/epoc32/include/stdapis/stlport/config/_gcc.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ b/epoc32/include/stdapis/stlport/config/_gcc.h	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -24,6 +24,11 @@
     1.4  #  define _STLP_NO_VENDOR_STDLIB_L
     1.5  #endif
     1.6  
     1.7 +#if defined (__SYMBIAN32__) && !defined (_STLP_NO_VENDOR_STDLIB_L)
     1.8 +//The following macro is defined so that the vendor's APIs dont get picked. Rather the ones from PIPS are used.
     1.9 +#  define _STLP_NO_VENDOR_STDLIB_L
    1.10 +#endif // (__SYMBIAN32__) && !defined (_STLP_NO_VENDOR_STDLIB_L)
    1.11 +
    1.12  /* We guess if we are using the cygwin distrib that has a special include schema.
    1.13   * There is no way to distinguish a cygwin distrib used in no-cygwin mode from a
    1.14   * mingw install. We are forced to use a configuration option
    1.15 @@ -58,7 +63,7 @@
    1.16  #endif
    1.17  
    1.18  /* Tru64 Unix, AIX, HP : gcc there by default uses native ld and hence cannot auto-instantiate
    1.19 -   static template data. If you are using GNU ld, please say so in stl_user_config.h header */
    1.20 +   static template data. If you are using GNU ld, please say so in user_config.h header */
    1.21  #if (__GNUC__ < 3) && !defined(_STLP_GCC_USES_GNU_LD) && \
    1.22     ((defined (__osf__) && defined (__alpha__)) || defined (_AIX) || defined (__hpux) || defined(__amigaos__) )
    1.23  #  define _STLP_NO_STATIC_TEMPLATE_DATA
    1.24 @@ -77,8 +82,14 @@
    1.25  #  define _STLP_LITTLE_ENDIAN
    1.26  #endif
    1.27  
    1.28 -#if defined (__MINGW32__)
    1.29 +#ifdef __SYMBIAN32__
    1.30 +#  if !defined(_STLP_LITTLE_ENDIAN)
    1.31 +#    define _STLP_LITTLE_ENDIAN
    1.32 +#  endif
    1.33 +#endif
    1.34 +#if defined (__MINGW32__) && !defined (__SYMBIAN32__)
    1.35  /* Mingw32, egcs compiler using the Microsoft C runtime */
    1.36 +#  define _STLP_VENDOR_GLOBAL_CSTD
    1.37  #  undef  _STLP_NO_DRAND48
    1.38  #  define _STLP_NO_DRAND48
    1.39  #  define _STLP_CALL
    1.40 @@ -89,7 +100,7 @@
    1.41  #  endif
    1.42  #endif /* __MINGW32__ */
    1.43  
    1.44 -#if defined (__CYGWIN__) || defined (__MINGW32__)
    1.45 +#if defined (__CYGWIN__) || defined (__MINGW32__) && !defined(__SYMBIAN32__)
    1.46  #  if !defined (_STLP_USE_STATIC_LIB)
    1.47  #    define _STLP_USE_DECLSPEC 1
    1.48  #    if !defined (_STLP_USE_DYNAMIC_LIB)
    1.49 @@ -105,7 +116,7 @@
    1.50  #  define _STLP_IMPORT_DECLSPEC __declspec(dllimport)
    1.51  #endif
    1.52  
    1.53 -#if defined (__CYGWIN__) || defined (__MINGW32__) || !(defined (_STLP_USE_GLIBC) || defined (__sun) || defined(__APPLE__))
    1.54 +#if !defined (__SYMBIAN32__) && (defined (__CYGWIN__) || defined (__MINGW32__) || !(defined (_STLP_USE_GLIBC) || defined (__sun) || defined(__APPLE__)))
    1.55  #  if !defined (__MINGW32__) && !defined (__CYGWIN__)
    1.56  #    define _STLP_NO_NATIVE_MBSTATE_T    1
    1.57  #  endif
    1.58 @@ -232,7 +243,9 @@
    1.59  
    1.60  #if (__GNUC__ < 3)
    1.61  #  define _STLP_HAS_NO_NEW_C_HEADERS     1
    1.62 -#  define _STLP_VENDOR_GLOBAL_CSTD       1
    1.63 +#  if !defined(_STLP_VENDOR_GLOBAL_CSTD)
    1.64 +#    define _STLP_VENDOR_GLOBAL_CSTD       1
    1.65 +#  endif
    1.66  #  define _STLP_DONT_USE_PTHREAD_SPINLOCK 1
    1.67  #  ifndef __HONOR_STD
    1.68  #    define _STLP_VENDOR_GLOBAL_EXCEPT_STD 1
    1.69 @@ -254,7 +267,7 @@
    1.70  #  undef _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT
    1.71  #endif
    1.72  
    1.73 -#if (__GNUC_MINOR__ < 9)  && (__GNUC__ < 3) /* gcc 2.8 */
    1.74 +#if (__GNUC_MINOR__ < 9)  && (__GNUC__ < 3) && !(defined (__SYMBIAN32__) && defined (__GCCXML__))/* gcc 2.8 */
    1.75  #  define _STLP_NO_TEMPLATE_CONVERSIONS
    1.76  #  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
    1.77  #  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
    1.78 @@ -270,7 +283,7 @@
    1.79  #  endif
    1.80  #endif
    1.81  
    1.82 -#if __GNUC__ <= 2 && __GNUC_MINOR__ <= 7 && !defined (__CYGWIN32__)
    1.83 +#if __GNUC__ <= 2 && __GNUC_MINOR__ <= 7 && !defined (__CYGWIN32__) && !(defined (__SYMBIAN32__) && defined (__GCCXML__))
    1.84  /* Will it work with 2.6 ? I doubt it. */
    1.85  #  if ( __GNUC_MINOR__ < 6 )
    1.86  __GIVE_UP_WITH_STL(GCC_272);
    1.87 @@ -297,7 +310,9 @@
    1.88  #  endif
    1.89  #  define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
    1.90  #  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
    1.91 -#  define _STLP_NO_EXCEPTION_HEADER 1
    1.92 +#  if !(defined (__SYMBIAN32__) && defined (__GCCXML__))
    1.93 +#    define _STLP_NO_EXCEPTION_HEADER 1
    1.94 +#  endif
    1.95  #else /* ! <= 2.7.* */
    1.96  #endif /* ! <= 2.7.* */
    1.97  
    1.98 @@ -369,7 +384,9 @@
    1.99  #elif (__GNUC_MINOR__ < 8)
   1.100  
   1.101  #  if !defined (_STLP_NATIVE_INCLUDE_PATH)
   1.102 -#    define _STLP_NATIVE_INCLUDE_PATH ../g++-include
   1.103 +#    if !defined (__SYMBIAN32__)
   1.104 +#      define _STLP_NATIVE_INCLUDE_PATH ../g++-include
   1.105 +#    endif
   1.106  #  endif
   1.107  
   1.108  /* tuning of static template data members workaround */
   1.109 @@ -459,3 +476,4 @@
   1.110  #  define _STLP_STATIC_TEMPLATE_DATA 1
   1.111  #endif
   1.112  
   1.113 +