blob: 1ac95322ac91c53be81c68274f5a452e8a3d8818 [file] [log] [blame]
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
'variables': {
'chromium_code': 1,
'includes': [
'conditions': [
['disable_nacl==0 and disable_nacl_untrusted==0', {
'targets': [
# nacl_helper_nonsfi is similar to nacl_helper (built in nacl.gyp)
# but for the NaCl plugin in Non-SFI mode.
# This binary is built using the PNaCl toolchain, but it is native
# linux binary and will run on Linux directly.
# Most library code can be shared with the one for untrusted build
# (i.e. the one for irt.nexe built by the NaCl/PNaCl toolchain), but
# as nacl_helper_nonsfi runs on Linux, there are some differences,
# such as MessageLoopForIO (which is based on libevent in Non-SFI
# mode) or ipc_channel implementation.
# Because of the toolchain, in both builds, OS_NACL macro (derived
# from __native_client__ macro) is defined. Code can test whether
# __native_client_nonsfi__ is #defined in order to determine
# whether it is being compiled for SFI mode or Non-SFI mode.
# Currently, nacl_helper_nonsfi is under development and the binary
# does nothing (i.e. it has only empty main(), now).
# TODO( Implement it then switch nacl_helper in
# Non-SFI mode to nacl_helper_nonsfi.
'target_name': 'nacl_helper_nonsfi',
'type': 'none',
'variables': {
'nacl_untrusted_build': 1,
'nexe_target': 'nacl_helper_nonsfi',
# Rename the output binary file to nacl_helper_nonsfi and put it
# directly under out/{Debug,Release}/.
'out_newlib32_nonsfi': '<(PRODUCT_DIR)/nacl_helper_nonsfi',
'build_glibc': 0,
'build_newlib': 0,
'build_irt': 0,
'build_pnacl_newlib': 0,
'build_nonsfi_helper': 1,
'sources': [
'conditions': [
['target_arch=="ia32" or target_arch=="x64"', {
'extra_deps_newlib32_nonsfi': [
'dependencies': [
# TODO(hidehiko): Add Non-SFI version of nacl_loader_unittests.