OLD | NEW |
1 # Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2009 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'target_defaults': { | 6 'target_defaults': { |
7 'conditions': [ | 7 'conditions': [ |
8 ['OS!="linux" and OS!="freebsd"', {'sources/': [['exclude', '/linux/']]}], | 8 ['OS!="linux" and OS!="freebsd"', {'sources/': [['exclude', '/linux/']]}], |
9 ['OS!="mac"', {'sources/': [['exclude', '/mac/']]}], | 9 ['OS!="mac"', {'sources/': [['exclude', '/mac/']]}], |
10 ['OS!="win"', {'sources/': [['exclude', '/win/']]}], | 10 ['OS!="win"', {'sources/': [['exclude', '/win/']]}], |
11 ], | 11 ], |
| 12 'variables': { |
| 13 # Since we are not often debugging FFmpeg, and performance is |
| 14 # unacceptable without optimization, freeze the optimizations to -O2. |
| 15 # If someone really wants -O1 , they can change these in their checkout. |
| 16 # If you want -O0, see the Gotchas in README.Chromium for why that |
| 17 # won't work. |
| 18 'debug_optimize': '2', |
| 19 'mac_debug_optimization': '2', |
| 20 }, |
12 }, | 21 }, |
13 'variables': { | 22 'variables': { |
14 # Allow overridding the selection of which ffmpeg binaries to copy via an | 23 # Allow overridding the selection of which FFmpeg binaries to copy via an |
15 # environment variable. Affects the ffmpeg_binaries target. | 24 # environment variable. Affects the ffmpeg_binaries target. |
16 'ffmpeg_branding%': '<(branding)', | 25 'ffmpeg_branding%': '<(branding)', |
17 'ffmpeg_variant%': '<(target_arch)', | 26 'ffmpeg_variant%': '<(target_arch)', |
18 | 27 |
19 'use_system_ffmpeg%': 0, | 28 # Locations for generated artifacts. |
| 29 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/ffmpeg', |
| 30 'asm_library': 'ffmpegasm', |
20 }, | 31 }, |
| 32 'conditions': [ |
| 33 # This condition is for migrating from pre-built binaries to an in-tree |
| 34 # source build. Most of these should be removed once FFmpeg is built on |
| 35 # mac and linux. Windows will take more work. |
| 36 # |
| 37 # TODO(ajwong): Per the comment above, reduce this conditional's size and |
| 38 # determine if in-tree build in Windows is tractable. |
| 39 ['OS!="linux" and OS!="freebsd"', { |
| 40 'variables': { |
| 41 'target_for_binaries': 'ffmpeg_binaries', |
| 42 'ffmpeg_include_root': 'include', |
| 43 }, |
| 44 },{ # else OS=="linux" |
| 45 'variables': { |
| 46 'target_for_binaries': 'ffmpegsumo_nolink', |
| 47 'ffmpeg_include_root': 'source/patched-ffmpeg-mt', |
| 48 }, |
| 49 'targets': [ |
| 50 { |
| 51 'target_name': 'ffmpegsumo', |
| 52 'type': 'shared_library', |
| 53 'dependencies': [ |
| 54 'make_ffmpeg_asm_lib', |
| 55 ], |
| 56 'sources': [ |
| 57 'source/patched-ffmpeg-mt/libavcodec/aac.c', |
| 58 'source/patched-ffmpeg-mt/libavcodec/aac_ac3_parser.c', |
| 59 'source/patched-ffmpeg-mt/libavcodec/aac_parser.c', |
| 60 'source/patched-ffmpeg-mt/libavcodec/aactab.c', |
| 61 'source/patched-ffmpeg-mt/libavcodec/allcodecs.c', |
| 62 'source/patched-ffmpeg-mt/libavcodec/audioconvert.c', |
| 63 'source/patched-ffmpeg-mt/libavcodec/avpacket.c', |
| 64 'source/patched-ffmpeg-mt/libavcodec/bitstream.c', |
| 65 'source/patched-ffmpeg-mt/libavcodec/bitstream_filter.c', |
| 66 'source/patched-ffmpeg-mt/libavcodec/cabac.c', |
| 67 'source/patched-ffmpeg-mt/libavcodec/dsputil.c', |
| 68 'source/patched-ffmpeg-mt/libavcodec/error_resilience.c', |
| 69 'source/patched-ffmpeg-mt/libavcodec/eval.c', |
| 70 'source/patched-ffmpeg-mt/libavcodec/faanidct.c', |
| 71 'source/patched-ffmpeg-mt/libavcodec/fft.c', |
| 72 'source/patched-ffmpeg-mt/libavcodec/golomb.c', |
| 73 'source/patched-ffmpeg-mt/libavcodec/h264.c', |
| 74 'source/patched-ffmpeg-mt/libavcodec/h264_parser.c', |
| 75 'source/patched-ffmpeg-mt/libavcodec/h264idct.c', |
| 76 'source/patched-ffmpeg-mt/libavcodec/h264pred.c', |
| 77 'source/patched-ffmpeg-mt/libavcodec/imgconvert.c', |
| 78 'source/patched-ffmpeg-mt/libavcodec/jrevdct.c', |
| 79 'source/patched-ffmpeg-mt/libavcodec/mdct.c', |
| 80 'source/patched-ffmpeg-mt/libavcodec/mpeg4audio.c', |
| 81 'source/patched-ffmpeg-mt/libavcodec/mpegaudio.c', |
| 82 'source/patched-ffmpeg-mt/libavcodec/mpegaudio_parser.c', |
| 83 'source/patched-ffmpeg-mt/libavcodec/mpegaudiodata.c', |
| 84 'source/patched-ffmpeg-mt/libavcodec/mpegaudiodec.c', |
| 85 'source/patched-ffmpeg-mt/libavcodec/mpegaudiodecheader.c', |
| 86 'source/patched-ffmpeg-mt/libavcodec/mpegvideo.c', |
| 87 'source/patched-ffmpeg-mt/libavcodec/opt.c', |
| 88 'source/patched-ffmpeg-mt/libavcodec/options.c', |
| 89 'source/patched-ffmpeg-mt/libavcodec/parser.c', |
| 90 'source/patched-ffmpeg-mt/libavcodec/pthread.c', |
| 91 'source/patched-ffmpeg-mt/libavcodec/raw.c', |
| 92 'source/patched-ffmpeg-mt/libavcodec/resample.c', |
| 93 'source/patched-ffmpeg-mt/libavcodec/resample2.c', |
| 94 'source/patched-ffmpeg-mt/libavcodec/simple_idct.c', |
| 95 'source/patched-ffmpeg-mt/libavcodec/utils.c', |
| 96 'source/patched-ffmpeg-mt/libavcodec/vorbis.c', |
| 97 'source/patched-ffmpeg-mt/libavcodec/vorbis_data.c', |
| 98 'source/patched-ffmpeg-mt/libavcodec/vorbis_dec.c', |
| 99 'source/patched-ffmpeg-mt/libavcodec/vp3.c', |
| 100 'source/patched-ffmpeg-mt/libavcodec/vp3dsp.c', |
| 101 'source/patched-ffmpeg-mt/libavcodec/x86/cpuid.c', |
| 102 'source/patched-ffmpeg-mt/libavcodec/x86/dnxhd_mmx.c', |
| 103 'source/patched-ffmpeg-mt/libavcodec/x86/dsputil_mmx.c', |
| 104 'source/patched-ffmpeg-mt/libavcodec/x86/fdct_mmx.c', |
| 105 'source/patched-ffmpeg-mt/libavcodec/x86/fft_3dn.c', |
| 106 'source/patched-ffmpeg-mt/libavcodec/x86/fft_3dn2.c', |
| 107 'source/patched-ffmpeg-mt/libavcodec/x86/fft_sse.c', |
| 108 'source/patched-ffmpeg-mt/libavcodec/x86/idct_mmx_xvid.c', |
| 109 'source/patched-ffmpeg-mt/libavcodec/x86/idct_sse2_xvid.c', |
| 110 'source/patched-ffmpeg-mt/libavcodec/x86/motion_est_mmx.c', |
| 111 'source/patched-ffmpeg-mt/libavcodec/x86/mpegvideo_mmx.c', |
| 112 'source/patched-ffmpeg-mt/libavcodec/x86/simple_idct_mmx.c', |
| 113 'source/patched-ffmpeg-mt/libavcodec/x86/vp3dsp_mmx.c', |
| 114 'source/patched-ffmpeg-mt/libavcodec/x86/vp3dsp_sse2.c', |
| 115 'source/patched-ffmpeg-mt/libavcodec/xiph.c', |
| 116 'source/patched-ffmpeg-mt/libavformat/allformats.c', |
| 117 'source/patched-ffmpeg-mt/libavformat/avio.c', |
| 118 'source/patched-ffmpeg-mt/libavformat/aviobuf.c', |
| 119 'source/patched-ffmpeg-mt/libavformat/cutils.c', |
| 120 'source/patched-ffmpeg-mt/libavformat/id3v2.c', |
| 121 'source/patched-ffmpeg-mt/libavformat/isom.c', |
| 122 'source/patched-ffmpeg-mt/libavformat/metadata.c', |
| 123 'source/patched-ffmpeg-mt/libavformat/metadata_compat.c', |
| 124 'source/patched-ffmpeg-mt/libavformat/mov.c', |
| 125 'source/patched-ffmpeg-mt/libavformat/mp3.c', |
| 126 'source/patched-ffmpeg-mt/libavformat/oggdec.c', |
| 127 'source/patched-ffmpeg-mt/libavformat/oggparseogm.c', |
| 128 'source/patched-ffmpeg-mt/libavformat/oggparsetheora.c', |
| 129 'source/patched-ffmpeg-mt/libavformat/oggparsevorbis.c', |
| 130 'source/patched-ffmpeg-mt/libavformat/options.c', |
| 131 'source/patched-ffmpeg-mt/libavformat/os_support.c', |
| 132 'source/patched-ffmpeg-mt/libavformat/riff.c', |
| 133 'source/patched-ffmpeg-mt/libavformat/sdp.c', |
| 134 'source/patched-ffmpeg-mt/libavformat/utils.c', |
| 135 'source/patched-ffmpeg-mt/libavutil/adler32.c', |
| 136 'source/patched-ffmpeg-mt/libavutil/aes.c', |
| 137 'source/patched-ffmpeg-mt/libavutil/avstring.c', |
| 138 'source/patched-ffmpeg-mt/libavutil/base64.c', |
| 139 'source/patched-ffmpeg-mt/libavutil/crc.c', |
| 140 'source/patched-ffmpeg-mt/libavutil/des.c', |
| 141 'source/patched-ffmpeg-mt/libavutil/fifo.c', |
| 142 'source/patched-ffmpeg-mt/libavutil/intfloat_readwrite.c', |
| 143 'source/patched-ffmpeg-mt/libavutil/lfg.c', |
| 144 'source/patched-ffmpeg-mt/libavutil/lls.c', |
| 145 'source/patched-ffmpeg-mt/libavutil/log.c', |
| 146 'source/patched-ffmpeg-mt/libavutil/lzo.c', |
| 147 'source/patched-ffmpeg-mt/libavutil/mathematics.c', |
| 148 'source/patched-ffmpeg-mt/libavutil/md5.c', |
| 149 'source/patched-ffmpeg-mt/libavutil/mem.c', |
| 150 'source/patched-ffmpeg-mt/libavutil/random_seed.c', |
| 151 'source/patched-ffmpeg-mt/libavutil/rational.c', |
| 152 'source/patched-ffmpeg-mt/libavutil/rc4.c', |
| 153 'source/patched-ffmpeg-mt/libavutil/sha1.c', |
| 154 'source/patched-ffmpeg-mt/libavutil/tree.c', |
| 155 'source/patched-ffmpeg-mt/libavutil/utils.c', |
| 156 |
| 157 # Config file for the OS and architecture. |
| 158 'source/config/<(ffmpeg_branding)/<(OS)/<(target_arch)/config.h', |
| 159 ], |
| 160 'include_dirs': [ |
| 161 'source/config/<(ffmpeg_branding)/<(OS)/<(target_arch)', |
| 162 'source/patched-ffmpeg-mt', |
| 163 ], |
| 164 'cflags': [ |
| 165 '-DHAVE_AV_CONFIG_H', |
| 166 '-D_ISOC99_SOURCE', |
| 167 '-D_POSIX_C_SOURCE=200112', |
| 168 '-std=c99', |
| 169 '-D_LARGEFILE_SOURCE', |
| 170 '-pthread', |
| 171 '-fno-math-errno', |
| 172 '-fomit-frame-pointer' |
| 173 ], |
| 174 'cflags!': [ |
| 175 # Ensure the symbols are exported. |
| 176 '-fvisibility=hidden', |
| 177 ], |
| 178 'ldflags': [ |
| 179 '-Wl,-Bsymbolic', |
| 180 '-L<(shared_generated_dir)', |
| 181 ], |
| 182 'libraries': [ |
| 183 '-l<(asm_library)', |
| 184 '-lm', |
| 185 |
| 186 # TODO(ajwong): Statically link these once we resolve the |
| 187 # PIC/non-PIC issues on x64. |
| 188 '-lz', |
| 189 '-lbz2', |
| 190 ], |
| 191 'conditions': [ |
| 192 ['target_arch=="x64"', { |
| 193 'cflags': [ |
| 194 # x64 requires PIC for shared libraries. This is opposite |
| 195 # of ia32 where due to a slew of inline assembly using ebx, |
| 196 # FFmpeg CANNOT be built with PIC. |
| 197 '-fPIC', |
| 198 '-DPIC', |
| 199 ], |
| 200 }], |
| 201 ['ffmpeg_branding!="Chrome"', { |
| 202 'sources!': [ |
| 203 # Exclude files that should only be used if doing a branded |
| 204 # Google Chrome build. |
| 205 'source/patched-ffmpeg-mt/libavcodec/aac.c', |
| 206 'source/patched-ffmpeg-mt/libavcodec/aac_ac3_parser.c', |
| 207 'source/patched-ffmpeg-mt/libavcodec/aac_parser.c', |
| 208 'source/patched-ffmpeg-mt/libavcodec/aactab.c', |
| 209 'source/patched-ffmpeg-mt/libavcodec/cabac.c', |
| 210 'source/patched-ffmpeg-mt/libavcodec/error_resilience.c', |
| 211 'source/patched-ffmpeg-mt/libavcodec/golomb.c', |
| 212 'source/patched-ffmpeg-mt/libavcodec/h264.c', |
| 213 'source/patched-ffmpeg-mt/libavcodec/h264_parser.c', |
| 214 'source/patched-ffmpeg-mt/libavcodec/h264idct.c', |
| 215 'source/patched-ffmpeg-mt/libavcodec/h264pred.c', |
| 216 'source/patched-ffmpeg-mt/libavcodec/mpeg4audio.c', |
| 217 'source/patched-ffmpeg-mt/libavcodec/mpegaudio.c', |
| 218 'source/patched-ffmpeg-mt/libavcodec/mpegaudio_parser.c', |
| 219 'source/patched-ffmpeg-mt/libavcodec/mpegaudiodata.c', |
| 220 'source/patched-ffmpeg-mt/libavcodec/mpegaudiodec.c', |
| 221 'source/patched-ffmpeg-mt/libavcodec/mpegaudiodecheader.c', |
| 222 'source/patched-ffmpeg-mt/libavcodec/mpegvideo.c', |
| 223 'source/patched-ffmpeg-mt/libavformat/id3v2.c', |
| 224 'source/patched-ffmpeg-mt/libavformat/isom.c', |
| 225 'source/patched-ffmpeg-mt/libavformat/mov.c', |
| 226 'source/patched-ffmpeg-mt/libavformat/mp3.c', |
| 227 ], |
| 228 }], |
| 229 ], |
| 230 'actions': [ |
| 231 { |
| 232 # Needed to serialize the output of make_ffmpeg_asm_lib with |
| 233 # this target being built. |
| 234 'action_name': 'ffmpegasm_barrier', |
| 235 'inputs': [ |
| 236 '<(shared_generated_dir)/<(STATIC_LIB_PREFIX)<(asm_library)<(STA
TIC_LIB_SUFFIX)', |
| 237 ], |
| 238 'outputs': [ |
| 239 '<(INTERMEDIATE_DIR)/third_party/ffmpeg/<(asm_library)' |
| 240 ], |
| 241 'action': [ |
| 242 'touch', |
| 243 '<(INTERMEDIATE_DIR)/third_party/ffmpeg/<(asm_library)' |
| 244 ], |
| 245 'process_outputs_as_sources': 0, |
| 246 'message': 'Serializing build of <(asm_library).', |
| 247 }, |
| 248 ], |
| 249 }, |
| 250 { |
| 251 'target_name': 'assemble_ffmpeg_asm', |
| 252 'type': 'none', |
| 253 'dependencies': [ |
| 254 '../yasm/yasm.gyp:yasm', |
| 255 ], |
| 256 'sources': [ |
| 257 # The FFmpeg yasm files. |
| 258 'source/patched-ffmpeg-mt/libavcodec/x86/dsputil_yasm.asm', |
| 259 'source/patched-ffmpeg-mt/libavcodec/x86/fft_mmx.asm', |
| 260 ], |
| 261 'rules': [ |
| 262 { |
| 263 'conditions': [ |
| 264 ['target_arch=="ia32"', { |
| 265 'variables': { |
| 266 'yasm_flags': [ |
| 267 '-DARCH_X86_32', |
| 268 '-m', 'x86', |
| 269 ], |
| 270 }, |
| 271 },], |
| 272 ['target_arch=="x64"', { |
| 273 'variables': { |
| 274 'yasm_flags': [ |
| 275 '-DARCH_X86_64', |
| 276 '-m', 'amd64', |
| 277 '-DPIC', |
| 278 ], |
| 279 }, |
| 280 },], |
| 281 ], |
| 282 'rule_name': 'assemble', |
| 283 'extension': 'asm', |
| 284 'inputs': [ '<(PRODUCT_DIR)/yasm', ], |
| 285 'outputs': [ |
| 286 '<(shared_generated_dir)/<(RULE_INPUT_ROOT).o', |
| 287 ], |
| 288 'action': [ |
| 289 '<(PRODUCT_DIR)/yasm', |
| 290 '-f', 'elf', |
| 291 '<@(yasm_flags)', |
| 292 '-I', 'source/patched-ffmpeg-mt/libavcodec/x86/', |
| 293 '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).o', |
| 294 '<(RULE_INPUT_PATH)', |
| 295 ], |
| 296 'process_outputs_as_sources': 0, |
| 297 'message': 'Build ffmpeg yasm build <(RULE_INPUT_PATH).', |
| 298 }, |
| 299 ], |
| 300 }, |
| 301 { |
| 302 'target_name': 'make_ffmpeg_asm_lib', |
| 303 'type': 'none', |
| 304 'dependencies': [ |
| 305 'assemble_ffmpeg_asm', |
| 306 ], |
| 307 'sources': [ |
| 308 ], |
| 309 'actions': [ |
| 310 { |
| 311 'action_name': 'make_library', |
| 312 'variables': { |
| 313 # Make sure this stays in sync with the corresponding sources |
| 314 # in assemble_ffmpeg_asm. |
| 315 'asm_objects': [ |
| 316 '<(shared_generated_dir)/dsputil_yasm.o', |
| 317 '<(shared_generated_dir)/fft_mmx.o', |
| 318 ], |
| 319 'library_path': '<(shared_generated_dir)/lib<(asm_library)<(STAT
IC_LIB_SUFFIX)', |
| 320 }, |
| 321 'inputs': [ '<@(asm_objects)', ], |
| 322 'outputs': [ '<(library_path)', ], |
| 323 'action': [ 'ar', 'rcs', '<(library_path)', '<@(asm_objects)', ], |
| 324 'process_outputs_as_sources': 0, |
| 325 'message': 'Packate ffmpeg assembly into <(library_path).', |
| 326 }, |
| 327 ], |
| 328 }, |
| 329 { |
| 330 # A target shim that allows putting a dependency on ffmpegsumo |
| 331 # without pulling it into the link line. |
| 332 # |
| 333 # We use an "executable" taget without any sources to break the |
| 334 # link line relationship to ffmpegsumo. |
| 335 # |
| 336 # Most people will want to depend on this target instead of on |
| 337 # ffmpegsumo directly since ffmpegsumo is meant to be |
| 338 # used via dlopen() in chrome. |
| 339 'target_name': 'ffmpegsumo_nolink', |
| 340 'type': 'executable', |
| 341 'sources': [ 'dummy_nolink.cc' ], |
| 342 'dependencies': [ |
| 343 'ffmpegsumo', |
| 344 ], |
| 345 'conditions': [ |
| 346 ['OS=="linux" or OS=="freebsd"', { |
| 347 'copies': [ |
| 348 { |
| 349 # On Make and Scons builds, the library does not end up in |
| 350 # the PRODUCT_DIR. |
| 351 # |
| 352 # http://code.google.com/p/gyp/issues/detail?id=57 |
| 353 # |
| 354 # TODO(ajwong): Fix gyp, fix the world. |
| 355 'destination': '<(PRODUCT_DIR)', |
| 356 'files': ['<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)ffmpegsumo<(S
HARED_LIB_SUFFIX)'], |
| 357 }, |
| 358 ], |
| 359 }], |
| 360 ], |
| 361 }, |
| 362 ], |
| 363 }], |
| 364 ], |
21 'targets': [ | 365 'targets': [ |
22 { | 366 { |
23 'variables': { | 367 'variables': { |
24 'generate_stubs_script': 'generate_stubs.py', | 368 'generate_stubs_script': 'generate_stubs.py', |
25 'sig_files': [ | 369 'sig_files': [ |
26 # Note that these must be listed in dependency order. | 370 # Note that these must be listed in dependency order. |
27 # (i.e. if A depends on B, then B must be listed before A.) | 371 # (i.e. if A depends on B, then B must be listed before A.) |
28 'avutil-50.sigs', | 372 'avutil-50.sigs', |
29 'avcodec-52.sigs', | 373 'avcodec-52.sigs', |
30 'avformat-52.sigs', | 374 'avformat-52.sigs', |
31 ], | 375 ], |
32 'extra_header': 'ffmpeg_stub_headers.fragment', | 376 'extra_header': 'ffmpeg_stub_headers.fragment', |
33 }, | 377 }, |
34 'target_name': 'ffmpeg', | 378 'target_name': 'ffmpeg', |
35 'msvs_guid': 'D7A94F58-576A-45D9-A45F-EB87C63ABBB0', | 379 'msvs_guid': 'D7A94F58-576A-45D9-A45F-EB87C63ABBB0', |
36 'dependencies': [ | 380 'dependencies': [ |
| 381 '<(target_for_binaries)', |
37 'ffmpeg_binaries', | 382 'ffmpeg_binaries', |
38 ], | 383 ], |
39 'sources': [ | 384 'sources': [ |
40 'include/libavcodec/avcodec.h', | 385 '<(ffmpeg_include_root)/libavcodec/avcodec.h', |
41 'include/libavcodec/opt.h', | 386 '<(ffmpeg_include_root)/libavcodec/opt.h', |
42 'include/libavcodec/vdpau.h', | 387 '<(ffmpeg_include_root)/libavcodec/vdpau.h', |
43 'include/libavcodec/xvmc.h', | 388 '<(ffmpeg_include_root)/libavcodec/xvmc.h', |
44 'include/libavformat/avformat.h', | 389 '<(ffmpeg_include_root)/libavformat/avformat.h', |
45 'include/libavformat/avio.h', | 390 '<(ffmpeg_include_root)/libavformat/avio.h', |
46 'include/libavutil/adler32.h', | 391 '<(ffmpeg_include_root)/libavutil/adler32.h', |
47 'include/libavutil/avstring.h', | 392 '<(ffmpeg_include_root)/libavutil/avstring.h', |
48 'include/libavutil/avutil.h', | 393 '<(ffmpeg_include_root)/libavutil/avutil.h', |
49 'include/libavutil/base64.h', | 394 '<(ffmpeg_include_root)/libavutil/base64.h', |
50 'include/libavutil/common.h', | 395 '<(ffmpeg_include_root)/libavutil/common.h', |
51 'include/libavutil/crc.h', | 396 '<(ffmpeg_include_root)/libavutil/crc.h', |
52 'include/libavutil/fifo.h', | 397 '<(ffmpeg_include_root)/libavutil/fifo.h', |
53 'include/libavutil/intfloat_readwrite.h', | 398 '<(ffmpeg_include_root)/libavutil/intfloat_readwrite.h', |
54 'include/libavutil/log.h', | 399 '<(ffmpeg_include_root)/libavutil/log.h', |
55 'include/libavutil/lzo.h', | 400 '<(ffmpeg_include_root)/libavutil/lzo.h', |
56 'include/libavutil/mathematics.h', | 401 '<(ffmpeg_include_root)/libavutil/mathematics.h', |
57 'include/libavutil/md5.h', | 402 '<(ffmpeg_include_root)/libavutil/md5.h', |
58 'include/libavutil/mem.h', | 403 '<(ffmpeg_include_root)/libavutil/mem.h', |
59 'include/libavutil/pixfmt.h', | 404 '<(ffmpeg_include_root)/libavutil/pixfmt.h', |
60 'include/libavutil/rational.h', | 405 '<(ffmpeg_include_root)/libavutil/rational.h', |
61 'include/libavutil/sha1.h', | 406 '<(ffmpeg_include_root)/libavutil/sha1.h', |
| 407 |
| 408 # Hacks to introduce C99 types into Visual Studio. |
62 'include/win/inttypes.h', | 409 'include/win/inttypes.h', |
63 'include/win/stdint.h', | 410 'include/win/stdint.h', |
| 411 |
| 412 # Files needed for stub generation rules. |
64 '<@(sig_files)', | 413 '<@(sig_files)', |
65 '<(extra_header)' | 414 '<(extra_header)' |
66 ], | 415 ], |
67 'hard_dependency': 1, | 416 'hard_dependency': 1, |
68 'direct_dependent_settings': { | 417 'direct_dependent_settings': { |
69 'include_dirs': [ | 418 'include_dirs': [ |
70 'include', | 419 'include', |
71 ], | 420 ], |
72 }, | 421 }, |
73 'conditions': [ | 422 'conditions': [ |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 'action': ['python', | 510 'action': ['python', |
162 '<(generate_stubs_script)', | 511 '<(generate_stubs_script)', |
163 '-i', '<(intermediate_dir)', | 512 '-i', '<(intermediate_dir)', |
164 '-o', '<(output_root)/<(project_path)', | 513 '-o', '<(output_root)/<(project_path)', |
165 '-t', '<(outfile_type)', | 514 '-t', '<(outfile_type)', |
166 '-e', '<(extra_header)', | 515 '-e', '<(extra_header)', |
167 '-s', '<(stubs_filename_root)', | 516 '-s', '<(stubs_filename_root)', |
168 '-p', '<(project_path)', | 517 '-p', '<(project_path)', |
169 '<@(_inputs)', | 518 '<@(_inputs)', |
170 ], | 519 ], |
| 520 'process_outputs_as_sources': 1, |
171 'message': 'Generating FFmpeg stubs for dynamic loading.', | 521 'message': 'Generating FFmpeg stubs for dynamic loading.', |
172 'process_outputs_as_sources': 1, | |
173 }, | 522 }, |
174 ], | 523 ], |
175 }, | 524 }, |
176 ], | 525 ], |
177 ['OS=="linux" or OS=="freebsd"', { | 526 ['OS=="linux" or OS=="freebsd"', { |
178 'link_settings': { | 527 'link_settings': { |
179 'libraries': [ | 528 'libraries': [ |
180 # We need dl for dlopen() and friends. | 529 # We need dl for dlopen() and friends. |
181 '-ldl', | 530 '-ldl', |
182 ], | 531 ], |
(...skipping 18 matching lines...) Expand all Loading... |
201 ['OS=="win"', { | 550 ['OS=="win"', { |
202 'variables': { | 551 'variables': { |
203 'source_files': [ | 552 'source_files': [ |
204 'binaries/<(ffmpeg_bin_dir)/avcodec-52.dll', | 553 'binaries/<(ffmpeg_bin_dir)/avcodec-52.dll', |
205 'binaries/<(ffmpeg_bin_dir)/avformat-52.dll', | 554 'binaries/<(ffmpeg_bin_dir)/avformat-52.dll', |
206 'binaries/<(ffmpeg_bin_dir)/avutil-50.dll', | 555 'binaries/<(ffmpeg_bin_dir)/avutil-50.dll', |
207 ], | 556 ], |
208 }, | 557 }, |
209 'dependencies': ['../../build/win/system.gyp:cygwin'], | 558 'dependencies': ['../../build/win/system.gyp:cygwin'], |
210 }], ['OS=="linux" or OS=="freebsd"', { | 559 }], ['OS=="linux" or OS=="freebsd"', { |
211 'conditions': [ | |
212 ['use_system_ffmpeg==0', { | |
213 'variables': { | 560 'variables': { |
214 'source_files': [ | 561 # TODO(ajwong): Clean this up after we've finished |
215 'binaries/<(ffmpeg_bin_dir)/libavcodec.so.52', | 562 # migrating to in-tree build. |
216 'binaries/<(ffmpeg_bin_dir)/libavformat.so.52', | 563 'source_files': [], |
217 'binaries/<(ffmpeg_bin_dir)/libavutil.so.50', | |
218 ], | |
219 }, | 564 }, |
220 }, { | 565 }], ['OS=="mac"', { |
221 'variables': { | |
222 'source_files': [] | |
223 }, | |
224 }], | |
225 ]}, | |
226 ], ['OS=="mac"', { | |
227 # TODO(ajwong): These files are also copied in: | 566 # TODO(ajwong): These files are also copied in: |
228 # webkit/tools/test_shell/test_shell.gyp and | 567 # webkit/tools/test_shell/test_shell.gyp and |
229 # chrome/chrome.gyp | 568 # chrome/chrome.gyp |
230 # Need to consolidate the copies in one place. (BUG=23602) | 569 # Need to consolidate the copies in one place. (BUG=23602) |
231 'variables': { | 570 'variables': { |
232 'source_files': [ | 571 'source_files': [ |
233 'binaries/<(ffmpeg_bin_dir)/libavcodec.52.dylib', | 572 'binaries/<(ffmpeg_bin_dir)/libavcodec.52.dylib', |
234 'binaries/<(ffmpeg_bin_dir)/libavformat.52.dylib', | 573 'binaries/<(ffmpeg_bin_dir)/libavformat.52.dylib', |
235 'binaries/<(ffmpeg_bin_dir)/libavutil.50.dylib', | 574 'binaries/<(ffmpeg_bin_dir)/libavutil.50.dylib', |
236 ], | 575 ], |
(...skipping 10 matching lines...) Expand all Loading... |
247 ], | 586 ], |
248 }, | 587 }, |
249 ], | 588 ], |
250 } | 589 } |
251 | 590 |
252 # Local Variables: | 591 # Local Variables: |
253 # tab-width:2 | 592 # tab-width:2 |
254 # indent-tabs-mode:nil | 593 # indent-tabs-mode:nil |
255 # End: | 594 # End: |
256 # vim: set expandtab tabstop=2 shiftwidth=2: | 595 # vim: set expandtab tabstop=2 shiftwidth=2: |
OLD | NEW |