OLD | NEW |
(Empty) | |
| 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. |
| 4 |
| 5 # This builds the PNaCl IRT shim with nacl-gcc for x64. |
| 6 # Since it is built by nacl-gcc, it will be in the nacl-gcc build |
| 7 # directory. This means that PNaCl tests will need to pull this build |
| 8 # artifact out of the nacl-gcc build directory, and nacl-gcc will need |
| 9 # to ignore this build artifact when packaging the nacl-gcc SDK... |
| 10 |
| 11 # This should not build if 'disable_nacl=1'. |
| 12 |
| 13 { |
| 14 'variables': { |
| 15 # Define p2p_apis for ppapi_sources.gypi, in case it wasn't already defined. |
| 16 # Somehow other gyp files get away with not defining this. |
| 17 'p2p_apis': 1, |
| 18 'glob_files': [ |
| 19 '>(python_exe)', '<(DEPTH)/native_client/build/gyp_glob.py', |
| 20 ], |
| 21 }, |
| 22 'includes': [ |
| 23 '../native_client/build/common.gypi', |
| 24 'ppapi_sources.gypi', |
| 25 ], |
| 26 'conditions': [ |
| 27 # This library is only for x86-64 for now |
| 28 # (the windows build always includes 64-bit). |
| 29 # We may introduce a dummy shim to make it uniform. |
| 30 ['target_arch=="x64" or OS=="win"', { |
| 31 'targets' : [ |
| 32 { |
| 33 'target_name': 'shim_generated_source', |
| 34 'type': 'none', |
| 35 'actions' : [ |
| 36 { |
| 37 'action_name': 'generate_shim_source', |
| 38 'msvs_cygwin_shell': 0, |
| 39 'description': 'generating the pnacl IRT shim', |
| 40 'inputs': [ |
| 41 # Potentially all python scripts in the generators directory. |
| 42 '>!@(<(glob_files) generators/ *.py)', |
| 43 # Potentially all IDL files in the API and DEV-API directory. |
| 44 '>!@(<(glob_files) api/ *.idl)', |
| 45 '>!@(<(glob_files) api/dev/ *.idl)', |
| 46 ], |
| 47 'outputs': [ |
| 48 '<(SHARED_INTERMEDIATE_DIR)/pnacl_shim.c', |
| 49 ], |
| 50 'action': [ |
| 51 '>(python_exe)', |
| 52 'generators/generator.py', |
| 53 '--srcroot=api', |
| 54 '--wnone', |
| 55 '--pnacl', |
| 56 '--pnaclshim=<(SHARED_INTERMEDIATE_DIR)/pnacl_shim.c', |
| 57 ], |
| 58 }, |
| 59 ], |
| 60 }, |
| 61 { |
| 62 'target_name': 'pnacl_irt_shim_lib', |
| 63 'type': 'none', |
| 64 'variables': { |
| 65 'nlib_target': 'libpnacl_irt_shim.a', |
| 66 'build_glibc': 1, |
| 67 'build_newlib': 1, |
| 68 'generated_sources': ['<(SHARED_INTERMEDIATE_DIR)/pnacl_shim.c'], |
| 69 'generated_src_deps': [ |
| 70 'generators/pnacl_shim.h', |
| 71 # <@(c_sources) will list the checked-in ppapi headers. |
| 72 # TODO(jvoung): If we decide to generate the headers as a |
| 73 # build step, instead of using the checked-in headers, list |
| 74 # that builder as a dependency instead. |
| 75 '<@(c_sources)', |
| 76 ], |
| 77 'sources': [ |
| 78 '<(DEPTH)/native_client/src/untrusted/pnacl_irt_shim/shim_entry.c'
, |
| 79 '<(DEPTH)/native_client/src/untrusted/pnacl_irt_shim/shim_ppapi.c'
, |
| 80 ], |
| 81 'include_dirs': [ |
| 82 '.', |
| 83 './generators', |
| 84 ], |
| 85 }, |
| 86 'dependencies': [ |
| 87 'shim_generated_source', |
| 88 '<(DEPTH)/native_client/tools.gyp:prep_toolchain', |
| 89 ], |
| 90 }, |
| 91 ], |
| 92 }], |
| 93 ], |
| 94 } |
OLD | NEW |