| Index: third_party/openh264/openh264.gyp
|
| diff --git a/third_party/openh264/openh264.gyp b/third_party/openh264/openh264.gyp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..fd8f7850a6c8a9c2743ff417f7174cf5f3a221fc
|
| --- /dev/null
|
| +++ b/third_party/openh264/openh264.gyp
|
| @@ -0,0 +1,133 @@
|
| +# Copyright 2015 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': [
|
| + 'openh264_args.gypi',
|
| + ],
|
| + 'conditions': [
|
| + ['use_openh264==1', {
|
| + # Settings shared by all openh264 targets.
|
| + 'target_defaults': {
|
| + 'variables': {
|
| + 'chromium_code': 0,
|
| + 'conditions': [
|
| + ['OS!="win"', {
|
| + # GCC flags
|
| + 'openh264_cflags_add': [
|
| + '-Wno-macro-redefined', # due to VERSION_NUMBER workaround
|
| + '-Wno-unused-value',
|
| + ],
|
| + 'openh264_cflags_remove': [
|
| + '-Wheader-hygiene',
|
| + ],
|
| + },{
|
| + # Windows uses 'msvs_disabled_warnings' instead, for MSVC flags.
|
| + 'openh264_cflags_add': [],
|
| + 'openh264_cflags_remove': [],
|
| + }],
|
| + ],
|
| + },
|
| + 'cflags': [ '<@(openh264_cflags_add)' ],
|
| + 'cflags!': [ '<@(openh264_cflags_remove)' ],
|
| + 'xcode_settings': {
|
| + 'WARNING_CFLAGS': [ '<@(openh264_cflags_add)' ],
|
| + 'WARNING_CFLAGS!': [ '<@(openh264_cflags_remove)' ],
|
| + },
|
| + 'msvs_disabled_warnings': [
|
| + 4005, # macro redefinition - due to VERSION_NUMBER workaround
|
| + 4324, # structure was padded
|
| + 4245, # signed/unsigned mismatch
|
| + 4701, # uninitialized variable used
|
| + 4702, # unreachable code
|
| + ],
|
| +
|
| + # Platform-specific defines.
|
| + 'conditions': [
|
| + ['OS=="android"', {
|
| + 'defines': [
|
| + 'ANDROID_NDK',
|
| + ],
|
| + }],
|
| + ],
|
| +
|
| + # Workaround relating to the VERSION_NUMBER macro in version.h.
|
| + # TODO(hbos): Fix cause of the issue instead of this workaround.
|
| + 'defines': [
|
| + # On some builds VERSION_NUMBER is not defined when including
|
| + # version.h (probably another file is included named version.h, I have
|
| + # not been able to reproduce the problem on a local machine). Since
|
| + # the macro is only used for debug printing in wels[En/De]coderExt.cpp
|
| + # we can get around the undeclared identifier error by giving it a
|
| + # default value ourselves.
|
| + 'VERSION_NUMBER="openh264 v.?.?"',
|
| + ],
|
| + },
|
| + 'includes': [
|
| + 'openh264.gypi',
|
| + ],
|
| + 'targets': [
|
| + {
|
| + 'target_name': 'openh264_common',
|
| + 'type': 'static_library',
|
| + 'conditions': [
|
| + ['OS=="android"', {
|
| + 'dependencies': [
|
| + # Defines "android_get/setCpu..." functions. The original
|
| + # OpenH264 build files replaces these using macros for
|
| + # "wels_..." versions of the same functions. We do not have
|
| + # access to these and use the <cpu-features.h> ones instead.
|
| + '<(DEPTH)/build/android/ndk.gyp:cpu_features',
|
| + ],
|
| + }],
|
| + ],
|
| + 'include_dirs': [ '<@(openh264_common_includes)' ],
|
| + 'sources': [ '<@(openh264_common_sources)' ],
|
| + },
|
| + {
|
| + 'target_name': 'openh264_processing',
|
| + 'type': 'static_library',
|
| + 'dependencies': [
|
| + 'openh264_common',
|
| + ],
|
| + 'include_dirs': [ '<@(openh264_processing_includes)' ],
|
| + 'sources': [ '<@(openh264_processing_sources)' ],
|
| + },
|
| + {
|
| + 'target_name': 'openh264_encoder',
|
| + 'type': 'static_library',
|
| + 'dependencies': [
|
| + 'openh264_common',
|
| + 'openh264_processing',
|
| + ],
|
| + 'include_dirs': [ '<@(openh264_encoder_includes)' ],
|
| + 'sources': [ '<@(openh264_encoder_sources)' ],
|
| + },
|
| + {
|
| + 'target_name': 'openh264_decoder',
|
| + 'type': 'static_library',
|
| + 'dependencies': [
|
| + 'openh264_common',
|
| + 'openh264_processing',
|
| + ],
|
| + 'defines': [
|
| + # Disables decoder_core.cpp debug prints.
|
| + 'CODEC_FOR_TESTBED',
|
| + ],
|
| + 'include_dirs': [ '<@(openh264_decoder_includes)' ],
|
| + 'sources': [ '<@(openh264_decoder_sources)' ],
|
| + },
|
| + ],
|
| + },{
|
| + # Building without OpenH264. Defining a dummy target because every build
|
| + # file needs to have at least one target.
|
| + 'targets': [
|
| + {
|
| + 'target_name': 'openh264_dummy_target',
|
| + 'type': 'none',
|
| + }
|
| + ],
|
| + }],
|
| + ],
|
| +}
|
|
|