ltmain.in: Add 'S_ISDIR' definition for MSVC

Several test failures occur from fix for sr #111191 with MSVC, which is
fixed by defining S_ISDIR with a different variable name, MSVC_ISDIR.

  error LNK2019: unresolved external symbol S_ISDIR referenced in func check_executable

* build-aux/ltmain.in: Define and use macro MSVC_ISDIR.
This commit is contained in:
Ileana Dumitrescu 2025-03-26 17:19:39 +02:00
parent df361d02a6
commit 371624cffe
No known key found for this signature in database
GPG Key ID: 6570EA01146F7354

View File

@ -3859,6 +3859,7 @@ int setenv (const char *, const char *, int);
# define getcwd _getcwd
# define putenv _putenv
# define S_IXUSR _S_IEXEC
# define MSVC_ISDIR(m)(((m) & S_IFMT) == S_IFDIR)
#elif defined __MINGW32__
# define setmode _setmode
# define stat _stat
@ -4254,8 +4255,13 @@ check_executable (const char *path)
if ((!path) || (!*path))
return 0;
#ifdef _MSC_VER
if ((stat (path, &st) >= 0) && !MSVC_ISDIR (st.st_mode)
&& (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
#else
if ((stat (path, &st) >= 0) && !S_ISDIR (st.st_mode)
&& (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
#endif
return 1;
else
return 0;