Index: testing/android/native_test.gyp |
diff --git a/testing/android/native_test.gyp b/testing/android/native_test.gyp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1b60cbf9a44c85a7d70cac84fbcd2cf753e00070 |
--- /dev/null |
+++ b/testing/android/native_test.gyp |
@@ -0,0 +1,96 @@ |
+# Copyright (c) 2012 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. |
+ |
+{ |
+ 'conditions': [ |
+ ['OS=="android"', { |
+ 'targets': [ |
+ { |
+ 'target_name': 'native_test_apk', |
+ 'message': 'building native test apk', |
+ 'type': 'none', |
+ 'dependencies': [ |
+ 'native_test_native_code', |
+ ], |
+ 'actions': [ |
+ { |
+ 'action_name': 'native_test_apk', |
+ 'inputs': [ |
+ '<(DEPTH)/testing/android/native_test_apk.xml', |
+ '<!@(find <(DEPTH)/testing/android -name "*.java")', |
+ 'native_test_launcher.cc' |
+ ], |
+ 'outputs': [ |
+ # Awkwardly, we build a Debug APK even when gyp is in |
+ # Release mode. I don't think it matters (e.g. we're |
+ # probably happy to not codesign) but naming should be |
+ # fixed. The -debug name is an aspect of the android |
+ # SDK antfiles (e.g. ${sdk.dir}/tools/ant/build.xml) |
+ '<(PRODUCT_DIR)/ChromeNativeTests-debug.apk', |
+ ], |
+ 'action': [ |
+ 'ant', |
+ '-DPRODUCT_DIR=<(PRODUCT_DIR)', |
+ '-buildfile', |
+ '<(DEPTH)/testing/android/native_test_apk.xml', |
+ ] |
+ } |
+ ], |
+ }, |
+ { |
+ 'target_name': 'native_test_native_code', |
+ 'message': 'building native pieces of native test package', |
+ 'type': 'static_library', |
+ 'sources': [ |
+ 'native_test_launcher.cc', |
+ ], |
+ 'direct_dependent_settings': { |
+ 'ldflags!': [ |
+ # JNI_OnLoad is implemented in a .a and we need to |
+ # re-export in the .so. |
+ '-Wl,--exclude-libs=ALL', |
+ ], |
+ }, |
+ 'dependencies': [ |
+ 'jni_headers', |
+ '../../base/base.gyp:base', |
+ '../../base/base.gyp:test_support_base', |
+ '../gtest.gyp:gtest', |
+ ], |
+ }, |
+ { |
+ 'target_name': 'jni_headers', |
+ 'type': 'none', |
+ 'actions': [ |
+ { |
+ 'action_name': 'generate_jni_headers', |
+ 'inputs': [ |
+ '../../base/android/jni_generator/jni_generator.py', |
+ 'java/src/org/chromium/native_test/ChromeNativeTestActivity.java' |
+ ], |
+ 'outputs': [ |
+ '<(SHARED_INTERMEDIATE_DIR)/testing/android/jni/' |
+ 'chrome_native_test_activity_jni.h', |
+ ], |
+ 'action': [ |
+ 'python', |
+ '../../base/android/jni_generator/jni_generator.py', |
+ '-o', |
+ '<@(_inputs)', |
+ '<@(_outputs)', |
+ ], |
+ } |
+ ], |
+ # So generated jni headers can be found by targets that |
+ # depend on this. |
+ 'direct_dependent_settings': { |
+ 'include_dirs': [ |
+ '<(SHARED_INTERMEDIATE_DIR)', |
+ ], |
+ }, |
+ }, |
+ ], |
+ }] |
+ ], |
+} |