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

Unified Diff: src/untrusted/irt/nacl.scons

Issue 10826171: Incorporate shimming into the irt (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: Created 8 years, 4 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
Index: src/untrusted/irt/nacl.scons
===================================================================
--- src/untrusted/irt/nacl.scons (revision 9381)
+++ 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')
@@ -20,6 +21,29 @@
else:
blob_env.Append(LINKFLAGS='-Wl,-Ttext-segment=${IRT_BLOB_CODE_START}')
+# 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))
+
irt_support_sources = [
'irt_malloc.c',
'irt_private_pthread.c',
@@ -44,6 +68,7 @@
'irt_tls.c',
'irt_blockhook.c',
'irt_clock.c',
+ 'irt_control.c',
'irt_dev_exception_handling.c',
]
@@ -100,7 +125,8 @@
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_core_library = LinkIrt('irt_core', irt_nonbrowser, [])

Powered by Google App Engine
This is Rietveld 408576698