From: Bram Moolenaar Date: Wed, 2 Sep 2020 19:21:35 +0000 (+0200) Subject: patch 8.2.1570: configure check for dirfd() does not work on HPUX X-Git-Tag: v8.2.1570 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9d8bfae50fdaf5f5ec6307c60ebd1fad0927c6be;p=vim 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) --- diff --git a/src/auto/configure b/src/auto/configure index c85dec9da..e66162fd6 100755 --- a/src/auto/configure +++ b/src/auto/configure @@ -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; } diff --git a/src/configure.ac b/src/configure.ac index a2683a6b1..6176dc9ca 100644 --- a/src/configure.ac +++ b/src/configure.ac @@ -4013,7 +4013,7 @@ AC_TRY_LINK([#include ], [rename("this", "that")], dnl check for dirfd() AC_MSG_CHECKING(for dirfd) -AC_TRY_COMPILE( +AC_TRY_LINK( [#include #include ], [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 ], [flock(10, LOCK_SH);], AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FLOCK), AC_MSG_RESULT(not usable)) diff --git a/src/fileio.c b/src/fileio.c index 361109313..aa6596df6 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -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); diff --git a/src/globals.h b/src/globals.h index 1a764b509..7dbc49e3e 100644 --- a/src/globals.h +++ b/src/globals.h @@ -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. diff --git a/src/version.c b/src/version.c index 6d97899c0..6b4c1cd27 100644 --- a/src/version.c +++ b/src/version.c @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1570, /**/ 1569, /**/