summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/config/chromecast/BUILD.gn17
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" ]
}
}