/* common/icucfg.h.in.  Generated automatically from configure.in by autoheader.  */

/* Define if you have the ANSI C header files.  */
#undef STDC_HEADERS

/* Define if your processor stores words with the most significant
   byte first (like Motorola and SPARC, unlike Intel and VAX).  */
#undef WORDS_BIGENDIAN

/* Copyright (c) 1999-2000, International Business Machines Corporation and
   others. All Rights Reserved. */
/* Define to signed char if not in <sys/types.h> */
#undef int8_t

/* Define to unsigned char if not in <sys/types.h> */
#undef uint8_t 

/* Define to signed short if not in <sys/types.h> */
#undef int16_t 

/* Define to unsigned short if not in <sys/types.h> */
#undef uint16_t 

/* Define to signed long if not in <sys/types.h> */
#undef int32_t 

/* Define to unsigned long if not in <sys/types.h> */
#undef uint32_t 

/* Define to signed char if not in <sys/types.h> */
#undef bool_t 

/* The number of bytes in a wchar_t.  */
#undef SIZEOF_WCHAR_T

/* Define if you have the <inttypes.h> header file.  */
#undef U_HAVE_INTTYPES_H

/* Define if you have the cma library (-lcma).  */
#undef HAVE_LIBCMA

/* Define if you have the dl library (-ldl).  */
#undef HAVE_LIBDL

/* Define if you have the dld library (-ldld).  */
#undef HAVE_LIBDLD

/* Define if you have the m library (-lm).  */
#undef HAVE_LIBM

/* Define if you have the pthread library (-lpthread).  */
#undef HAVE_LIBPTHREAD

/* Define if you have the pthreads library (-lpthreads).  */
#undef HAVE_LIBPTHREADS

/* Define if you have the wcs library (-lwcs).  */
#undef HAVE_LIBWCS
