Chromium Code Reviews| Index: ipc/ipc.gyp |
| diff --git a/ipc/ipc.gyp b/ipc/ipc.gyp |
| index 9b38f77aaf2fcf0d28820cb9d53b8d4a93d5e07b..d82b7eff459bfc66019c1bf069935a661d71cc9d 100644 |
| --- a/ipc/ipc.gyp |
| +++ b/ipc/ipc.gyp |
| @@ -32,7 +32,7 @@ |
| 'targets': [ |
| { |
| 'target_name': 'ipc_tests', |
| - 'type': 'executable', |
| + 'type': '<(gtest_target_type)', |
| 'dependencies': [ |
| 'ipc', |
| '../base/base.gyp:base', |
| @@ -63,6 +63,11 @@ |
| '../build/linux/system.gyp:gtk', |
| ], |
| }], |
| + ['OS=="android" and "<(gtest_target_type)"=="shared_library"', { |
| + 'dependencies': [ |
| + '../testing/android/native_test.gyp:native_test_native_code', |
| + ], |
| + }], |
| ['os_posix == 1 and OS != "mac" and OS != "android"', { |
| 'conditions': [ |
| ['linux_use_tcmalloc==1', { |
| @@ -87,4 +92,69 @@ |
| ], |
| }, |
| ], |
| + 'conditions': [ |
| + # Special target to wrap a <(gtest_target_type)==shared_library |
| + # ipc_tests into an android apk for execution. |
| + # See base.gyp for TODO(jrg)s about this strategy. |
|
bulach
2012/04/12 15:51:42
ditto..
|
| + ['OS=="android" and "<(gtest_target_type)"=="shared_library"', { |
| + 'targets': [ |
| + { |
| + 'target_name': 'ipc_tests_apk', |
| + 'type': 'none', |
| + 'dependencies': [ |
| + 'ipc_tests', |
| + ], |
| + 'actions': [ |
| + { |
| + # Generate apk files (including source and antfile) from |
| + # a template. |
| + 'action_name': 'generate_ipc_tests_apk', |
| + 'dependencies': [ |
| + 'base', # So that android/java/java.gyp:base_java is built |
| + 'ipc_tests', |
| + ], |
| + 'inputs': [ |
| + '../testing/android/generate_native_test.py', |
| + '<(PRODUCT_DIR)/lib.target/libipc_tests.so', |
| + '<(PRODUCT_DIR)/chromium_base.jar' |
| + ], |
| + 'outputs': [ |
| + '<(PRODUCT_DIR)/ipc_tests_apk/AndroidManifest.xml' |
| + ], |
| + 'action': [ |
| + '../testing/android/generate_native_test.py', |
| + '--native_library', |
| + '<(PRODUCT_DIR)/lib.target/libipc_tests.so', |
| + # TODO(jrg): find a better way to specify jar |
| + # dependencies. Hard coding seems fragile. |
| + '--jars', |
| + '<(PRODUCT_DIR)/chromium_base.jar', |
| + '--output', |
| + '<(PRODUCT_DIR)/ipc_tests_apk' |
| + ], |
| + }, |
| + { |
| + # Build the generated template file, wrapping the |
| + # relevant .so and jar. |
| + 'action_name': 'build_ipc_tests_apk', |
| + 'dependencies': [ |
| + 'generate_ipc_tests_apk', |
| + ], |
| + 'inputs': [ |
| + '<(PRODUCT_DIR)/ipc_tests_apk/AndroidManifest.xml' |
| + ], |
| + 'outputs': [ |
| + '<(PRODUCT_DIR)/ChromeNativeTests_ipc_tests-debug.apk', |
| + ], |
| + 'action': [ |
| + 'ant', |
| + '-DPRODUCT_DIR=<(PRODUCT_DIR)', |
| + '-buildfile', |
| + '<(PRODUCT_DIR)/ipc_tests_apk/native_test_apk.xml', |
| + ] |
| + }, |
| + ] |
| + }], |
| + }], |
| + ], |
| } |