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..22c8667560179216cc45ad16fa3582ca52db68b1 |
--- /dev/null |
+++ b/third_party/openh264/openh264.gyp |
@@ -0,0 +1,121 @@ |
+# 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-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': [ |
+ 4324, # structure was padded |
+ 4245, # signed/unsigned mismatch |
+ 4701, # uninitialized variable used |
+ 4702, # unreachable code |
+ ], |
+ |
+ # Platform-specific defines. |
+ 'conditions': [ |
+ ['OS=="android"', { |
+ 'defines': [ |
+ # Android NDK is necessary for its cpufeatures and this define is |
+ # what OpenH264 code uses to check if it should be used. |
+ 'ANDROID_NDK', |
+ ], |
+ }], |
+ ], |
+ }, |
+ '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', |
+ } |
+ ], |
+ }], |
+ ], |
+} |