# general
ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}

# bash
ac_cv_c_long_double=${ac_cv_c_long_double=no}
bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=present}

# openssh
ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=no}
ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_have_space_d_name_in_struct_dirent=yes}

# fget
compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}

# glib
glib_cv___va_copy=${glib_cv___va_copy=yes}
glib_cv_has__inline=${glib_cv_has__inline=yes}
glib_cv_has__inline__=${glib_cv_has__inline__=yes}
glib_cv_hasinline=${glib_cv_hasinline=yes}
glib_cv_long_long_format=${glib_cv_long_long_format=ll}
glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
glib_cv_stack_grows=${glib_cv_stack_grows=no}
glib_cv_uscore=${glib_cv_uscore=no}

# glib-2.0
glib_cv_stack_grows=${glib_cv_stack_grows=no}
utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
ac_cv_alignof_guint32=4
ac_cv_alignof_guint64=8
ac_cv_alignof_unsigned_long=8

# libpcap
ac_cv_linux_vers=${ac_cv_linux_vers=2}

# startup-notification
lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}

# libidl
libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}

# ncftp
wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
wi_cv_unix_domain_sockets=${wi_cv_unix_domain_sockets=yes}

# gettext
am_cv_func_working_getline=${am_cv_func_working_getline=yes}

# samba
# from samba 3.0.14a on 5/29/2005
ac_cv_func_memcmp_working=${ac_cv_func_memcmp_working=yes}
ac_cv_have_asprintf_decl=${ac_cv_have_asprintf_decl=yes}
ac_cv_have_setresgid_decl=${ac_cv_have_setresgid_decl=yes}
ac_cv_have_setresuid_decl=${ac_cv_have_setresuid_decl=yes}
ac_cv_have_vasprintf_decl=${ac_cv_have_vasprintf_decl=yes}
fu_cv_sys_stat_statvfs64=${fu_cv_sys_stat_statvfs64=yes}
samba_cv_FTRUNCATE_NEEDS_ROOT=${samba_cv_FTRUNCATE_NEEDS_ROOT=no}
samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=${samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=no}
samba_cv_HAVE_BROKEN_GETGROUPS=${samba_cv_HAVE_BROKEN_GETGROUPS=no}
samba_cv_HAVE_BROKEN_READDIR=${samba_cv_HAVE_BROKEN_READDIR=no}
samba_cv_HAVE_C99_VSNPRINTF=${samba_cv_HAVE_C99_VSNPRINTF=yes}
samba_cv_HAVE_DEV64_T=${samba_cv_HAVE_DEV64_T=no}
samba_cv_HAVE_DEVICE_MAJOR_FN=${samba_cv_HAVE_DEVICE_MAJOR_FN=yes}
samba_cv_HAVE_DEVICE_MINOR_FN=${samba_cv_HAVE_DEVICE_MINOR_FN=yes}
samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=${samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=yes}
samba_cv_HAVE_FCNTL_LOCK=${samba_cv_HAVE_FCNTL_LOCK=yes}
samba_cv_HAVE_FTRUNCATE_EXTEND=${samba_cv_HAVE_FTRUNCATE_EXTEND=yes}
samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
samba_cv_HAVE_INO64_T=${samba_cv_HAVE_INO64_T=no}
samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=${samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes}
samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=${samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes}
samba_cv_HAVE_KERNEL_SHARE_MODES=${samba_cv_HAVE_KERNEL_SHARE_MODES=yes}
samba_cv_HAVE_MAKEDEV=${samba_cv_HAVE_MAKEDEV=yes}
samba_cv_HAVE_MMAP=${samba_cv_HAVE_MMAP=yes}
samba_cv_HAVE_OFF64_T=${samba_cv_HAVE_OFF64_T=no}
samba_cv_HAVE_QUOTACTL_4A=${samba_cv_HAVE_QUOTACTL_4A=yes}
samba_cv_HAVE_ROOT=${samba_cv_HAVE_ROOT=no}
samba_cv_HAVE_SECURE_MKSTEMP=${samba_cv_HAVE_SECURE_MKSTEMP=yes}
samba_cv_HAVE_SENDFILE64=${samba_cv_HAVE_SENDFILE64=yes}
samba_cv_HAVE_STRUCT_DIRENT64=${samba_cv_HAVE_STRUCT_DIRENT64=yes}
samba_cv_HAVE_STRUCT_FLOCK64=${samba_cv_HAVE_STRUCT_FLOCK64=yes}
samba_cv_HAVE_TRUNCATED_SALT=${samba_cv_HAVE_TRUNCATED_SALT=no}
samba_cv_HAVE_UNSIGNED_CHAR=${samba_cv_HAVE_UNSIGNED_CHAR=no}
samba_cv_HAVE_WORKING_AF_LOCAL=${samba_cv_HAVE_WORKING_AF_LOCAL=no}
samba_cv_HAVE_Werror=${samba_cv_HAVE_Werror=yes}
samba_cv_REALPATH_TAKES_NULL=${samba_cv_REALPATH_TAKES_NULL=no}
samba_cv_REPLACE_INET_NTOA=${samba_cv_REPLACE_INET_NTOA=no}
samba_cv_SIZEOF_INO_T=${samba_cv_SIZEOF_INO_T=yes}
samba_cv_SIZEOF_OFF_T=${samba_cv_SIZEOF_OFF_T=yes}
samba_cv_SYSCONF_SC_NGROUPS_MAX=${samba_cv_SYSCONF_SC_NGROUPS_MAX=yes}
samba_cv_SYSCONF_SC_NPROC_ONLN=${samba_cv_SYSCONF_SC_NPROC_ONLN=no}
samba_cv_SYSQUOTA_FOUND=${samba_cv_SYSQUOTA_FOUND=yes}
samba_cv_SYSQUOTA_WORKS=${samba_cv_SYSQUOTA_WORKS=yes}
samba_cv_USE_SETRESUID=${samba_cv_USE_SETRESUID=yes}
samba_cv_have_longlong=${samba_cv_have_longlong=yes}
samba_cv_have_setresgid=${samba_cv_have_setresgid=yes}
samba_cv_have_setresuid=${samba_cv_have_setresuid=yes}
samba_cv_sysquotas_file=${samba_cv_sysquotas_file=lib/sysquotas_4A.c}
# This cached value needs a local patch to pick it up, upstream 3.0.14a
# doesn't cache it.
samba_cv_LINUX_LFS_SUPPORT=${samba_cv_LINUX_LFS_SUPPORT=yes}
