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