| Index: build/config/gcc/BUILD.gn
|
| diff --git a/build/config/gcc/BUILD.gn b/build/config/gcc/BUILD.gn
|
| index b6ab1d4b96ba7ba9a39409006f949569551f92d2..9bc16d9e0d918096cec7124ccf20f145643824b8 100644
|
| --- a/build/config/gcc/BUILD.gn
|
| +++ b/build/config/gcc/BUILD.gn
|
| @@ -20,14 +20,8 @@ config("symbol_visibility_hidden") {
|
| cflags = [ "-fvisibility=hidden" ]
|
| }
|
|
|
| -# Settings for executables and shared libraries.
|
| -config("executable_ldconfig") {
|
| - if (is_android) {
|
| - ldflags = [
|
| - "-Bdynamic",
|
| - "-Wl,-z,nocopyreloc",
|
| - ]
|
| - } else {
|
| +config("rpath_link") {
|
| + if (!is_android) {
|
| # Note: Android doesn't support rpath.
|
| rpath_link = ""
|
| if (shlib_subdir != ".") {
|
| @@ -37,7 +31,25 @@ config("executable_ldconfig") {
|
| # Want to pass "\$". GN will re-escape as required for ninja.
|
| "-Wl,-rpath=\$ORIGIN/${rpath_link}",
|
| "-Wl,-rpath-link=${rpath_link}",
|
| + ]
|
| + }
|
| +}
|
|
|
| +# Settings for executables and shared libraries.
|
| +config("executable_ldconfig") {
|
| + if (is_android) {
|
| + ldflags = [
|
| + "-Bdynamic",
|
| + "-Wl,-z,nocopyreloc",
|
| + ]
|
| + } else {
|
| + if (is_component_build) {
|
| + configs += [ ":rpath_link" ]
|
| + }
|
| +
|
| + ldflags = [
|
| + # TODO(GYP): Do we need a check on the binutils version here?
|
| + #
|
| # Newer binutils don't set DT_RPATH unless you disable "new" dtags
|
| # and the new DT_RUNPATH doesn't work without --no-as-needed flag.
|
| "-Wl,--disable-new-dtags",
|
|
|