@ -2904,6 +2904,26 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
# Now we will add libraries and library paths from various sources
# Set runtime-paths so we can run executables without needing to set
# LD_LIBRARY_PATH, etc in the environment. Doesn't work on Windows.
if has_path_sep ( target . name ) :
# Target names really should not have slashes in them, but
# unfortunately we did not check for that and some downstream projects
# now have them. Once slashes are forbidden, remove this bit.
target_slashname_workaround_dir = os . path . join (
os . path . dirname ( target . name ) ,
self . get_target_dir ( target ) )
else :
target_slashname_workaround_dir = self . get_target_dir ( target )
( rpath_args , target . rpath_dirs_to_remove ) = (
linker . build_rpath_args ( self . environment ,
self . environment . get_build_dir ( ) ,
target_slashname_workaround_dir ,
self . determine_rpath_dirs ( target ) ,
target . build_rpath ,
target . install_rpath ) )
commands + = rpath_args
# Add link args to link to all internal libraries (link_with:) and
# internal dependencies needed by this target.
if linker_base == ' STATIC ' :
@ -2951,25 +2971,6 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
dep_targets = [ ]
dep_targets . extend ( self . guess_external_link_dependencies ( linker , target , commands , internal ) )
# Set runtime-paths so we can run executables without needing to set
# LD_LIBRARY_PATH, etc in the environment. Doesn't work on Windows.
if has_path_sep ( target . name ) :
# Target names really should not have slashes in them, but
# unfortunately we did not check for that and some downstream projects
# now have them. Once slashes are forbidden, remove this bit.
target_slashname_workaround_dir = os . path . join (
os . path . dirname ( target . name ) ,
self . get_target_dir ( target ) )
else :
target_slashname_workaround_dir = self . get_target_dir ( target )
( rpath_args , target . rpath_dirs_to_remove ) = (
linker . build_rpath_args ( self . environment ,
self . environment . get_build_dir ( ) ,
target_slashname_workaround_dir ,
self . determine_rpath_dirs ( target ) ,
target . build_rpath ,
target . install_rpath ) )
commands + = rpath_args
# Add libraries generated by custom targets
custom_target_libraries = self . get_custom_target_provided_libraries ( target )
commands + = extra_args