Home | History | Annotate | Download | only in toolutil
      1 /*
      2 **********************************************************************
      3 * Copyright (c) 2009, International Business Machines
      4 * Corporation and others.  All Rights Reserved.
      5 **********************************************************************
      6 */
      7 #ifndef _PLATFORM_XOPEN_SOURCE_EXTENDED_H
      8 #define _PLATFORM_XOPEN_SOURCE_EXTENDED_H
      9 
     10 #include "unicode/utypes.h"
     11 
     12 /*
     13  * z/OS needs this definition for timeval and to get usleep.
     14  * We move this definition out of the various source files because
     15  * there might be some platform issues when this is defined.
     16  * See below.
     17  */
     18 #if !defined(_XOPEN_SOURCE_EXTENDED)
     19 #define _XOPEN_SOURCE_EXTENDED 1
     20 #endif
     21 
     22 /*
     23  * There is an issue with turning on _XOPEN_SOURCE_EXTENDED on certain platforms.
     24  * A compatibility issue exists between turning on _XOPEN_SOURCE_EXTENDED and using
     25  * standard C++ string class. As a result, standard C++ string class needs to be
     26  * turned off for the follwing platforms:
     27  *  -AIX/VACPP
     28  *  -Solaris/GCC
     29  */
     30 #if (defined(U_AIX) && !defined(__GNUC__)) || (defined(U_SOLARIS) && defined(__GNUC__))
     31 #   if _XOPEN_SOURCE_EXTENDED && !defined(U_HAVE_STD_STRING)
     32 #   define U_HAVE_STD_STRING 0
     33 #   endif
     34 #endif
     35 
     36 #endif /* _PLATFORM_XOPEN_SOURCE_EXTENDED_H */
     37