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

Unified Diff: base/icu38_o3d.scons

Issue 160317: linux: unexport as many symbols as possible (Closed)
Patch Set: Created 11 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | main.scons » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/icu38_o3d.scons
diff --git a/base/icu38_o3d.scons b/base/icu38_o3d.scons
index 701e511f6bd1c90df8bc385ae239c7f8788e1d45..f7d5a33c2001a92eabbe68fa4b77dd0d4f0b4695 100644
--- a/base/icu38_o3d.scons
+++ b/base/icu38_o3d.scons
@@ -397,6 +397,14 @@ def MakeObject(env, source, extra_defines):
if CombinedLib:
+ if env.Bit('linux'):
+ # U_STATIC_IMPLEMENTATION gets overridden by U_COMBINED_IMPLEMENTATION,
+ # which on linux causes all the symbols to be exported from the shared
+ # library, conflicting with the browser's definition if it uses icu as well
+ # (e.g. Chrome).
+ combined_flag = []
+ else:
+ combined_flag = ['U_COMBINED_IMPLEMENTATION']
# These empirically fail to build when U_COMMON_IMPLEMENTATION
# isn't defined in addition to U_COMBINED_IMPLEMENTATION. Remove
# them from the source file list and re-append them with Nodes
@@ -410,13 +418,11 @@ if CombinedLib:
objects = []
for n in need_common_implementation:
common_input_files.remove(n)
- o = MakeObject(env, n, ['U_COMMON_IMPLEMENTATION',
- 'U_COMBINED_IMPLEMENTATION'])
+ o = MakeObject(env, n, ['U_COMMON_IMPLEMENTATION'] + combined_flag)
objects.append(o)
sources = common_input_files + i18n_input_files + stubdata_input_files
- objects += [MakeObject(env, n, ['U_COMBINED_IMPLEMENTATION'])
- for n in sources]
+ objects += [MakeObject(env, n, combined_flag) for n in sources]
icu_lib = env.ComponentLibrary('icu', objects);
« no previous file with comments | « no previous file | main.scons » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698