Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(185)

Side by Side Diff: build/config/gcc/BUILD.gn

Issue 1141723002: GN: Do not set rpath on android executable. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Follow review Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 # This config causes functions not to be automatically exported from shared 5 # This config causes functions not to be automatically exported from shared
6 # libraries. By default, all symbols are exported but this means there are 6 # libraries. By default, all symbols are exported but this means there are
7 # lots of exports that slow everything down. In general we explicitly mark 7 # lots of exports that slow everything down. In general we explicitly mark
8 # which functiosn we want to export from components. 8 # which functiosn we want to export from components.
9 # 9 #
10 # Some third_party code assumes all functions are exported so this is separated 10 # Some third_party code assumes all functions are exported so this is separated
11 # into its own config so such libraries can remove this config to make symbols 11 # into its own config so such libraries can remove this config to make symbols
12 # public again. 12 # public again.
13 # 13 #
14 # See http://gcc.gnu.org/wiki/Visibility 14 # See http://gcc.gnu.org/wiki/Visibility
15 config("symbol_visibility_hidden") { 15 config("symbol_visibility_hidden") {
16 # Note that -fvisibility-inlines-hidden is set globally in the compiler 16 # Note that -fvisibility-inlines-hidden is set globally in the compiler
17 # config since that can almost always be applied. 17 # config since that can almost always be applied.
18 cflags = [ "-fvisibility=hidden" ] 18 cflags = [ "-fvisibility=hidden" ]
19 } 19 }
20 20
21 # Settings for executables and shared libraries. 21 # Settings for executables and shared libraries.
22 config("executable_ldconfig") { 22 config("executable_ldconfig") {
23 ldflags = [
24 # Want to pass "\$". GN will re-escape as required for ninja.
25 "-Wl,-rpath=\$ORIGIN/",
26 "-Wl,-rpath-link=",
27
28 # Newer binutils don't set DT_RPATH unless you disable "new" dtags
29 # and the new DT_RUNPATH doesn't work without --no-as-needed flag.
30 "-Wl,--disable-new-dtags",
31 ]
32
33 if (is_android) { 23 if (is_android) {
34 ldflags += [ 24 ldflags = [
35 "-Bdynamic", 25 "-Bdynamic",
36 "-Wl,-z,nocopyreloc", 26 "-Wl,-z,nocopyreloc",
37 ] 27 ]
28 } else {
29 # Android doesn't support rpath.
30 ldflags = [
31 # Want to pass "\$". GN will re-escape as required for ninja.
32 "-Wl,-rpath=\$ORIGIN/",
33 "-Wl,-rpath-link=",
34
35 # Newer binutils don't set DT_RPATH unless you disable "new" dtags
36 # and the new DT_RUNPATH doesn't work without --no-as-needed flag.
37 "-Wl,--disable-new-dtags",
38 ]
38 } 39 }
39 } 40 }
40 41
41 config("no_exceptions") { 42 config("no_exceptions") {
42 cflags_cc = [ "-fno-exceptions" ] 43 cflags_cc = [ "-fno-exceptions" ]
43 } 44 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698