# general
ac_cv_func_calloc_0_nonnull=${ac_cv_func_calloc_0_nonnull=yes}
ac_cv_func_realloc_works=${ac_cv_func_realloc_works=yes}
ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
ac_cv_func_malloc_works=${ac_cv_func_malloc_works=yes}
ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
ac_cv_func_memcmp_working=${ac_cv_func_memcmp_working=yes}
ac_cv_func_getpgrp_void=yes
ac_cv_func_setpgrp_void=yes
ac_cv_func_setgrent_void=yes
ac_cv_func_getgrgid_r=${ac_cv_func_getgrgid_r=yes}
ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
ac_cv_func_posix_getgrgid_r=${ac_cv_func_posix_getgrgid_r=yes}
ac_cv_type_uid_t={ac_cv_type_uid_t=yes}
ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
ac_cv_func_strtod=${ac_cv_func_strtod=yes}

# bash
bash_cv_getcwd_malloc=${bash_cv_getcwd_malloc=yes}

# clamav
clamav_av_func_working_snprintf_long=${clamav_av_func_working_snprintf_long=yes}
clamav_av_have_in_port_t=${clamav_av_have_in_port_t=yes}
clamav_av_have_in_addr_t=${clamav_av_have_in_addr_t=yes}
ac_cv_func_mmap_fixed_mapped=${ac_cv_func_mmap_fixed_mapped=yes}

# coreutils
fu_cv_sys_stat_statfs2_bsize=${fu_cv_sys_stat_statfs2_bsize=yes}
gl_cv_func_getcwd_abort_bug=${gl_cv_func_getcwd_abort_bug=no}
gl_cv_func_getcwd_null=${gl_cv_func_getcwd_null=yes}
gl_cv_func_getcwd_path_max=${gl_cv_func_getcwd_path_max=yes}
ac_cv_func_getgroups_works=${ac_cv_func_getgroups_works=yes}
gl_cv_func_nanosleep=${gl_cv_func_nanosleep='no (mishandles large arguments)'}
gl_cv_func_working_mkstemp=${gl_cv_func_working_mkstemp=yes}
gl_cv_func_working_mktime=${gl_cv_func_working_mktime=yes}
gl_cv_func_working_utimes=${gl_cv_func_working_utimes=yes}

# glib
glib_cv_strlcpy=${glib_cv_strlcpy=no}
ac_cv_func_printf_unix98=${ac_cv_func_printf_unix98=yes}
ac_cv_func_snprintf_c99=${ac_cv_func_snprintf_c99=yes}
ac_cv_func_vsnprintf_c99=${ac_cv_func_vsnprintf_c99=yes}
glib_cv_compliant_posix_memalign=${glib_cv_compliant_posix_memalign=1}
glib_cv_long_long_format=${glib_cv_long_long_format=ll}
# glib-1.x requires this and pkgconfig-native / pkgconfig-nativesdk use
# that to avoid a dependency loop.
glib_cv___va_copy=${glib_cv___va_copy=yes}
glib_cv_va_copy=${glib_cv_va_copy=yes}
glib_cv_have_qsort_r=${glib_cv_have_qsort_r=yes}

#dbus-glib
ac_cv_have_abstract_sockets=${ac_cv_have_abstract_sockets=yes}

# gnucash
am_cv_scanf_lld=${am_cv_scanf_lld=yes}

# guile
ac_cv_func_pthread_attr_getstack=${ac_cv_func_pthread_attr_getstack=yes}

#gcc-zlib
ac_cv_func_getpagesize=${ac_cv_func_getpagesize=yes}
ac_cv_func_memcpy=${ac_cv_func_memcpy=yes}
ac_cv_func_strerror=${ac_cv_func_strerror=yes}

# squid
ac_cv_af_unix_large_dgram=${ac_cv_af_unix_large_dgram=yes}
ac_cv_func_setresuid=${ac_cv_func_setresuid=yes}
ac_cv_func_va_copy=${ac_cv_func_va_copy=yes}
ac_cv_func___va_copy=${ac_cv_func___va_copy=yes}
ac_cv_epoll_works=${ac_cv_epoll_works=yes}

ac_cv_check_sjlj=ssjlj

# m4
gt_cv_locale_fr=${gt_cv_locale_fr=fr_FR}
gl_cv_func_btowc_eof=${gl_cv_func_btowc_eof=yes}
gl_cv_func_wcrtomb_retval=${gl_cv_func_wcrtomb_retval=yes}
gl_cv_func_wctob_works=${gl_cv_func_wctob_works=yes}
gl_cv_func_mbrtowc_incomplete_state=${gl_cv_func_mbrtowc_incomplete_state=yes}
gl_cv_func_mbrtowc_sanitycheck=${gl_cv_func_mbrtowc_sanitycheck=yes}
gl_cv_func_mbrtowc_null_arg=${gl_cv_func_mbrtowc_null_arg=yes}
gl_cv_func_mbrtowc_retval=${gl_cv_func_mbrtowc_retval=yes}
gl_cv_func_mbrtowc_nul_retval=${gl_cv_func_mbrtowc_nul_retval=yes}

# va_copy and _va_copy
ac_cv_va_copy=${ac_cv_va_copy=yes}
ac_cv___va_copy=${ac_cv___va_copy=yes}
ac_cv_func_va_copy=${ac_cv_func_va_copy=yes}
ac_cv_func___va_copy=${ac_cv_func___va_copy=yes}

# Xorg
xorg_cv_malloc0_returns_null=${xorg_cv_malloc0_returns_null=yes}
