diff options
author | yzshen@chromium.org <yzshen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-10 09:43:48 +0000 |
---|---|---|
committer | yzshen@chromium.org <yzshen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-10 09:43:48 +0000 |
commit | 1cf34aec31c97e4d584eba350306df1db8d9f0be (patch) | |
tree | fa3014240c03899eefc9e23b1d4e2e93f6263865 /ppapi/ppapi_nacl_test_common.gypi | |
parent | 2adc32e23d3c44dff2d8d19cd1493923c032df84 (diff) | |
download | chromium_src-1cf34aec31c97e4d584eba350306df1db8d9f0be.zip chromium_src-1cf34aec31c97e4d584eba350306df1db8d9f0be.tar.gz chromium_src-1cf34aec31c97e4d584eba350306df1db8d9f0be.tar.bz2 |
Move nacl_browser_test.gypi and make the nexe output path configurable.
This is in preparation for adding tests for Apps v2 APIs in Pepper, which will reuse this gyp defintion to build NaCl modules.
Besides, this CL adds two missing dependencies for browser_tests.
TBR=bradnelson@chromium.org
BUG=226303
TEST=None
Review URL: https://chromiumcodereview.appspot.com/14865014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199441 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/ppapi_nacl_test_common.gypi')
-rw-r--r-- | ppapi/ppapi_nacl_test_common.gypi | 189 |
1 files changed, 189 insertions, 0 deletions
diff --git a/ppapi/ppapi_nacl_test_common.gypi b/ppapi/ppapi_nacl_test_common.gypi new file mode 100644 index 0000000..2d7173d --- /dev/null +++ b/ppapi/ppapi_nacl_test_common.gypi @@ -0,0 +1,189 @@ +# Copyright (c) 2013 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. + +{ + 'includes': [ + '../native_client/build/untrusted.gypi', + ], + 'target_defaults': { + # We need to override the variables in untrusted.gypi outside of a + # target_condition block because the target_condition block in + # untrusted gypi is fully evaluated and interpolated before any of the + # target_condition blocks in this file are expanded. This means that any + # variables overriden inside a target_condition block in this file will not + # affect the values in untrusted.gypi. + 'variables': { + 'test_files': [], + 'generate_nmf%': 1, + 'nacl_newlib_out_dir': '<(PRODUCT_DIR)/>(nexe_destination_dir)/newlib', + 'nacl_glibc_out_dir': '<(PRODUCT_DIR)/>(nexe_destination_dir)/glibc', + 'nacl_pnacl_newlib_out_dir': '<(PRODUCT_DIR)/>(nexe_destination_dir)/pnacl', + 'target_conditions': [ + ['nexe_target!=""', { + # These variables are used for nexe building and for library building. + 'out_newlib32%': '>(nacl_newlib_out_dir)/>(nexe_target)_newlib_x86_32.nexe', + 'out_newlib64%': '>(nacl_newlib_out_dir)/>(nexe_target)_newlib_x86_64.nexe', + 'out_newlib_arm%': '>(nacl_newlib_out_dir)/>(nexe_target)_newlib_arm.nexe', + 'nmf_newlib%': '>(nacl_newlib_out_dir)/>(nexe_target).nmf', + 'out_glibc32%': '>(nacl_glibc_out_dir)/>(nexe_target)_glibc_x86_32.nexe', + 'out_glibc64%': '>(nacl_glibc_out_dir)/>(nexe_target)_glibc_x86_64.nexe', + 'out_glibc_arm%': '>(nacl_glibc_out_dir)/>(nexe_target)_glibc_arm.nexe', + 'nmf_glibc%': '>(nacl_glibc_out_dir)/>(nexe_target).nmf', + 'out_pnacl_newlib%': '>(nacl_pnacl_newlib_out_dir)/>(nexe_target)_newlib_pnacl.pexe', + 'nmf_pnacl_newlib%': '>(nacl_pnacl_newlib_out_dir)/>(nexe_target).nmf', + }], + ], + }, + 'dependencies': [ + '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_lib', + '<(DEPTH)/ppapi/ppapi_untrusted.gyp:ppapi_cpp_lib', + '<(DEPTH)/ppapi/native_client/native_client.gyp:ppapi_lib', + ], + 'target_conditions': [ + ['test_files!=[] and build_newlib==1', { + 'copies': [ + { + 'destination': '>(nacl_newlib_out_dir)', + 'files': [ + '>@(test_files)', + ], + }, + ], + }], + ['test_files!=[] and "<(target_arch)"!="arm" and disable_glibc==0 and build_glibc==1', { + 'copies': [ + { + 'destination': '>(nacl_glibc_out_dir)', + 'files': [ + '>@(test_files)', + ], + }, + ], + }], + ['test_files!=[] and build_pnacl_newlib==1 and disable_pnacl==0', { + 'copies': [ + { + 'destination': '>(nacl_pnacl_newlib_out_dir)', + 'files': [ + '>@(test_files)', + ], + }, + ], + }], + ['nexe_target!=""', { + 'variables': { + # Patch over the fact that untrusted.gypi doesn't define these in all + # cases. + 'enable_x86_64%': 0, + 'enable_x86_32%': 0, + 'enable_arm%': 0, + 'include_dirs': [ + '<(DEPTH)', + ], + 'link_flags': [ + '-lppapi_cpp', + '-lppapi', + '-pthread', + ], + 'extra_args': [ + '--strip-all', + ], + }, + 'target_conditions': [ + ['generate_nmf==1 and build_newlib==1', { + 'actions': [ + { + 'action_name': 'Generate NEWLIB NMF', + # Unlike glibc, nexes are not actually inputs - only the names matter. + # We don't have the nexes as inputs because the ARM nexe may not + # exist. However, VS 2010 seems to blackhole this entire target if + # there are no inputs to this action. To work around this we add a + # bogus input. + 'inputs': [], + 'outputs': ['>(nmf_newlib)'], + 'action': [ + 'python', + '<(DEPTH)/native_client_sdk/src/tools/create_nmf.py', + '>@(_inputs)', + '--output=>(nmf_newlib)', + ], + 'target_conditions': [ + ['enable_x86_64==1', { + 'inputs': ['>(out_newlib64)'], + }], + ['enable_x86_32==1', { + 'inputs': ['>(out_newlib32)'], + }], + ['enable_arm==1', { + 'inputs': ['>(out_newlib_arm)'], + }], + ], + }, + ], + }], + ['"<(target_arch)"!="arm" and generate_nmf==1 and disable_glibc==0 and build_glibc==1', { + 'variables': { + # NOTE: Use /lib, not /lib64 here; it is a symbolic link which + # doesn't work on Windows. + 'libdir_glibc64': '>(nacl_glibc_tc_root)/x86_64-nacl/lib', + 'libdir_glibc32': '>(nacl_glibc_tc_root)/x86_64-nacl/lib32', + 'nacl_objdump': '>(nacl_glibc_tc_root)/bin/x86_64-nacl-objdump', + }, + 'actions': [ + { + 'action_name': 'Generate GLIBC NMF and copy libs', + 'inputs': [], + # NOTE: There is no explicit dependency for the lib32 + # and lib64 directories created in the PRODUCT_DIR. + # They are created as a side-effect of NMF creation. + 'outputs': ['>(nmf_glibc)'], + 'action': [ + 'python', + '<(DEPTH)/native_client_sdk/src/tools/create_nmf.py', + '>@(_inputs)', + '--objdump=>(nacl_objdump)', + '--output=>(nmf_glibc)', + '--path-prefix=>(nexe_target)_libs', + '--stage-dependencies=<(nacl_glibc_out_dir)', + ], + 'target_conditions': [ + ['enable_x86_64==1', { + 'inputs': ['>(out_glibc64)'], + 'action': [ + '--library-path=>(libdir_glibc64)', + '--library-path=<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib64', + ], + }], + ['enable_x86_32==1', { + 'inputs': ['>(out_glibc32)'], + 'action': [ + '--library-path=>(libdir_glibc32)', + '--library-path=<(SHARED_INTERMEDIATE_DIR)/tc_glibc/lib32', + ], + }], + # TODO(ncbray) handle arm case. We don't have ARM glibc yet. + ], + }, + ], + }], + ['generate_nmf==1 and build_pnacl_newlib==1 and disable_pnacl==0', { + 'actions': [ + { + 'action_name': 'Generate PNACL NEWLIB NMF', + 'inputs': ['>(out_pnacl_newlib)'], + 'outputs': ['>(nmf_pnacl_newlib)'], + 'action': [ + 'python', + '<(DEPTH)/native_client_sdk/src/tools/create_nmf.py', + '>@(_inputs)', + '--output=>(nmf_pnacl_newlib)', + ], + }, + ], + }], + ], + }], + ], + }, +} |