summaryrefslogtreecommitdiffstats
path: root/chrome/test/perf/perftests.scons
blob: b645d38520c40b5bb9bb146b50f897df16babe36 (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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
# Copyright (c) 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 the perf_tests{,.exe} executable.
"""

Import('env')

env = env.Clone()

env.ApplySConscript([
    '$BASE_DIR/using_base.scons',
    '$NET_DIR/using_net.scons',
    '$CHROME_SRC_DIR/build/using_googleurl.scons',
    '$GTEST_DIR/../using_gtest.scons',
    '$ICU38_DIR/using_icu38.scons',
    '$MODP_B64_DIR/using_modp_b64.scons',
])

env.Prepend(
    CPPDEFINES = [
        'PERF_TEST',
    ],
    LIBS = [
        'browser',
        'common',
        'sqlite',
    ],
)

if env.Bit('posix'):
  env.SConscript([
      '$LIBEVENT_DIR/using_libevent.scons',
  ], {'env':env})

if env.Bit('windows'):
  env.Prepend(
      LIBS = [
          'rpcrt4',
          'shlwapi',
          'winmm',
      ]
  )

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('TestVisitedLink', [
    '$CHROME_DIR/browser/visitedlink_master$OBJSUFFIX',
    '$CHROME_DIR/browser/visitedlink_perftest.cc',
  ]),
  MSVSFilter('Common', [
    'perftests.cc',
    '$BASE_DIR/perftimer$OBJSUFFIX',
  ]),
  MSVSFilter('TestURLParser', [
    'url_parse_perftest.cc',
  ]),
  MSVSFilter('TestJSONSerializer', [
    '$CHROME_DIR/common/json_value_serializer_perftest.cc',
  ]),
  MSVSFilter('TestSafeBrowsing', [
    '$CHROME_DIR/browser/safe_browsing/database_perftest.cc',
  ]),
])

if env.Bit('linux'):
  # TODO(port): Port these files.
  input_files.Remove(
      'url_parse_perftest.cc',
      '$CHROME_DIR/browser/visitedlink_master$OBJSUFFIX',
      '$CHROME_DIR/browser/visitedlink_perftest.cc',
  )

if env.Bit('mac'):
  # TODO(port): Port these files.
  input_files.Remove(
      'url_parse_perftest.cc',
      '$CHROME_DIR/browser/visitedlink_master$OBJSUFFIX',
      '$CHROME_DIR/browser/visitedlink_perftest.cc',
  )

if not env.Bit('mac'):
  env.ChromeTestProgram('perf_tests', input_files)

p = env.ChromeMSVSProject('perftests.vcproj',
                          name='perf_tests',
                          dest=('$CHROME_SRC_DIR/chrome/'
                                + 'test/perf/perftests.vcproj'),
                          guid='{9055E088-25C6-47FD-87D5-D9DD9FD75C9F}',
                          keyword='Win32Proj',
                          dependencies = [
                              '$BASE_DIR/build/base.vcproj',
                              '$WEBKIT_DIR/build/WebCore/WebCore.vcproj',
                              '$CHROME_DIR/plugin/plugin.vcproj',
                              '$LIBJPEG_DIR/libjpeg.vcproj',
                              '$BZIP2_DIR/bzip2.vcproj',
                              '$NET_DIR/build/net.vcproj',
                              ('$WEBKIT_DIR/build/'
                               + 'JavaScriptCore/JavaScriptCore_pcre.vcproj'),
                              '$WEBKIT_DIR/build/port/port.vcproj',
                              '$CHROME_DIR/browser/debugger/debugger.vcproj',
                              ('$WEBKIT_DIR/default_plugin/'
                               + 'default_plugin.vcproj'),
                              '$CHROME_DIR/browser/browser.vcproj',
                              '$WEBKIT_DIR/build/V8Bindings/V8Bindings.vcproj',
                              '$SQLITE_DIR/sqlite.vcproj',
                              '$CHROME_DIR/views/views.vcproj',
                              '$MODP_B64_DIR/modp_b64.vcproj',
                              '$ZLIB_DIR/zlib.vcproj',
                              '$CHROME_DIR/common/common.vcproj',
                              '$ICU38_DIR/build/icu.vcproj',
                              '$CHROME_DIR/renderer/renderer.vcproj',
                              '$BASE_DIR/build/base_gfx.vcproj',
                              '$WEBKIT_DIR/build/JavaScriptCore/WTF.vcproj',
                              '$TESTING_DIR/gtest.vcproj',
                              '$V8_DIR/tools/visual_studio/v8_snapshot.vcproj',
                              '$LIBPNG_DIR/libpng.vcproj',
                              '$WEBKIT_DIR/build/glue/glue.vcproj',
                              '$SKIA_DIR/skia.vcproj',
                              ('$CHROME_DIR/third_party/'
                               + 'hunspell/hunspell.vcproj'),
                              '$GOOGLEURL_DIR/build/googleurl.vcproj',
                              '$CHROME_DIR/installer/util/util.vcproj',
                              '$WEBKIT_DIR/activex_shim/activex_shim.vcproj',
                              '$SDCH_DIR/sdch.vcproj',
                              '$CHROME_DIR/browser/views/browser_views.vcproj',
                              '$LIBXSLT_DIR/build/libxslt.vcproj',
                          ],
                          # TODO(sgk):  when we can intuit the hierarchy
                          # from the built targets.
                          #buildtargets=TODO,
                          files=input_files,
                          local_directory_prefix='./',
                          tools=[
                              'VCPreBuildEventTool',
                              'VCCustomBuildTool',
                              'VCXMLDataGeneratorTool',
                              'VCWebServiceProxyGeneratorTool',
                              'VCMIDLTool',
                              MSVSTool('VCCLCompilerTool',
                                       PreprocessorDefinitions=[
                                           'PERF_TEST',
                                           '_CRT_RAND_S',
                                       ]),
                              'VCManagedResourceCompilerTool',
                              'VCResourceCompilerTool',
                              'VCPreLinkEventTool',
                              MSVSTool('VCLinkerTool',
                                       AdditionalDependencies=[
                                           'shlwapi.lib',
                                           'rpcrt4.lib',
                                           'winmm.lib',
                                       ],
                                       SubSystem='1'),
                              'VCALinkTool',
                              'VCManifestTool',
                              'VCXDCMakeTool',
                              'VCBscMakeTool',
                              'VCFxCopTool',
                              'VCAppVerifierTool',
                              'VCWebDeploymentTool',
                              'VCPostBuildEventTool',
                          ],
                          ConfigurationType='1')


p.AddConfig('Debug|Win32',
            InheritedPropertySheets=[
                '$(SolutionDir)../build/common.vsprops',
                '$(SolutionDir)../build/debug.vsprops',
                '$(SolutionDir)../third_party/icu38/build/using_icu.vsprops',
                ('$(SolutionDir)../'
                 + 'third_party/libxml/build/using_libxml.vsprops'),
                '$(SolutionDir)../testing/using_gtest.vsprops',
                '$(SolutionDir)../skia/using_skia.vsprops',
            ])

p.AddConfig('Release|Win32',
            InheritedPropertySheets=[
                '$(SolutionDir)../build/common.vsprops',
                '$(SolutionDir)../build/release.vsprops',
                '$(SolutionDir)../third_party/icu38/build/using_icu.vsprops',
                ('$(SolutionDir)../'
                 + 'third_party/libxml/build/using_libxml.vsprops'),
                '$(SolutionDir)../testing/using_gtest.vsprops',
                '$(SolutionDir)../skia/using_skia.vsprops',
            ])