# 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_ino_t=${ac_cv_sizeof_ino_t=8}
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}

#orbit
libIDL_cv_long_long_format=ll

# bash
bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=present}

# ORBit2
ac_cv_alignof_CORBA_boolean=1
ac_cv_alignof_CORBA_char=1
ac_cv_alignof_CORBA_double=8
ac_cv_alignof_CORBA_float=4
ac_cv_alignof_CORBA_long=4
ac_cv_alignof_CORBA_long_double=8
ac_cv_alignof_CORBA_long_long=8
ac_cv_alignof_CORBA_octet=1
ac_cv_alignof_CORBA_pointer=8
ac_cv_alignof_CORBA_short=2
ac_cv_alignof_CORBA_struct=1
ac_cv_alignof_CORBA_wchar=2

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
