blob: c2ff80e28aed93e22421f83e762e09f6e536dfdb [file] [log] [blame] [edit]
# 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" or (OS=="lb_shell" and target_arch=="android")', {
'targets': [
{
'target_name': 'native_test_apk',
'message': 'building native test apk',
'type': 'none',
'dependencies': [
'native_test_native_code',
'<(DEPTH)/base/base.gyp:base_java',
],
'actions': [
{
'action_name': 'native_test_apk',
'inputs': [
'<(DEPTH)/testing/android/native_test_apk.xml',
'<!@(find <(DEPTH)/testing/android -name "*.java")',
'>@(input_jars_paths)',
'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)/replaceme_apk/replaceme-debug.apk',
],
'action': [
'ant',
# TODO: All of these paths are absolute paths right now, while
# we really should be using relative paths for anything that is
# checked in to the Chromium tree (among which the SDK).
'-DPRODUCT_DIR=<(ant_build_out)',
'-DANDROID_SDK=<(android_sdk)',
'-DANDROID_SDK_ROOT=<(android_sdk_root)',
'-DANDROID_SDK_TOOLS=<(android_sdk_tools)',
'-DANDROID_SDK_VERSION=<(android_sdk_version)',
'-DANDROID_GDBSERVER=<(android_gdbserver)',
'-DCHROMIUM_SRC=<(ant_build_out)/../..',
'-DINPUT_JARS_PATHS=>(input_jars_paths)',
'-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': [
'../../base/base.gyp:base',
'../../base/base.gyp:test_support_base',
'../gtest.gyp:gtest',
'native_test_jni_headers',
],
},
{
'target_name': 'native_test_jni_headers',
'type': 'none',
'sources': [
'java/src/org/chromium/native_test/ChromeNativeTestActivity.java'
],
'variables': {
'jni_gen_dir': 'testing',
},
'includes': [ '../../build/jni_generator.gypi' ],
# So generated jni headers can be found by targets that
# depend on this.
'direct_dependent_settings': {
'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)',
],
},
},
],
}]
],
}