1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-26 10:49:33 +00:00
emacs/nt/mingw-cfg.site
Lars Ingebrigtsen cdbc2f9d27 Add some sleeps to gnutls_try_handshake
* admin/merge-gnulib (GNULIB_MODULES): Add the nanosleep module.
* m4/gnulib-comp.m4 (gl_EARLY):
* lib/gnulib.mk.in: Automatic update.

* m4/nanosleep.m4:
* lib/nanosleep.c: New module.

* nt/mingw-cfg.site (gl_cv_func_free_preserves_errno):
* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_nanosleep): Omit nanosleep,
since mingw has it.

* src/gnutls.c (gnutls_try_handshake): Add some sleeping to the
busy-wait loop so that we don't use 100% CPU here (bug#32452).
2022-03-04 16:27:10 +01:00

173 lines
6.2 KiB
Bash

# -*- sh -*-
# Site defaults for the MinGW configuration of GNU Emacs.
#
# This file's purpose is to short-circuit configure-time tests for
# which we want to provide the results instead of letting the
# 'configure' script do that. This is mainly for features that
# 'configure' tests that are implemented as part of Emacs sources, not
# as part of system libraries. The idea is to set shell variables
# that appear to the script as cached values.
#
# For each header file foo.h you want to supply test results, set the
# value of a shell variable ac_cv_header_foo_h. The value should be
# yes if the header is deemed to exist, no otherwise. Or it could be
# something else, if the value computed by 'configure' requires that.
# In general, since configure (when invoked from an MSYS environment)
# instructs GCC to use header files in nt/inc, you should not need to
# futz with header file tests. But there are exceptions, like with
# getopt.h below (which is a MinGW system header, but we do not want
# to use it).
#
# For each library function foo you want to supply test results, set
# the value of a shell variable ac_cv_func_foo. Again, the value is
# determined by what 'configure' expects; sometimes it could be "not
# needed" or whatever, see the examples below. In addition, you may
# need to set the various gl_cv_* variables for those tests that come
# from gnulib.
#
# In short, examine the test in 'configure' and push the knobs that
# are necessary to steer the test in the direction you need, by
# judiciously setting variables that control the test results.
# We want to use getopt.h from gnulib
ac_cv_header_getopt_h=no
# We don't want our struct timeval replaced due to Posix conformance
gl_cv_sys_struct_timeval_tv_sec=yes
# We don't want pthread.h to be picked up just because it defines timespec
gl_cv_sys_struct_timespec_in_pthread_h=no
# Or at all...
ac_cv_header_pthread_h=no
# We don't want to check for these functions
# because they are implemented in libwinpthread.
ac_cv_search_clock_gettime="none required"
ac_cv_func_clock_gettime=no
ac_cv_func_clock_settime=no
# ACL functions are implemented in w32.c
ac_cv_search_acl_get_file="none required"
ac_cv_func_acl_get_file=yes
ac_cv_func_acl_set_file=yes
ac_cv_func_acl_free=yes
ac_cv_func_acl_from_text=yes
gl_cv_func_working_acl_get_file=yes
# Autoconf's test program is not smart enough, and fails to detect gethostname
ac_cv_func_gethostname=yes
# Implemented as sys_select in w32proc.c
ac_cv_func_select=yes
ac_cv_func_pselect=yes
gl_cv_sig_pselect=yes
gl_cv_func_pselect_detects_ebadf=yes
# Implemented as sys_shutdown in w32.c
ac_cv_func_shutdown=yes
# Implemented in w32proc.c
ac_cv_func_setitimer=yes
# Implemented as sys_sendto in w32.c
ac_cv_func_sendto=yes
# Implemented as sys_recvfrom in w32.c
ac_cv_func_recvfrom=yes
# Implemented as sys_getsockname in w32.c
ac_cv_func_getsockname=yes
# Implemented as sys_getpeername in w32.c
ac_cv_func_getpeername=yes
# Implemented as sys_socket in w32.c
ac_cv_func_socket=yes
# Implemented as sys_getaddrinfo in w32.c
ac_cv_func_getaddrinfo=yes
# Implemented as an inline function in ws2tcpip.h
ac_cv_func_gai_strerror=yes
# Implemented in w32.c
ac_cv_func_readlink=yes
ac_cv_func_symlink=yes
# Avoid run-time tests of readlink and symlink, which will fail
gl_cv_func_readlink_works=yes
gl_cv_func_readlink_trailing_slash=yes
gl_cv_func_readlink_truncate=yes
gl_cv_func_symlink_works=yes
ac_cv_func_readlinkat=yes
ac_cv_func_faccessat=yes
# Avoid compiling Gnulib's canonicalize-lgpl.c, which fails
ac_cv_func_canonicalize_file_name=yes
# Implemented in w32.c
ac_cv_func_realpath=yes
gl_cv_func_realpath_works=yes
# Implemented in w32.c
ac_cv_func_fcntl=yes
gl_cv_func_fcntl_f_dupfd_cloexec=yes
gl_cv_func_fcntl_f_dupfd_works=yes
# We don't need fdopendir
ac_cv_func_fdopendir="not-needed"
gl_cv_func_fdopendir_works="no-but-not-needed-so-yes"
# Implemented in w32.c
ac_cv_func_lstat=yes
gl_cv_func_lstat_dereferences_slashed_symlink=yes
ac_cv_func_fstatat=yes
gl_cv_func_fstatat_zero_flag=yes
ac_cv_func_fchmodat=yes
gl_cv_func_fchmodat_works="not-needed-so-yes"
ac_cv_func_lchmod=yes
ac_cv_func_futimens=not-needed
gl_cv_func_futimens_works="not-needed-so-yes"
ac_cv_func_utimensat=yes
gl_cv_func_utimensat_works=yes
ac_cv_func_explicit_bzero=yes
# Aliased to _commit in ms-w32.h
ac_cv_func_fsync=yes
ac_cv_func_fdatasync=yes
# Implemented in w32proc.c
ac_cv_func_pthread_sigmask=yes
# Avoid gnulib replacement
gl_threads_api=posix
gl_cv_func_pthread_sigmask_return_works=yes
gl_cv_func_pthread_sigmask_unblock_works="not relevant"
gl_cv_func_pthread_sigmask_macro=no
# Implemented in w32proc.c
emacs_cv_langinfo_codeset=yes
emacs_cv_langinfo__nl_paper_width=yes
# Declared in ms-w32.h
ac_cv_have_decl_alarm=yes
# Avoid including the gnulib dup2 module
gl_cv_func_dup2_works=yes
# Defined in w32.c
ac_cv_func_getloadavg=yes
# Avoid compiling gnulib mktime
gl_cv_func_working_mktime=yes
# Implemented in w32.c
ac_cv_func_pipe2=yes
ac_cv_have_decl_unsetenv=yes
ac_cv_func_unsetenv=yes
gt_cv_func_unsetenv_ret='int'
gl_cv_func_unsetenv_works=yes
gl_cv_func_stat_dir_slash=yes
gl_cv_func_stat_file_slash=yes
ac_cv_func_random=yes
# Implemented in w32.c as sys_putenv
gl_cv_func_svid_putenv=yes
# Implemented in w32heap.c
ac_cv_func_sbrk=yes
ac_cv_func_getrlimit=yes
ac_cv_func_setrlimit=yes
# GCC warnings that produce too much noise
gl_cv_warn_c__Wredundant_decls=no
# We don't want to compile lib/copy-file-range.c because it isn't used
# on Windows, and because compiling it triggers a warning about a
# missing prototype, since lib/unistd.h, where Gnulib has its
# prototype, isn't built on Windows.
gl_cv_func_copy_file_range=yes
# We don't want to build Emacs so it depends on bcrypt.dll, since then
# it will refuse to start on systems where that DLL is absent.
gl_cv_lib_assume_bcrypt=no
# Force 'ac_cv_func_strsignal' to no as mingw64 libgccjit exports this
# symbol erroneously
# <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45303#83>.
ac_cv_func_strsignal=no
# Don't build the Gnulib free.c: it is not needed, since the w32
# implementation of 'free' doesn't touch errno, and it emits a
# compilation warning.
gl_cv_func_free_preserves_errno=yes
# Don't build the Gnulib nanosleep module: it requires W2K or later,
# and MinGW does have nanosleep.
gl_cv_func_nanosleep=yes