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

Side by Side Diff: ppapi/ppapi_nacl.gyp

Issue 452543002: Build only the appropriate x86 arches for nacl (chrome side). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix more Created 6 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « ppapi/native_client/native_client.gyp ('k') | ppapi/ppapi_nacl_test_common.gypi » ('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 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 GYP file defines untrusted (NaCl) targets. All targets in this 5 # This GYP file defines untrusted (NaCl) targets. All targets in this
6 # file should be conditionally depended upon via 'disable_nacl!=1' to avoid 6 # file should be conditionally depended upon via 'disable_nacl!=1' to avoid
7 # requiring NaCl sources for building. 7 # requiring NaCl sources for building.
8 8
9 { 9 {
10 'includes': [ 10 'includes': [
11 '../native_client/build/untrusted.gypi', 11 '../build/common_untrusted.gypi',
12 'ppapi_sources.gypi', 12 'ppapi_sources.gypi',
13 ], 13 ],
14 'targets': [ 14 'targets': [
15 { 15 {
16 'target_name': 'ppapi_cpp_lib', 16 'target_name': 'ppapi_cpp_lib',
17 'type': 'none', 17 'type': 'none',
18 'variables': { 18 'variables': {
19 'nlib_target': 'libppapi_cpp.a', 19 'nlib_target': 'libppapi_cpp.a',
20 'nso_target': 'libppapi_cpp.so', 20 'nso_target': 'libppapi_cpp.so',
21 'build_glibc': 1, 21 'build_glibc': 1,
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 '-lppapi', 93 '-lppapi',
94 '-pthread', 94 '-pthread',
95 ], 95 ],
96 'link_flags!': [ 96 'link_flags!': [
97 '-O3', 97 '-O3',
98 ], 98 ],
99 'translate_flags': [ 99 'translate_flags': [
100 '-O0', 100 '-O0',
101 ], 101 ],
102 'conditions': [ 102 'conditions': [
103 ['target_arch=="ia32" or target_arch=="x64"', { 103 ['target_arch=="ia32"', {
104 'extra_deps_newlib64': [
105 '>(tc_lib_dir_newlib64)/libppapi_cpp.a',
106 '>(tc_lib_dir_newlib64)/libppapi.a',
107 ],
108 'extra_deps_newlib32': [ 104 'extra_deps_newlib32': [
109 '>(tc_lib_dir_newlib32)/libppapi_cpp.a', 105 '>(tc_lib_dir_newlib32)/libppapi_cpp.a',
110 '>(tc_lib_dir_newlib32)/libppapi.a', 106 '>(tc_lib_dir_newlib32)/libppapi.a',
111 ], 107 ],
112 'extra_deps_glibc64': [
113 '>(tc_lib_dir_glibc64)/libppapi_cpp.so',
114 '>(tc_lib_dir_glibc64)/libppapi.so',
115 ],
116 'extra_deps_glibc32': [ 108 'extra_deps_glibc32': [
117 '>(tc_lib_dir_glibc32)/libppapi_cpp.so', 109 '>(tc_lib_dir_glibc32)/libppapi_cpp.so',
118 '>(tc_lib_dir_glibc32)/libppapi.so', 110 '>(tc_lib_dir_glibc32)/libppapi.so',
119 ], 111 ],
120 }], 112 }],
113 ['target_arch=="x64" or (target_arch=="ia32" and OS=="win")', {
114 'extra_deps_newlib64': [
115 '>(tc_lib_dir_newlib64)/libppapi_cpp.a',
116 '>(tc_lib_dir_newlib64)/libppapi.a',
117 ],
118 'extra_deps_glibc64': [
119 '>(tc_lib_dir_glibc64)/libppapi_cpp.so',
120 '>(tc_lib_dir_glibc64)/libppapi.so',
121 ],
122 }],
121 ['target_arch=="arm"', { 123 ['target_arch=="arm"', {
122 'extra_deps_arm': [ 124 'extra_deps_arm': [
123 '>(tc_lib_dir_newlib_arm)/libppapi_cpp.a', 125 '>(tc_lib_dir_newlib_arm)/libppapi_cpp.a',
124 '>(tc_lib_dir_newlib_arm)/libppapi.a', 126 '>(tc_lib_dir_newlib_arm)/libppapi.a',
125 ], 127 ],
126 }], 128 }],
127 ], 129 ],
128 'extra_deps_pnacl_newlib': [ 130 'extra_deps_pnacl_newlib': [
129 '>(tc_lib_dir_pnacl_newlib)/libppapi_cpp.a', 131 '>(tc_lib_dir_pnacl_newlib)/libppapi_cpp.a',
130 '>(tc_lib_dir_pnacl_newlib)/libppapi.a', 132 '>(tc_lib_dir_pnacl_newlib)/libppapi.a',
131 ], 133 ],
132 'sources': [ 134 'sources': [
133 '<@(test_common_source_files)', 135 '<@(test_common_source_files)',
134 '<@(test_nacl_source_files)', 136 '<@(test_nacl_source_files)',
135 ], 137 ],
136 'extra_args': [ 138 'extra_args': [
137 '--strip-all', 139 '--strip-all',
138 ], 140 ],
139 'create_nmf': '<(DEPTH)/native_client_sdk/src/tools/create_nmf.py', 141 'create_nmf': '<(DEPTH)/native_client_sdk/src/tools/create_nmf.py',
140 'create_nonsfi_test_nmf': 'tests/create_nonsfi_test_nmf.py', 142 'create_nonsfi_test_nmf': 'tests/create_nonsfi_test_nmf.py',
141 }, 143 },
142 'conditions': [ 144 'conditions': [
143 ['target_arch!="arm" and target_arch!="mipsel" and disable_glibc==0', { 145 ['(target_arch=="ia32" or target_arch=="x64") and disable_glibc==0', {
144 'variables': { 146 'variables': {
145 'build_glibc': 1, 147 'build_glibc': 1,
146 # NOTE: Use /lib, not /lib64 here; it is a symbolic link which 148 # NOTE: Use /lib, not /lib64 here; it is a symbolic link which
147 # doesn't work on Windows. 149 # doesn't work on Windows.
148 'libdir_glibc64': '>(nacl_glibc_tc_root)/x86_64-nacl/lib', 150 'libdir_glibc64': '>(nacl_glibc_tc_root)/x86_64-nacl/lib',
149 'libdir_glibc32': '>(nacl_glibc_tc_root)/x86_64-nacl/lib32', 151 'libdir_glibc32': '>(nacl_glibc_tc_root)/x86_64-nacl/lib32',
150 'nacl_objdump': '>(nacl_glibc_tc_root)/bin/x86_64-nacl-objdump', 152 'nacl_objdump': '>(nacl_glibc_tc_root)/bin/x86_64-nacl-objdump',
151 'nmf_glibc%': '<(PRODUCT_DIR)/>(nexe_target)_glibc.nmf', 153 'nmf_glibc%': '<(PRODUCT_DIR)/>(nexe_target)_glibc.nmf',
152 }, 154 },
153 'actions': [ 155 'actions': [
154 { 156 {
155 'action_name': 'Generate GLIBC NMF and copy libs', 157 'action_name': 'Generate GLIBC NMF and copy libs',
156 # NOTE: create_nmf must be first, it is the script python executes 158 # NOTE: create_nmf must be first, it is the script python executes
157 # below. 159 # below.
158 'inputs': ['>(create_nmf)', '>(out_glibc64)', '>(out_glibc32)'], 160 'inputs': ['>(create_nmf)'],
159 # NOTE: There is no explicit dependency for the lib32 161 # NOTE: There is no explicit dependency for the lib32
160 # and lib64 directories created in the PRODUCT_DIR. 162 # and lib64 directories created in the PRODUCT_DIR.
161 # They are created as a side-effect of NMF creation. 163 # They are created as a side-effect of NMF creation.
162 'outputs': ['>(nmf_glibc)'], 164 'outputs': ['>(nmf_glibc)'],
163 'action': [ 165 'action': [
164 'python', 166 'python',
165 '>@(_inputs)', 167 '>@(_inputs)',
166 '--objdump=>(nacl_objdump)', 168 '--objdump=>(nacl_objdump)',
167 '--library-path=>(libdir_glibc64)',
168 '--library-path=>(libdir_glibc32)',
169 '--library-path=>(tc_lib_dir_glibc32)',
170 '--library-path=>(tc_lib_dir_glibc64)',
171 '--output=>(nmf_glibc)', 169 '--output=>(nmf_glibc)',
172 '--stage-dependencies=<(PRODUCT_DIR)', 170 '--stage-dependencies=<(PRODUCT_DIR)',
173 ], 171 ],
172 'conditions': [
173 ['target_arch=="ia32"', {
174 'action': [
175 '--library-path=>(libdir_glibc32)',
176 '--library-path=>(tc_lib_dir_glibc32)',
177 ],
178 'inputs': ['>(out_glibc32)'],
179 }],
180 ['target_arch=="x64" or (target_arch=="ia32" and OS=="win")', {
181 'action': [
182 '--library-path=>(libdir_glibc64)',
183 '--library-path=>(tc_lib_dir_glibc64)',
184 ],
185 'inputs': ['>(out_glibc64)'],
186 }],
187 ],
174 }, 188 },
175 ], 189 ],
176 }], 190 }],
177 # Test PNaCl pre-translated code (pre-translated to save bot time). 191 # Test PNaCl pre-translated code (pre-translated to save bot time).
178 # We only care about testing that code generation is correct, 192 # We only care about testing that code generation is correct,
179 # and in-browser translation is tested elsewhere. 193 # and in-browser translation is tested elsewhere.
180 # NOTE: native_client/build/untrusted.gypi dictates that 194 # NOTE: native_client/build/untrusted.gypi dictates that
181 # PNaCl only generate x86-32 and x86-64 on x86 platforms, 195 # PNaCl only generate x86-32 and x86-64 on x86 platforms,
182 # ARM on ARM platforms, or MIPS on MIPS platforms, not all 196 # ARM on ARM platforms, or MIPS on MIPS platforms, not all
183 # versions always. 197 # versions always.
184 # The same goes for the PNaCl shims. So, we have two variations here. 198 # The same goes for the PNaCl shims. So, we have two variations here.
185 ['disable_pnacl==0 and (target_arch=="ia32" or target_arch=="x64")', { 199 ['disable_pnacl==0 and (target_arch=="ia32" or target_arch=="x64")', {
186 'variables': { 200 'variables': {
187 'build_pnacl_newlib': 1, 201 'build_pnacl_newlib': 1,
188 'translate_pexe_with_build': 1, 202 'translate_pexe_with_build': 1,
189 'nmf_pnacl%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl.nmf', 203 'nmf_pnacl%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl.nmf',
190 }, 204 },
191 # Shim is a dependency for the nexe because we pre-translate. 205 # Shim is a dependency for the nexe because we pre-translate.
192 'dependencies': [ 206 'dependencies': [
193 '<(DEPTH)/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt _shim.gyp:aot', 207 '<(DEPTH)/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt _shim.gyp:aot',
194 ], 208 ],
195 'actions': [ 209 'actions': [
196 { 210 {
197 'action_name': 'Generate PNACL NEWLIB NMF', 211 'action_name': 'Generate PNACL NEWLIB NMF',
198 # NOTE: create_nmf must be first, it is the script python executes 212 # NOTE: create_nmf must be first, it is the script python executes
199 # below. 213 # below.
200 'inputs': [ 214 'inputs': [
201 '>(create_nmf)', 215 '>(create_nmf)',
202 '>(out_pnacl_newlib_x86_32_nexe)',
203 '>(out_pnacl_newlib_x86_64_nexe)'
204 ], 216 ],
205 'outputs': ['>(nmf_pnacl)'], 217 'outputs': ['>(nmf_pnacl)'],
206 'action': [ 218 'action': [
207 'python', 219 'python',
208 '>@(_inputs)', 220 '>@(_inputs)',
209 '--output=>(nmf_pnacl)', 221 '--output=>(nmf_pnacl)',
210 ], 222 ],
223 'conditions': [
224 ['target_arch=="ia32"', {
225 'inputs': [
226 '>(out_pnacl_newlib_x86_32_nexe)',
227 ],
228 }],
229 ['target_arch=="x64" or (target_arch=="ia32" and OS=="win")', {
230 'inputs': [
231 '>(out_pnacl_newlib_x86_64_nexe)',
232 ],
233 }],
234 ],
211 }, 235 },
212 ], 236 ],
213 }], 237 }],
214 ['disable_pnacl==0 and target_arch=="ia32" and OS=="linux"', { 238 ['disable_pnacl==0 and target_arch=="ia32" and OS=="linux"', {
215 # In addition to above configuration, build x86-32-nonsfi .nexe file 239 # In addition to above configuration, build x86-32-nonsfi .nexe file
216 # by translating from .pexe binary, for non-SFI mode PPAPI testing. 240 # by translating from .pexe binary, for non-SFI mode PPAPI testing.
217 'variables': { 241 'variables': {
218 'enable_x86_32_nonsfi': 1, 242 'enable_x86_32_nonsfi': 1,
219 'translate_pexe_with_build': 1, 243 'translate_pexe_with_build': 1,
220 'nmf_nonsfi%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_nonsfi.nmf', 244 'nmf_nonsfi%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_nonsfi.nmf',
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 '>@(_inputs)', 306 '>@(_inputs)',
283 '--output=>(nmf_pnacl)', 307 '--output=>(nmf_pnacl)',
284 ], 308 ],
285 }, 309 },
286 ], 310 ],
287 }], 311 }],
288 ], 312 ],
289 }, 313 },
290 ], 314 ],
291 } 315 }
OLDNEW
« no previous file with comments | « ppapi/native_client/native_client.gyp ('k') | ppapi/ppapi_nacl_test_common.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698