/* config.in.  Generated from configure.ac by autoheader.  */

/* Define to 1 if translation of program messages to the user's native
   language is requested. */
#undef ENABLE_NLS

/* Define to enable linker plugins */
#undef ENABLE_PLUGINS

/* Define to do multi-threaded linking */
#undef ENABLE_THREADS

/* Default big endian (true or false) */
#undef GOLD_DEFAULT_BIG_ENDIAN

/* Default machine code */
#undef GOLD_DEFAULT_MACHINE

/* Default size (32 or 64) */
#undef GOLD_DEFAULT_SIZE

/* Define to 1 if you have the <ext/hash_map> header file. */
#undef HAVE_EXT_HASH_MAP

/* Define to 1 if you have the <ext/hash_set> header file. */
#undef HAVE_EXT_HASH_SET

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

/* Define to 1 if you have the `mallinfo' function. */
#undef HAVE_MALLINFO

/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H

/* Define if compiler supports #pragma omp threadprivate */
#undef HAVE_OMP_SUPPORT

/* Define to 1 if you have the `pread' function. */
#undef HAVE_PREAD

/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H

/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H

/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H

/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H

/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H

/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H

/* Define to support 32-bit big-endian targets */
#undef HAVE_TARGET_32_BIG

/* Define to support 32-bit little-endian targets */
#undef HAVE_TARGET_32_LITTLE

/* Define to support 64-bit big-endian targets */
#undef HAVE_TARGET_64_BIG

/* Define to support 64-bit little-endian targets */
#undef HAVE_TARGET_64_LITTLE

/* Define if attributes work on C++ templates */
#undef HAVE_TEMPLATE_ATTRIBUTES

/* Define to 1 if you have the <tr1/unordered_map> header file. */
#undef HAVE_TR1_UNORDERED_MAP

/* Define to 1 if you have the <tr1/unordered_set> header file. */
#undef HAVE_TR1_UNORDERED_SET

/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H

/* Define to 1 if you have the <zlib.h> header file. */
#undef HAVE_ZLIB_H

/* Name of package */
#undef PACKAGE

/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT

/* Define to the full name of this package. */
#undef PACKAGE_NAME

/* Define to the full name and version of this package. */
#undef PACKAGE_STRING

/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME

/* Define to the version of this package. */
#undef PACKAGE_VERSION

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

/* System root for target files */
#undef TARGET_SYSTEM_ROOT

/* Whether the system root can be relocated */
#undef TARGET_SYSTEM_ROOT_RELOCATABLE

/* Version number of package */
#undef VERSION

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

/* Enable GNU extensions on systems that have them.  */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
