environment, env2mfile: Don't shell split paths if they point to a valid executable
Fixes #11128
This commit is contained in:
parent
1306d15616
commit
878d950887
|
@ -747,6 +747,9 @@ class Environment:
|
|||
for (name, evar), for_machine in itertools.product(opts, MachineChoice):
|
||||
p_env = _get_env_var(for_machine, self.is_cross_build(), evar)
|
||||
if p_env is not None:
|
||||
if os.path.exists(p_env):
|
||||
self.binaries[for_machine].binaries.setdefault(name, [p_env])
|
||||
else:
|
||||
self.binaries[for_machine].binaries.setdefault(name, mesonlib.split_args(p_env))
|
||||
|
||||
def _set_default_properties_from_env(self) -> None:
|
||||
|
|
|
@ -296,6 +296,9 @@ def detect_compilers_from_envvars(envvar_suffix: str = '') -> MachineInfo:
|
|||
compilerstr = os.environ.get(envvarname + envvar_suffix)
|
||||
if not compilerstr:
|
||||
continue
|
||||
if os.path.exists(compilerstr):
|
||||
compiler = [compilerstr]
|
||||
else:
|
||||
compiler = shlex.split(compilerstr)
|
||||
infos.compilers[langname] = compiler
|
||||
lang_compile_args, lang_link_args = detect_language_args_from_envvars(langname, envvar_suffix)
|
||||
|
|
Loading…
Reference in New Issue