gst-env: Factor out some common code

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/180>
This commit is contained in:
Nirbheek Chauhan 2020-07-23 16:29:53 +05:30 committed by GStreamer Merge Bot
parent beeec59a01
commit ef4059d4ad

View file

@ -72,6 +72,17 @@ def prepend_env_var(env, var, value, sysroot):
env[var] = val + env_val env[var] = val + env_val
env[var] = env[var].replace(os.pathsep + os.pathsep, os.pathsep).strip(os.pathsep) env[var] = env[var].replace(os.pathsep + os.pathsep, os.pathsep).strip(os.pathsep)
def get_target_install_filename(target, filename):
'''
Checks whether this file is one of the files installed by the target
'''
basename = os.path.basename(filename)
for install_filename in listify(target['install_filename']):
if install_filename.endswith(basename):
return install_filename
return None
def is_library_target_and_not_plugin(target, filename): def is_library_target_and_not_plugin(target, filename):
''' '''
Don't add plugins to PATH/LD_LIBRARY_PATH because: Don't add plugins to PATH/LD_LIBRARY_PATH because:
@ -84,14 +95,9 @@ def is_library_target_and_not_plugin(target, filename):
if not SHAREDLIB_REG.search(filename): if not SHAREDLIB_REG.search(filename):
return False return False
# Check if it's installed to the gstreamer plugin location # Check if it's installed to the gstreamer plugin location
for install_filename in listify(target['install_filename']): install_filename = get_target_install_filename(target, filename)
if install_filename.endswith(os.path.basename(filename)): if not install_filename:
break
else:
# None of the installed files in the target correspond to the built
# filename, so skip
return False return False
global GSTPLUGIN_FILEPATH_REG global GSTPLUGIN_FILEPATH_REG
if GSTPLUGIN_FILEPATH_REG is None: if GSTPLUGIN_FILEPATH_REG is None:
GSTPLUGIN_FILEPATH_REG = re.compile(GSTPLUGIN_FILEPATH_REG_TEMPLATE) GSTPLUGIN_FILEPATH_REG = re.compile(GSTPLUGIN_FILEPATH_REG_TEMPLATE)
@ -103,12 +109,8 @@ def is_binary_target_and_in_path(target, filename, bindir):
if target['type'] != 'executable': if target['type'] != 'executable':
return False return False
# Check if this file installed by this target is installed to bindir # Check if this file installed by this target is installed to bindir
for install_filename in listify(target['install_filename']): install_filename = get_target_install_filename(target, filename)
if install_filename.endswith(os.path.basename(filename)): if not install_filename:
break
else:
# None of the installed files in the target correspond to the built
# filename, so skip
return False return False
fpath = PurePath(install_filename) fpath = PurePath(install_filename)
if fpath.parent != bindir: if fpath.parent != bindir: