blob: 583585f7cb2cbc08069dddec434a07cd4bf444de [file] [log] [blame]
/*
**********************************************************************
* Copyright (c) 2009, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
*/
#ifndef _PLATFORM_XOPEN_SOURCE_EXTENDED_H
#define _PLATFORM_XOPEN_SOURCE_EXTENDED_H
#include "unicode/utypes.h"
/*
* z/OS needs this definition for timeval and to get usleep.
* We move this definition out of the various source files because
* there might be some platform issues when this is defined.
* See below.
*/
#if !defined(_XOPEN_SOURCE_EXTENDED)
#define _XOPEN_SOURCE_EXTENDED 1
#endif
/*
* There is an issue with turning on _XOPEN_SOURCE_EXTENDED on certain platforms.
* A compatibility issue exists between turning on _XOPEN_SOURCE_EXTENDED and using
* standard C++ string class. As a result, standard C++ string class needs to be
* turned off for the follwing platforms:
* -AIX/VACPP
* -Solaris/GCC
*/
#if (defined(U_AIX) && !defined(__GNUC__)) || (defined(U_SOLARIS) && defined(__GNUC__))
# if _XOPEN_SOURCE_EXTENDED && !defined(U_HAVE_STD_STRING)
# define U_HAVE_STD_STRING 0
# endif
#endif
#endif /* _PLATFORM_XOPEN_SOURCE_EXTENDED_H */