Index: src/untrusted/irt/nacl.scons |
=================================================================== |
--- src/untrusted/irt/nacl.scons (revision 9574) |
+++ src/untrusted/irt/nacl.scons (working copy) |
@@ -3,6 +3,7 @@ |
# Use of this source code is governed by a BSD-style license that can be |
# found in the LICENSE file. |
+import os |
Import('env') |
@@ -106,9 +107,34 @@ |
'm', |
] |
+# We may want to move this into ppruntime in the future to limit |
+# visibility to ppapi/generators |
+def GetPNaClShimSource(env): |
+ if not env.Bit('target_x86_64'): |
+ return 'shim_dummy.c' |
+ |
+ # Generate a 'pnacl_shim.c' |
+ # API code |
+ api_glob = env.Glob('${SOURCE_ROOT}/ppapi/api/*.idl') |
+ api_dev_glob = env.Glob('${SOURCE_ROOT}/ppapi/api/dev/*.idl') |
+ all_api = [f.abspath for f in api_glob + api_dev_glob] |
+ # Python code |
+ generators_glob = env.Glob('${SOURCE_ROOT}/ppapi/generators/*.py') |
+ return env.Command( |
+ 'pnacl_irt_shim.c', |
+ (api_glob + api_dev_glob + generators_glob), |
+ ('${PYTHON} ' + |
+ '${SOURCE_ROOT}/ppapi/generators/generator.py ' + |
+ '--srcroot=' + os.path.join('${SOURCE_ROOT}', 'ppapi', 'api') + ' ' + |
+ '--wnone --pnacl --pnaclshim=${TARGETS} ' + ' '.join(all_api))) |
+ |
+irt_shim_obj = blob_env.ComponentObject(GetPNaClShimSource(blob_env)) |
+ |
+ |
def LinkIrt(output, files, libs): |
return blob_env.ComponentProgram(output, |
- [irt_entry_obj] + irt_support_objs + files, |
+ [irt_entry_obj, irt_shim_obj] + |
+ irt_support_objs + files, |
EXTRA_LIBS=libs + irt_libs) |
irt_core_library = LinkIrt('irt_core', irt_nonbrowser, []) |