Correctly rebuild WebRTCDemo after jni/ source file changes
BUG=1980 TEST=Modify source file under jni/ and WebRTCDemo will rebuild R=fischman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1831004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4377 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
dd02935d5d
commit
129afc29fb
@ -6,111 +6,62 @@
|
||||
# in the file PATENTS. All contributing project authors may
|
||||
# be found in the AUTHORS file in the root of the source tree.
|
||||
{
|
||||
'variables': {
|
||||
# NOTE: This laundry list of libs comes from jni/Android.mk and should be
|
||||
# kept in sync with that location. Also note that the explicit library
|
||||
# names must be used (in addition to the names of their gyp targets) because
|
||||
# these are fed into the 'inputs' attribute of the action below, not to
|
||||
# 'dependencies' because these need to be real (build-time) dependencies,
|
||||
# not just order-only dependencies
|
||||
# (https://code.google.com/p/webrtc/issues/detail?id=1980).
|
||||
'android_mk_common_libs': [
|
||||
'<(PRODUCT_DIR)/libvoice_engine.a',
|
||||
'<(PRODUCT_DIR)/libvideo_engine_core.a',
|
||||
'<(PRODUCT_DIR)/libvideo_processing.a',
|
||||
'<(PRODUCT_DIR)/libwebrtc_video_coding.a',
|
||||
'<(PRODUCT_DIR)/libvideo_render_module.a',
|
||||
'<(PRODUCT_DIR)/libvideo_capture_module.a',
|
||||
'<(PRODUCT_DIR)/libaudio_coding_module.a',
|
||||
'<(PRODUCT_DIR)/libaudio_processing.a',
|
||||
'<(PRODUCT_DIR)/libPCM16B.a',
|
||||
'<(PRODUCT_DIR)/libCNG.a',
|
||||
'<(PRODUCT_DIR)/libNetEq.a',
|
||||
'<(PRODUCT_DIR)/libG722.a',
|
||||
'<(PRODUCT_DIR)/libiSAC.a',
|
||||
'<(PRODUCT_DIR)/libG711.a',
|
||||
'<(PRODUCT_DIR)/libiLBC.a',
|
||||
'<(PRODUCT_DIR)/libiSACFix.a',
|
||||
'<(PRODUCT_DIR)/libwebrtc_opus.a',
|
||||
'<(PRODUCT_DIR)/libopus.a',
|
||||
'<(PRODUCT_DIR)/libcommon_audio.a',
|
||||
'<(PRODUCT_DIR)/libbitrate_controller.a',
|
||||
'<(PRODUCT_DIR)/libcommon_video.a',
|
||||
'<(PRODUCT_DIR)/libcpu_features_android.a',
|
||||
'<(PRODUCT_DIR)/libaudio_device.a',
|
||||
'<(PRODUCT_DIR)/libremote_bitrate_estimator.a',
|
||||
'<(PRODUCT_DIR)/librtp_rtcp.a',
|
||||
'<(PRODUCT_DIR)/libmedia_file.a',
|
||||
'<(PRODUCT_DIR)/libchannel_transport.a',
|
||||
'<(PRODUCT_DIR)/libwebrtc_utility.a',
|
||||
'<(PRODUCT_DIR)/libaudio_conference_mixer.a',
|
||||
'<(PRODUCT_DIR)/libyuv.a',
|
||||
'<(PRODUCT_DIR)/libwebrtc_i420.a',
|
||||
'<(PRODUCT_DIR)/libwebrtc_vp8.a',
|
||||
'<(PRODUCT_DIR)/libvideo_coding_utility.a',
|
||||
'<(PRODUCT_DIR)/libsystem_wrappers.a',
|
||||
'<(PRODUCT_DIR)/libjpeg_turbo.a',
|
||||
'<(PRODUCT_DIR)/libaudioproc_debug_proto.a',
|
||||
'<(PRODUCT_DIR)/libprotobuf_lite.a',
|
||||
'<(PRODUCT_DIR)/libpaced_sender.a',
|
||||
'<(PRODUCT_DIR)/libvpx.a',
|
||||
],
|
||||
'android_mk_x86_libs': [
|
||||
'<(PRODUCT_DIR)/libvideo_processing_sse2.a',
|
||||
'<(PRODUCT_DIR)/libaudio_processing_sse2.a',
|
||||
'<(PRODUCT_DIR)/libcommon_audio_sse2.a',
|
||||
'<(PRODUCT_DIR)/libvpx_intrinsics_mmx.a',
|
||||
'<(PRODUCT_DIR)/libvpx_intrinsics_sse2.a',
|
||||
'<(PRODUCT_DIR)/libvpx_intrinsics_ssse3.a',
|
||||
],
|
||||
'android_mk_arm_libs': [
|
||||
'<(PRODUCT_DIR)/libaudio_processing_neon.a',
|
||||
'<(PRODUCT_DIR)/libisac_neon.a',
|
||||
'<(PRODUCT_DIR)/libcommon_audio_neon.a',
|
||||
'<(PRODUCT_DIR)/libvpx_arm_neon.a',
|
||||
],
|
||||
'android_modules_java_jars': [
|
||||
'<(PRODUCT_DIR)/lib.java/audio_device_module_java.jar',
|
||||
'<(PRODUCT_DIR)/lib.java/video_capture_module_java.jar',
|
||||
'<(PRODUCT_DIR)/lib.java/video_render_module_java.jar',
|
||||
],
|
||||
},
|
||||
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'video_demo_apk',
|
||||
'type': 'none',
|
||||
'conditions': [
|
||||
['target_arch=="x86"', {
|
||||
'inputs': [ '<@(android_mk_x86_libs)' ],
|
||||
}, {
|
||||
'inputs': [ '<@(android_mk_arm_libs)' ],
|
||||
}],
|
||||
],
|
||||
'target_name': 'libwebrtc-video-demo-jni',
|
||||
'type': 'loadable_module',
|
||||
'dependencies': [
|
||||
'<(webrtc_root)/modules/modules.gyp:*',
|
||||
'<(modules_java_gyp_path):*',
|
||||
'<(webrtc_root)/test/test.gyp:channel_transport',
|
||||
'<(webrtc_root)/video_engine/video_engine.gyp:video_engine_core',
|
||||
'<(webrtc_root)/voice_engine/voice_engine.gyp:voice_engine',
|
||||
],
|
||||
'sources': [
|
||||
'jni/android_media_codec_decoder.cc',
|
||||
'jni/vie_android_java_api.cc',
|
||||
],
|
||||
'link_settings': {
|
||||
'libraries': [
|
||||
'-llog',
|
||||
'-lgcc',
|
||||
'-lGLESv2',
|
||||
'-lOpenSLES',
|
||||
],
|
||||
}
|
||||
},
|
||||
{
|
||||
'target_name': 'WebRTCDemo',
|
||||
'type': 'none',
|
||||
'dependencies': [
|
||||
'libwebrtc-video-demo-jni',
|
||||
'<(modules_java_gyp_path):*',
|
||||
],
|
||||
'actions': [
|
||||
{
|
||||
# TODO(leozwang): Convert building of the demo to a proper GYP target
|
||||
# so this action and the custom build script is not needed.
|
||||
'action_name': 'build_video_demo_apk',
|
||||
# TODO(yujie.mao): Convert building of the demo to a proper GYP target
|
||||
# so this action is not needed once chromium's apk-building machinery
|
||||
# can be used. (crbug.com/225101)
|
||||
'action_name': 'build_webrtcdemo_apk',
|
||||
'variables': {
|
||||
'android_webrtc_demo_root': '<(webrtc_root)/video_engine/test/android',
|
||||
},
|
||||
'inputs' : [
|
||||
'<(webrtc_root)/video_engine/test/android/src/org/webrtc/videoengine/ViEMediaCodecDecoder.java',
|
||||
'<(webrtc_root)/video_engine/test/android/src/org/webrtc/videoengineapp/IViEAndroidCallback.java',
|
||||
'<(webrtc_root)/video_engine/test/android/src/org/webrtc/videoengineapp/ViEAndroidJavaAPI.java',
|
||||
'<(webrtc_root)/video_engine/test/android/src/org/webrtc/videoengineapp/WebRTCDemo.java',
|
||||
'<@(android_mk_common_libs)',
|
||||
'<@(android_modules_java_jars)',
|
||||
'<(PRODUCT_DIR)/lib.java/audio_device_module_java.jar',
|
||||
'<(PRODUCT_DIR)/lib.java/video_capture_module_java.jar',
|
||||
'<(PRODUCT_DIR)/lib.java/video_render_module_java.jar',
|
||||
'<(PRODUCT_DIR)/libwebrtc-video-demo-jni.so',
|
||||
'<!@(find <(android_webrtc_demo_root)/src -name "*.java")',
|
||||
],
|
||||
'outputs': ['<(PRODUCT_DIR)/WebRTCDemo-debug.apk'],
|
||||
'action': ['bash', '-ec',
|
||||
'rm -f <(_outputs) && '
|
||||
'mkdir -p <(android_webrtc_demo_root)/libs/<(android_app_abi) && '
|
||||
'<(android_strip) -o <(android_webrtc_demo_root)/libs/<(android_app_abi)/libwebrtc-video-demo-jni.so <(PRODUCT_DIR)/libwebrtc-video-demo-jni.so && '
|
||||
'cd <(android_webrtc_demo_root) && '
|
||||
'ant debug && '
|
||||
'cd - && '
|
||||
'cp <(android_webrtc_demo_root)/bin/WebRTCDemo-debug.apk <(_outputs)'
|
||||
],
|
||||
'outputs': ['<(webrtc_root)'],
|
||||
'action': ['python',
|
||||
'<(webrtc_root)/video_engine/test/android/build_demo.py',
|
||||
'--arch', '<(target_arch)'],
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -1,92 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license
|
||||
# that can be found in the LICENSE file in the root of the source
|
||||
# tree. An additional intellectual property rights grant can be found
|
||||
# in the file PATENTS. All contributing project authors may
|
||||
# be found in the AUTHORS file in the root of the source tree.
|
||||
|
||||
|
||||
"""Builds the WebRTC Video Demo for Android.
|
||||
|
||||
This script is designed as an annotation script to be run by a Chrome Buildbot.
|
||||
|
||||
PREREQUISITES: You must have built WebRTC with the right environment set (the
|
||||
one you get when sourcing build/android/envsetup.sh) before building with this
|
||||
script.
|
||||
|
||||
NOTICE: To build successfully, you have to have Ant installed and have your
|
||||
.gclient file setup with the target_os = ["android"] variable appended to the
|
||||
last line of your WebRTC solution, so it looks like this:
|
||||
];target_os = ["android"]
|
||||
Then run 'gclient sync' to sync out the required Android SDK and NDK files into
|
||||
the third_party directory.
|
||||
If you want to get additional platform-specific dependencies in the same
|
||||
checkout, add them to the list too, e.g. target_os = ["android", "unix"].
|
||||
"""
|
||||
|
||||
import optparse
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
_CURRENT_DIR = os.path.abspath(os.path.dirname(__file__))
|
||||
_ROOT_DIR = os.path.abspath(os.path.join(_CURRENT_DIR, '..', '..', '..', '..'))
|
||||
_ANDROID_ENV_SCRIPT = os.path.join(_ROOT_DIR, 'build', 'android', 'envsetup.sh')
|
||||
|
||||
def main():
|
||||
parser = optparse.OptionParser('usage: %prog -t <target> -a <arch>')
|
||||
|
||||
parser.add_option('-t', '--target', default='debug',
|
||||
help='Compile target (debug/release). Default: %default')
|
||||
parser.add_option('-a', '--arch', type='choice', choices=['arm', 'ia32'],
|
||||
help='Compile arch (arm/ia32).')
|
||||
# Build and factory properties are currently unused but are required to avoid
|
||||
# errors when the script is executed by the buildbots.
|
||||
parser.add_option('--build-properties', help='Build properties (unused)')
|
||||
parser.add_option('--factory-properties', help='Factory properties (unused)')
|
||||
options, _args = parser.parse_args()
|
||||
|
||||
if options.arch.lower() == 'ia32':
|
||||
target_arch = 'x86'
|
||||
app_abi = 'x86'
|
||||
elif options.arch.lower() == 'arm':
|
||||
target_arch = 'arm'
|
||||
app_abi = 'armeabi-v7a'
|
||||
else:
|
||||
print 'Unsupported target platform'
|
||||
raise
|
||||
|
||||
def RunInAndroidEnv(cmd):
|
||||
return 'source %s --target-arch=%s && %s' % (_ANDROID_ENV_SCRIPT,
|
||||
target_arch, cmd)
|
||||
|
||||
print '@@@BUILD_STEP ndk-build@@@'
|
||||
cmd = RunInAndroidEnv('ndk-build APP_ABI=%s' % app_abi)
|
||||
print cmd
|
||||
try:
|
||||
subprocess.check_call(cmd, cwd=_CURRENT_DIR, executable='/bin/bash',
|
||||
shell=True)
|
||||
except subprocess.CalledProcessError as e:
|
||||
print 'NDK build failed: %s' % e
|
||||
print '@@@STEP_FAILURE@@@'
|
||||
return 1
|
||||
|
||||
print '@@@BUILD_STEP ant-build@@@'
|
||||
cmd = RunInAndroidEnv('ant %s' % options.target.lower())
|
||||
print cmd
|
||||
try:
|
||||
subprocess.check_call(cmd, cwd=_CURRENT_DIR, executable='/bin/bash',
|
||||
shell=True)
|
||||
except subprocess.CalledProcessError as e:
|
||||
print 'Ant build failed: %s' % e
|
||||
print '@@@STEP_FAILURE@@@'
|
||||
return 2
|
||||
|
||||
print 'WebRTC Demo build completed.'
|
||||
return 0
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
@ -1,412 +0,0 @@
|
||||
# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license
|
||||
# that can be found in the LICENSE file in the root of the source
|
||||
# tree. An additional intellectual property rights grant can be found
|
||||
# in the file PATENTS. All contributing project authors may
|
||||
# be found in the AUTHORS file in the root of the source tree.
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(call all-makefiles-under, $(LOCAL_PATH))
|
||||
|
||||
# Specify BUILDTYPE=Release on the command line for a release build.
|
||||
BUILDTYPE ?= Debug
|
||||
|
||||
MY_LIBS_PATH := ../../../../../out/$(BUILDTYPE)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libvoice_engine
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libvoice_engine.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libvideo_engine_core
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libvideo_engine_core.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libvideo_processing
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libvideo_processing.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libwebrtc_video_coding
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libwebrtc_video_coding.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libvideo_render_module
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libvideo_render_module.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libvideo_capture_module
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libvideo_capture_module.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libaudio_coding_module
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libaudio_coding_module.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libaudio_processing
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libaudio_processing.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libPCM16B
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libPCM16B.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libCNG
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libCNG.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libNetEq
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libNetEq.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libG722
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libG722.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libiSAC
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libiSAC.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libG711
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libG711.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libiLBC
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libiLBC.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libiSACFix
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libiSACFix.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
# Remove the following file existense check when opus is always enabled.
|
||||
ifneq ($(wildcard jni/$(MY_LIBS_PATH)/libopus.a),)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libopus
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libopus.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
endif
|
||||
|
||||
ifneq ($(wildcard jni/$(MY_LIBS_PATH)/libwebrtc_opus.a),)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libwebrtc_opus
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libwebrtc_opus.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
endif
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libcommon_audio
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libcommon_audio.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libbitrate_controller
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libbitrate_controller.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libcommon_video
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libcommon_video.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libsystem_wrappers
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libsystem_wrappers.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libcpu_features_android
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libcpu_features_android.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libaudio_device
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libaudio_device.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libremote_bitrate_estimator
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libremote_bitrate_estimator.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := librbe_components
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/librbe_components.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := librtp_rtcp
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/librtp_rtcp.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libmedia_file
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libmedia_file.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libchannel_transport
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libchannel_transport.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libwebrtc_utility
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libwebrtc_utility.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libaudio_conference_mixer
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libaudio_conference_mixer.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libyuv
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libyuv.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libwebrtc_i420
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libwebrtc_i420.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libwebrtc_vp8
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libwebrtc_vp8.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libvideo_coding_utility
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libvideo_coding_utility.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libjpeg_turbo
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libjpeg_turbo.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libaudioproc_debug_proto
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libaudioproc_debug_proto.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libprotobuf_lite
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libprotobuf_lite.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libvpx
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libvpx.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libpaced_sender
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libpaced_sender.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
ifeq ($(APP_ABI), x86) # x86 Android specific
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libvideo_processing_sse2
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libvideo_processing_sse2.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libaudio_processing_sse2
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libaudio_processing_sse2.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libcommon_audio_sse2
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libcommon_audio_sse2.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libvpx_intrinsics_mmx
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libvpx_intrinsics_mmx.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libvpx_intrinsics_sse2
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libvpx_intrinsics_sse2.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libvpx_intrinsics_ssse3
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libvpx_intrinsics_ssse3.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
LOCAL_PLATFORM_SPECIFIC_STATIC_LIBRARIES := \
|
||||
libvideo_processing_sse2 \
|
||||
libaudio_processing_sse2 \
|
||||
libcommon_audio_sse2 \
|
||||
libvpx_intrinsics_mmx \
|
||||
libvpx_intrinsics_sse2 \
|
||||
libvpx_intrinsics_ssse3
|
||||
else # arm Android specific
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libaudio_processing_neon
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libaudio_processing_neon.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libisac_neon
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libisac_neon.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := libcommon_audio_neon
|
||||
LOCAL_SRC_FILES := \
|
||||
$(MY_LIBS_PATH)/libcommon_audio_neon.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
# TODO(leozwang): Upstream required Android changes to libvpx.gyp to enable
|
||||
# this optimization.
|
||||
#include $(CLEAR_VARS)
|
||||
#LOCAL_MODULE := libvpx_arm_neon
|
||||
#LOCAL_SRC_FILES := \
|
||||
# $(MY_LIBS_PATH)/libvpx_arm_neon.a
|
||||
#include $(PREBUILT_STATIC_LIBRARY)
|
||||
|
||||
LOCAL_PLATFORM_SPECIFIC_STATIC_LIBRARIES := \
|
||||
libaudio_processing_neon \
|
||||
libisac_neon \
|
||||
libcommon_audio_neon \
|
||||
libvpx_arm_neon
|
||||
endif
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE_TAGS := tests
|
||||
LOCAL_MODULE := libwebrtc-video-demo-jni
|
||||
LOCAL_CPP_EXTENSION := .cc
|
||||
LOCAL_SRC_FILES := \
|
||||
vie_android_java_api.cc \
|
||||
android_media_codec_decoder.cc
|
||||
LOCAL_CFLAGS := \
|
||||
'-DWEBRTC_TARGET_PC' \
|
||||
'-DWEBRTC_ANDROID'
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
external/gtest/include \
|
||||
$(LOCAL_PATH)/../../../.. \
|
||||
$(LOCAL_PATH)/../../../../.. \
|
||||
$(LOCAL_PATH)/../../../include \
|
||||
$(LOCAL_PATH)/../../../../voice_engine/include
|
||||
|
||||
LOCAL_LDLIBS := \
|
||||
-llog \
|
||||
-lgcc \
|
||||
-lGLESv2 \
|
||||
-lOpenSLES \
|
||||
|
||||
# TODO(yujie.mao): Replace LOCAL_WHOLE_STATIC_LIBRARIES to
|
||||
# LOCAL_STATIC_LIBRARIES after removing the circular dependencies between
|
||||
# libvpx.a and libvpx_intrinsics_[mmx,sse2,ssse3].a
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := \
|
||||
libvoice_engine \
|
||||
libvideo_engine_core \
|
||||
libvideo_processing \
|
||||
libwebrtc_video_coding \
|
||||
libvideo_render_module \
|
||||
libvideo_capture_module \
|
||||
libaudio_coding_module \
|
||||
libaudio_processing \
|
||||
libPCM16B \
|
||||
libCNG \
|
||||
libNetEq \
|
||||
libG722 \
|
||||
libiSAC \
|
||||
libG711 \
|
||||
libiLBC \
|
||||
libiSACFix \
|
||||
libwebrtc_opus \
|
||||
libopus \
|
||||
libcommon_audio \
|
||||
libbitrate_controller \
|
||||
libcommon_video \
|
||||
libcpu_features_android \
|
||||
libaudio_device \
|
||||
libremote_bitrate_estimator \
|
||||
librbe_components \
|
||||
librtp_rtcp \
|
||||
libmedia_file \
|
||||
libchannel_transport \
|
||||
libwebrtc_utility \
|
||||
libaudio_conference_mixer \
|
||||
libyuv \
|
||||
libwebrtc_i420 \
|
||||
libwebrtc_vp8 \
|
||||
libvideo_coding_utility \
|
||||
libsystem_wrappers \
|
||||
libjpeg_turbo \
|
||||
libaudioproc_debug_proto \
|
||||
libprotobuf_lite \
|
||||
libpaced_sender \
|
||||
libvpx \
|
||||
$(LOCAL_PLATFORM_SPECIFIC_STATIC_LIBRARIES) \
|
||||
$(MY_SUPPLEMENTAL_LIBS)
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
@ -1,11 +0,0 @@
|
||||
# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
||||
#
|
||||
# Use of this source code is governed by a BSD-style license
|
||||
# that can be found in the LICENSE file in the root of the source
|
||||
# tree. An additional intellectual property rights grant can be found
|
||||
# in the file PATENTS. All contributing project authors may
|
||||
# be found in the AUTHORS file in the root of the source tree.
|
||||
|
||||
# Build both ARMv7-A and x86 machine code.
|
||||
APP_ABI := armeabi-v7a x86
|
||||
APP_STL := stlport_static
|
Loading…
Reference in New Issue
Block a user