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

Side by Side Diff: icu.gyp

Issue 1967523002: Add big endian support (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@master
Patch Set: Modify icu.gyp to generate only the appropriate assembly file Created 4 years, 6 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 | scripts/make_data_assembly.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 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 { 5 {
6 'includes': [ 6 'includes': [
7 'icu.gypi', 7 'icu.gypi',
8 ], 8 ],
9 'variables': { 9 'variables': {
10 'use_system_icu%': 0, 10 'use_system_icu%': 0,
(...skipping 27 matching lines...) Expand all
38 ], 38 ],
39 'conditions': [ 39 'conditions': [
40 ['component=="static_library"', { 40 ['component=="static_library"', {
41 'defines': [ 41 'defines': [
42 'U_STATIC_IMPLEMENTATION', 42 'U_STATIC_IMPLEMENTATION',
43 ], 43 ],
44 }], 44 }],
45 ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ 45 ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \
46 or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \ 46 or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \
47 (target_arch=="arm" or target_arch=="ia32" or \ 47 (target_arch=="arm" or target_arch=="ia32" or \
48 target_arch=="mipsel")', { 48 target_arch=="mipsel" or target_arch=="mips")', {
49 'target_conditions': [ 49 'target_conditions': [
50 ['_toolset=="host"', { 50 ['_toolset=="host"', {
51 'cflags': [ '-m32' ], 51 'cflags': [ '-m32' ],
52 'ldflags': [ '-m32' ], 52 'ldflags': [ '-m32' ],
53 'asflags': [ '-32' ], 53 'asflags': [ '-32' ],
54 'xcode_settings': { 54 'xcode_settings': {
55 'ARCHS': [ 'i386' ], 55 'ARCHS': [ 'i386' ],
56 }, 56 },
57 }], 57 }],
58 ], 58 ],
59 }], 59 }],
60 ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ 60 ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \
61 or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \ 61 or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \
62 (target_arch=="arm64" or target_arch=="x64" or \ 62 (target_arch=="arm64" or target_arch=="x64" or \
63 target_arch=="mipsel64")', { 63 target_arch=="mips64el" or target_arch=="mips64")', {
64 'target_conditions': [ 64 'target_conditions': [
65 ['_toolset=="host"', { 65 ['_toolset=="host"', {
66 'cflags': [ '-m64' ], 66 'cflags': [ '-m64' ],
67 'ldflags': [ '-m64' ], 67 'ldflags': [ '-m64' ],
68 'asflags': [ '-64' ], 68 'asflags': [ '-64' ],
69 'xcode_settings': { 69 'xcode_settings': {
70 'ARCHS': [ 'x86_64' ], 70 'ARCHS': [ 'x86_64' ],
71 }, 71 },
72 }], 72 }],
73 ], 73 ],
(...skipping 25 matching lines...) Expand all
99 ], 99 ],
100 } , { # else: OS != android 100 } , { # else: OS != android
101 'files': [ 101 'files': [
102 'common/icudtl.dat', 102 'common/icudtl.dat',
103 ], 103 ],
104 }], 104 }],
105 ], 105 ],
106 }], 106 }],
107 }, 107 },
108 { 108 {
109 'target_name': 'data_assembly',
110 'type': 'none',
111 'conditions': [
112 [ 'target_arch=="mips" or target_arch=="mips64"', {
113 'data_assembly_sources': [
114 'common/icudtb.dat',
115 ],
116 'data_assembly_inputs': [
117 'scripts/make_data_assembly.py',
118 'common/icudtb.dat',
119 ],
120 'data_assembly_outputs': [
121 '<(SHARED_INTERMEDIATE_DIR)/icudtb_dat.S',
jungshik at Google 2016/06/02 18:58:42 Change the output path to <(SHARED_INTERMEDIATE_DI
122 ],
123 }],
124 [ 'target_arch!="mips" and target_arch!="mips64"', {
125 'data_assembly_sources': [
126 'common/icudtl.dat',
127 ],
128 'data_assembly_inputs': [
129 'scripts/make_data_assembly.py',
130 'common/icudtl.dat',
131 ],
132 'data_assembly_outputs': [
133 '<(SHARED_INTERMEDIATE_DIR)/icudtl_dat.S',
jungshik at Google 2016/06/02 18:58:41 same here.
134 ],
135 }],
136 ],
137 'sources': [
138 '<@(_data_assembly_sources)',
139 '<@(_data_assembly_outputs)',
jungshik at Google 2016/06/02 18:45:41 "..data.._outputs" should not be in sources, shoul
140 ],
141 'actions': [
142 {
143 'action_name': 'make_data_assembly',
144 'inputs': [
145 '<@(_data_assembly_inputs)',
146 ],
147 'outputs': [
148 '<@(_data_assembly_outputs)',
149 ],
150 'action': ['python', '<@(_inputs)', '<@(_outputs)'],
151 },
152 ],
153 },
154 {
109 'target_name': 'icudata', 155 'target_name': 'icudata',
110 'type': 'static_library', 156 'type': 'static_library',
111 'defines': [ 157 'defines': [
112 'U_HIDE_DATA_SYMBOL', 158 'U_HIDE_DATA_SYMBOL',
113 ], 159 ],
160 'dependencies': [
161 'data_assembly#target',
162 ],
114 'sources': [ 163 'sources': [
115 # These are hand-generated, but will do for now. The linux 164 # These are hand-generated, but will do for now. The linux
116 # version is an identical copy of the (mac) icudtl_dat.S file, 165 # version is an identical copy of the (mac) icudtl_dat.S file,
117 # modulo removal of the .private_extern and .const directives and 166 # modulo removal of the .private_extern and .const directives and
118 # with no leading underscore on the icudt52_dat symbol. 167 # with no leading underscore on the icudt52_dat symbol.
119 'android/icudtl_dat.S', 168 'android/icudtl_dat.S',
120 'linux/icudtl_dat.S', 169 '<(SHARED_INTERMEDIATE_DIR)/icudtl_dat.S',
170 '<(SHARED_INTERMEDIATE_DIR)/icudtb_dat.S',
121 'mac/icudtl_dat.S', 171 'mac/icudtl_dat.S',
122 ], 172 ],
123 'conditions': [ 173 'conditions': [
174 [ 'target_arch=="mips" or target_arch=="mips64"', {
175 'sources!': ['<(SHARED_INTERMEDIATE_DIR)/icudtl_dat.S'],
176 }],
177 [ 'target_arch!="mips" and target_arch!="mips64"', {
178 'sources!': ['<(SHARED_INTERMEDIATE_DIR)/icudtb_dat.S'],
179 }],
124 [ 'use_system_icu==1 and want_separate_host_toolset==1', { 180 [ 'use_system_icu==1 and want_separate_host_toolset==1', {
125 'toolsets': ['host'], 181 'toolsets': ['host'],
126 }], 182 }],
127 [ 'use_system_icu==0 and want_separate_host_toolset==1', { 183 [ 'use_system_icu==0 and want_separate_host_toolset==1', {
128 'toolsets': ['host', 'target'], 184 'toolsets': ['host', 'target'],
129 }], 185 }],
130 [ 'use_system_icu==0 and want_separate_host_toolset==0', { 186 [ 'use_system_icu==0 and want_separate_host_toolset==0', {
131 'toolsets': ['target'], 187 'toolsets': ['target'],
132 }], 188 }],
133 [ 'OS == "win" and icu_use_data_file_flag==0', { 189 [ 'OS == "win" and icu_use_data_file_flag==0', {
134 'type': 'none', 190 'type': 'none',
191 'dependencies!': [
192 'data_assembly#target',
jungshik at Google 2016/06/02 18:45:41 for now (it'll be short-lived), this dependency ex
193 ],
135 'copies': [ 194 'copies': [
136 { 195 {
137 'destination': '<(PRODUCT_DIR)', 196 'destination': '<(PRODUCT_DIR)',
138 'files': [ 197 'files': [
139 'windows/icudt.dll', 198 'windows/icudt.dll',
140 ], 199 ],
141 }, 200 },
142 ], 201 ],
143 }], 202 }],
144 [ 'icu_use_data_file_flag==1', { 203 [ 'icu_use_data_file_flag==1', {
145 'type': 'none', 204 'type': 'none',
205 'dependencies!': [
206 'data_assembly#target',
207 ],
146 # Remove any assembly data file. 208 # Remove any assembly data file.
147 'sources/': [['exclude', 'icudtl_dat']], 209 'sources/': [['exclude', 'icudtl_dat', 'icudtb_dat']],
148 210
149 # Make sure any binary depending on this gets the data file. 211 # Make sure any binary depending on this gets the data file.
150 'conditions': [ 212 'conditions': [
151 ['OS != "ios"', { 213 ['OS != "ios"', {
152 'dependencies': [ 214 'dependencies': [
153 'copy_icudtl_dat#host', 215 'copy_icudtl_dat#host',
154 ], 216 ],
155 } , { # else: OS=="ios" 217 } , { # else: OS=="ios"
156 'link_settings': { 218 'link_settings': {
157 'mac_bundle_resources': [ 219 'mac_bundle_resources': [
158 'common/icudtl.dat', 220 'common/icudtl.dat',
159 ], 221 ],
160 }, 222 },
161 }], # OS!=ios 223 }], # OS!=ios
162 ], # conditions 224 ], # conditions
163 }], # icu_use_data_file_flag 225 }], # icu_use_data_file_flag
164 ], # conditions 226 ], # conditions
165 'target_conditions': [ 227 'target_conditions': [
166 [ 'OS == "win" or OS == "mac" or OS == "ios" or ' 228 [ 'OS == "win" or OS == "mac" or OS == "ios" or '
167 '(OS == "android" and (_toolset != "host" or host_os != "linux")) or ' 229 '(OS == "android" and (_toolset != "host" or host_os != "linux")) or '
168 '(OS == "qnx" and (_toolset == "host" and host_os != "linux"))', { 230 '(OS == "qnx" and (_toolset == "host" and host_os != "linux"))', {
169 'sources!': ['linux/icudtl_dat.S'], 231 'sources!': [
232 '<(SHARED_INTERMEDIATE_DIR)/icudtl_dat.S',
233 '<(SHARED_INTERMEDIATE_DIR)/icudtb_dat.S'
234 ],
170 }], 235 }],
171 [ 'OS != "android" or _toolset == "host"', { 236 [ 'OS != "android" or _toolset == "host"', {
172 'sources!': ['android/icudtl_dat.S'], 237 'sources!': ['android/icudtl_dat.S'],
173 }], 238 }],
174 [ 'OS != "mac" and OS != "ios" and ' 239 [ 'OS != "mac" and OS != "ios" and '
175 '((OS != "android" and OS != "qnx") or ' 240 '((OS != "android" and OS != "qnx") or '
176 '_toolset != "host" or host_os != "mac")', { 241 '_toolset != "host" or host_os != "mac")', {
177 'sources!': ['mac/icudtl_dat.S'], 242 'sources!': ['mac/icudtl_dat.S'],
178 }], 243 }],
179 ], # target_conditions 244 ], # target_conditions
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 'target_name': 'icuuc', 326 'target_name': 'icuuc',
262 'type': '<(component)', 327 'type': '<(component)',
263 'sources': [ 328 'sources': [
264 '<@(icuuc_sources)', 329 '<@(icuuc_sources)',
265 ], 330 ],
266 'defines': [ 331 'defines': [
267 'U_COMMON_IMPLEMENTATION', 332 'U_COMMON_IMPLEMENTATION',
268 ], 333 ],
269 'dependencies': [ 334 'dependencies': [
270 'icudata', 335 'icudata',
336 'data_assembly#target',
271 ], 337 ],
272 'direct_dependent_settings': { 338 'direct_dependent_settings': {
273 'include_dirs': [ 339 'include_dirs': [
274 'source/common', 340 'source/common',
275 ], 341 ],
276 'conditions': [ 342 'conditions': [
277 [ 'component=="static_library"', { 343 [ 'component=="static_library"', {
278 'defines': [ 344 'defines': [
279 'U_STATIC_IMPLEMENTATION', 345 'U_STATIC_IMPLEMENTATION',
280 ], 346 ],
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 [ 'use_system_icu==1 and want_separate_host_toolset==1', { 404 [ 'use_system_icu==1 and want_separate_host_toolset==1', {
339 'toolsets': ['host'], 405 'toolsets': ['host'],
340 }], 406 }],
341 [ 'use_system_icu==0 and want_separate_host_toolset==1', { 407 [ 'use_system_icu==0 and want_separate_host_toolset==1', {
342 'toolsets': ['host', 'target'], 408 'toolsets': ['host', 'target'],
343 }], 409 }],
344 [ 'use_system_icu==0 and want_separate_host_toolset==0', { 410 [ 'use_system_icu==0 and want_separate_host_toolset==0', {
345 'toolsets': ['target'], 411 'toolsets': ['target'],
346 }], 412 }],
347 [ 'OS == "win" or icu_use_data_file_flag==1', { 413 [ 'OS == "win" or icu_use_data_file_flag==1', {
414 'dependencies!': [
415 'data_assembly#target',
416 ],
348 'sources': [ 417 'sources': [
349 'source/stubdata/stubdata.c', 418 'source/stubdata/stubdata.c',
350 ], 419 ],
351 'defines': [ 420 'defines': [
352 'U_ICUDATAENTRY_IN_COMMON', 421 'U_ICUDATAENTRY_IN_COMMON',
353 ], 422 ],
354 }], 423 }],
355 [ 'OS == "win" and clang==1', { 424 [ 'OS == "win" and clang==1', {
356 # Note: General clang warnings should go in the 425 # Note: General clang warnings should go in the
357 # clang_warning_flags block above. 426 # clang_warning_flags block above.
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
602 }, 671 },
603 'includes': [ 672 'includes': [
604 '../../build/shim_headers.gypi', 673 '../../build/shim_headers.gypi',
605 ], 674 ],
606 'toolsets': ['target'], 675 'toolsets': ['target'],
607 }, 676 },
608 ], # targets 677 ], # targets
609 }], 678 }],
610 ], # conditions 679 ], # conditions
611 } 680 }
OLDNEW
« no previous file with comments | « no previous file | scripts/make_data_assembly.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698