Home | History | Annotate | Download | only in stlport
      1 /*
      2  * Copyright (c) 1999
      3  * Boris Fomitchev
      4  *
      5  * This material is provided "as is", with absolutely no warranty expressed
      6  * or implied. Any use is at your own risk.
      7  *
      8  * Permission to use or copy this software for any purpose is hereby granted
      9  * without fee, provided the above notices are retained on all copies.
     10  * Permission to modify the code and to distribute modified code is granted,
     11  * provided the above notices are retained, and a notice that the code was
     12  * modified is included with the above copyright notice.
     13  *
     14  */
     15 
     16 #if !defined (_STLP_OUTERMOST_HEADER_ID)
     17 #  define _STLP_OUTERMOST_HEADER_ID 0x205
     18 #  include <stl/_cprolog.h>
     19 #elif (_STLP_OUTERMOST_HEADER_ID == 0x205) && !defined (_STLP_DONT_POP_HEADER_ID)
     20 #  define _STLP_DONT_POP_HEADER_ID
     21 #endif
     22 
     23 #ifdef _STLP_WCE
     24 /* only show message when directly including this file in a non-library build */
     25 #  if !defined(__BUILDING_STLPORT) && (_STLP_OUTERMOST_HEADER_ID == 0x205)
     26 #    pragma message("eMbedded Visual C++ 3 and .NET don't have a errno.h header; STLport won't include native errno.h here")
     27 #  endif
     28 #else
     29 #  ifndef errno
     30 /* We define the following macro first to guaranty the header reentrancy: */
     31 #    define _STLP_NATIVE_ERRNO_H_INCLUDED
     32 #    if defined (_STLP_HAS_INCLUDE_NEXT)
     33 #      include_next <errno.h>
     34 #    else
     35 #      include _STLP_NATIVE_C_HEADER(errno.h)
     36 #    endif
     37 #    if defined (__BORLANDC__) && (__BORLANDC__ >= 0x590) && defined (__cplusplus)
     38 _STLP_BEGIN_NAMESPACE
     39 using _STLP_VENDOR_CSTD::__errno;
     40 _STLP_END_NAMESPACE
     41 #    endif
     42 #  endif /* errno */
     43 
     44 #  if !defined (_STLP_NATIVE_ERRNO_H_INCLUDED)
     45 /* If errno has been defined before inclusion of native errno.h including it from STLport errno.h
     46  * becomes impossible because if:
     47  * #define errno foo
     48  * then
     49  * #include _STLP_NATIVE_C_HEADER(errno.h)
     50  * becomes:
     51  * #include _STLP_NATIVE_C_HEADER(foo.h)
     52  *
     53  * To fix this problem you have to find where this definition comes from and include errno.h before it.
     54  */
     55 #    error errno has been defined before inclusion of errno.h header.
     56 #  endif
     57 #endif
     58 
     59 #if (_STLP_OUTERMOST_HEADER_ID == 0x205)
     60 #  if ! defined (_STLP_DONT_POP_HEADER_ID)
     61 #    include <stl/_epilog.h>
     62 #    undef  _STLP_OUTERMOST_HEADER_ID
     63 #  endif
     64 #  undef  _STLP_DONT_POP_HEADER_ID
     65 #endif
     66 
     67 /* Local Variables:
     68  * mode: C
     69  * End:
     70  */
     71