OLD | NEW |
---|---|
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 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 # There's a couple key GYP variables that control how FFmpeg is built: | 5 # There's a couple key GYP variables that control how FFmpeg is built: |
6 # ffmpeg_branding | 6 # ffmpeg_branding |
7 # Controls whether we build the Chromium or Google Chrome version of | 7 # Controls whether we build the Chromium or Google Chrome version of |
8 # FFmpeg. The Google Chrome version contains additional codecs. | 8 # FFmpeg. The Google Chrome version contains additional codecs. |
9 # Typical values are Chromium, Chrome, ChromiumOS, and ChromeOS. | 9 # Typical values are Chromium, Chrome, ChromiumOS, and ChromeOS. |
10 # use_system_ffmpeg | 10 # use_system_ffmpeg |
11 # When set to non-zero will build Chromium against the system FFmpeg | 11 # When set to non-zero will build Chromium against the system FFmpeg |
12 # headers via pkg-config. When Chromium is launched it will assume that | 12 # headers via pkg-config. When Chromium is launched it will assume that |
13 # FFmpeg is present in the system library path. Default value is 0. | 13 # FFmpeg is present in the system library path. Default value is 0. |
14 # build_ffmpegsumo | 14 # build_ffmpegsumo |
15 # When set to zero will build Chromium against the patched ffmpegsumo | 15 # When set to zero will build Chromium against the patched ffmpegsumo |
16 # headers, but not build ffmpegsumo itself. Users are expected to build | 16 # headers, but not build ffmpegsumo itself. Users are expected to build |
17 # and provide their own version of ffmpegsumo. Default value is 1. | 17 # and provide their own version of ffmpegsumo. Default value is 1. |
18 # | 18 # |
19 # TODO(ihf): Define these variables and use them. | 19 # TODO(ihf): Define these variables and use them. |
20 # LIBAVCODEC_VERSION_MAJOR=53 | 20 # LIBAVCODEC_VERSION_MAJOR=53 |
21 # LIBAVFORMAT_VERSION_MAJOR=53 | 21 # LIBAVFORMAT_VERSION_MAJOR=53 |
22 # LIBAVUTIL_VERSION_MAJOR=51 | 22 # LIBAVUTIL_VERSION_MAJOR=51 |
23 | 23 |
24 { | 24 { |
25 'target_defaults': { | 25 'target_defaults': { |
26 'conditions': [ | 26 'conditions': [ |
27 ['OS!="linux" and OS!="freebsd" and OS!="openbsd" and OS!="solaris"', { | 27 ['os_posix != 1 or OS == "mac" or OS == "openbsd"', { |
scherkus (not reviewing)
2011/11/23 01:22:54
nit: no spaces around operators (!=, ==, etc..)
ruben
2011/11/23 01:36:15
I was told otherwise by estade here:
http://coder
scherkus (not reviewing)
2011/11/23 01:46:25
estade@ made a comment about consistency, which wo
ruben
2011/11/23 02:17:14
If you follow that thread a couple comments down,
| |
28 'sources/': [['exclude', '/linux/']] | 28 'sources/': [['exclude', '/linux/']] |
29 }], | 29 }], |
30 ['OS!="mac"', {'sources/': [['exclude', '/mac/']]}], | 30 ['OS!="mac"', {'sources/': [['exclude', '/mac/']]}], |
31 ['OS!="win"', {'sources/': [['exclude', '/win/']]}], | 31 ['OS!="win"', {'sources/': [['exclude', '/win/']]}], |
32 ['OS!="openbsd"', {'sources/': [['exclude', '/openbsd/']]}], | |
32 ], | 33 ], |
33 'variables': { | 34 'variables': { |
34 # Since we are not often debugging FFmpeg, and performance is | 35 # Since we are not often debugging FFmpeg, and performance is |
35 # unacceptable without optimization, freeze the optimizations to -O2. | 36 # unacceptable without optimization, freeze the optimizations to -O2. |
36 # If someone really wants -O1 , they can change these in their checkout. | 37 # If someone really wants -O1 , they can change these in their checkout. |
37 # If you want -O0, see the Gotchas in README.Chromium for why that | 38 # If you want -O0, see the Gotchas in README.Chromium for why that |
38 # won't work. | 39 # won't work. |
39 'debug_optimize': '2', | 40 'debug_optimize': '2', |
40 'mac_debug_optimization': '2', | 41 'mac_debug_optimization': '2', |
41 }, | 42 }, |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
153 '-mfpu=vfpv3-d16', | 154 '-mfpu=vfpv3-d16', |
154 ], | 155 ], |
155 }], | 156 }], |
156 ['arm_neon==1', { | 157 ['arm_neon==1', { |
157 'cflags': [ | 158 'cflags': [ |
158 '-mfpu=neon', | 159 '-mfpu=neon', |
159 ], | 160 ], |
160 }], | 161 }], |
161 ], | 162 ], |
162 }], | 163 }], |
163 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', { | 164 ['os_posix == 1 and OS != "mac"', { |
164 'defines': [ | 165 'defines': [ |
165 '_ISOC99_SOURCE', | 166 '_ISOC99_SOURCE', |
166 '_LARGEFILE_SOURCE', | 167 '_LARGEFILE_SOURCE', |
167 # BUG(ihf): ffmpeg compiles with this define. But according to | 168 # BUG(ihf): ffmpeg compiles with this define. But according to |
168 # ajwong: I wouldn't change _FILE_OFFSET_BITS. That's a scary c hange | 169 # ajwong: I wouldn't change _FILE_OFFSET_BITS. That's a scary c hange |
169 # cause it affects the default length of off_t, and fpos_t, | 170 # cause it affects the default length of off_t, and fpos_t, |
170 # which can cause strange problems if the loading code doesn't | 171 # which can cause strange problems if the loading code doesn't |
171 # have it set and you start passing FILE*s or file descriptors | 172 # have it set and you start passing FILE*s or file descriptors |
172 # between symbol contexts. | 173 # between symbol contexts. |
173 # '_FILE_OFFSET_BITS=64', | 174 # '_FILE_OFFSET_BITS=64', |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
219 '-DARCH_X86_64', | 220 '-DARCH_X86_64', |
220 '-m', 'amd64', | 221 '-m', 'amd64', |
221 '-DPIC', | 222 '-DPIC', |
222 # The next two lines are needed to enable AVX assembly. | 223 # The next two lines are needed to enable AVX assembly. |
223 '-Iconfig/<(ffmpeg_branding)/<(os_config)/<(ffmpeg_config) ', | 224 '-Iconfig/<(ffmpeg_branding)/<(os_config)/<(ffmpeg_config) ', |
224 '-Pconfig.asm', | 225 '-Pconfig.asm', |
225 ], | 226 ], |
226 }], | 227 }], |
227 ], | 228 ], |
228 }, | 229 }, |
229 }], # OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris " | 230 }], # os_posix == 1 and OS != "mac" |
230 ['OS=="openbsd"', { | 231 ['OS=="openbsd"', { |
231 # OpenBSD's gcc (4.2.1) does not support this flag | 232 # OpenBSD's gcc (4.2.1) does not support this flag |
232 'cflags!': [ | 233 'cflags!': [ |
233 '-fno-signed-zeros', | 234 '-fno-signed-zeros', |
234 ], | 235 ], |
235 }], | 236 }], |
236 ['OS=="mac"', { | 237 ['OS=="mac"', { |
237 'conditions': [ | 238 'conditions': [ |
238 ['mac_breakpad==1', { | 239 ['mac_breakpad==1', { |
239 'variables': { | 240 'variables': { |
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
532 ], # conditions | 533 ], # conditions |
533 }, | 534 }, |
534 ], # targets | 535 ], # targets |
535 } | 536 } |
536 | 537 |
537 # Local Variables: | 538 # Local Variables: |
538 # tab-width:2 | 539 # tab-width:2 |
539 # indent-tabs-mode:nil | 540 # indent-tabs-mode:nil |
540 # End: | 541 # End: |
541 # vim: set expandtab tabstop=2 shiftwidth=2: | 542 # vim: set expandtab tabstop=2 shiftwidth=2: |
OLD | NEW |