aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/dependencies/base.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
index 2abd243..9170400 100644
--- a/mesonbuild/dependencies/base.py
+++ b/mesonbuild/dependencies/base.py
@@ -21,6 +21,7 @@ import re
import json
import shlex
import shutil
+import stat
import textwrap
import platform
from typing import Any, Dict, List, Optional, Tuple, Type, Union
@@ -1859,10 +1860,11 @@ class ExternalProgram:
def _is_executable(self, path):
suffix = os.path.splitext(path)[-1].lower()[1:]
+ execmask = stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
if mesonlib.is_windows():
if suffix in self.windows_exts:
return True
- elif os.access(path, os.X_OK):
+ elif os.stat(path).st_mode & execmask:
return not os.path.isdir(path)
return False