mach: Fail properly if we can't find the path for OSMesa or GLAPI.

Currently we check `if not (osmesa_path and glapi_path)` after using
`path.join`. It seems we actually want to check whether
`find_dep_path_newest` returns something, because if calls to that
function fail, we'll instead get an error from `path.join` about
`NoneType` not having attribute `endswith` (it expects a string), which
preempts this check.
This commit is contained in:
Jonathan Chan 2017-06-22 14:43:12 -07:00
parent b9d66df2f5
commit 260c41aeea

View file

@ -189,12 +189,13 @@ def set_osmesa_env(bin_path, env):
env["LD_LIBRARY_PATH"] = osmesa_path
env["GALLIUM_DRIVER"] = "softpipe"
elif is_macosx():
osmesa_path = path.join(find_dep_path_newest('osmesa-src', bin_path),
"out", "src", "gallium", "targets", "osmesa", ".libs")
glapi_path = path.join(find_dep_path_newest('osmesa-src', bin_path),
"out", "src", "mapi", "shared-glapi", ".libs")
if not (osmesa_path and glapi_path):
osmesa_dep_path = find_dep_path_newest('osmesa-src', bin_path)
if not osmesa_dep_path:
return None
osmesa_path = path.join(osmesa_dep_path,
"out", "src", "gallium", "targets", "osmesa", ".libs")
glapi_path = path.join(osmesa_dep_path,
"out", "src", "mapi", "shared-glapi", ".libs")
env["DYLD_LIBRARY_PATH"] = osmesa_path + ":" + glapi_path
env["GALLIUM_DRIVER"] = "softpipe"
return env