# general
ac_cv_va_val_copy=${ac_cv_va_val_copy=no}
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_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=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}
ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes}
ac_cv_linux_vers=${ac_cv_linux_vers=2}
ac_cv_need_trio=${ac_cv_need_trio=no}
ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
ac_cv_sizeof_unsigned_int=${ac_cv_sizeof_unsigned_int=4}
ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0}
ac_cv_sizeof_long=${ac_cv_sizeof_long=8}
ac_cv_sizeof_unsigned_long=${ac_cv_sizeof_unsigned_long=8}
ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16}
ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=8}
ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
ac_cv_sizeof_unsigned_short=${ac_cv_sizeof_unsigned_short=2}
ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2}
ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=8}
ac_cv_sizeof_uid_t=${ac_cv_sizeof_uid_t=4}
ac_cv_sizeof_gid_t=${ac_cv_sizeof_gid_t=4}
ac_cv_sizeof_dev_t=${ac_cv_sizeof_dev_t=8}
ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=8}
ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no}
db_cv_alignp_t=${db_cv_alignp_t='unsigned long long'}
db_cv_align_t=${db_cv_align_t='unsigned long long'}
db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
db_cv_sprintf_count=${db_cv_sprintf_count=yes}

# glib
glib_cv_hasinline=${glib_cv_hasinline=yes}
glib_cv_has__inline=${glib_cv_has__inline=yes}
glib_cv_has__inline__=${glib_cv_has__inline__=yes}
glib_cv_long_long_format=${glib_cv_long_long_format=ll}
glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=yes}
glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=40}
glib_cv_sizeof_intmax_t=${glib_cv_sizeof_intmax_t=8}
glib_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=8}
glib_cv_sizeof_size_t=${glib_cv_sizeof_size_t=8}
glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=8}
glib_cv_stack_grows=${glib_cv_stack_grows=no}
glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
glib_cv_uscore=${glib_cv_uscore=no}
glib_cv_va_val_copy=${glib_cv_va_val_copy=no}
ac_cv_alignof_guint32=4
ac_cv_alignof_guint64=8
ac_cv_alignof_unsigned_long=8

nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no}
samba_cv_HAVE_VA_COPY=${samba_cv_HAVE_VA_COPY=yes}
screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_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_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no}
screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no}
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}
utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}

# gettext
am_cv_func_working_getline=${am_cv_func_working_getline=yes}

#gcc
ac_cv_lib_m_sin=${ac_cv_lib_m_sin=yes}

# bash
bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=present}

lf_cv_sane_realloc=yes
as_cv_unaligned_access=${as_cv_unaligned_access=yes}

#unfs3
nfsd_cv_broken_setfsuid=${nfsd_cv_broken_setfsuid=0}
nfsd_cv_func_statfs=${nfsd_cv_func_statfs=statfs2_bsize}
nfsd_cv_bsd_signals=${nfsd_cv_bsd_signals=yes}

#apr
apr_cv_tcp_nodelay_with_cork=${apr_cv_tcp_nodelay_with_cork=yes}

# lftp
lftp_cv_va_val_copy=${lftp_cv_va_val_copy=no}

# slrn
slrn_cv_va_val_copy=${slrn_cv_va_val_copy=no}

# grub
ac_cv_func___ashldi3=no
ac_cv_func___ashrdi3=no
ac_cv_func___bswapdi2=no
ac_cv_func___bswapsi2=no
ac_cv_func___lshrdi3=no
ac_cv_func___trampoline_setup=no
ac_cv_func___ucmpdi2=no
ac_cv_func__restgpr_14_x=no

# cvs
cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}

# at-spi2-core
ac_cv_alignof_char=1
ac_cv_alignof_dbind_pointer=8
ac_cv_alignof_dbind_struct=1
ac_cv_alignof_dbus_bool_t=4
ac_cv_alignof_dbus_int16_t=2
ac_cv_alignof_dbus_int32_t=4
ac_cv_alignof_dbus_int64_t=8
ac_cv_alignof_double=8
