1 # Copyright (c) 2012 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 { 6 'includes': [ 7 '../../build/common_untrusted.gypi', 8 ], 9 'conditions': [ 10 ['disable_nacl==0 and disable_nacl_untrusted==0', { 11 'targets': [ 12 { 13 'target_name': 'ppapi_lib', 14 'type': 'none', 15 'dependencies': [ 16 '../../native_client/src/untrusted/pthread/pthread.gyp:pthread_lib', 17 'src/untrusted/irt_stub/irt_stub.gyp:ppapi_stub_lib', 18 ], 19 'include_dirs': [ 20 '..', 21 ], 22 'copies': [ 23 { 24 'destination': '>(tc_include_dir_newlib)/nacl', 25 'files': [ 26 'src/trusted/weak_ref/call_on_main_thread.h', 27 'src/shared/ppapi_proxy/ppruntime.h', 28 ], 29 }, 30 31 { 32 'destination': '>(tc_lib_dir_pnacl_newlib)', 33 'files': [ 34 'src/untrusted/irt_stub/libppapi.a', 35 ], 36 }, 37 ], 38 'conditions': [ 39 ['target_arch!="arm"', { 40 'copies': [ 41 { 42 'destination': '>(tc_include_dir_glibc)/include/nacl', 43 'files': [ 44 'src/trusted/weak_ref/call_on_main_thread.h', 45 'src/shared/ppapi_proxy/ppruntime.h', 46 ], 47 }, 48 # Here we copy linker scripts out of the Native Client repo.. 49 # These are source, not build artifacts. 50 { 51 'destination': '>(tc_lib_dir_newlib32)', 52 'files': [ 53 'src/untrusted/irt_stub/libppapi.a', 54 ], 55 }, 56 { 57 'destination': '>(tc_lib_dir_newlib64)', 58 'files': [ 59 'src/untrusted/irt_stub/libppapi.a', 60 ], 61 }, 62 { 63 'destination': '>(tc_lib_dir_glibc32)', 64 'files': [ 65 'src/untrusted/irt_stub/libppapi.a', 66 'src/untrusted/irt_stub/libppapi.so', 67 ], 68 }, 69 { 70 'destination': '>(tc_lib_dir_glibc64)', 71 'files': [ 72 'src/untrusted/irt_stub/libppapi.a', 73 'src/untrusted/irt_stub/libppapi.so', 74 ], 75 }, 76 ] 77 }], 78 ['target_arch=="arm"', { 79 'copies': [ 80 { 81 'destination': '>(tc_lib_dir_newlib_arm)', 82 'files': [ 83 'src/untrusted/irt_stub/libppapi.a', 84 ], 85 }, 86 ] 87 }] 88 ], 89 }, 90 { 91 'target_name': 'nacl_irt', 92 'type': 'none', 93 'variables': { 94 'nexe_target': 'nacl_irt', 95 # These out_* fields override the default filenames, which 96 # include a "_newlib" suffix. 97 'out_newlib64': '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe', 98 'out_newlib32': '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', 99 'out_newlib_arm': '<(PRODUCT_DIR)/nacl_irt_arm.nexe', 100 'build_glibc': 0, 101 'build_newlib': 0, 102 'build_irt': 1, 103 'include_dirs': [ 104 'lib/gl/include', 105 '..', 106 ], 107 'link_flags': [ 108 '-Wl,--start-group', 109 '-lirt_browser', 110 '-lppapi_proxy_untrusted', 111 '-lppapi_ipc_untrusted', 112 '-lppapi_shared_untrusted', 113 '-lgles2_implementation_untrusted', 114 '-lgles2_cmd_helper_untrusted', 115 '-lgles2_utils_untrusted', 116 '-lcommand_buffer_client_untrusted', 117 '-lcommand_buffer_common_untrusted', 118 '-ltracing_untrusted', 119 '-lgpu_ipc_untrusted', 120 '-lipc_untrusted', 121 '-lbase_untrusted', 122 '-lshared_memory_support_untrusted', 123 '-lsrpc', 124 '-limc_syscalls', 125 '-lplatform', 126 '-lgio', 127 '-Wl,--end-group', 128 '-lm', 129 ], 130 'extra_args': [ 131 '--strip-all', 132 ], 133 'conditions': [ 134 # untrusted.gypi and build_nexe.py currently build 135 # both x86-32 and x86-64 whenever target_arch is some 136 # flavor of x86. However, on non-windows platforms 137 # we only need one architecture. 138 ['OS!="win" and target_arch=="ia32"', 139 { 140 'enable_x86_64': 0 141 } 142 ], 143 ['target_arch=="x64"', 144 { 145 'enable_x86_32': 0 146 } 147 ], 148 ['target_arch!="arm"', { 149 'extra_deps_newlib64': [ 150 '>(tc_lib_dir_irt64)/libppapi_proxy_untrusted.a', 151 '>(tc_lib_dir_irt64)/libppapi_ipc_untrusted.a', 152 '>(tc_lib_dir_irt64)/libppapi_shared_untrusted.a', 153 '>(tc_lib_dir_irt64)/libgles2_implementation_untrusted.a', 154 '>(tc_lib_dir_irt64)/libcommand_buffer_client_untrusted.a', 155 '>(tc_lib_dir_irt64)/libcommand_buffer_common_untrusted.a', 156 '>(tc_lib_dir_irt64)/libgpu_ipc_untrusted.a', 157 '>(tc_lib_dir_irt64)/libtracing_untrusted.a', 158 '>(tc_lib_dir_irt64)/libgles2_cmd_helper_untrusted.a', 159 '>(tc_lib_dir_irt64)/libgles2_utils_untrusted.a', 160 '>(tc_lib_dir_irt64)/libipc_untrusted.a', 161 '>(tc_lib_dir_irt64)/libbase_untrusted.a', 162 '>(tc_lib_dir_irt64)/libirt_browser.a', 163 '>(tc_lib_dir_irt64)/libshared_memory_support_untrusted.a', 164 '>(tc_lib_dir_irt64)/libsrpc.a', 165 '>(tc_lib_dir_irt64)/libplatform.a', 166 '>(tc_lib_dir_irt64)/libimc_syscalls.a', 167 '>(tc_lib_dir_irt64)/libgio.a', 168 ], 169 'extra_deps_newlib32': [ 170 '>(tc_lib_dir_irt32)/libppapi_proxy_untrusted.a', 171 '>(tc_lib_dir_irt32)/libppapi_ipc_untrusted.a', 172 '>(tc_lib_dir_irt32)/libppapi_shared_untrusted.a', 173 '>(tc_lib_dir_irt32)/libgles2_implementation_untrusted.a', 174 '>(tc_lib_dir_irt32)/libcommand_buffer_client_untrusted.a', 175 '>(tc_lib_dir_irt32)/libcommand_buffer_common_untrusted.a', 176 '>(tc_lib_dir_irt32)/libgpu_ipc_untrusted.a', 177 '>(tc_lib_dir_irt32)/libtracing_untrusted.a', 178 '>(tc_lib_dir_irt32)/libgles2_cmd_helper_untrusted.a', 179 '>(tc_lib_dir_irt32)/libgles2_utils_untrusted.a', 180 '>(tc_lib_dir_irt32)/libipc_untrusted.a', 181 '>(tc_lib_dir_irt32)/libbase_untrusted.a', 182 '>(tc_lib_dir_irt32)/libirt_browser.a', 183 '>(tc_lib_dir_irt32)/libshared_memory_support_untrusted.a', 184 '>(tc_lib_dir_irt32)/libsrpc.a', 185 '>(tc_lib_dir_irt32)/libplatform.a', 186 '>(tc_lib_dir_irt32)/libimc_syscalls.a', 187 '>(tc_lib_dir_irt32)/libgio.a', 188 ], 189 }], 190 ['target_arch=="arm"', { 191 'extra_deps_arm': [ 192 '>(tc_lib_dir_irt_arm)/libppapi_proxy_untrusted.a', 193 '>(tc_lib_dir_irt_arm)/libppapi_ipc_untrusted.a', 194 '>(tc_lib_dir_irt_arm)/libppapi_shared_untrusted.a', 195 '>(tc_lib_dir_irt_arm)/libgles2_implementation_untrusted.a', 196 '>(tc_lib_dir_irt_arm)/libcommand_buffer_client_untrusted.a', 197 '>(tc_lib_dir_irt_arm)/libcommand_buffer_common_untrusted.a', 198 '>(tc_lib_dir_irt_arm)/libgpu_ipc_untrusted.a', 199 '>(tc_lib_dir_irt_arm)/libtracing_untrusted.a', 200 '>(tc_lib_dir_irt_arm)/libgles2_cmd_helper_untrusted.a', 201 '>(tc_lib_dir_irt_arm)/libgles2_utils_untrusted.a', 202 '>(tc_lib_dir_irt_arm)/libipc_untrusted.a', 203 '>(tc_lib_dir_irt_arm)/libbase_untrusted.a', 204 '>(tc_lib_dir_irt_arm)/libirt_browser.a', 205 '>(tc_lib_dir_irt_arm)/libshared_memory_support_untrusted.a', 206 '>(tc_lib_dir_irt_arm)/libsrpc.a', 207 '>(tc_lib_dir_irt_arm)/libplatform.a', 208 '>(tc_lib_dir_irt_arm)/libimc_syscalls.a', 209 '>(tc_lib_dir_irt_arm)/libgio.a', 210 ], 211 }], 212 ], 213 }, 214 'dependencies': [ 215 '../ppapi_proxy_untrusted.gyp:ppapi_proxy_untrusted', 216 '../ppapi_ipc_untrusted.gyp:ppapi_ipc_untrusted', 217 '../ppapi_shared_untrusted.gyp:ppapi_shared_untrusted', 218 '../../gpu/command_buffer/command_buffer_untrusted.gyp:gles2_utils_untrusted', 219 '../../gpu/gpu_untrusted.gyp:command_buffer_client_untrusted', 220 '../../gpu/gpu_untrusted.gyp:command_buffer_common_untrusted', 221 '../../gpu/gpu_untrusted.gyp:gles2_implementation_untrusted', 222 '../../gpu/gpu_untrusted.gyp:gles2_cmd_helper_untrusted', 223 '../../gpu/gpu_untrusted.gyp:gpu_ipc_untrusted', 224 '../../components/tracing_untrusted.gyp:tracing_untrusted', 225 '../../ipc/ipc_untrusted.gyp:ipc_untrusted', 226 '../../base/base_untrusted.gyp:base_untrusted', 227 '../../media/media_untrusted.gyp:shared_memory_support_untrusted', 228 '../../native_client/src/untrusted/irt/irt.gyp:irt_browser_lib', 229 '../../native_client/src/shared/srpc/srpc.gyp:srpc_lib', 230 '../../native_client/src/shared/platform/platform.gyp:platform_lib', 231 '../../native_client/src/untrusted/nacl/nacl.gyp:imc_syscalls_lib', 232 '../../native_client/src/shared/gio/gio.gyp:gio_lib', 233 ], 234 }, 235 ], 236 }], 237 ], 238 } 239