OLD | NEW |
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 Loading... |
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 ], |
74 }], | 74 }], |
75 ], | 75 ], |
76 'include_dirs': [ | 76 'include_dirs': [ |
77 'source/common', | 77 'source/common', |
78 'source/i18n', | 78 'source/i18n', |
79 ], | 79 ], |
80 'msvs_disabled_warnings': [4005, 4068, 4355, 4996, 4267], | 80 'msvs_disabled_warnings': [4005, 4068, 4355, 4996, 4267], |
81 }, | 81 }, |
82 'conditions': [ | 82 'conditions': [ |
83 ['use_system_icu==0 or want_separate_host_toolset==1', { | 83 ['use_system_icu==0 or want_separate_host_toolset==1', { |
84 'targets': [ | 84 'targets': [ |
85 { | 85 { |
86 'target_name': 'copy_icudtl_dat', | 86 'target_name': 'copy_icudt_dat', |
87 'type': 'none', | 87 'type': 'none', |
88 # icudtl.dat is the same for both host/target, so this only supports a | 88 # icudtl.dat is the same for both host/target, so this only supports a |
89 # single toolset. If a target requires that the .dat file be copied | 89 # single toolset. If a target requires that the .dat file be copied |
90 # to the output directory, it should explicitly depend on this target | 90 # to the output directory, it should explicitly depend on this target |
91 # with the host toolset (like copy_icudtl_dat#host). | 91 # with the host toolset (like copy_icudt_dat#host). |
92 'toolsets': [ 'host' ], | 92 'toolsets': [ 'host' ], |
93 'copies': [{ | 93 'copies': [{ |
94 'destination': '<(PRODUCT_DIR)', | 94 'destination': '<(PRODUCT_DIR)', |
95 'conditions': [ | 95 'conditions': [ |
96 ['OS == "android"', { | 96 ['OS == "android"', { |
97 'files': [ | 97 'files': [ |
98 'android/icudtl.dat', | 98 'android/icudtl.dat', |
99 ], | 99 ], |
100 } , { # else: OS != android | 100 } , { # else: OS != android |
101 'files': [ | 101 'conditions': [ |
102 'common/icudtl.dat', | 102 # Big Endian |
| 103 [ 'target_arch=="mips" or target_arch=="mips64"', { |
| 104 'files': [ |
| 105 'common/icudtb.dat', |
| 106 ], |
| 107 } , { # else: ! Big Endian = Little Endian |
| 108 'files': [ |
| 109 'common/icudtl.dat', |
| 110 ], |
| 111 }], |
103 ], | 112 ], |
104 }], | 113 }], |
105 ], | 114 ], |
106 }], | 115 }], |
107 }, | 116 }, |
108 { | 117 { |
| 118 'target_name': 'data_assembly', |
| 119 'type': 'none', |
| 120 'conditions': [ |
| 121 [ 'target_arch=="mips" or target_arch=="mips64"', { |
| 122 'data_assembly_sources': [ |
| 123 'common/icudtb.dat', |
| 124 ], |
| 125 'data_assembly_inputs': [ |
| 126 'scripts/make_data_assembly.py', |
| 127 'common/icudtb.dat', |
| 128 ], |
| 129 'data_assembly_outputs': [ |
| 130 '<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtb_dat.S', |
| 131 ], |
| 132 }], |
| 133 [ 'target_arch!="mips" and target_arch!="mips64"', { |
| 134 'data_assembly_sources': [ |
| 135 'common/icudtl.dat', |
| 136 ], |
| 137 'data_assembly_inputs': [ |
| 138 'scripts/make_data_assembly.py', |
| 139 'common/icudtl.dat', |
| 140 ], |
| 141 'data_assembly_outputs': [ |
| 142 '<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtl_dat.S', |
| 143 ], |
| 144 }], |
| 145 ], |
| 146 'sources': [ |
| 147 '<@(_data_assembly_sources)', |
| 148 ], |
| 149 'actions': [ |
| 150 { |
| 151 'action_name': 'make_data_assembly', |
| 152 'inputs': [ |
| 153 '<@(_data_assembly_inputs)', |
| 154 ], |
| 155 'outputs': [ |
| 156 '<@(_data_assembly_outputs)', |
| 157 ], |
| 158 'action': ['python', '<@(_inputs)', '<@(_outputs)'], |
| 159 }, |
| 160 ], |
| 161 }, |
| 162 { |
109 'target_name': 'icudata', | 163 'target_name': 'icudata', |
110 'type': 'static_library', | 164 'type': 'static_library', |
111 'defines': [ | 165 'defines': [ |
112 'U_HIDE_DATA_SYMBOL', | 166 'U_HIDE_DATA_SYMBOL', |
113 ], | 167 ], |
| 168 'dependencies': [ |
| 169 'data_assembly#target', |
| 170 ], |
114 'sources': [ | 171 'sources': [ |
115 # These are hand-generated, but will do for now. The linux | 172 # These are hand-generated, but will do for now. The linux |
116 # version is an identical copy of the (mac) icudtl_dat.S file, | 173 # version is an identical copy of the (mac) icudtl_dat.S file, |
117 # modulo removal of the .private_extern and .const directives and | 174 # modulo removal of the .private_extern and .const directives and |
118 # with no leading underscore on the icudt52_dat symbol. | 175 # with no leading underscore on the icudt52_dat symbol. |
119 'android/icudtl_dat.S', | 176 'android/icudtl_dat.S', |
120 'linux/icudtl_dat.S', | 177 '<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtl_dat.S', |
| 178 '<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtb_dat.S', |
121 'mac/icudtl_dat.S', | 179 'mac/icudtl_dat.S', |
122 ], | 180 ], |
123 'conditions': [ | 181 'conditions': [ |
| 182 [ 'target_arch=="mips" or target_arch=="mips64"', { |
| 183 'sources!': ['<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtl_da
t.S'], |
| 184 }], |
| 185 [ 'target_arch!="mips" and target_arch!="mips64"', { |
| 186 'sources!': ['<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtb_da
t.S'], |
| 187 }], |
124 [ 'use_system_icu==1 and want_separate_host_toolset==1', { | 188 [ 'use_system_icu==1 and want_separate_host_toolset==1', { |
125 'toolsets': ['host'], | 189 'toolsets': ['host'], |
126 }], | 190 }], |
127 [ 'use_system_icu==0 and want_separate_host_toolset==1', { | 191 [ 'use_system_icu==0 and want_separate_host_toolset==1', { |
128 'toolsets': ['host', 'target'], | 192 'toolsets': ['host', 'target'], |
129 }], | 193 }], |
130 [ 'use_system_icu==0 and want_separate_host_toolset==0', { | 194 [ 'use_system_icu==0 and want_separate_host_toolset==0', { |
131 'toolsets': ['target'], | 195 'toolsets': ['target'], |
132 }], | 196 }], |
133 [ 'OS == "win" and icu_use_data_file_flag==0', { | 197 [ 'OS == "win" and icu_use_data_file_flag==0', { |
134 'type': 'none', | 198 'type': 'none', |
| 199 'dependencies!': [ |
| 200 'data_assembly#target', |
| 201 ], |
135 'copies': [ | 202 'copies': [ |
136 { | 203 { |
137 'destination': '<(PRODUCT_DIR)', | 204 'destination': '<(PRODUCT_DIR)', |
138 'files': [ | 205 'files': [ |
139 'windows/icudt.dll', | 206 'windows/icudt.dll', |
140 ], | 207 ], |
141 }, | 208 }, |
142 ], | 209 ], |
143 }], | 210 }], |
| 211 [ '(OS == "mac" or OS == "ios") and icu_use_data_file_flag==0', { |
| 212 'type': 'none', |
| 213 'dependencies!': [ |
| 214 'data_assembly#target', |
| 215 ], |
| 216 }], |
144 [ 'icu_use_data_file_flag==1', { | 217 [ 'icu_use_data_file_flag==1', { |
145 'type': 'none', | 218 'type': 'none', |
| 219 'dependencies!': [ |
| 220 'data_assembly#target', |
| 221 ], |
146 # Remove any assembly data file. | 222 # Remove any assembly data file. |
147 'sources/': [['exclude', 'icudtl_dat']], | 223 'sources/': [['exclude', 'icudt[lb]_dat']], |
148 | 224 |
149 # Make sure any binary depending on this gets the data file. | 225 # Make sure any binary depending on this gets the data file. |
150 'conditions': [ | 226 'conditions': [ |
151 ['OS != "ios"', { | 227 ['OS != "ios"', { |
152 'dependencies': [ | 228 'dependencies': [ |
153 'copy_icudtl_dat#host', | 229 'copy_icudt_dat#host', |
154 ], | 230 ], |
155 } , { # else: OS=="ios" | 231 } , { # else: OS=="ios" |
156 'link_settings': { | 232 'link_settings': { |
157 'mac_bundle_resources': [ | 233 'mac_bundle_resources': [ |
158 'common/icudtl.dat', | 234 'common/icudtl.dat', |
159 ], | 235 ], |
160 }, | 236 }, |
161 }], # OS!=ios | 237 }], # OS!=ios |
162 ], # conditions | 238 ], # conditions |
163 }], # icu_use_data_file_flag | 239 }], # icu_use_data_file_flag |
164 ], # conditions | 240 ], # conditions |
165 'target_conditions': [ | 241 'target_conditions': [ |
166 [ 'OS == "win" or OS == "mac" or OS == "ios" or ' | 242 [ 'OS == "win" or OS == "mac" or OS == "ios" or ' |
167 '(OS == "android" and (_toolset != "host" or host_os != "linux"))
or ' | 243 '(OS == "android" and (_toolset != "host" or host_os != "linux"))
or ' |
168 '(OS == "qnx" and (_toolset == "host" and host_os != "linux"))', { | 244 '(OS == "qnx" and (_toolset == "host" and host_os != "linux"))', { |
169 'sources!': ['linux/icudtl_dat.S'], | 245 'sources!': [ |
| 246 '<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtl_dat.S', |
| 247 '<(SHARED_INTERMEDIATE_DIR)/third_party/icu/icudtb_dat.S' |
| 248 ], |
170 }], | 249 }], |
171 [ 'OS != "android" or _toolset == "host"', { | 250 [ 'OS != "android" or _toolset == "host"', { |
172 'sources!': ['android/icudtl_dat.S'], | 251 'sources!': ['android/icudtl_dat.S'], |
173 }], | 252 }], |
174 [ 'OS != "mac" and OS != "ios" and ' | 253 [ 'OS != "mac" and OS != "ios" and ' |
175 '((OS != "android" and OS != "qnx") or ' | 254 '((OS != "android" and OS != "qnx") or ' |
176 '_toolset != "host" or host_os != "mac")', { | 255 '_toolset != "host" or host_os != "mac")', { |
177 'sources!': ['mac/icudtl_dat.S'], | 256 'sources!': ['mac/icudtl_dat.S'], |
178 }], | 257 }], |
179 ], # target_conditions | 258 ], # target_conditions |
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
608 }, | 687 }, |
609 'includes': [ | 688 'includes': [ |
610 '../../build/shim_headers.gypi', | 689 '../../build/shim_headers.gypi', |
611 ], | 690 ], |
612 'toolsets': ['target'], | 691 'toolsets': ['target'], |
613 }, | 692 }, |
614 ], # targets | 693 ], # targets |
615 }], | 694 }], |
616 ], # conditions | 695 ], # conditions |
617 } | 696 } |
OLD | NEW |