parameters: (self, configuration, value, platform_config_lib_map)
return_statement: return apply_value
docstring: Handle special processing for values for the value keywword %LIBPATH.  %LIBPATH will be expanded
          to the defined lib path values detected in the current configuration
  
          :param configuration:           The configuration being applied
          :param value:                   The value (must contain the %LIBATH expression)
          :param platform_config_lib_map: the library platform map to use to lookup the values
          :return: The applied value to %LIBPATH
docstring_summary: Handle special processing for values for the value keywword %LIBPATH.  %LIBPATH will be expanded
          to the defined lib path values detected in the current configuration
docstring_tokens: Handle special processing for values for the value keywword %LIBPATH . %LIBPATH will be expanded to the defined lib path values detected in the current configuration
function: def process_value_libpath(self, configuration, value, platform_config_lib_map):
          """
          Handle special processing for values for the value keywword %LIBPATH.  %LIBPATH will be expanded
          to the defined lib path values detected in the current configuration
  
          :param configuration:           The configuration being applied
          :param value:                   The value (must contain the %LIBATH expression)
          :param platform_config_lib_map: the library platform map to use to lookup the values
          :return: The applied value to %LIBPATH
          """
  
          # If we found LIBPATH in the value, make sure it follows %LIBPATH(<filename>)
          found_libpath = REGEX_SEARCH_LIBPATH.search(value)
          if found_libpath is None:
              self.raise_config_error("Invalid macro value for macro %LIBPATH value detected ()".format(value))
  
          # Extract the library name
          libname_macro_parameter = found_libpath.group(1)
  
          # Lookup the collected full library paths that was calculated from collecting the library paths earlier
          libpath_key = '{}_{}'.format(self.processed_platform_key, configuration)
          if libpath_key not in platform_config_lib_map:
              self.raise_config_error("%LIBPATH macro was specified for a platform/configuration with no libraries defined")
  
          # There may be more than one library path, so search for the particular one
          platform_config_libs = platform_config_lib_map[libpath_key]
          evaluated_lib_fullpath = None
          for platform_config_lib in platform_config_libs:
              if platform_config_lib.endswith(libname_macro_parameter):
                  evaluated_lib_fullpath = platform_config_lib
          if evaluated_lib_fullpath is None:
              self.raise_config_error("Invalid/missing library for $LIBPATH macro value {}".format(value))
  
          # If there is any spaces in the full lib path, surround with double quotes
          if ' ' in evaluated_lib_fullpath:
              evaluated_lib_fullpath = '{}'.format(evaluated_lib_fullpath)
  
          # Perform the replacement of the macro to the actual value
          apply_value = re.sub(PATTERN_SEARCH_LIBPATH, evaluated_lib_fullpath, value)
  
          return apply_value
function_tokens: def process_value_libpath ( self , configuration , value , platform_config_lib_map ) : # If we found LIBPATH in the value, make sure it follows %LIBPATH(<filename>) found_libpath = REGEX_SEARCH_LIBPATH . search ( value ) if found_libpath is None : self . raise_config_error ( "Invalid macro value for macro %LIBPATH value detected ()" . format ( value ) ) # Extract the library name libname_macro_parameter = found_libpath . group ( 1 ) # Lookup the collected full library paths that was calculated from collecting the library paths earlier libpath_key = '{}_{}' . format ( self . processed_platform_key , configuration ) if libpath_key not in platform_config_lib_map : self . raise_config_error ( "%LIBPATH macro was specified for a platform/configuration with no libraries defined" ) # There may be more than one library path, so search for the particular one platform_config_libs = platform_config_lib_map [ libpath_key ] evaluated_lib_fullpath = None for platform_config_lib in platform_config_libs : if platform_config_lib . endswith ( libname_macro_parameter ) : evaluated_lib_fullpath = platform_config_lib if evaluated_lib_fullpath is None : self . raise_config_error ( "Invalid/missing library for $LIBPATH macro value {}" . format ( value ) ) # If there is any spaces in the full lib path, surround with double quotes if ' ' in evaluated_lib_fullpath : evaluated_lib_fullpath = '{}' . format ( evaluated_lib_fullpath ) # Perform the replacement of the macro to the actual value apply_value = re . sub ( PATTERN_SEARCH_LIBPATH , evaluated_lib_fullpath , value ) return apply_value