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

/* Define if building universal (internal helper macro) */
#mesondefine AC_APPLE_UNIVERSAL_BUILD

/* The implementation that should be used for integer audio resampling witll
   be benchmarked at runtime */
#mesondefine AUDIORESAMPLE_FORMAT_AUTO

/* The float implementation should be used for integer audio resampling */
#mesondefine AUDIORESAMPLE_FORMAT_FLOAT

/* The int implementation should be used for integer audio resampling */
#mesondefine AUDIORESAMPLE_FORMAT_INT

/* defined if cdda headers are in a cdda/ directory */
#mesondefine CDPARANOIA_HEADERS_IN_DIR

/* Default audio sink */
#mesondefine DEFAULT_AUDIOSINK

/* Default audio source */
#mesondefine DEFAULT_AUDIOSRC

/* Default video sink */
#mesondefine DEFAULT_VIDEOSINK

/* Default video source */
#mesondefine DEFAULT_VIDEOSRC

/* Default visualizer */
#mesondefine DEFAULT_VISUALIZER

/* Disable Orc */
#mesondefine DISABLE_ORC

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

/* gettext package name */
#mesondefine GETTEXT_PACKAGE

/* The GIO library directory. */
#mesondefine GIO_LIBDIR

/* The GIO modules directory. */
#mesondefine GIO_MODULE_DIR

/* The GIO install prefix. */
#mesondefine GIO_PREFIX

/* major/minor version */
#mesondefine GST_API_VERSION

/* system wide data directory */
#mesondefine GST_DATADIR

/* Extra platform specific plugin suffix */
#mesondefine GST_EXTRA_MODULE_SUFFIX

/* macro to use to show function name */
#mesondefine GST_FUNCTION

/* Defined if gcov is enabled to force a rebuild due to config.h changing */
#mesondefine GST_GCOV_ENABLED

/* Defined when registry scanning through fork is unsafe */
#mesondefine GST_HAVE_UNSAFE_FORK

/* plugin install helper script */
#mesondefine GST_INSTALL_PLUGINS_HELPER

/* Default errorlevel to use */
#mesondefine GST_LEVEL_DEFAULT

/* GStreamer license */
#mesondefine GST_LICENSE

/* package name in plugins */
#mesondefine GST_PACKAGE_NAME

/* package origin */
#mesondefine GST_PACKAGE_ORIGIN

/* GStreamer package release date/time for plugins as YYYY-MM-DD */
#mesondefine GST_PACKAGE_RELEASE_DATETIME

/* Define if static plugins should be built */
#mesondefine GST_PLUGIN_BUILD_STATIC

/* Define to enable ALSA (used by alsa). */
#mesondefine HAVE_ALSA

/* ARM NEON support is enabled */
#mesondefine HAVE_ARM_NEON

/* Define to enable CDParanoia (used by cdparanoia). */
#mesondefine HAVE_CDPARANOIA

/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
   CoreFoundation framework. */
#mesondefine HAVE_CFLOCALECOPYCURRENT

/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
   the CoreFoundation framework. */
#mesondefine HAVE_CFPREFERENCESCOPYAPPVALUE

/* Define if the target CPU is AARCH64 */
#mesondefine HAVE_CPU_AARCH64

/* Define if the target CPU is an Alpha */
#mesondefine HAVE_CPU_ALPHA

/* Define if the target CPU is an ARC */
#mesondefine HAVE_CPU_ARC

/* Define if the target CPU is an ARM */
#mesondefine HAVE_CPU_ARM

/* Define if the target CPU is a CRIS */
#mesondefine HAVE_CPU_CRIS

/* Define if the target CPU is a CRISv32 */
#mesondefine HAVE_CPU_CRISV32

/* Define if the target CPU is a HPPA */
#mesondefine HAVE_CPU_HPPA

/* Define if the target CPU is an x86 */
#mesondefine HAVE_CPU_I386

/* Define if the target CPU is a IA64 */
#mesondefine HAVE_CPU_IA64

/* Define if the target CPU is a M68K */
#mesondefine HAVE_CPU_M68K

/* Define if the target CPU is a MIPS */
#mesondefine HAVE_CPU_MIPS

/* Define if the target CPU is a PowerPC */
#mesondefine HAVE_CPU_PPC

/* Define if the target CPU is a 64 bit PowerPC */
#mesondefine HAVE_CPU_PPC64

/* Define if the target CPU is a S390 */
#mesondefine HAVE_CPU_S390

/* Define if the target CPU is a SPARC */
#mesondefine HAVE_CPU_SPARC

/* Define if the target CPU is a x86_64 */
#mesondefine HAVE_CPU_X86_64

/* Define if the GNU dcgettext() function is already present or preinstalled.
   */
#mesondefine HAVE_DCGETTEXT

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

/* Define to 1 if you have the <emmintrin.h> header file. */
#mesondefine HAVE_EMMINTRIN_H

/* Define to enable building of experimental plug-ins. */
#mesondefine HAVE_EXPERIMENTAL

/* Define to enable building of plug-ins with external deps. */
#mesondefine HAVE_EXTERNAL

/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#mesondefine HAVE_FSEEKO

/* defined if the compiler implements __func__ */
#mesondefine HAVE_FUNC

/* defined if the compiler implements __FUNCTION__ */
#mesondefine HAVE_FUNCTION

/* Define if the GNU gettext() function is already present or preinstalled. */
#mesondefine HAVE_GETTEXT

/* Define to enable glib GIO unix (used by gio-unix-2.0). */
#mesondefine HAVE_GIO_UNIX_2_0

/* Define to 1 if you have the `gmtime_r' function. */
#mesondefine HAVE_GMTIME_R

/* Define if you have the iconv() function and it works. */
#mesondefine HAVE_ICONV

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

/* make use of iso-codes for ISO-639 */
#mesondefine HAVE_ISO_CODES

/* Define to enable integer vorbis plug-in (used by ivorbisdec). */
#mesondefine HAVE_IVORBIS

/* Define to 1 if you have the `asound' library (-lasound). */
#mesondefine HAVE_LIBASOUND

/* Define to enable libvisual visualization library (used by libvisual). */
#mesondefine HAVE_LIBVISUAL

/* Define to 1 if you have the `localtime_r' function. */
#mesondefine HAVE_LOCALTIME_R

/* Define to 1 if you have the `log2' function. */
#mesondefine HAVE_LOG2

/* Define if you have C99's lrint function. */
#mesondefine HAVE_LRINT

/* Define if you have C99's lrintf function. */
#mesondefine HAVE_LRINTF

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

/* Defined if mmap is supported */
#mesondefine HAVE_MMAP

/* Define to enable Xiph Ogg library (used by ogg). */
#mesondefine HAVE_OGG

/* Use Orc */
#mesondefine HAVE_ORC

/* Defined if compiling for OSX */
#mesondefine HAVE_OSX

/* Define to enable Pango font rendering (used by pango). */
#mesondefine HAVE_PANGO

/* defined if the compiler implements __PRETTY_FUNCTION__ */
#mesondefine HAVE_PRETTY_FUNCTION

/* Define to 1 if you have the <process.h> header file. */
#mesondefine HAVE_PROCESS_H

/* Define if RDTSC is available */
#mesondefine HAVE_RDTSC

/* Define to 1 if you have the <smmintrin.h> header file. */
#mesondefine HAVE_SMMINTRIN_H

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

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

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

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

/* Define to 1 if you have the <sys/socket.h> header file. */
#mesondefine HAVE_SYS_SOCKET_H

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

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

/* Define to 1 if you have the <sys/wait.h> header file. */
#mesondefine HAVE_SYS_WAIT_H

/* Define to enable Xiph Theora video codec (used by theora). */
#mesondefine HAVE_THEORA

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

/* Define if valgrind should be used */
#mesondefine HAVE_VALGRIND

/* Define to enable Xiph Vorbis audio codec (used by vorbis). */
#mesondefine HAVE_VORBIS

/* defined if vorbis_synthesis_restart is present */
#mesondefine HAVE_VORBIS_SYNTHESIS_RESTART

/* Defined if compiling for Windows */
#mesondefine HAVE_WIN32

/* Define to 1 if you have the <winsock2.h> header file. */
#mesondefine HAVE_WINSOCK2_H

/* Define to enable X libraries and plugins (used by ximagesink). */
#mesondefine HAVE_X

/* Define to 1 if you have the <xmmintrin.h> header file. */
#mesondefine HAVE_XMMINTRIN_H

/* Define to enable X Shared Memory extension. */
#mesondefine HAVE_XSHM

/* Define to enable X11 XVideo extensions (used by xvimagesink). */
#mesondefine HAVE_XVIDEO

/* Define to enable zlib support for ID3 parsing in libgsttag. */
#mesondefine HAVE_ZLIB

/* the host CPU */
#mesondefine HOST_CPU

/* prefix */
#mesondefine ISO_CODES_PREFIX

/* */
#mesondefine ISO_CODES_VERSION

/* directory in which the detected libvisual's plugins are located */
#mesondefine LIBVISUAL_PLUGINSBASEDIR

/* gettext locale dir */
#mesondefine LOCALEDIR

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

/* Name of package */
#mesondefine PACKAGE

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

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

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

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

/* Define to the home page for this package. */
#mesondefine PACKAGE_URL

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

/* directory where plugins are located */
#mesondefine PLUGINDIR

/* The size of `char', as computed by sizeof. */
#mesondefine SIZEOF_CHAR

/* The size of `int', as computed by sizeof. */
#mesondefine SIZEOF_INT

/* The size of `long', as computed by sizeof. */
#mesondefine SIZEOF_LONG

/* The size of `short', as computed by sizeof. */
#mesondefine SIZEOF_SHORT

/* The size of `void*', as computed by sizeof. */
#mesondefine SIZEOF_VOIDP

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

/* the target CPU */
#mesondefine TARGET_CPU

/* "Define if building for android" */
#mesondefine USE_TREMOLO

/* Version number of package */
#mesondefine VERSION

/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
   significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
#  define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
#  undef WORDS_BIGENDIAN
# endif
#endif

/* Enable large inode numbers on Mac OS X 10.5.  */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif

/* Number of bits in a file offset, on hosts where this is settable. */
#mesondefine _FILE_OFFSET_BITS

/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
#mesondefine _LARGEFILE_SOURCE

/* Define for large files, on AIX-style hosts. */
#mesondefine _LARGE_FILES

/* We need at least WinXP SP2 for __stat64 */
#mesondefine __MSVCRT_VERSION__
