0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.2.1570: configure check for dirfd() does not work on HPUX

Problem:    Configure check for dirfd() does not work on HPUX. (Michael Osipov)
Solution:   Use AC_TRY_LINK instead of AC_TRY_COMPILE. (closes #6838)
This commit is contained in:
Bram Moolenaar
2020-09-02 21:21:35 +02:00
parent a5d3841177
commit 9d8bfae50f
5 changed files with 17 additions and 7 deletions

10
src/auto/configure vendored
View File

@@ -13771,7 +13771,7 @@ DIR * dir=opendir("dirname"); dirfd(dir);
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }; $as_echo "#define HAVE_DIRFD 1" >>confdefs.h
@@ -13779,7 +13779,8 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not usable" >&5
$as_echo "not usable" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for flock" >&5
$as_echo_n "checking for flock... " >&6; }
@@ -13794,7 +13795,7 @@ flock(10, LOCK_SH);
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }; $as_echo "#define HAVE_FLOCK 1" >>confdefs.h
@@ -13802,7 +13803,8 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not usable" >&5
$as_echo "not usable" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysctl" >&5
$as_echo_n "checking for sysctl... " >&6; }

View File

@@ -4013,7 +4013,7 @@ AC_TRY_LINK([#include <stdio.h>], [rename("this", "that")],
dnl check for dirfd()
AC_MSG_CHECKING(for dirfd)
AC_TRY_COMPILE(
AC_TRY_LINK(
[#include <sys/types.h>
#include <dirent.h>],
[DIR * dir=opendir("dirname"); dirfd(dir);],
@@ -4021,7 +4021,7 @@ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_DIRFD), AC_MSG_RESULT(not usable))
dnl check for flock()
AC_MSG_CHECKING(for flock)
AC_TRY_COMPILE(
AC_TRY_LINK(
[#include <sys/file.h>],
[flock(10, LOCK_SH);],
AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FLOCK), AC_MSG_RESULT(not usable))

View File

@@ -24,6 +24,11 @@
// Is there any system that doesn't have access()?
#define USE_MCH_ACCESS
#if defined(__hpux) && !defined(HAVE_DIRFD)
# define dirfd(x) ((x)->__dd_fd)
# define HAVE_DIRFD
#endif
static char_u *next_fenc(char_u **pp, int *alloced);
#ifdef FEAT_EVAL
static char_u *readfile_charconvert(char_u *fname, char_u *fenc, int *fdp);

View File

@@ -773,7 +773,8 @@ EXTERN int ru_wid; // 'rulerfmt' width of ruler when non-zero
EXTERN int sc_col; // column for shown command
#ifdef TEMPDIRNAMES
# if defined(UNIX) && defined(HAVE_FLOCK) && defined(HAVE_DIRFD)
# if defined(UNIX) && defined(HAVE_FLOCK) \
&& (defined(HAVE_DIRFD) || defined(__hpux))
EXTERN DIR *vim_tempdir_dp INIT(= NULL); // File descriptor of temp dir
# endif
EXTERN char_u *vim_tempdir INIT(= NULL); // Name of Vim's own temp dir.

View File

@@ -754,6 +754,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1570,
/**/
1569,
/**/