summaryrefslogtreecommitdiffstats
path: root/chromium/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp')
-rw-r--r--chromium/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp95
1 files changed, 79 insertions, 16 deletions
diff --git a/chromium/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp b/chromium/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp
index 787d6206b29..d3d5f2a11a4 100644
--- a/chromium/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp
+++ b/chromium/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp
@@ -8,35 +8,98 @@
],
'targets': [
{
- 'target_name': 'pnacl_irt_shim',
+ # The full library, which PNaCl uses for offline .pexe -> .nexe.
+ # We keep the target names in this file short to avoid having really long
+ # path names on Windows.
+ # https://code.google.com/p/nativeclient/issues/detail?id=3846
+ 'target_name': 'shim_aot',
'type': 'none',
'variables': {
'nlib_target': 'libpnacl_irt_shim.a',
- 'out_newlib_arm': '>(tc_lib_dir_pnacl_translate)/lib-arm/libpnacl_irt_shim.a',
- 'out_newlib32': '>(tc_lib_dir_pnacl_translate)/lib-x86-32/libpnacl_irt_shim.a',
- 'out_newlib64': '>(tc_lib_dir_pnacl_translate)/lib-x86-64/libpnacl_irt_shim.a',
+ 'out_pnacl_newlib_arm': '>(tc_lib_dir_pnacl_translate)/lib-arm/>(nlib_target)',
+ 'out_pnacl_newlib_x86_32': '>(tc_lib_dir_pnacl_translate)/lib-x86-32/>(nlib_target)',
+ 'out_pnacl_newlib_x86_64': '>(tc_lib_dir_pnacl_translate)/lib-x86-64/>(nlib_target)',
+ 'out_pnacl_newlib_mips': '>(tc_lib_dir_pnacl_translate)/lib-mips32/>(nlib_target)',
+ 'out_pnacl_newlib_x86_32_nonsfi': '>(tc_lib_dir_pnacl_translate)/lib-x86-32-nonsfi/>(nlib_target)',
'build_glibc': 0,
- 'build_newlib': 1,
- 'force_arm_pnacl': 1,
+ 'build_newlib': 0,
+ 'build_pnacl_newlib': 1,
+ 'pnacl_native_biased': 1,
+ 'enable_x86_32': 1,
+ 'enable_x86_64': 1,
+ 'enable_arm': 1,
+ 'enable_mips': 1,
+ 'enable_x86_32_nonsfi': 1,
'sources': [
+ 'irt_shim_ppapi.c',
'pnacl_shim.c',
'shim_entry.c',
'shim_ppapi.c',
],
- 'include_dirs': [
- '../../../..',
+ 'extra_args': [
+ '--strip-debug',
+ ],
+ # Indicate that shim should not depend on unstable IRT hook interface.
+ 'compile_flags': [
+ '-DPNACL_SHIM_AOT',
+ ],
+ },
+ 'dependencies': [
+ '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
+ ],
+ },
+ # Smaller shim library for PNaCl in-browser translation.
+ # Uses an unstable IRT hook interface to get the shim from the IRT itself.
+ # If we ever change that hook interface or change the in-IRT shim's ABI,
+ # we would need to clear the translation cache to match the new IRT.
+ {
+ 'target_name': 'shim_browser',
+ 'type': 'none',
+ 'variables': {
+ # Same output file name as shim_aot, so that we don't need to change
+ # the linker commandlines, but output to the "for_browser" directory,
+ # and have the pnacl_support_extension copy from that directory.
+ 'nlib_target': 'libpnacl_irt_shim.a',
+ 'out_pnacl_newlib_arm': '>(tc_lib_dir_pnacl_translate)/lib-arm/for_browser/>(nlib_target)',
+ 'out_pnacl_newlib_x86_32': '>(tc_lib_dir_pnacl_translate)/lib-x86-32/for_browser/>(nlib_target)',
+ 'out_pnacl_newlib_x86_64': '>(tc_lib_dir_pnacl_translate)/lib-x86-64/for_browser/>(nlib_target)',
+ 'out_pnacl_newlib_mips': '>(tc_lib_dir_pnacl_translate)/lib-mips32/for_browser/>(nlib_target)',
+ 'build_glibc': 0,
+ 'build_newlib': 0,
+ 'build_pnacl_newlib': 1,
+ 'pnacl_native_biased': 1,
+ 'enable_x86_32': 1,
+ 'enable_x86_64': 1,
+ 'enable_arm': 1,
+ 'enable_mips': 1,
+ 'sources': [
+ 'shim_entry.c',
+ 'shim_ppapi.c',
],
'extra_args': [
'--strip-debug',
],
- 'conditions': [
- ['target_arch=="arm"', {
- 'compile_flags': [
- '--pnacl-allow-translate',
- '--pnacl-allow-native',
- '-arch', 'arm',
- ],
- }],
+ },
+ 'dependencies': [
+ '<(DEPTH)/native_client/tools.gyp:prep_toolchain',
+ ],
+ },
+ {
+ # Second half of shim library for PNaCl in-browser translation.
+ # This half goes into the IRT and is returned by the unstable
+ # IRT hook interface.
+ 'target_name': 'shim_for_irt',
+ 'type': 'none',
+ 'variables': {
+ 'nlib_target': 'libpnacl_irt_shim_for_irt.a',
+ 'build_glibc': 0,
+ 'build_newlib': 0,
+ # Unlike the above, build this the way the IRT is built so that the
+ # output library directories match the IRT linking search paths.
+ 'build_irt': 1,
+ 'sources': [
+ 'irt_shim_ppapi.c',
+ 'pnacl_shim.c',
],
},
'dependencies': [