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