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

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

/* poll doesn't work on devices */
#mesondefine BROKEN_POLL

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

/* Subunit protocol result output */
#mesondefine ENABLE_SUBUNIT

/* gettext package name */
#mesondefine GETTEXT_PACKAGE

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

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

/* GStreamer API Version */
#mesondefine GST_API_VERSION

/* data dir */
#mesondefine GST_DATADIR

/* Define if option parsing is disabled */
#mesondefine GST_DISABLE_OPTION_PARSING

/* Define if pipeline parsing code is disabled */
#mesondefine GST_DISABLE_PARSE

/* 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

/* 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

/* location of the installed gst-plugin-scanner */
#mesondefine GST_PLUGIN_SCANNER_INSTALLED

#mesondefine GST_PTP_HELPER_INSTALLED

/* 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 to 1 if you have the `clock_gettime' function. */
#mesondefine HAVE_CLOCK_GETTIME

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

/* 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

/* Defined if we have dladdr () */
#mesondefine HAVE_DLADDR

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

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

/* Define to 1 if you have the `ftello' function. */
#mesondefine HAVE_FTELLO

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

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

/* Define to 1 if you have the `getpagesize' function. */
#mesondefine HAVE_GETPAGESIZE

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

/* Have GMP library */
#mesondefine HAVE_GMP

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

/* Have GSL library */
#mesondefine HAVE_GSL

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

/* Define to 1 if the system has the type `intmax_t'. */
#mesondefine HAVE_INTMAX_T

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

/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and
   declares uintmax_t. */
#mesondefine HAVE_INTTYPES_H_WITH_UINTMAX

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

/* Define to 1 if the system has the type long long */
#mesondefine HAVE_LONG_LONG

/* Define to 1 if the system has the type `long long int'. */
#mesondefine HAVE_LONG_LONG_INT

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

/* Define to 1 if you have a working `mmap' system call. */
#mesondefine HAVE_MMAP

/* Have a monotonic clock */
#mesondefine HAVE_MONOTONIC_CLOCK

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

/* Define to 1 if you have the `poll' function. */
#mesondefine HAVE_POLL

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

/* Have posix timers */
#mesondefine HAVE_POSIX_TIMERS

/* Define to 1 if you have the `ppoll' function. */
#mesondefine HAVE_PPOLL

/* 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 to 1 if you have the `pselect' function. */
#mesondefine HAVE_PSELECT

/* Define if you have POSIX threads libraries and header files. */
#mesondefine HAVE_PTHREAD

/* Have PTHREAD_PRIO_INHERIT. */
#mesondefine HAVE_PTHREAD_PRIO_INHERIT

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

/* Define to 1 if you have the `sigaction' function. */
#mesondefine HAVE_SIGACTION

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

/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares
   uintmax_t. */
#mesondefine HAVE_STDINT_H_WITH_UINTMAX

/* Define to 1 if you have the <stdio_ext.h> header file. */
#mesondefine HAVE_STDIO_EXT_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/param.h> header file. */
#mesondefine HAVE_SYS_PARAM_H

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

/* Define to 1 if you have the <sys/prctl.h> header file. */
#mesondefine HAVE_SYS_PRCTL_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/times.h> header file. */
#mesondefine HAVE_SYS_TIMES_H

/* Define to 1 if you have the <sys/time.h> header file. */
#mesondefine HAVE_SYS_TIME_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/utsname.h> header file. */
#mesondefine HAVE_SYS_UTSNAME_H

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

/* Have tm_gmtoff field in struct tm */
#mesondefine HAVE_TM_GMTOFF

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

/* Have __uint128_t type */
#mesondefine HAVE_UINT128_T

/* defined if unaligned memory access works correctly */
#mesondefine HAVE_UNALIGNED_ACCESS

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

/* Define to 1 if the system has the type `unsigned long long int'. */
#mesondefine HAVE_UNSIGNED_LONG_LONG_INT

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

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

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

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

/* the host CPU */
#mesondefine HOST_CPU

/* library dir */
#mesondefine LIBDIR

/* gettext locale dir */
#mesondefine LOCALEDIR

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

/* Memory alignment to use */
#mesondefine MEMORY_ALIGNMENT

/* Memory alignment by malloc default */
#mesondefine MEMORY_ALIGNMENT_MALLOC

/* Memory alignment by pagesize */
#mesondefine MEMORY_ALIGNMENT_PAGESIZE

/* 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

/* Define to necessary symbol if this constant uses a non-standard name on
   your system. */
#mesondefine PTHREAD_CREATE_JOINABLE

/* 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 we should poison deallocated memory */
#mesondefine USE_POISONING

/* 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__

/* Define to the widest signed integer type if <stdint.h> and <inttypes.h> do
   not define. */
#mesondefine intmax_t

/* Define to `unsigned int' if <sys/types.h> does not define. */
#mesondefine size_t

#mesondefine HAVE_GETPID
#mesondefine HAVE__GETPID
#mesondefine HAVE_DECL_STRDUP
#mesondefine HAVE__STRDUP
#mesondefine HAVE_MKSTEMP
#mesondefine HAVE_FORK
#mesondefine HAVE_ALARM
#mesondefine HAVE_DECL_LOCALTIME_R
#mesondefine HAVE_DECL_STRSIGNAL
#mesondefine HAVE_GETRUSAGE
#mesondefine HAVE_SYS_RESOURCE_H
#mesondefine HAVE_UNWIND
#mesondefine HAVE_DW
#mesondefine HAVE_BACKTRACE
#mesondefine HAVE_GETTIMEOFDAY
#mesondefine HAVE_GETLINE
#mesondefine STRUCT_TIMESPEC_DEFINITION_MISSING
#mesondefine STRUCT_ITIMERSPEC_DEFINITION_MISSING
#mesondefine clockid_t
#mesondefine timer_t
