OLD | NEW |
---|---|
(Empty) | |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 { | |
6 'conditions': [ | |
7 ['build_openh264==1', { | |
8 # === Building with OpenH264 === | |
9 'includes': [ | |
10 'openh264.gypi', | |
11 ], | |
12 'variables': { | |
13 # Defines shared by all openh264 targets. | |
14 'openh264_defines': [ | |
15 # This is supposed to be defined in version.h but isn't for some | |
16 # windows and mac targets. It's only used for debug printing so we fix | |
17 # this issue by give it a default value. | |
18 '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
| |
19 ], | |
20 'conditions': [ | |
21 # cflags shared by all openh264 targets. | |
22 ['OS!="win"', { | |
23 'openh264_cflags_add': [ | |
24 '-fvisibility=default', | |
torbjorng
2015/11/05 13:18:25
See comment on other file.
| |
25 '-w', | |
26 ], | |
27 }, { | |
28 'openh264_cflags_add': [ | |
29 '/w', | |
30 ], | |
31 }], | |
32 # Defines that are specific to target platforms. | |
33 ['OS!="android"', { | |
34 'openh264_defines_os': [], | |
35 }, { | |
36 'openh264_defines_os': [ | |
37 'ANDROID_NDK', | |
38 ], | |
39 }], | |
40 ], | |
41 }, | |
42 'targets': [ | |
43 { | |
44 'target_name': 'openh264_common', | |
45 'type': 'static_library', | |
46 'conditions': [ | |
47 ['OS=="android"', { | |
48 'dependencies': [ | |
49 # Defines "android_get/setCpu..." functions. The original | |
50 # OpenH264 build files replaces these using macros for | |
51 # "wels_..." versions of the same functions. We do not have | |
52 # access to these and use the <cpu-features.h> ones instead. | |
53 '<(DEPTH)/build/android/ndk.gyp:cpu_features', | |
54 ], | |
55 }], | |
56 ], | |
57 '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.
| |
58 '<@(openh264_defines)', | |
59 '<@(openh264_defines_os)', | |
60 ], | |
61 'cflags': [ '<@(openh264_cflags_add)', ], | |
62 'xcode_settings': { | |
63 'WARNING_CFLAGS': [ '<@(openh264_cflags_add)', ], | |
64 }, | |
65 'include_dirs': [ | |
66 'src/codec/api/svc', | |
67 'src/codec/common/inc', | |
68 'src/codec/common/src', | |
69 ], | |
70 'sources': [ | |
71 '<@(openh264_common_sources)', | |
72 ], | |
73 }, | |
74 { | |
75 'target_name': 'openh264_processing', | |
76 'type': 'static_library', | |
77 'dependencies': [ | |
78 'openh264_common', | |
79 ], | |
80 'defines': [ | |
81 '<@(openh264_defines)', | |
82 '<@(openh264_defines_os)', | |
83 ], | |
84 'cflags': [ '<@(openh264_cflags_add)', ], | |
85 'xcode_settings': { | |
86 'WARNING_CFLAGS': [ '<@(openh264_cflags_add)', ], | |
87 }, | |
88 'include_dirs': [ | |
89 'src/codec/api/svc', | |
90 'src/codec/common/inc', | |
91 'src/codec/common/src', | |
92 'src/codec/processing/interface', | |
93 'src/codec/processing/interface/', | |
94 'src/codec/processing/src/adaptivequantization', | |
95 'src/codec/processing/src/backgrounddetection', | |
96 'src/codec/processing/src/common', | |
97 'src/codec/processing/src/complexityanalysis', | |
98 'src/codec/processing/src/denoise', | |
99 'src/codec/processing/src/downsample', | |
100 'src/codec/processing/src/imagerotate', | |
101 'src/codec/processing/src/scenechangedetection', | |
102 'src/codec/processing/src/scrolldetection', | |
103 'src/codec/processing/src/vaacalc', | |
104 ], | |
105 'sources': [ | |
106 '<@(openh264_processing_sources)', | |
107 ], | |
108 }, | |
109 { | |
110 'target_name': 'openh264_encoder', | |
111 'type': 'static_library', | |
112 'dependencies': [ | |
113 'openh264_common', | |
114 'openh264_processing', | |
115 ], | |
116 'defines': [ | |
117 '<@(openh264_defines)', | |
118 '<@(openh264_defines_os)', | |
119 ], | |
120 'cflags': [ '<@(openh264_cflags_add)', ], | |
121 'xcode_settings': { | |
122 'WARNING_CFLAGS': [ '<@(openh264_cflags_add)', ], | |
123 }, | |
124 'include_dirs': [ | |
125 'src/codec/api/svc', | |
126 'src/codec/common/inc', | |
127 'src/codec/common/src', | |
128 'src/codec/encoder/core/inc', | |
129 'src/codec/encoder/core/src', | |
130 'src/codec/encoder/plus/inc', | |
131 'src/codec/encoder/plus/src', | |
132 'src/codec/processing/interface/', | |
133 ], | |
134 'sources': [ | |
135 '<@(openh264_encoder_sources)', | |
136 ], | |
137 }, | |
138 { | |
139 'target_name': 'openh264_decoder', | |
140 'type': 'static_library', | |
141 'dependencies': [ | |
142 'openh264_common', | |
143 'openh264_processing', | |
144 ], | |
145 'defines': [ | |
146 '<@(openh264_defines)', | |
147 '<@(openh264_defines_os)', | |
148 # Disables decoder_core.cpp debug prints. | |
149 'CODEC_FOR_TESTBED', | |
150 ], | |
151 'cflags': [ '<@(openh264_cflags_add)', ], | |
152 'xcode_settings': { | |
153 'WARNING_CFLAGS': [ '<@(openh264_cflags_add)', ], | |
154 }, | |
155 'include_dirs': [ | |
156 'src/codec/api/svc', | |
157 'src/codec/common/inc', | |
158 'src/codec/common/src', | |
159 'src/codec/decoder/core/inc', | |
160 'src/codec/decoder/core/src', | |
161 'src/codec/decoder/plus/inc', | |
162 'src/codec/decoder/plus/src', | |
163 'src/codec/processing/interface/', | |
164 ], | |
165 'sources': [ | |
166 '<@(openh264_decoder_sources)', | |
167 ], | |
168 }, | |
169 ], | |
170 },{ | |
171 # Building without OpenH264. Defining a dummy target because every build | |
172 # file needs to have at least one target. | |
173 'targets': [ | |
174 { | |
175 'target_name': 'openh264_dummy_target', | |
176 'type': 'none', | |
177 } | |
178 ], | |
179 }], | |
180 ], | |
181 } | |
OLD | NEW |