summaryrefslogtreecommitdiffstats
path: root/breakpad/breakpad_handler.scons
blob: 43c7472b66e273390373b11e34ac41317251c527 (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
# 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.

Import('env')

env = env.Clone()

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

input_files = ChromeFileList([
    'src/client/windows/crash_generation/client_info.cc',
    'src/client/windows/crash_generation/client_info.h',
    'src/client/windows/crash_generation/crash_generation_client.cc',
    'src/client/windows/crash_generation/crash_generation_client.h',
    'src/client/windows/crash_generation/crash_generation_server.cc',
    'src/client/windows/crash_generation/crash_generation_server.h',
    'src/client/windows/handler/exception_handler.cc',
    'src/client/windows/handler/exception_handler.h',
    'src/common/windows/guid_string.cc',
    'src/common/windows/guid_string.h',
    'src/google_breakpad/common/minidump_format.h',
    'src/client/windows/crash_generation/minidump_generator.cc',
    'src/client/windows/crash_generation/minidump_generator.h',
    'src/common/windows/string_utils-inl.h',
])

if not env.Bit('windows'):
  input_files.Remove(
      'src/client/windows/crash_generation/client_info.cc',
      'src/client/windows/crash_generation/minidump_generator.cc',
      'src/common/windows/guid_string.cc',
      'src/client/windows/handler/exception_handler.cc',
      'src/client/windows/crash_generation/crash_generation_server.cc',
      'src/client/windows/crash_generation/crash_generation_client.cc',
  )

if not env.Bit('linux'):
  input_files.Remove(
      'src/common/linux/guid_creator.cc',
      'src/client/linux/handler/exception_handler.cc',
      'src/client/linux/handler/minidump_generator.cc',
      'src/client/linux/handler/linux_thread.cc',
  )

env.ChromeLibrary('breakpad_handler', input_files)

p = env.ChromeMSVSProject('breakpad_handler.vcproj',
                          dest=('$CHROME_SRC_DIR/breakpad/' +
                                    'breakpad_handler.vcproj'),
                          guid='{B55CA863-B374-4BAF-95AC-539E4FA4C90C}',
                          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/common.vsprops',
                '$(SolutionDir)../build/debug.vsprops',
                '$(SolutionDir)../build/external_code.vsprops',
                './using_breakpad.vsprops',
            ])

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