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=="ia32" or target_arch=="x64"', { 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 ['target_arch=="mipsel"', { 89 'copies': [ 90 { 91 'destination': '>(tc_lib_dir_newlib_mips)', 92 'files': [ 93 'src/untrusted/irt_stub/libppapi.a', 94 ], 95 }, 96 ] 97 }] 98 ], 99 }, 100 { 101 'target_name': 'nacl_irt', 102 'type': 'none', 103 'variables': { 104 'nexe_target': 'nacl_irt', 105 # These out_* fields override the default filenames, which 106 # include a "_newlib" suffix and places them in the target 107 # directory. 108 'out_newlib64': '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe', 109 'out_newlib32': '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', 110 'out_newlib_arm': '<(PRODUCT_DIR)/nacl_irt_arm.nexe', 111 'out_newlib_mips': '<(PRODUCT_DIR)/nacl_irt_mips32.nexe', 112 'build_glibc': 0, 113 'build_newlib': 0, 114 'build_irt': 1, 115 'include_dirs': [ 116 'lib/gl/include', 117 '..', 118 ], 119 'link_flags': [ 120 '-Wl,--start-group', 121 '-lirt_browser', 122 '-llatency_info_nacl', 123 '-lpnacl_irt_shim_for_irt', 124 '-lppapi_proxy_nacl', 125 '-lppapi_ipc_nacl', 126 '-lppapi_shared_nacl', 127 '-lgles2_implementation_nacl', 128 '-lgles2_cmd_helper_nacl', 129 '-lgles2_utils_nacl', 130 '-lcommand_buffer_client_nacl', 131 '-lcommand_buffer_common_nacl', 132 '-ltracing_nacl', 133 '-lgpu_ipc_nacl', 134 '-lipc_nacl', 135 '-lbase_nacl', 136 '-lshared_memory_support_nacl', 137 '-lsrpc', 138 '-limc_syscalls', 139 '-lplatform', 140 '-lgio', 141 '-Wl,--end-group', 142 '-lm', 143 ], 144 'extra_args': [ 145 '--strip-all', 146 ], 147 'conditions': [ 148 # untrusted.gypi and build_nexe.py currently build 149 # both x86-32 and x86-64 whenever target_arch is some 150 # flavor of x86. However, on non-windows platforms 151 # we only need one architecture. 152 ['OS!="win" and target_arch=="ia32"', 153 { 154 'enable_x86_64': 0 155 } 156 ], 157 ['target_arch=="x64"', 158 { 159 'enable_x86_32': 0 160 } 161 ], 162 ['target_arch=="ia32" or target_arch=="x64"', { 163 'extra_deps_newlib64': [ 164 '>(tc_lib_dir_irt64)/libppapi_proxy_nacl.a', 165 '>(tc_lib_dir_irt64)/libppapi_ipc_nacl.a', 166 '>(tc_lib_dir_irt64)/libppapi_shared_nacl.a', 167 '>(tc_lib_dir_irt64)/libgles2_implementation_nacl.a', 168 '>(tc_lib_dir_irt64)/libcommand_buffer_client_nacl.a', 169 '>(tc_lib_dir_irt64)/libcommand_buffer_common_nacl.a', 170 '>(tc_lib_dir_irt64)/libgpu_ipc_nacl.a', 171 '>(tc_lib_dir_irt64)/libtracing_nacl.a', 172 '>(tc_lib_dir_irt64)/libgles2_cmd_helper_nacl.a', 173 '>(tc_lib_dir_irt64)/libgles2_utils_nacl.a', 174 '>(tc_lib_dir_irt64)/libipc_nacl.a', 175 '>(tc_lib_dir_irt64)/libbase_nacl.a', 176 '>(tc_lib_dir_irt64)/libirt_browser.a', 177 '>(tc_lib_dir_irt64)/libpnacl_irt_shim_for_irt.a', 178 '>(tc_lib_dir_irt64)/libshared_memory_support_nacl.a', 179 '>(tc_lib_dir_irt64)/libsrpc.a', 180 '>(tc_lib_dir_irt64)/libplatform.a', 181 '>(tc_lib_dir_irt64)/libimc_syscalls.a', 182 '>(tc_lib_dir_irt64)/libgio.a', 183 ], 184 'extra_deps_newlib32': [ 185 '>(tc_lib_dir_irt32)/libppapi_proxy_nacl.a', 186 '>(tc_lib_dir_irt32)/libppapi_ipc_nacl.a', 187 '>(tc_lib_dir_irt32)/libppapi_shared_nacl.a', 188 '>(tc_lib_dir_irt32)/libgles2_implementation_nacl.a', 189 '>(tc_lib_dir_irt32)/libcommand_buffer_client_nacl.a', 190 '>(tc_lib_dir_irt32)/libcommand_buffer_common_nacl.a', 191 '>(tc_lib_dir_irt32)/libgpu_ipc_nacl.a', 192 '>(tc_lib_dir_irt32)/libtracing_nacl.a', 193 '>(tc_lib_dir_irt32)/libgles2_cmd_helper_nacl.a', 194 '>(tc_lib_dir_irt32)/libgles2_utils_nacl.a', 195 '>(tc_lib_dir_irt32)/libipc_nacl.a', 196 '>(tc_lib_dir_irt32)/libbase_nacl.a', 197 '>(tc_lib_dir_irt32)/libirt_browser.a', 198 '>(tc_lib_dir_irt32)/libpnacl_irt_shim_for_irt.a', 199 '>(tc_lib_dir_irt32)/libshared_memory_support_nacl.a', 200 '>(tc_lib_dir_irt32)/libsrpc.a', 201 '>(tc_lib_dir_irt32)/libplatform.a', 202 '>(tc_lib_dir_irt32)/libimc_syscalls.a', 203 '>(tc_lib_dir_irt32)/libgio.a', 204 ], 205 }], 206 ['target_arch=="arm"', { 207 'extra_deps_arm': [ 208 '>(tc_lib_dir_irt_arm)/libppapi_proxy_nacl.a', 209 '>(tc_lib_dir_irt_arm)/libppapi_ipc_nacl.a', 210 '>(tc_lib_dir_irt_arm)/libppapi_shared_nacl.a', 211 '>(tc_lib_dir_irt_arm)/libgles2_implementation_nacl.a', 212 '>(tc_lib_dir_irt_arm)/libcommand_buffer_client_nacl.a', 213 '>(tc_lib_dir_irt_arm)/libcommand_buffer_common_nacl.a', 214 '>(tc_lib_dir_irt_arm)/libgpu_ipc_nacl.a', 215 '>(tc_lib_dir_irt_arm)/libtracing_nacl.a', 216 '>(tc_lib_dir_irt_arm)/libgles2_cmd_helper_nacl.a', 217 '>(tc_lib_dir_irt_arm)/libgles2_utils_nacl.a', 218 '>(tc_lib_dir_irt_arm)/libipc_nacl.a', 219 '>(tc_lib_dir_irt_arm)/libbase_nacl.a', 220 '>(tc_lib_dir_irt_arm)/libirt_browser.a', 221 '>(tc_lib_dir_irt_arm)/libpnacl_irt_shim_for_irt.a', 222 '>(tc_lib_dir_irt_arm)/libshared_memory_support_nacl.a', 223 '>(tc_lib_dir_irt_arm)/libsrpc.a', 224 '>(tc_lib_dir_irt_arm)/libplatform.a', 225 '>(tc_lib_dir_irt_arm)/libimc_syscalls.a', 226 '>(tc_lib_dir_irt_arm)/libgio.a', 227 ], 228 }], 229 ['target_arch=="mipsel"', { 230 'extra_deps_mips': [ 231 '>(tc_lib_dir_irt_mips)/libppapi_proxy_nacl.a', 232 '>(tc_lib_dir_irt_mips)/libppapi_ipc_nacl.a', 233 '>(tc_lib_dir_irt_mips)/libppapi_shared_nacl.a', 234 '>(tc_lib_dir_irt_mips)/libgles2_implementation_nacl.a', 235 '>(tc_lib_dir_irt_mips)/libcommand_buffer_client_nacl.a', 236 '>(tc_lib_dir_irt_mips)/libcommand_buffer_common_nacl.a', 237 '>(tc_lib_dir_irt_mips)/libgpu_ipc_nacl.a', 238 '>(tc_lib_dir_irt_mips)/libtracing_nacl.a', 239 '>(tc_lib_dir_irt_mips)/libgles2_cmd_helper_nacl.a', 240 '>(tc_lib_dir_irt_mips)/libgles2_utils_nacl.a', 241 '>(tc_lib_dir_irt_mips)/libipc_nacl.a', 242 '>(tc_lib_dir_irt_mips)/libbase_nacl.a', 243 '>(tc_lib_dir_irt_mips)/libirt_browser.a', 244 '>(tc_lib_dir_irt_mips)/libpnacl_irt_shim_for_irt.a', 245 '>(tc_lib_dir_irt_mips)/libshared_memory_support_nacl.a', 246 '>(tc_lib_dir_irt_mips)/libsrpc.a', 247 '>(tc_lib_dir_irt_mips)/libplatform.a', 248 '>(tc_lib_dir_irt_mips)/libimc_syscalls.a', 249 '>(tc_lib_dir_irt_mips)/libgio.a', 250 ], 251 }], 252 ], 253 }, 254 'dependencies': [ 255 'src/untrusted/pnacl_irt_shim/pnacl_irt_shim.gyp:shim_for_irt', 256 '../ppapi_proxy_nacl.gyp:ppapi_proxy_nacl', 257 '../ppapi_ipc_nacl.gyp:ppapi_ipc_nacl', 258 '../ppapi_shared_nacl.gyp:ppapi_shared_nacl', 259 '../../gpu/command_buffer/command_buffer_nacl.gyp:gles2_utils_nacl', 260 '../../gpu/gpu_nacl.gyp:command_buffer_client_nacl', 261 '../../gpu/gpu_nacl.gyp:command_buffer_common_nacl', 262 '../../gpu/gpu_nacl.gyp:gles2_implementation_nacl', 263 '../../gpu/gpu_nacl.gyp:gles2_cmd_helper_nacl', 264 '../../gpu/gpu_nacl.gyp:gpu_ipc_nacl', 265 '../../components/tracing_nacl.gyp:tracing_nacl', 266 '../../ipc/ipc_nacl.gyp:ipc_nacl', 267 '../../base/base_nacl.gyp:base_nacl', 268 '../../media/media_nacl.gyp:shared_memory_support_nacl', 269 '../../native_client/src/untrusted/irt/irt.gyp:irt_browser_lib', 270 '../../native_client/src/shared/srpc/srpc.gyp:srpc_lib', 271 '../../native_client/src/shared/platform/platform.gyp:platform_lib', 272 '../../native_client/src/tools/tls_edit/tls_edit.gyp:tls_edit#host', 273 '../../native_client/src/untrusted/nacl/nacl.gyp:imc_syscalls_lib', 274 '../../native_client/src/shared/gio/gio.gyp:gio_lib', 275 ], 276 }, 277 ], 278 }], 279 ], 280 } 281