/* This file is automatically generated by scripts/option-groups.awk
   in the EGLIBC source tree.

   It defines macros that indicate which EGLIBC option groups were
   configured in 'option-groups.config' when this C library was
   built.  For each option group named OPTION_foo, it #defines
   __OPTION_foo to be 1 if the group is enabled, or leaves that
   symbol undefined if the group is disabled.  */

#ifndef __GNU_OPTION_GROUPS_H
#define __GNU_OPTION_GROUPS_H

#define __OPTION_EGLIBC_ADVANCED_INET6 1
#define __OPTION_EGLIBC_BACKTRACE 1
#define __OPTION_EGLIBC_BIG_MACROS 1
#define __OPTION_EGLIBC_BSD 1
#define __OPTION_EGLIBC_CATGETS 1
#define __OPTION_EGLIBC_CHARSETS 1
#define __OPTION_EGLIBC_CRYPT 1
#define __OPTION_EGLIBC_CRYPT_UFC 1
#define __OPTION_EGLIBC_CXX_TESTS 1
#define __OPTION_EGLIBC_DB_ALIASES 1
#define __OPTION_EGLIBC_ENVZ 1
#define __OPTION_EGLIBC_FCVT 1
#define __OPTION_EGLIBC_FMTMSG 1
#define __OPTION_EGLIBC_FSTAB 1
#define __OPTION_EGLIBC_FTRAVERSE 1
#define __OPTION_EGLIBC_GETLOGIN 1
#define __OPTION_EGLIBC_IDN 1
#define __OPTION_EGLIBC_INET 1
#define __OPTION_EGLIBC_INET_ANL 1
#define __OPTION_EGLIBC_LIBM 1
#define __OPTION_EGLIBC_LIBM_BIG 1
#define __OPTION_EGLIBC_LOCALES 1
#define __OPTION_EGLIBC_LOCALE_CODE 1
#define __OPTION_EGLIBC_MEMUSAGE 1
#define __OPTION_EGLIBC_NIS 1
#define __OPTION_EGLIBC_NSSWITCH 1
#define __OPTION_EGLIBC_RCMD 1
#define __OPTION_EGLIBC_RTLD_DEBUG 1
#define __OPTION_EGLIBC_SPAWN 1
#define __OPTION_EGLIBC_STREAMS 1
#define __OPTION_EGLIBC_SUNRPC 1
#define __OPTION_EGLIBC_UTMP 1
#define __OPTION_EGLIBC_UTMPX 1
#define __OPTION_EGLIBC_WORDEXP 1
#define __OPTION_POSIX_C_LANG_WIDE_CHAR 1
#define __OPTION_POSIX_REGEXP 1
#define __OPTION_POSIX_REGEXP_GLIBC 1
#define __OPTION_POSIX_WIDE_CHAR_DEVICE_IO 1

#endif /* __GNU_OPTION_GROUPS_H */
