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

/* Directory with aload* device files */
#undef ALOAD_DEVICE_DIRECTORY

/* directory containing ALSA configuration database */
#undef ALSA_CONFIG_DIR

/* Enable assert at error message handler */
#undef ALSA_DEBUG_ASSERT

/* Directory with ALSA device files */
#undef ALSA_DEVICE_DIRECTORY

/* directory containing pkgconfig files */
#undef ALSA_PKGCONF_DIR

/* directory containing ALSA add-on modules */
#undef ALSA_PLUGIN_DIR

/* Build hwdep component */
#undef BUILD_HWDEP

/* Build mixer component */
#undef BUILD_MIXER

/* Build PCM component */
#undef BUILD_PCM

/* Build PCM adpcm plugin */
#undef BUILD_PCM_PLUGIN_ADPCM

/* Build PCM alaw plugin */
#undef BUILD_PCM_PLUGIN_ALAW

/* Build PCM lfloat plugin */
#undef BUILD_PCM_PLUGIN_LFLOAT

/* Build PCM mmap-emul plugin */
#undef BUILD_PCM_PLUGIN_MMAP_EMUL

/* Build PCM mulaw plugin */
#undef BUILD_PCM_PLUGIN_MULAW

/* Build PCM rate plugin */
#undef BUILD_PCM_PLUGIN_RATE

/* Build PCM route plugin */
#undef BUILD_PCM_PLUGIN_ROUTE

/* Build raw MIDI component */
#undef BUILD_RAWMIDI

/* Build sequencer component */
#undef BUILD_SEQ

/* Build UCM component */
#undef BUILD_UCM

/* Have clock gettime */
#undef HAVE_CLOCK_GETTIME

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

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

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

/* Have libdl */
#undef HAVE_LIBDL

/* Have libpthread */
#undef HAVE_LIBPTHREAD

/* Define to 1 if you have the `resmgr' library (-lresmgr). */
#undef HAVE_LIBRESMGR

/* Have librt */
#undef HAVE_LIBRT

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

/* Avoid calculation in float */
#undef HAVE_SOFT_FLOAT

/* 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/endian.h> header file. */
#undef HAVE_SYS_ENDIAN_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 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H

/* Define to 1 if you have the `uselocale' function. */
#undef HAVE_USELOCALE

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

/* Define to 1 if compiler supports __thread */
#undef HAVE___THREAD

/* Define to the sub-directory in which libtool stores uninstalled libraries.
   */
#undef LT_OBJDIR

/* No assert debug */
#undef NDEBUG

/* 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 home page for this package. */
#undef PACKAGE_URL

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

/* Max number of cards */
#undef SND_MAX_CARDS

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

/* Support /dev/aload* access for auto-loading */
#undef SUPPORT_ALOAD

/* Support resmgr with alsa-lib */
#undef SUPPORT_RESMGR

/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME

/* directory to put tmp socket files */
#undef TMPDIR

/* sound library version string */
#undef VERSION

/* compiled with versioned symbols */
#undef VERSIONED_SYMBOLS

/* Toolchain Symbol Prefix */
#undef __SYMBOL_PREFIX

/* Define to empty if `const' does not conform to ANSI C. */
#undef const

/* Define to `__inline__' or `__inline' if that's what the C compiler
   calls it, or to nothing if 'inline' is not supported under any name.  */
#ifndef __cplusplus
#undef inline
#endif
