Changeset 83893 in webkit


Ignore:
Timestamp:
Apr 14, 2011 2:01:52 PM (13 years ago)
Author:
kbr@google.com
Message:

2011-04-14 Kenneth Russell <kbr@google.com>

Reviewed by Dimitri Glazkov.

Enable building Web Audio with MKL in Chrome-branded builds
https://bugs.webkit.org/show_bug.cgi?id=58561

Factored out MKL support into a separate GYP file that is
incorporated in Chrome-branded builds. Changed how the FFTFrame
implementations are pulled in and chosen so that all files can be
unconditionally compiled.

Tested with both Chrome-branded build (incorporating MKL) and
Chromium build (building just FFTFrameStub.cpp) on Linux.

  • WebCore.gyp/WebCore.gyp:
  • platform/audio/fftw/FFTFrameFFTW.cpp:
  • platform/audio/mkl/FFTFrameMKL.cpp:
Location:
trunk/Source/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r83892 r83893  
     12011-04-14  Kenneth Russell  <kbr@google.com>
     2
     3        Reviewed by Dimitri Glazkov.
     4
     5        Enable building Web Audio with MKL in Chrome-branded builds
     6        https://bugs.webkit.org/show_bug.cgi?id=58561
     7
     8        Factored out MKL support into a separate GYP file that is
     9        incorporated in Chrome-branded builds. Changed how the FFTFrame
     10        implementations are pulled in and chosen so that all files can be
     11        unconditionally compiled.
     12
     13        Tested with both Chrome-branded build (incorporating MKL) and
     14        Chromium build (building just FFTFrameStub.cpp) on Linux.
     15
     16        * WebCore.gyp/WebCore.gyp:
     17        * platform/audio/fftw/FFTFrameFFTW.cpp:
     18        * platform/audio/mkl/FFTFrameMKL.cpp:
     19
    1202011-04-14  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
    221
  • trunk/Source/WebCore/WebCore.gyp/WebCore.gyp

    r83641 r83893  
    960960          },
    961961        }],
    962         # FIXME: (kbr) ideally this target should just depend on webcore_prerequisites
    963         # to pick up these include directories, but I'm nervous about making that change.
    964         ['(OS=="linux" or OS=="win") and "WTF_USE_WEBAUDIO_MKL=1" in feature_defines', {
    965           'include_dirs': [
    966             '<(chromium_src_dir)/third_party/mkl/include',
    967           ],
    968         }],
    969962        ['(OS=="linux" or OS=="win") and "WTF_USE_WEBAUDIO_FFTW=1" in feature_defines', {
    970963          'include_dirs': [
     
    11711164          },
    11721165        }],
    1173         ['(OS=="linux" or OS=="win") and "WTF_USE_WEBAUDIO_MKL=1" in feature_defines', {
    1174           # This directory needs to be on the include path for multiple sub-targets of webcore.
    1175           'direct_dependent_settings': {
    1176             'include_dirs': [
    1177               '<(chromium_src_dir)/third_party/mkl/include',
    1178             ],
    1179           },
     1166        ['(OS=="linux" or OS=="win") and branding=="Chrome"', {
     1167          'dependencies': [
     1168            '<(chromium_src_dir)/third_party/mkl/google/mkl.gyp:mkl_libs',
     1169          ],
    11801170        }],
    11811171        ['(OS=="linux" or OS=="win") and "WTF_USE_WEBAUDIO_FFTW=1" in feature_defines', {
     
    12601250
    12611251        # FIXME: Figure out how to store these patterns in a variable.
    1262         ['exclude', '(android|brew|cairo|ca|cf|cg|curl|efl|freetype|fftw|gstreamer|gtk|haiku|linux|mac|mkl|opengl|openvg|opentype|pango|posix|qt|soup|svg|symbian|texmap|iphone|win|wince|wx)/'],
     1252        ['exclude', '(android|brew|cairo|ca|cf|cg|curl|efl|freetype|gstreamer|gtk|haiku|linux|mac|opengl|openvg|opentype|pango|posix|qt|soup|svg|symbian|texmap|iphone|win|wince|wx)/'],
    12631253        ['exclude', '(?<!Chromium)(Android|Cairo|CF|CG|Curl|Gtk|JSC|Linux|Mac|OpenType|POSIX|Posix|Qt|Safari|Soup|Symbian|Win|WinCE|Wx)\\.(cpp|mm?)$'],
    12641254
     
    14241414          ],
    14251415        }],
    1426         ['(OS=="linux" or OS=="win") and "WTF_USE_WEBAUDIO_MKL=1" in feature_defines', {
    1427           'sources/': [
    1428             ['include', 'platform/audio/mkl/FFTFrameMKL\\.cpp$'],
    1429           ],
    1430         }],
    1431         ['(OS=="linux" or OS=="win") and "WTF_USE_WEBAUDIO_FFTW=1" in feature_defines', {
    1432           'sources/': [
    1433             ['include', 'platform/audio/fftw/FFTFrameFFTW\\.cpp$'],
    1434           ],
    1435         }],
    14361416      ],
    14371417    },
     
    14511431
    14521432        # FIXME: Figure out how to store these patterns in a variable.
    1453         ['exclude', '(android|brew|cairo|ca|cf|cg|curl|efl|freetype|fftw|gstreamer|gtk|haiku|linux|mac|mkl|opengl|openvg|opentype|pango|posix|qt|soup|svg|symbian|texmap|iphone|win|wince|wx)/'],
     1433        ['exclude', '(android|brew|cairo|ca|cf|cg|curl|efl|freetype|gstreamer|gtk|haiku|linux|mac|opengl|openvg|opentype|pango|posix|qt|soup|svg|symbian|texmap|iphone|win|wince|wx)/'],
    14541434        ['exclude', '(?<!Chromium)(Android|Cairo|CF|CG|Curl|Gtk|JSC|Linux|Mac|OpenType|POSIX|Posix|Qt|Safari|Soup|Symbian|Win|WinCE|Wx)\\.(cpp|mm?)$'],
    14551435
     
    15251505
    15261506        # FIXME: Figure out how to store these patterns in a variable.
    1527         ['exclude', '(android|brew|cairo|ca|cf|cg|curl|efl|freetype|fftw|gstreamer|gtk|haiku|linux|mac|mkl|opengl|openvg|opentype|pango|posix|qt|soup|svg|symbian|texmap|iphone|win|wince|wx)/'],
     1507        ['exclude', '(android|brew|cairo|ca|cf|cg|curl|efl|freetype|gstreamer|gtk|haiku|linux|mac|opengl|openvg|opentype|pango|posix|qt|soup|svg|symbian|texmap|iphone|win|wince|wx)/'],
    15281508        ['exclude', '(?<!Chromium)(Android|Cairo|CF|CG|Curl|Gtk|JSC|Linux|Mac|OpenType|POSIX|Posix|Qt|Safari|Soup|Symbian|Win|WinCE|Wx)\\.(cpp|mm?)$'],
    15291509
     
    16921672          },
    16931673        }],
    1694         ['OS=="win" and "WTF_USE_WEBAUDIO_MKL=1" in feature_defines', {
    1695           # FIXME: (kbr) figure out how to make these dependencies
    1696           # work in a cross-platform way. Attempts to use
    1697           # "link_settings" and "libraries" in conjunction with the
    1698           # msvs-specific settings didn't work so far.
    1699           'all_dependent_settings': {
    1700             'msvs_settings': {
    1701               'VCLinkerTool': {
    1702                 'AdditionalLibraryDirectories': [
    1703                   # This is a hack to make this directory correct
    1704                   # relative to targets like chrome_dll. Should use
    1705                   # <(chromium_src_dir).
    1706                   '../third_party/mkl/lib/win/ia32',
    1707                 ],
    1708                 'AdditionalDependencies': [
    1709                   'mkl_intel_c.lib',
    1710                   'mkl_sequential.lib',
    1711                   'mkl_core.lib',
    1712                 ],
    1713               },
    1714             },
    1715           },
    1716         }],
    17171674        ['OS=="linux" and "WTF_USE_WEBAUDIO_FFTW=1" in feature_defines', {
    17181675          # FIXME: (kbr) figure out how to make these dependencies
  • trunk/Source/WebCore/platform/audio/fftw/FFTFrameFFTW.cpp

    r78102 r83893  
    3030#if ENABLE(WEB_AUDIO)
    3131
     32#if !OS(DARWIN) && USE(WEBAUDIO_FFTW)
     33
    3234#include "FFTFrame.h"
    3335
     
    299301} // namespace WebCore
    300302
     303#endif // !OS(DARWIN) && USE(WEBAUDIO_FFTW)
     304
    301305#endif // ENABLE(WEB_AUDIO)
  • trunk/Source/WebCore/platform/audio/mkl/FFTFrameMKL.cpp

    r78102 r83893  
    3131#if ENABLE(WEB_AUDIO)
    3232
     33#if !OS(DARWIN) && USE(WEBAUDIO_MKL)
     34
    3335#include "FFTFrame.h"
    3436
     
    262264} // namespace WebCore
    263265
     266#endif // !OS(DARWIN) && USE(WEBAUDIO_MKL)
     267
    264268#endif // ENABLE(WEB_AUDIO)
Note: See TracChangeset for help on using the changeset viewer.