# general
ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
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_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
bash_cv_sys_siglist=${bash_cv_sys_siglist=yes}
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}
