| Index: build/untrusted.gypi
|
| diff --git a/build/untrusted.gypi b/build/untrusted.gypi
|
| index 87cff89fba4226cd3f1bcdb602afa6d20022561e..a7b4ea9f1a5e92881c97cdc36dc2d7f5f26b89b6 100755
|
| --- a/build/untrusted.gypi
|
| +++ b/build/untrusted.gypi
|
| @@ -85,6 +85,7 @@
|
| 'enable_arm': 0,
|
| 'enable_mips': 0,
|
| 'enable_x86_32_nonsfi': 0,
|
| + 'enable_arm_nonsfi': 0,
|
| 'nacl_glibc_tc_root': '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/nacl_x86_glibc',
|
| 'nacl_newlib_tc_root': '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/nacl_x86_newlib',
|
| 'tc_lib_dir_newlib32': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32',
|
| @@ -141,8 +142,10 @@
|
| 'enable_arm': 1,
|
| 'enable_mips': 0,
|
| 'enable_x86_32_nonsfi': 0,
|
| + 'enable_arm_nonsfi': 0,
|
| 'extra_deps': [],
|
| 'extra_deps_newlib_arm': [],
|
| + 'extra_deps_newlib_arm_nonsfi': [],
|
| 'extra_deps_bionic_arm': [],
|
| 'native_sources': [],
|
| 'nacl_glibc_tc_root': '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/nacl_arm_glibc',
|
| @@ -150,6 +153,7 @@
|
| 'tc_lib_dir_bionic_arm': '<(SHARED_INTERMEDIATE_DIR)/tc_bionic/libarm',
|
| 'tc_lib_dir_newlib_arm': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm',
|
| 'tc_lib_dir_irt_arm': '<(SHARED_INTERMEDIATE_DIR)/tc_irt/libarm',
|
| + 'tc_lib_dir_nonsfi_helper_arm': '<(SHARED_INTERMEDIATE_DIR)/tc_nonsfi_helper/libarm',
|
| 'tc_include_dir_newlib': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/include',
|
| 'tc_include_dir_bionic': '<(SHARED_INTERMEDIATE_DIR)/tc_bionic/include',
|
| 'include_dirs': ['<(DEPTH)'],
|
| @@ -186,6 +190,7 @@
|
| 'enable_arm': 0,
|
| 'enable_mips': 1,
|
| 'enable_x86_32_nonsfi': 0,
|
| + 'enable_arm_nonsfi': 0,
|
| 'extra_deps': [],
|
| 'extra_deps_newlib_mips': [],
|
| 'native_sources': [],
|
| @@ -854,6 +859,48 @@
|
| },
|
| ],
|
| }],
|
| + # ARM helper library build or PNaCl PPAPI shim for nonsfi
|
| + # build.
|
| + ['nlib_target!="" and (build_nonsfi_helper!=0 or (pnacl_native_biased!=0 and enable_arm_nonsfi==1))', {
|
| + 'variables': {
|
| + 'tool_name': 'nonsfi_helper',
|
| + 'out_newlib_arm_nonsfi%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool_name)/libarm/>(nlib_target)',
|
| + 'objdir_newlib_arm_nonsfi%': '>(INTERMEDIATE_DIR)/<(tool_name)-arm-nonsfi/>(_target_name)',
|
| + },
|
| + 'actions': [
|
| + {
|
| + 'action_name': 'build nonsfi_helper arm nlib',
|
| + 'variables': {
|
| + 'source_list_newlib_arm_nonsfi%': '^|(<(tool_name)-arm-nonsfi.>(_target_name).source_list.gypcmd ^(_sources) ^(sources))',
|
| + },
|
| + 'msvs_cygwin_shell': 0,
|
| + 'description': 'building >(out_newlib_arm_nonsfi)',
|
| + 'inputs': [
|
| + '<(DEPTH)/native_client/build/build_nexe.py',
|
| + '>!@pymod_do_main(scan_sources -I . >(include_dirs) >(_include_dirs) -S >(sources) >(_sources))',
|
| + '>@(extra_deps)',
|
| + '>@(extra_deps_newlib_arm_nonsfi)',
|
| + '^(source_list_newlib_arm_nonsfi)',
|
| + '<(SHARED_INTERMEDIATE_DIR)/sdk/<(TOOLCHAIN_OS)_x86/nacl_arm_newlib/stamp.prep',
|
| + ],
|
| + 'outputs': ['>(out_newlib_arm_nonsfi)'],
|
| + 'action': [
|
| + '<@(common_args)',
|
| + '>@(extra_args)',
|
| + '--arch', 'arm-nonsfi',
|
| + '--build', 'newlib_nlib_pnacl',
|
| + '--name', '>(out_newlib_arm_nonsfi)',
|
| + '--objdir', '>(objdir_newlib_arm_nonsfi)',
|
| + '--include-dirs=>(tc_include_dir_newlib) <(DEPTH)/native_client/src/public/linux_syscalls ^(include_dirs) >(_include_dirs)',
|
| + '--compile_flags=--target=armv7-unknown-nacl-gnueabi --pnacl-bias=arm-nonsfi --pnacl-allow-translate --pnacl-allow-native -arch arm-nonsfi -mfloat-abi=hard ^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
|
| + '--gomadir', '<(gomadir)',
|
| + '--defines=^(defines) >(_defines)',
|
| + '--link_flags=-B>(tc_lib_dir_nonsfi_helper_arm) ^(link_flags) >(_link_flags)',
|
| + '--source-list=^(source_list_newlib_arm_nonsfi)',
|
| + ],
|
| + },
|
| + ],
|
| + }],
|
| ], # end target_conditions for arm newlib (nexe/nlib)
|
| },
|
| }], # end target_arch = arm
|
| @@ -1345,6 +1392,7 @@
|
| 'out_pnacl_newlib_arm_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_newlib_arm.nexe',
|
| 'out_pnacl_newlib_mips_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_newlib_mips32.nexe',
|
| 'out_pnacl_newlib_x86_32_nonsfi_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_newlib_x32_nonsfi.nexe',
|
| + 'out_pnacl_newlib_arm_nonsfi_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_newlib_arm_nonsfi.nexe',
|
| 'tool_name': 'pnacl_newlib',
|
| 'inst_dir': '<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_newlib',
|
| 'out_pnacl_newlib%': '<(PRODUCT_DIR)/>(nexe_target)_newlib.pexe',
|
| @@ -1477,6 +1525,28 @@
|
| ],
|
| }],
|
| }],
|
| + [ 'enable_arm_nonsfi!=0 and translate_pexe_with_build!=0', {
|
| + 'actions': [{
|
| + 'action_name': 'translate newlib pexe to ARM-nonsfi nexe',
|
| + 'msvs_cygwin_shell': 0,
|
| + 'description': 'translating >(out_pnacl_newlib_arm_nonsfi_nexe)',
|
| + 'inputs': [
|
| + # Having this in the input somehow causes devenv warnings
|
| + # when building pnacl browser tests.
|
| + # '<(DEPTH)/native_client/build/build_nexe.py',
|
| + '>(out_pnacl_newlib)',
|
| + ],
|
| + 'outputs': [ '>(out_pnacl_newlib_arm_nonsfi_nexe)' ],
|
| + 'action' : [
|
| + '<@(common_args)',
|
| + '--arch', 'arm-nonsfi',
|
| + '--build', 'newlib_translate',
|
| + '--name', '>(out_pnacl_newlib_arm_nonsfi_nexe)',
|
| + '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L>(tc_lib_dir_pnacl_translate)/lib-arm-nonsfi',
|
| + '>(out_pnacl_newlib)',
|
| + ],
|
| + }],
|
| + }],
|
| [ 'enable_mips!=0 and translate_pexe_with_build!=0', {
|
| 'actions': [{
|
| 'action_name': 'translate newlib pexe to MIPS nexe',
|
|
|