diff options
author | piman@google.com <piman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-29 20:52:15 +0000 |
---|---|---|
committer | piman@google.com <piman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-29 20:52:15 +0000 |
commit | 778da76f8a401af0eb108889e3e29506d1638bd5 (patch) | |
tree | b4f4226deffd358705a4be5753082cd8aeec2a31 /o3d/v8 | |
parent | 7c37e4c641007ccbb666be127926e7512b0db89b (diff) | |
download | chromium_src-778da76f8a401af0eb108889e3e29506d1638bd5.zip chromium_src-778da76f8a401af0eb108889e3e29506d1638bd5.tar.gz chromium_src-778da76f8a401af0eb108889e3e29506d1638bd5.tar.bz2 |
linux: unexport as many symbols as possible
See discussion on http://code.google.com/p/chromium/issues/detail?id=17557
On linux, exported symbols from a shared library can be overridden by another unit (e.g. the browser) if it exports the same ones. So compile everything with -fvisibility=hidden to make every symbol private by default, and explicitly export the ones that we care about. Also make sure that third-party deps (e.g. icu) don't explicitly export symbols.
Review URL: http://codereview.chromium.org/160317
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21992 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'o3d/v8')
-rw-r--r-- | o3d/v8/build.scons | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/o3d/v8/build.scons b/o3d/v8/build.scons index 6fd51cc..43e332f 100644 --- a/o3d/v8/build.scons +++ b/o3d/v8/build.scons @@ -50,7 +50,7 @@ env = env.Clone( V8_MODE = 'release', V8_MODE_DIR = '$V8_SRC_DIR/obj/$V8_MODE', V8_SCONS_COM = '$PYTHON $SCONS -C $V8_SRC_DIR -f SConstruct ' - '$DEBUG_OPTS mode=$V8_MODE importenv=INCLUDE,LIB', + '$DEBUG_OPTS mode=$V8_MODE importenv=INCLUDE,LIB,CCFLAGS', SCONS = '$SCONS_DIR/scons.py', DEBUG_OPTS = ['--debug=%s' % item for item in GetOption('debug')] ) @@ -109,6 +109,8 @@ if v8_env.Bit('windows'): v8_env['ENV']['LIB'] = lib_path + ";" + v8_env['ENV']['LIB'] except KeyError: v8_env['ENV']['LIB'] = lib_path +elif v8_env.Bit('linux'): + v8_env['ENV']['CCFLAGS'] = '-fvisibility=hidden' v8_no_snapshot = v8_env.Command( v8_scons_targets_no_snapshot, |