diff options
-rw-r--r-- | build/config/chromecast/BUILD.gn | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/build/config/chromecast/BUILD.gn b/build/config/chromecast/BUILD.gn index f7a1f50..4280e9c 100644 --- a/build/config/chromecast/BUILD.gn +++ b/build/config/chromecast/BUILD.gn @@ -19,7 +19,19 @@ config("static_config") { ] } +config("ldconfig") { + visibility = [ ":*" ] + + # Chromecast executables depend on several shared libraries in $ORIGIN. Add + # $ORIGIN to the rpath of these executables. This is not inherited by default + # when depending on these targets for security reasons (see comments in + # //build/config/gcc/BUILD.gn) + configs = [ "//build/config/gcc:rpath_for_built_shared_libraries" ] +} + config("executable_config") { + configs = [ ":ldconfig" ] + if (current_cpu == "arm") { ldflags = [ # Export stdlibc++ and libgcc symbols to force shlibs to refer to these @@ -40,12 +52,13 @@ config("executable_config") { # Despite including libstdc++/libgcc archives, we still need to specify # static linking for them in order to prevent the executable from having a # dynamic dependency on them. - configs = [ ":static_config" ] + configs += [ ":static_config" ] } } config("shared_library_config") { + configs = [ ":ldconfig" ] if (current_cpu == "arm") { - configs = [ ":static_config" ] + configs += [ ":static_config" ] } } |