Chromium Code Reviews| 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..9256941f5f696eca7fbd16dbfb1d11da53f3d52f |
| --- /dev/null |
| +++ b/third_party/openh264/openh264.gyp |
| @@ -0,0 +1,181 @@ |
| +# 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. |
| + |
| +{ |
| + 'conditions': [ |
| + ['build_openh264==1', { |
| + # === Building with OpenH264 === |
| + 'includes': [ |
| + 'openh264.gypi', |
| + ], |
| + 'variables': { |
| + # Defines shared by all openh264 targets. |
| + 'openh264_defines': [ |
| + # This is supposed to be defined in version.h but isn't for some |
| + # windows and mac targets. It's only used for debug printing so we fix |
| + # this issue by give it a default value. |
| + 'VERSION_NUMBER="openh264 v.?.?"', |
|
torbjorng
2015/11/05 13:18:25
If it isn't defined for some builds, one can safel
hbos_chromium
2015/11/10 14:36:47
I don't like this workaround but I'd rather try to
|
| + ], |
| + 'conditions': [ |
| + # cflags shared by all openh264 targets. |
| + ['OS!="win"', { |
| + 'openh264_cflags_add': [ |
| + '-fvisibility=default', |
|
torbjorng
2015/11/05 13:18:25
See comment on other file.
|
| + '-w', |
| + ], |
| + }, { |
| + 'openh264_cflags_add': [ |
| + '/w', |
| + ], |
| + }], |
| + # Defines that are specific to target platforms. |
| + ['OS!="android"', { |
| + 'openh264_defines_os': [], |
| + }, { |
| + 'openh264_defines_os': [ |
| + 'ANDROID_NDK', |
| + ], |
| + }], |
| + ], |
| + }, |
| + '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', |
| + ], |
| + }], |
| + ], |
| + 'defines': [ |
|
torbjorng
2015/11/05 13:18:25
Presumably, the following block of code could be s
hbos_chromium
2015/11/10 14:36:47
Now using 'target_defaults' instead.
|
| + '<@(openh264_defines)', |
| + '<@(openh264_defines_os)', |
| + ], |
| + 'cflags': [ '<@(openh264_cflags_add)', ], |
| + 'xcode_settings': { |
| + 'WARNING_CFLAGS': [ '<@(openh264_cflags_add)', ], |
| + }, |
| + 'include_dirs': [ |
| + 'src/codec/api/svc', |
| + 'src/codec/common/inc', |
| + 'src/codec/common/src', |
| + ], |
| + 'sources': [ |
| + '<@(openh264_common_sources)', |
| + ], |
| + }, |
| + { |
| + 'target_name': 'openh264_processing', |
| + 'type': 'static_library', |
| + 'dependencies': [ |
| + 'openh264_common', |
| + ], |
| + 'defines': [ |
| + '<@(openh264_defines)', |
| + '<@(openh264_defines_os)', |
| + ], |
| + 'cflags': [ '<@(openh264_cflags_add)', ], |
| + 'xcode_settings': { |
| + 'WARNING_CFLAGS': [ '<@(openh264_cflags_add)', ], |
| + }, |
| + 'include_dirs': [ |
| + 'src/codec/api/svc', |
| + 'src/codec/common/inc', |
| + 'src/codec/common/src', |
| + 'src/codec/processing/interface', |
| + 'src/codec/processing/interface/', |
| + 'src/codec/processing/src/adaptivequantization', |
| + 'src/codec/processing/src/backgrounddetection', |
| + 'src/codec/processing/src/common', |
| + 'src/codec/processing/src/complexityanalysis', |
| + 'src/codec/processing/src/denoise', |
| + 'src/codec/processing/src/downsample', |
| + 'src/codec/processing/src/imagerotate', |
| + 'src/codec/processing/src/scenechangedetection', |
| + 'src/codec/processing/src/scrolldetection', |
| + 'src/codec/processing/src/vaacalc', |
| + ], |
| + 'sources': [ |
| + '<@(openh264_processing_sources)', |
| + ], |
| + }, |
| + { |
| + 'target_name': 'openh264_encoder', |
| + 'type': 'static_library', |
| + 'dependencies': [ |
| + 'openh264_common', |
| + 'openh264_processing', |
| + ], |
| + 'defines': [ |
| + '<@(openh264_defines)', |
| + '<@(openh264_defines_os)', |
| + ], |
| + 'cflags': [ '<@(openh264_cflags_add)', ], |
| + 'xcode_settings': { |
| + 'WARNING_CFLAGS': [ '<@(openh264_cflags_add)', ], |
| + }, |
| + 'include_dirs': [ |
| + 'src/codec/api/svc', |
| + 'src/codec/common/inc', |
| + 'src/codec/common/src', |
| + 'src/codec/encoder/core/inc', |
| + 'src/codec/encoder/core/src', |
| + 'src/codec/encoder/plus/inc', |
| + 'src/codec/encoder/plus/src', |
| + 'src/codec/processing/interface/', |
| + ], |
| + 'sources': [ |
| + '<@(openh264_encoder_sources)', |
| + ], |
| + }, |
| + { |
| + 'target_name': 'openh264_decoder', |
| + 'type': 'static_library', |
| + 'dependencies': [ |
| + 'openh264_common', |
| + 'openh264_processing', |
| + ], |
| + 'defines': [ |
| + '<@(openh264_defines)', |
| + '<@(openh264_defines_os)', |
| + # Disables decoder_core.cpp debug prints. |
| + 'CODEC_FOR_TESTBED', |
| + ], |
| + 'cflags': [ '<@(openh264_cflags_add)', ], |
| + 'xcode_settings': { |
| + 'WARNING_CFLAGS': [ '<@(openh264_cflags_add)', ], |
| + }, |
| + 'include_dirs': [ |
| + 'src/codec/api/svc', |
| + 'src/codec/common/inc', |
| + 'src/codec/common/src', |
| + 'src/codec/decoder/core/inc', |
| + 'src/codec/decoder/core/src', |
| + 'src/codec/decoder/plus/inc', |
| + 'src/codec/decoder/plus/src', |
| + 'src/codec/processing/interface/', |
| + ], |
| + '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', |
| + } |
| + ], |
| + }], |
| + ], |
| +} |