summaryrefslogtreecommitdiffstats
path: root/media/media_lib.scons
blob: 690f9021a6401b9e451a81aa9652e24e3e795679 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Copyright (c) 2006-2008 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.

__doc__ = """
Configuration for building media.lib / libmedia.a.
"""

Import('env')

env = env.Clone()

env.SConscript([
    '$ICU38_DIR/using_icu38.scons',
], {'env':env})

env.Prepend(
    CPPPATH = [
        '$CHROME_SRC_DIR',
    ],
)

input_files = ChromeFileList([
  # TODO(sgk):  violate standard indentation so we don't have to
  # reindent too much when we remove the explicit MSVSFilter() calls
  # in favor of generating the hierarchy to reflect the file system.
  MSVSFilter('base', [
    'base/buffers.h',
    'base/data_buffer.cc',
    'base/data_buffer.h',
    'base/factory.h',
    'base/filter_host.h',
    'base/filter_host_impl.cc',
    'base/filter_host_impl.h',
    'base/filters.h',
    'base/media_format.cc',
    'base/media_format.h',
    'base/pipeline.h',
    'base/pipeline_impl.cc',
    'base/pipeline_impl.h',
  ]),
  MSVSFilter('audio', [
    'audio/win/audio_manager_win.h',
    'audio/audio_output.h',
    'audio/win/audio_output_win.cc',
    'audio/simple_sources.h',
    'audio/win/simple_sources_win.cc',
    'audio/win/waveout_output_win.cc',
    'audio/win/waveout_output_win.h',
  ]),
])

if not env.Bit('windows'):
  # Windows-specific files.
  input_files.Remove(
      'audio/win/audio_output_win.cc',
      'audio/win/simple_sources_win.cc',
      'audio/win/waveout_output_win.cc',
  )

env.ChromeLibrary('media', input_files)

p = env.ChromeMSVSProject('build/media.vcproj',
                          dest='$CHROME_SRC_DIR/media/build/media.vcproj',
                          guid='{6AE76406-B03B-11DD-94B1-80B556D89593}',
                          keyword='Win32Proj',
                          # TODO(sgk):  when we can intuit the hierarchy
                          # from the built targets.
                          #buildtargets=TODO,
                          files=input_files,
                          tools=[
                              'VCPreBuildEventTool',
                              'VCCustomBuildTool',
                              'VCXMLDataGeneratorTool',
                              'VCWebServiceProxyGeneratorTool',
                              'VCMIDLTool',
                              'VCCLCompilerTool',
                              'VCManagedResourceCompilerTool',
                              'VCResourceCompilerTool',
                              'VCPreLinkEventTool',
                              'VCLibrarianTool',
                              'VCALinkTool',
                              'VCXDCMakeTool',
                              'VCBscMakeTool',
                              'VCFxCopTool',
                              'VCPostBuildEventTool',
                          ],
                          ConfigurationType='4')

p.AddConfig('Debug|Win32',
            InheritedPropertySheets=[
                '$(SolutionDir)../build/debug.vsprops',
            ])

p.AddConfig('Release|Win32',
            InheritedPropertySheets=[
                '$(SolutionDir)../build/release.vsprops',
            ])