]> granicus.if.org Git - vim/commitdiff
patch 8.2.1570: configure check for dirfd() does not work on HPUX v8.2.1570
authorBram Moolenaar <Bram@vim.org>
Wed, 2 Sep 2020 19:21:35 +0000 (21:21 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 2 Sep 2020 19:21:35 +0000 (21:21 +0200)
Problem:    Configure check for dirfd() does not work on HPUX. (Michael Osipov)
Solution:   Use AC_TRY_LINK instead of AC_TRY_COMPILE. (closes #6838)

src/auto/configure
src/configure.ac
src/fileio.c
src/globals.h
src/version.c

index c85dec9dacc14feeb2a7e42a12ef247b7e7719cc..e66162fd63f04766f9c1439e578e2264b1cf6780 100755 (executable)
@@ -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; }
index a2683a6b1070ddd58ace8fa80f9af8fe0cf29683..6176dc9ca5f008c3ece29a9db9d7f408a4e85d74 100644 (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))
index 361109313b2a7075837c82c6a277a45064f34eb9..aa6596df64429744bb05a538efa0dddc75790de0 100644 (file)
 // 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);
index 1a764b50919f070490015f5b2acdd91981f7ca34..7dbc49e3ecbd6f2b893a6bf45322a7693b838a35 100644 (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.
index 6d97899c011864c4ea7be69671d9b215c202a50f..6b4c1cd2733136b71868ad74498c58257a696027 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1570,
 /**/
     1569,
 /**/