# general
ac_cv_va_val_copy=${ac_cv_va_val_copy=yes}
ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no}

# bash
ac_cv_c_long_double=${ac_cv_c_long_double=yes}
bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=missing}

# coreutils
utils_cv_sys_open_max=${utils_cv_sys_open_max=1019}

# cvs
cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}

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

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

# edb
db_cv_spinlocks=${db_cv_spinlocks=no}

# ettercap
ettercap_cv_type_socklen_t=${ettercap_cv_type_socklen_t=yes}

# fget
compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
compat_cv_func_basename_works=${compat_cv_func_basename_works=no}
compat_cv_func_dirname_works=${compat_cv_func_dirname_works=no}

# fnmatch
ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}

# gettext
am_cv_func_working_getline=${am_cv_func_working_getline=yes}

# glib
glib_cv_stack_grows=${glib_cv_stack_grows=no}
glib_cv_uscore=${glib_cv_uscore=no}
glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=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_sane_realloc=${glib_cv_sane_realloc=yes}
glib_cv_uscore=${glib_cv_uscore=no}
glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}

# glib-2.0
glib_cv_long_long_format=${glib_cv_long_long_format=ll}
glib_cv_sys_use_pid_niceness_surrogate=${glib_cv_sys_use_pid_niceness_surrogate=yes}

#gstreamer
as_cv_unaligned_access=${as_cv_unaligned_access=no}

# httppc
ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no}

# lftp
ac_cv_need_trio=${ac_cv_need_trio=no}
lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes}

# libesmtp
acx_working_snprintf=${acx_working_snprintf=yes}

# libidl
libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}

# libnet 
ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes}

# libpcap
ac_cv_linux_vers=${ac_cv_linux_vers=2}

# libxfce4util
with_broken_putenv=${with_broken_putenv=no}

# links
ac_cv_lib_png_png_create_info_struct=${ac_cv_lib_png_png_create_info_struct=yes}

# mysql
mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=no}
mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=no}

# nano
ac_cv_regexec_segfault_emptystr=${ac_cv_regexec_segfault_emptystr=no}
nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no}

# php
ac_cv_pread=${ac_cv_pread=no}
ac_cv_pwrite=${ac_cv_pwrite=no}
php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes}

# rsync
rsync_cv_HAVE_BROKEN_LARGEFILE=${rsync_cv_HAVE_BROKEN_LARGEFILE=no}
rsync_cv_HAVE_SOCKETPAIR=${rsync_cv_HAVE_SOCKETPAIR=yes}
rsync_cv_HAVE_LONGLONG=${rsync_cv_HAVE_LONGLONG=yes}
rsync_cv_HAVE_OFF64_T=${rsync_cv_HAVE_OFF64_T=no}
rsync_cv_HAVE_SHORT_INO_T=${rsync_cv_HAVE_SHORT_INO_T=no}
rsync_cv_HAVE_UNSIGNED_CHAR=${rsync_cv_HAVE_UNSIGNED_CHAR=no}
rsync_cv_HAVE_BROKEN_READDIR=${rsync_cv_HAVE_BROKEN_READDIR=no}
rsync_cv_HAVE_GETTIMEOFDAY_TZ=${rsync_cv_HAVE_GETTIMEOFDAY_TZ=yes}
rsync_cv_HAVE_SECURE_MKSTEMP=${rsync_cv_HAVE_SECURE_MKSTEMP=yes}
rsync_cv_REPLACE_INET_NTOA=${rsync_cv_REPLACE_INET_NTOA=no}
rsync_cv_REPLACE_INET_ATON=${rsync_cv_REPLACE_INET_ATON=no}

# screen
screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no}
screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no}
screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no}
screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes}
screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes}
screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no}
screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}

# slrn
slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}

# socat
ac_cv_ispeed_offset=${ac_cv_ispeed_offset=13}
sc_cv_termios_ispeed=${sc_cv_termios_ispeed=yes}

# ssh
ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes}
ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=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=yes}

# startup-notification
lf_cv_sane_realloc=yes

# xffm
jm_cv_func_working_readdir=yes

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

