# 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}

# 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}

# db
db_cv_align_t=${db_cv_align_t='unsigned long long'}
db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
db_cv_sprintf_count=${db_cv_sprintf_count=yes}

# rrdtool
rd_cv_ieee_works=${rd_cv_ieee_works=yes}
# ac_cv_path_PERL=${ac_cv_path_PERL=no}

# gettext
am_cv_func_working_getline=${am_cv_func_working_getline=yes}

# samba
samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}

# vim
ac_cv_sizeof_int=${ac_cv_sizeof_int=4}

# intercom
ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}

# lmbench
ac_cv_uint=${ac_cv_unit=yes}

# D-BUS
ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}

# evolution-data-server
ac_cv_libiconv_utf8=${ac_cv_libiconv_utf8=yes}

