parameters: (target, source, env)
return_statement: return target, source
docstring: SCons emitter that takes values from the LIBDEPS environment variable and
      converts them to File node objects, binding correct path information into
      those File objects.
  
      Emitters run on a particular "target" node during the initial execution of
      the SConscript file, rather than during the later build phase.  When they
      run, the "env" environment's working directory information is what you
      expect it to be -- that is, the working directory is considered to be the
      one that contains the SConscript file.  This allows specification of
      relative paths to LIBDEPS elements.
  
      This emitter also adds LIBSUFFIX and LIBPREFIX appropriately.
  
      NOTE: For purposes of LIBDEPS_DEPENDENTS propagation, only the first member
      of the "target" list is made a prerequisite of the elements of LIBDEPS_DEPENDENTS.
docstring_summary: SCons emitter that takes values from the LIBDEPS environment variable and
      converts them to File node objects, binding correct path information into
      those File objects.
docstring_tokens: SCons emitter that takes values from the LIBDEPS environment variable and converts them to File node objects binding correct path information into those File objects .
function: def shlibdeps_emitter(target, source, env):
      """SCons emitter that takes values from the LIBDEPS environment variable and
      converts them to File node objects, binding correct path information into
      those File objects.
  
      Emitters run on a particular "target" node during the initial execution of
      the SConscript file, rather than during the later build phase.  When they
      run, the "env" environment's working directory information is what you
      expect it to be -- that is, the working directory is considered to be the
      one that contains the SConscript file.  This allows specification of
      relative paths to LIBDEPS elements.
  
      This emitter also adds LIBSUFFIX and LIBPREFIX appropriately.
  
      NOTE: For purposes of LIBDEPS_DEPENDENTS propagation, only the first member
      of the "target" list is made a prerequisite of the elements of LIBDEPS_DEPENDENTS.
      """
  
      lib_builder = env['BUILDERS']['SharedLibrary']
      lib_node_factory = lib_builder.target_factory or env.File
  
      prog_builder = env['BUILDERS']['Program']
      prog_node_factory = prog_builder.target_factory or env.File
  
      libdep_files = []
      for prereq in env.Flatten([env.get(libdeps_env_var, [])]):
          prereqWithIxes = SCons.Util.adjustixes(
              prereq, lib_builder.get_prefix(env), lib_builder.get_suffix(env))
          libdep_files.append(lib_node_factory(prereqWithIxes))
  
      for t in target:
          # target[0] must be a Node and not a string, or else libdeps will fail to
          # work properly.
          __append_direct_libdeps(t, libdep_files)
  
      for dependent in env.Flatten([env.get('LIBDEPS_DEPENDENTS', [])]):
          dependentWithIxes = SCons.Util.adjustixes(
              dependent, lib_builder.get_prefix(env), lib_builder.get_suffix(env))
          dependentNode = lib_node_factory(dependentWithIxes)
          __append_direct_libdeps(dependentNode, [target[0]])
  
      for dependent in env.Flatten([env.get('PROGDEPS_DEPENDENTS', [])]):
          dependentWithIxes = SCons.Util.adjustixes(
              dependent, prog_builder.get_prefix(env), prog_builder.get_suffix(env))
          dependentNode = prog_node_factory(dependentWithIxes)
          __append_direct_libdeps(dependentNode, [target[0]])
  
      return target, source
function_tokens: def shlibdeps_emitter ( target , source , env ) : lib_builder = env [ 'BUILDERS' ] [ 'SharedLibrary' ] lib_node_factory = lib_builder . target_factory or env . File prog_builder = env [ 'BUILDERS' ] [ 'Program' ] prog_node_factory = prog_builder . target_factory or env . File libdep_files = [ ] for prereq in env . Flatten ( [ env . get ( libdeps_env_var , [ ] ) ] ) : prereqWithIxes = SCons . Util . adjustixes ( prereq , lib_builder . get_prefix ( env ) , lib_builder . get_suffix ( env ) ) libdep_files . append ( lib_node_factory ( prereqWithIxes ) ) for t in target : # target[0] must be a Node and not a string, or else libdeps will fail to # work properly. __append_direct_libdeps ( t , libdep_files ) for dependent in env . Flatten ( [ env . get ( 'LIBDEPS_DEPENDENTS' , [ ] ) ] ) : dependentWithIxes = SCons . Util . adjustixes ( dependent , lib_builder . get_prefix ( env ) , lib_builder . get_suffix ( env ) ) dependentNode = lib_node_factory ( dependentWithIxes ) __append_direct_libdeps ( dependentNode , [ target [ 0 ] ] ) for dependent in env . Flatten ( [ env . get ( 'PROGDEPS_DEPENDENTS' , [ ] ) ] ) : dependentWithIxes = SCons . Util . adjustixes ( dependent , prog_builder . get_prefix ( env ) , prog_builder . get_suffix ( env ) ) dependentNode = prog_node_factory ( dependentWithIxes ) __append_direct_libdeps ( dependentNode , [ target [ 0 ] ] ) return target , source