'NACL_RODATA_FLAG%': '--build-id,--section-start,.note.gnu.build-id',
}]
],
+ # 1 to use goma.
+ 'use_goma%': 0,
},
# See native_client/Sconstruct for more details.
# Expected address for beginning of data in for the IRT.
'-Wall',
'-fdiagnostics-show-option',
'<(werror)',
- ]
+ ],
+ # The flag gomadir is one of the flag to enable goma on build_nexe.py.
+ # It should be set only if use_goma is true.
+ 'conditions': [
+ ['use_goma==0', {
+ 'gomadir%': '',
+ }],
+ ],
},
'conditions': [
['target_arch=="ia32" or target_arch=="x64"', {
'conditions': [
['OS=="win"', {
'variables': {
- # NOTE: Python is invoked differently by the Native Client
- # builders than the Chromium builders. Invoking using
- # this python_exe defn won't work in the Chrome tree.
- 'python_exe': 'call <(DEPTH)/native_client/tools/win_py.cmd',
'nacl_glibc_tc_root': '<(DEPTH)/native_client/toolchain/win_x86',
},
}],
['OS=="mac"', {
'variables': {
- 'python_exe': 'python',
'nacl_glibc_tc_root': '<(DEPTH)/native_client/toolchain/mac_x86',
},
}],
['OS=="linux"', {
'variables': {
- 'python_exe': 'python',
'nacl_glibc_tc_root': '<(DEPTH)/native_client/toolchain/linux_x86',
},
}],
'link_flags': [],
'include_dirs': [],
'variables': {
- 'newlib_tls_flags': [ '-mtls-use-call' ],
'nexe_target': '',
'nlib_target': '',
'nso_target': '',
'enable_x86_32': 1,
'enable_x86_64': 1,
'enable_arm': 0,
+ 'enable_mips': 0,
'tc_lib_dir_newlib32': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32',
'tc_lib_dir_newlib64': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64',
'tc_lib_dir_glibc32': '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib32',
'tc_lib_dir_irt64': '<(SHARED_INTERMEDIATE_DIR)/tc_irt/lib64',
'tc_include_dir_newlib': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/include',
'tc_include_dir_glibc': '<(SHARED_INTERMEDIATE_DIR)/tc_glibc/include',
+ 'extra_deps': [],
'extra_deps_newlib64': [],
'extra_deps_newlib32': [],
'extra_deps_glibc64': [],
'link_flags': [],
'include_dirs': [],
'variables': {
- 'newlib_tls_flags': [ '-mtp=soft' ],
- 'python_exe': 'python',
'nexe_target': '',
'nlib_target': '',
'nso_target': '',
- 'force_arm_pnacl': 0,
'build_newlib': 0,
'build_glibc': 0,
'build_irt': 0,
'enable_x86_32': 0,
'enable_x86_64': 0,
'enable_arm': 1,
+ 'enable_mips': 0,
+ 'extra_deps': [],
'extra_deps_newlib_arm': [],
'native_sources': [],
'tc_lib_dir_newlib_arm': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm',
'link_flags': [],
'include_dirs': [],
'variables': {
- 'newlib_tls_flags': [],
- 'python_exe': 'python',
'nexe_target': '',
'nlib_target': '',
'nso_target': '',
'enable_x86_32': 0,
'enable_x86_64': 0,
'enable_arm': 0,
+ 'enable_mips': 1,
+ 'extra_deps': [],
'extra_deps_newlib_mips': [],
'native_sources': [],
'tc_lib_dir_newlib_mips': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libmips',
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib64)',
'^(source_list_newlib64)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/stamp.prep',
],
'outputs': ['>(out_newlib64)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--objdir', '>(objdir_newlib64)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
'--compile_flags=-m64 ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-B>(tc_lib_dir_newlib64) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib64)',
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib64)',
'^(source_list_newlib64)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/stamp.prep',
],
'outputs': ['>(out_newlib64)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--objdir', '>(objdir_newlib64)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
'--compile_flags=-m64 ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-B>(tc_lib_dir_newlib64) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib64)',
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib64)',
'^(source_list_newlib64)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/stamp.prep',
+ '<(PRODUCT_DIR)/tls_edit<(EXECUTABLE_SUFFIX)',
],
'outputs': ['>(out_newlib64)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--objdir', '>(objdir_newlib64)',
'--config-name', '<(CONFIGURATION_NAME)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
- '--compile_flags=--target=x86_64-nacl ^(compile_flags) >(_compile_flags) -gline-tables-only ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--compile_flags=--target=x86_64-nacl -stdlib=libstdc++ ^(compile_flags) >(_compile_flags) -gline-tables-only ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
- '--link_flags=--target=x86_64-nacl -arch x86-64 --pnacl-allow-translate --pnacl-allow-native -Wt,-mtls-use-call -Wn,-Trodata-segment=<(NACL_IRT_DATA_START) -Wn,-Ttext-segment=<(NACL_IRT_TEXT_START) -B>(tc_lib_dir_irt64) ^(link_flags) >(_link_flags)',
+ '--link_flags=--target=x86_64-nacl -stdlib=libstdc++ -arch x86-64 --pnacl-allow-translate --pnacl-allow-native -Wn,-Trodata-segment=<(NACL_IRT_DATA_START) -Wn,-Ttext-segment=<(NACL_IRT_TEXT_START) -B>(tc_lib_dir_irt64) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib64)',
+ '--tls-edit=<(PRODUCT_DIR)/tls_edit<(EXECUTABLE_SUFFIX)',
],
},
],
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib64)',
'^(source_list_newlib64)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/stamp.prep',
],
'outputs': ['>(out_newlib64)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--objdir', '>(objdir_newlib64)',
'--config-name', '<(CONFIGURATION_NAME)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
- '--compile_flags=--target=x86_64-nacl ^(compile_flags) >(_compile_flags) -gline-tables-only ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--compile_flags=--target=x86_64-nacl -stdlib=libstdc++ ^(compile_flags) >(_compile_flags) -gline-tables-only ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
- '--link_flags=--target=x86_64-nacl -B>(tc_lib_dir_irt64) ^(link_flags) >(_link_flags)',
+ '--link_flags=--target=x86_64-nacl -stdlib=libstdc++ -B>(tc_lib_dir_irt64) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib64)',
],
},
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib32)',
'^(source_list_newlib32)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/stamp.prep',
],
'outputs': ['>(out_newlib32)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--objdir', '>(objdir_newlib32)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
'--compile_flags=-m32 ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-m32 -B>(tc_lib_dir_newlib32) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib32)',
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib32)',
'^(source_list_newlib32)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/stamp.prep',
],
'outputs': ['>(out_newlib32)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--objdir', '>(objdir_newlib32)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
'--compile_flags=-m32 ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-m32 -B>(tc_lib_dir_newlib32) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib32)',
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib32)',
'^(source_list_newlib32)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/stamp.prep',
+ '<(PRODUCT_DIR)/tls_edit<(EXECUTABLE_SUFFIX)',
],
'outputs': ['>(out_newlib32)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--name', '>(out_newlib32)',
'--objdir', '>(objdir_newlib32)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
- '--compile_flags=-m32 ^(newlib_tls_flags) ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--compile_flags=-m32 ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
- '--link_flags=-m32 -B>(tc_lib_dir_irt32) -Wl,--build-id,--section-start,.note.gnu.build-id=<(NACL_IRT_DATA_START) -Wl,-Ttext-segment=<(NACL_IRT_TEXT_START) ^(link_flags) >(_link_flags)',
+ '--link_flags=-m32 -B>(tc_lib_dir_irt32) -Wl,-Trodata-segment=<(NACL_IRT_DATA_START) -Wl,-Ttext-segment=<(NACL_IRT_TEXT_START) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib32)',
+ '--tls-edit=<(PRODUCT_DIR)/tls_edit<(EXECUTABLE_SUFFIX)',
],
},
],
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib32)',
'^(source_list_newlib32)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/stamp.prep',
],
'outputs': ['>(out_newlib32)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--name', '>(out_newlib32)',
'--objdir', '>(objdir_newlib32)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
- '--compile_flags=-m32 ^(newlib_tls_flags) ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--compile_flags=-m32 ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-m32 -B>(tc_lib_dir_irt32) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib32)',
'target_defaults': {
'target_conditions': [
# arm newlib nexe action
- ['force_arm_pnacl==0 and nexe_target!="" and build_newlib!=0', {
+ ['nexe_target!="" and build_newlib!=0', {
'variables': {
'tool_name': 'newlib',
'out_newlib_arm%': '<(PRODUCT_DIR)/>(nexe_target)_newlib_arm.nexe',
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources) >(native_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib_arm)',
'^(source_list_newlib_arm)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_arm_newlib/stamp.prep',
],
'outputs': ['>(out_newlib_arm)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--objdir', '>(objdir_newlib_arm)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
'--compile_flags=-Wno-unused-local-typedefs -Wno-psabi ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-B>(tc_lib_dir_newlib_arm) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib_arm)',
],
}],
# arm newlib library action
- ['force_arm_pnacl==0 and nlib_target!="" and build_newlib!=0', {
+ ['nlib_target!="" and build_newlib!=0', {
'variables': {
'tool_name': 'newlib',
'out_newlib_arm%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool_name)/libarm/>(nlib_target)',
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources) >(native_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib_arm)',
'^(source_list_newlib_arm)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_arm_newlib/stamp.prep',
],
'outputs': ['>(out_newlib_arm)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--objdir', '>(objdir_newlib_arm)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
'--compile_flags=-Wno-unused-local-typedefs -Wno-psabi ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-B>(tc_lib_dir_newlib_arm) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib_arm)',
],
}],
# arm irt nexe action
- ['force_arm_pnacl==0 and nexe_target!="" and build_irt!=0', {
+ ['nexe_target!="" and build_irt!=0', {
'variables': {
'tool_name': 'irt',
'out_newlib_arm%': '<(PRODUCT_DIR)/>(nexe_target)_newlib_arm.nexe',
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources) >(native_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib_arm)',
'^(source_list_newlib_arm)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_arm_newlib/stamp.prep',
+ '<(PRODUCT_DIR)/tls_edit<(EXECUTABLE_SUFFIX)',
],
'outputs': ['>(out_newlib_arm)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--name', '>(out_newlib_arm)',
'--objdir', '>(objdir_newlib_arm)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
- '--compile_flags=-Wno-unused-local-typedefs -Wno-psabi ^(newlib_tls_flags) ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--compile_flags=-Wno-unused-local-typedefs -Wno-psabi ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-B>(tc_lib_dir_irt_arm) -Wl,-Trodata-segment=<(NACL_IRT_DATA_START) -Wl,-Ttext-segment=<(NACL_IRT_TEXT_START) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib_arm)',
+ '--tls-edit=<(PRODUCT_DIR)/tls_edit<(EXECUTABLE_SUFFIX)',
],
},
],
}],
# arm IRT library action
- ['force_arm_pnacl==0 and nlib_target!="" and build_irt!=0', {
+ ['nlib_target!="" and build_irt!=0', {
'variables': {
'tool_name': 'irt',
'out_newlib_arm%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool_name)/libarm/>(nlib_target)',
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources) >(native_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib_arm)',
'^(source_list_newlib_arm)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_arm_newlib/stamp.prep',
],
'outputs': ['>(out_newlib_arm)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--name', '>(out_newlib_arm)',
'--objdir', '>(objdir_newlib_arm)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
- '--compile_flags=-Wno-unused-local-typedefs -Wno-psabi ^(newlib_tls_flags) ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--compile_flags=-Wno-unused-local-typedefs -Wno-psabi ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-B>(tc_lib_dir_irt_arm) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib_arm)',
},
],
}],
- # pnacl ARM library build using biased bitcode. This is currently
- # used to build the IRT shim. TODO(dschuff): see if this can be
- # further simplified, perhaps using re-using the plib build below
- ['force_arm_pnacl==1 and nlib_target!="" and build_newlib!=0', {
- 'variables': {
- 'tool_name': 'newlib',
- 'out_newlib_arm%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool_name)/libarm/>(nlib_target)',
- 'objdir_newlib_arm%': '>(INTERMEDIATE_DIR)/<(tool_name)-arm/>(_target_name)',
- },
- 'actions': [
- {
- 'action_name': 'build newlib arm nlib (via pnacl)',
- 'variables': {
- 'source_list_newlib_arm%': '^|(<(tool_name)-arm.>(_target_name).source_list.gypcmd ^(_sources) ^(sources))',
- },
- 'msvs_cygwin_shell': 0,
- 'description': 'building >(out_newlib_arm)',
- 'inputs': [
- '<(DEPTH)/native_client/build/build_nexe.py',
- '>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
- '>@(extra_deps_newlib_arm)',
- '^(source_list_newlib_arm)',
- '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_pnacl/stamp.prep'
- ],
- 'outputs': ['>(out_newlib_arm)'],
- 'action': [
- '>(python_exe)',
- '<(DEPTH)/native_client/build/build_nexe.py',
- '-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
- '>@(extra_args)',
- '--arch', 'arm',
- '--build', 'newlib_nlib_pnacl',
- '--root', '<(DEPTH)',
- '--name', '>(out_newlib_arm)',
- '--objdir', '>(objdir_newlib_arm)',
- '--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
- '--compile_flags=--target=armv7-unknown-nacl-gnueabi -mfloat-abi=hard ^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
- '--defines=^(defines) >(_defines)',
- '--link_flags=-B>(tc_lib_dir_newlib_arm) ^(link_flags) >(_link_flags)',
- '--source-list=^(source_list_newlib_arm)',
- ],
- },
- ],
- }],
- ], # end target_conditions for arm newlib (nexe/nlib, force_arm_pnacl)
+ ], # end target_conditions for arm newlib (nexe/nlib)
},
}], # end target_arch = arm
['target_arch=="mipsel"', {
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources) >(native_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib_mips)',
'^(source_list_newlib_mips)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_pnacl/stamp.prep',
],
'outputs': ['>(out_newlib_mips)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--name', '>(out_newlib_mips)',
'--objdir', '>(objdir_newlib_mips)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
- '--compile_flags= ^(pnacl_compile_flags) >(_pnacl_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--compile_flags=^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
- '--link_flags=-B>(tc_lib_dir_newlib_mips) ^(link_flags) >(_link_flags)',
+ '--link_flags=-arch mips -B>(tc_lib_dir_newlib_mips) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib_mips)',
],
},
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib_mips)',
'^(source_list_newlib_mips)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_pnacl/stamp.prep',
],
'outputs': ['>(out_newlib_mips)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--name', '>(out_newlib_mips)',
'--objdir', '>(objdir_newlib_mips)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
- '--compile_flags= ^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--compile_flags=^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-B>(tc_lib_dir_newlib_mips) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib_mips)',
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib_mips)',
'^(source_list_newlib_mips)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_pnacl/stamp.prep',
+ '<(PRODUCT_DIR)/tls_edit<(EXECUTABLE_SUFFIX)',
],
'outputs': ['>(out_newlib_mips)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--name', '>(out_newlib_mips)',
'--objdir', '>(objdir_newlib_mips)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
- '--compile_flags= ^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--compile_flags=-stdlib=libstdc++ ^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
- '--link_flags= -arch mips --pnacl-allow-translate --pnacl-allow-native -Wt,-mtls-use-call --pnacl-disable-abi-check -Wl,-Trodata-segment=<(NACL_IRT_DATA_START) -Wl,-Ttext-segment=<(NACL_IRT_TEXT_START) -B>(tc_lib_dir_irt_mips) ^(link_flags) >(_link_flags)',
+ '--link_flags=-arch mips -stdlib=libstdc++ --pnacl-allow-translate --pnacl-allow-native -Wt,-mtls-use-call --pnacl-disable-abi-check -Wl,-Trodata-segment=<(NACL_IRT_DATA_START) -Wl,-Ttext-segment=<(NACL_IRT_TEXT_START) -B>(tc_lib_dir_irt_mips) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib_mips)',
+ '--tls-edit=<(PRODUCT_DIR)/tls_edit<(EXECUTABLE_SUFFIX)',
],
},
],
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_newlib_mips)',
'^(source_list_newlib_mips)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_pnacl/stamp.prep',
],
'outputs': ['>(out_newlib_mips)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--name', '>(out_newlib_mips)',
'--objdir', '>(objdir_newlib_mips)',
'--include-dirs=>(tc_include_dir_newlib) ^(include_dirs) >(_include_dirs)',
- '--compile_flags= ^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--compile_flags=-stdlib=libstdc++ ^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
- '--link_flags=-B>(tc_lib_dir_irt_mips) ^(link_flags) >(_link_flags)',
+ '--link_flags=-stdlib=libstdc++ -B>(tc_lib_dir_irt_mips) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_newlib_mips)',
],
},
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_glibc64)',
'^(source_list_glibc64)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_glibc/stamp.prep',
],
'outputs': ['>(out_glibc64)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--objdir', '>(objdir_glibc64)',
'--include-dirs=>(tc_include_dir_glibc) ^(include_dirs) >(_include_dirs)',
'--compile_flags=-m64 ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-B>(tc_lib_dir_glibc64) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_glibc64)',
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_glibc32)',
'^(source_list_glibc32)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_glibc/stamp.prep',
],
'outputs': ['>(out_glibc32)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--objdir', '>(objdir_glibc32)',
'--include-dirs=>(tc_include_dir_glibc) ^(include_dirs) >(_include_dirs)',
'--compile_flags=-m32 ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-m32 -B>(tc_lib_dir_glibc32) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_glibc32)',
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_glibc64)',
'^(source_list_glibc64)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_glibc/stamp.prep',
],
'outputs': ['>(out_glibc64)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--objdir', '>(objdir_glibc64)',
'--include-dirs=>(tc_include_dir_glibc) ^(include_dirs) >(_include_dirs)',
'--compile_flags=-m64 ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-B>(tc_lib_dir_glibc64) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_glibc64)',
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_glibc32)',
'^(source_list_glibc32)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_glibc/stamp.prep',
],
'outputs': ['>(out_glibc32)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'>@(extra_args)',
'--objdir', '>(objdir_glibc32)',
'--include-dirs=>(tc_include_dir_glibc) ^(include_dirs) >(_include_dirs)',
'--compile_flags=-m32 ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-m32 -B>(tc_lib_dir_glibc32) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_glibc32)',
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_glibc64)',
'^(source_list_glibc64)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_glibc/stamp.prep',
],
'outputs': ['>(out_glibc64)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'>@(extra_args)',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'--objdir', '>(objdir_glibc64)',
'--include-dirs=>(tc_include_dir_glibc) ^(include_dirs) >(_include_dirs)',
'--compile_flags=-m64 -fPIC ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-B>(tc_lib_dir_glibc64) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_glibc64)',
'inputs': [
'<(DEPTH)/native_client/build/build_nexe.py',
'>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
'>@(extra_deps_glibc32)',
'^(source_list_glibc32)',
'<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_glibc/stamp.prep',
],
'outputs': ['>(out_glibc32)'],
'action': [
- '>(python_exe)',
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'>@(extra_args)',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
'--objdir', '>(objdir_glibc32)',
'--include-dirs=>(tc_include_dir_glibc) ^(include_dirs) >(_include_dirs)',
'--compile_flags=-m32 -fPIC ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+ '--gomadir', '<(gomadir)',
'--defines=^(defines) >(_defines)',
'--link_flags=-m32 -B>(tc_lib_dir_glibc32) ^(link_flags) >(_link_flags)',
'--source-list=^(source_list_glibc32)',
'variables': {
'disable_pnacl%': 0,
'build_pnacl_newlib': 0,
+ 'pnacl_native_biased': 0,
+ 'nexe_target': '',
'nlib_target': '',
'extra_deps_pnacl_newlib': [],
'tc_lib_dir_pnacl_newlib': '<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_newlib/lib',
},
'target_conditions': [
# pnacl actions for building pexes and translating them
- ['nexe_target!="" and disable_pnacl==0 and build_pnacl_newlib!=0', {
- 'variables': {
- 'out_pnacl_newlib_x86_32_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_newlib_x32.nexe',
- 'out_pnacl_newlib_x86_64_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_newlib_x64.nexe',
- 'out_pnacl_newlib_arm_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_newlib_arm.nexe',
- 'out_pnacl_newlib_mips_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_newlib_mips.nexe',
- 'tool_name': 'pnacl_newlib',
- 'inst_dir': '<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_newlib',
- 'out_pnacl_newlib%': '<(PRODUCT_DIR)/>(nexe_target)_newlib.pexe',
- 'objdir_pnacl_newlib%': '>(INTERMEDIATE_DIR)/<(tool_name)/>(_target_name)',
- 'link_flags': [
- '-O3',
- ],
- 'translate_flags': [],
- },
- 'actions': [
- {
- 'action_name': 'build newlib pexe',
+ ['nexe_target!="" and disable_pnacl==0 and build_pnacl_newlib!=0 '
+ 'and pnacl_native_biased==0', {
+ 'variables': {
+ 'out_pnacl_newlib_x86_32_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_newlib_x32.nexe',
+ 'out_pnacl_newlib_x86_64_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_newlib_x64.nexe',
+ 'out_pnacl_newlib_arm_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_newlib_arm.nexe',
+ 'out_pnacl_newlib_mips_nexe%': '<(PRODUCT_DIR)/>(nexe_target)_pnacl_newlib_mips.nexe',
+ 'tool_name': 'pnacl_newlib',
+ 'inst_dir': '<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_newlib',
+ 'out_pnacl_newlib%': '<(PRODUCT_DIR)/>(nexe_target)_newlib.pexe',
+ 'objdir_pnacl_newlib%': '>(INTERMEDIATE_DIR)/<(tool_name)/>(_target_name)',
+ 'link_flags': [
+ '-O3',
+ ],
+ 'translate_flags': [],
+ },
+ 'actions': [
+ {
+ 'action_name': 'build newlib pexe',
+ 'variables': {
+ 'source_list_pnacl_newlib%': '^|(<(tool_name).>(_target_name).source_list.gypcmd ^(_sources) ^(sources))',
+ },
+ 'msvs_cygwin_shell': 0,
+ 'description': 'building >(out_pnacl_newlib)',
+ 'inputs': [
+ '<(DEPTH)/native_client/build/build_nexe.py',
+ '>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
+ '>@(extra_deps_pnacl_newlib)',
+ '^(source_list_pnacl_newlib)',
+ '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_pnacl/stamp.prep',
+ ],
+ 'outputs': ['>(out_pnacl_newlib)'],
+ 'action': [
+ 'python',
+ '<(DEPTH)/native_client/build/build_nexe.py',
+ '-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
+ '>@(extra_args)',
+ '--arch', 'pnacl',
+ '--build', 'newlib_pexe',
+ '--root', '<(DEPTH)',
+ '--name', '>(out_pnacl_newlib)',
+ '--objdir', '>(objdir_pnacl_newlib)',
+ '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_dirs) >(_include_dirs)',
+ '--compile_flags=^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--gomadir', '<(gomadir)',
+ '--defines=^(defines) >(_defines)',
+ '--link_flags=-B<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_newlib/lib ^(link_flags) >(_link_flags)',
+ '--source-list=^(source_list_pnacl_newlib)',
+ ],
+ }],
+ 'target_conditions': [
+ [ 'enable_x86_32!=0', {
+ 'actions': [{
+ 'action_name': 'translate newlib pexe to x86-32 nexe',
+ 'msvs_cygwin_shell': 0,
+ 'description': 'translating >(out_pnacl_newlib_x86_32_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_x86_32_nexe)' ],
+ 'action' : [
+ 'python',
+ '<(DEPTH)/native_client/build/build_nexe.py',
+ '-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
+ '--arch', 'x86-32',
+ '--build', 'newlib_translate',
+ '--root', '<(DEPTH)',
+ '--name', '>(out_pnacl_newlib_x86_32_nexe)',
+ '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L>(tc_lib_dir_pnacl_translate)/lib-x86-32',
+ '>(out_pnacl_newlib)',
+ ],
+ }],
+ }],
+ [ 'enable_x86_64!=0', {
+ 'actions': [{
+ 'action_name': 'translate newlib pexe to x86-64 nexe',
+ 'msvs_cygwin_shell': 0,
+ 'description': 'translating >(out_pnacl_newlib_x86_64_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_x86_64_nexe)' ],
+ 'action' : [
+ 'python',
+ '<(DEPTH)/native_client/build/build_nexe.py',
+ '-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
+ '--arch', 'x86-64',
+ '--build', 'newlib_translate',
+ '--root', '<(DEPTH)',
+ '--name', '>(out_pnacl_newlib_x86_64_nexe)',
+ '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L>(tc_lib_dir_pnacl_translate)/lib-x86-64',
+ '>(out_pnacl_newlib)',
+ ],
+ }],
+ }],
+ [ 'enable_arm!=0', {
+ 'actions': [{
+ 'action_name': 'translate newlib pexe to ARM nexe',
+ 'msvs_cygwin_shell': 0,
+ 'description': 'translating >(out_pnacl_newlib_arm_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_nexe)' ],
+ 'action' : [
+ 'python',
+ '<(DEPTH)/native_client/build/build_nexe.py',
+ '-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
+ '--arch', 'arm',
+ '--build', 'newlib_translate',
+ '--root', '<(DEPTH)',
+ '--name', '>(out_pnacl_newlib_arm_nexe)',
+ '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L>(tc_lib_dir_pnacl_translate)/lib-arm',
+ '>(out_pnacl_newlib)',
+ ],
+ }],
+ }],
+ [ 'enable_mips!=0', {
+ 'actions': [{
+ 'action_name': 'translate newlib pexe to MIPS nexe',
+ 'msvs_cygwin_shell': 0,
+ 'description': 'translating >(out_pnacl_newlib_mips_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_mips_nexe)' ],
+ 'action' : [
+ 'python',
+ '<(DEPTH)/native_client/build/build_nexe.py',
+ '-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
+ '--arch', 'mips',
+ '--build', 'newlib_translate',
+ '--root', '<(DEPTH)',
+ '--name', '>(out_pnacl_newlib_mips_nexe)',
+ '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L>(tc_lib_dir_pnacl_translate)/lib-mips',
+ '>(out_pnacl_newlib)',
+ ],
+ }],
+ }],
+ ],
+ }], # end pnacl actions for building pexes and translating to nexes
+ # pnacl action for building portable bitcode libraries
+ ['nlib_target!="" and disable_pnacl==0 and build_pnacl_newlib!=0'
+ 'and pnacl_native_biased==0', {
+ 'variables': {
+ 'tool_name': 'pnacl_newlib',
+ 'objdir_pnacl_newlib%': '>(INTERMEDIATE_DIR)/<(tool_name)-pnacl/>(_target_name)',
+ 'out_pnacl_newlib%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool_name)/lib/>(nlib_target)',
+ },
+ 'actions': [
+ {
+ 'action_name': 'build newlib plib',
+ 'variables': {
+ 'source_list_pnacl_newlib%': '^|(<(tool_name).>(_target_name).source_list.gypcmd ^(_sources) ^(sources))',
+ },
+ 'msvs_cygwin_shell': 0,
+ 'description': 'building >(out_pnacl_newlib)',
+ 'inputs': [
+ '<(DEPTH)/native_client/build/build_nexe.py',
+ '>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
+ '>@(extra_deps_pnacl_newlib)',
+ '^(source_list_pnacl_newlib)',
+ '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_pnacl/stamp.prep',
+ ],
+ 'outputs': ['>(out_pnacl_newlib)'],
+ 'action': [
+ 'python',
+ '<(DEPTH)/native_client/build/build_nexe.py',
+ '-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
+ '>@(extra_args)',
+ '--arch', 'pnacl',
+ '--build', 'newlib_plib',
+ '--root', '<(DEPTH)',
+ '--name', '>(out_pnacl_newlib)',
+ '--objdir', '>(objdir_pnacl_newlib)',
+ '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_dirs) >(_include_dirs)',
+ '--compile_flags=^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--gomadir', '<(gomadir)',
+ '--defines=^(defines) >(_defines)',
+ '--link_flags=-B>(tc_lib_dir_pnacl_newlib) ^(link_flags) >(_link_flags)',
+ '--source-list=^(source_list_pnacl_newlib)',
+ ],
+ },
+ ],
+ }], # end pnacl actions for bitcode libraries
+ ], # end target conditions for pnacl pexe/plib
+ # pnacl actions for building ABI-biased native libraries
+ 'conditions': [
+ # ARM
+ ['target_arch=="arm"', {
+ 'target_conditions': [
+ ['disable_pnacl==0 and pnacl_native_biased==1 and nlib_target!="" and build_pnacl_newlib!=0', {
'variables': {
- 'source_list_pnacl_newlib%': '^|(<(tool_name).>(_target_name).source_list.gypcmd ^(_sources) ^(sources))',
- },
- 'msvs_cygwin_shell': 0,
- 'description': 'building >(out_pnacl_newlib)',
- 'inputs': [
- '<(DEPTH)/native_client/build/build_nexe.py',
- '>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
- '>@(extra_deps_pnacl_newlib)',
- '^(source_list_pnacl_newlib)',
- '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_pnacl/stamp.prep',
- ],
- 'outputs': ['>(out_pnacl_newlib)'],
- 'action': [
- '>(python_exe)',
- '<(DEPTH)/native_client/build/build_nexe.py',
- '-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
- '>@(extra_args)',
- '--arch', 'pnacl',
- '--build', 'newlib_pexe',
- '--root', '<(DEPTH)',
- '--name', '>(out_pnacl_newlib)',
- '--objdir', '>(objdir_pnacl_newlib)',
- '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_dirs) >(_include_dirs)',
- '--compile_flags=^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
- '--defines=^(defines) >(_defines)',
- '--link_flags=-B<(SHARED_INTERMEDIATE_DIR)/tc_pnacl_newlib/lib ^(link_flags) >(_link_flags)',
- '--source-list=^(source_list_pnacl_newlib)',
- ],
- }],
- 'target_conditions': [
- [ 'enable_x86_32!=0', {
- 'actions': [{
- 'action_name': 'translate newlib pexe to x86-32 nexe',
- 'msvs_cygwin_shell': 0,
- 'description': 'translating >(out_pnacl_newlib_x86_32_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_x86_32_nexe)' ],
- 'action' : [
- '>(python_exe)',
- '<(DEPTH)/native_client/build/build_nexe.py',
- '-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
- '--arch', 'x86-32',
- '--build', 'newlib_translate',
- '--root', '<(DEPTH)',
- '--name', '>(out_pnacl_newlib_x86_32_nexe)',
- '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L>(tc_lib_dir_pnacl_translate)/lib-x86-32',
- '>(out_pnacl_newlib)',
- ],
- }],
- }],
- [ 'enable_x86_64!=0', {
- 'actions': [{
- 'action_name': 'translate newlib pexe to x86-64 nexe',
+ 'tool_name': 'pnacl_newlib_arm',
+ 'out_pnacl_newlib_arm%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool_name)/libarm/>(nlib_target)',
+ 'objdir_pnacl_newlib_arm%': '>(INTERMEDIATE_DIR)/<(tool_name)/>(_target_name)',
+ },
+ 'actions': [
+ {
+ 'action_name': 'build newlib arm nlib (via pnacl)',
+ 'variables': {
+ 'source_list_pnacl_newlib_arm%': '^|(<(tool_name).>(_target_name).source_list.gypcmd ^(_sources) ^(sources))',
+ },
'msvs_cygwin_shell': 0,
- 'description': 'translating >(out_pnacl_newlib_x86_64_nexe)',
+ 'description': 'building >(out_pnacl_newlib_arm)',
'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_x86_64_nexe)' ],
- 'action' : [
- '>(python_exe)',
'<(DEPTH)/native_client/build/build_nexe.py',
- '-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
- '--arch', 'x86-64',
- '--build', 'newlib_translate',
- '--root', '<(DEPTH)',
- '--name', '>(out_pnacl_newlib_x86_64_nexe)',
- '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L>(tc_lib_dir_pnacl_translate)/lib-x86-64',
- '>(out_pnacl_newlib)',
- ],
- }],
- }],
- [ 'enable_arm!=0', {
- 'actions': [{
- 'action_name': 'translate newlib pexe to ARM nexe',
- 'msvs_cygwin_shell': 0,
- 'description': 'translating >(out_pnacl_newlib_arm_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)',
+ '>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
+ '>@(extra_deps_pnacl_newlib)',
+ '^(source_list_pnacl_newlib_arm)',
+ '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_pnacl/stamp.prep'
],
- 'outputs': [ '>(out_pnacl_newlib_arm_nexe)' ],
- 'action' : [
- '>(python_exe)',
+ 'outputs': ['>(out_pnacl_newlib_arm)'],
+ 'action': [
+ 'python',
'<(DEPTH)/native_client/build/build_nexe.py',
'-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
+ '>@(extra_args)',
'--arch', 'arm',
- '--build', 'newlib_translate',
+ '--build', 'newlib_nlib_pnacl',
'--root', '<(DEPTH)',
- '--name', '>(out_pnacl_newlib_arm_nexe)',
- '--link_flags=^(translate_flags) >(translate_flags) -Wl,-L>(tc_lib_dir_pnacl_translate)/lib-arm',
- '>(out_pnacl_newlib)',
+ '--name', '>(out_pnacl_newlib_arm)',
+ '--objdir', '>(objdir_pnacl_newlib_arm)',
+ '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_dirs) >(_include_dirs)',
+ '--compile_flags=--target=armv7-unknown-nacl-gnueabi -mfloat-abi=hard --pnacl-allow-translate -arch arm ^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--gomadir', '<(gomadir)',
+ '--defines=^(defines) >(_defines)',
+ '--link_flags=-B>(tc_lib_dir_pnacl_newlib) ^(link_flags) >(_link_flags)',
+ '--source-list=^(source_list_pnacl_newlib_arm)',
],
- }],
- }],
- ],
- }],
- # pnacl action for building libraries
- ['nlib_target!="" and disable_pnacl==0 and build_pnacl_newlib!=0', {
- 'variables': {
- 'tool_name': 'pnacl_newlib',
- 'objdir_pnacl_newlib%': '>(INTERMEDIATE_DIR)/<(tool_name)-pnacl/>(_target_name)',
- 'out_pnacl_newlib%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool_name)/lib/>(nlib_target)',
- },
- 'actions': [
- {
- 'action_name': 'build newlib plib',
- 'variables': {
- 'source_list_pnacl_newlib%': '^|(<(tool_name).>(_target_name).source_list.gypcmd ^(_sources) ^(sources))',
- },
- 'msvs_cygwin_shell': 0,
- 'description': 'building >(out_pnacl_newlib)',
- 'inputs': [
- '<(DEPTH)/native_client/build/build_nexe.py',
- '>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
- '>@(extra_deps_pnacl_newlib)',
- '^(source_list_pnacl_newlib)',
- '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_pnacl/stamp.prep',
- ],
- 'outputs': ['>(out_pnacl_newlib)'],
- 'action': [
- '>(python_exe)',
- '<(DEPTH)/native_client/build/build_nexe.py',
- '-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
- '>@(extra_args)',
- '--arch', 'pnacl',
- '--build', 'newlib_plib',
- '--root', '<(DEPTH)',
- '--name', '>(out_pnacl_newlib)',
- '--objdir', '>(objdir_pnacl_newlib)',
- '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_dirs) >(_include_dirs)',
- '--compile_flags=^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
- '--defines=^(defines) >(_defines)',
- '--link_flags=-B>(tc_lib_dir_pnacl_newlib) ^(link_flags) >(_link_flags)',
- '--source-list=^(source_list_pnacl_newlib)',
+ },
],
- },
+ }],
],
- }],
- ], # end target_conditions for pnacl pexe/plib
+ }], # end ARM
+ # ia32 or x64 (want to build both for Windows)
+ ['target_arch=="ia32" or target_arch=="x64"', {
+ 'target_conditions': [
+ # x64
+ ['enable_x86_64!=0 and disable_pnacl==0 and pnacl_native_biased==1 '
+ 'and nlib_target!="" and build_pnacl_newlib!=0', {
+ 'variables': {
+ 'tool_name': 'pnacl_newlib_x86_64',
+ 'out_pnacl_newlib_x86_64%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool_name)/lib-x86-64/>(nlib_target)',
+ 'objdir_pnacl_newlib_x86_64%': '>(INTERMEDIATE_DIR)/<(tool_name)/>(_target_name)',
+ },
+ 'actions': [
+ {
+ 'action_name': 'build newlib x86-64 nlib (via pnacl)',
+ 'variables': {
+ 'source_list_pnacl_newlib_x86_64%': '^|(<(tool_name).>(_target_name).source_list.gypcmd ^(_sources) ^(sources))',
+ },
+ 'msvs_cygwin_shell': 0,
+ 'description': 'building >(out_pnacl_newlib_x86_64)',
+ 'inputs': [
+ '<(DEPTH)/native_client/build/build_nexe.py',
+ '>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
+ '>@(extra_deps_pnacl_newlib)',
+ '^(source_list_pnacl_newlib_x86_64)',
+ '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_pnacl/stamp.prep'
+ ],
+ 'outputs': ['>(out_pnacl_newlib_x86_64)'],
+ 'action': [
+ 'python',
+ '<(DEPTH)/native_client/build/build_nexe.py',
+ '-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
+ '>@(extra_args)',
+ '--arch', 'x86-64',
+ '--build', 'newlib_nlib_pnacl',
+ '--root', '<(DEPTH)',
+ '--name', '>(out_pnacl_newlib_x86_64)',
+ '--objdir', '>(objdir_pnacl_newlib_x86_64)',
+ '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_dirs) >(_include_dirs)',
+ '--compile_flags=--target=x86_64-unknown-nacl --pnacl-allow-translate -arch x86-64 ^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--gomadir', '<(gomadir)',
+ '--defines=^(defines) >(_defines)',
+ '--link_flags=-B>(tc_lib_dir_pnacl_newlib) ^(link_flags) >(_link_flags)',
+ '--source-list=^(source_list_pnacl_newlib_x86_64)',
+ ],
+ },
+ ],
+ }], # end x64
+ # ia32
+ ['enable_x86_32!=0 and disable_pnacl==0 and pnacl_native_biased==1 '
+ 'and nlib_target!="" and build_pnacl_newlib!=0', {
+ 'variables': {
+ 'tool_name': 'pnacl_newlib_x86_32',
+ 'out_pnacl_newlib_x86_32%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool_name)/lib-x86-32/>(nlib_target)',
+ 'objdir_pnacl_newlib_x86_32%': '>(INTERMEDIATE_DIR)/<(tool_name)/>(_target_name)',
+ },
+ 'actions': [
+ {
+ 'action_name': 'build newlib x86-32 nlib (via pnacl)',
+ 'variables': {
+ 'source_list_pnacl_newlib_x86_32%': '^|(<(tool_name).>(_target_name).source_list.gypcmd ^(_sources) ^(sources))',
+ },
+ 'msvs_cygwin_shell': 0,
+ 'description': 'building >(out_pnacl_newlib_x86_32)',
+ 'inputs': [
+ '<(DEPTH)/native_client/build/build_nexe.py',
+ '>!@pymod_do_main(>(get_sources) >(sources) >(_sources))',
+ '>@(extra_deps)',
+ '>@(extra_deps_pnacl_newlib)',
+ '^(source_list_pnacl_newlib_x86_32)',
+ '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_pnacl/stamp.prep'
+ ],
+ 'outputs': ['>(out_pnacl_newlib_x86_32)'],
+ 'action': [
+ 'python',
+ '<(DEPTH)/native_client/build/build_nexe.py',
+ '-t', '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/',
+ '>@(extra_args)',
+ '--arch', 'x86-32',
+ '--build', 'newlib_nlib_pnacl',
+ '--root', '<(DEPTH)',
+ '--name', '>(out_pnacl_newlib_x86_32)',
+ '--objdir', '>(objdir_pnacl_newlib_x86_32)',
+ '--include-dirs=>(tc_include_dir_pnacl_newlib) ^(include_dirs) >(_include_dirs)',
+ '--compile_flags=--target=i686-unknown-nacl --pnacl-allow-translate -arch x86-32 ^(compile_flags) >(_compile_flags) ^(pnacl_compile_flags) >(_pnacl_compile_flags)',
+ '--gomadir', '<(gomadir)',
+ '--defines=^(defines) >(_defines)',
+ '--link_flags=-B>(tc_lib_dir_pnacl_newlib) ^(link_flags) >(_link_flags)',
+ '--source-list=^(source_list_pnacl_newlib_x86_32)',
+ ],
+ },
+ ],
+ }], # end ia32
+ ], # end ia32 or x64
+ # TODO(jvoung): implement MIPS clause.
+ # Do they want the IRT ABI to be biased toward --target=mipsel-...-nacl
+ # or do they want it to be le32 along with -expand-byval, etc.
+ # (then the shim isn't necessary)?
+ }], # end pnacl actions for building ABI-biased native libraries
+ ], # end conditions for pnacl biased nlib
},
}