# 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', '$BASE_DIR/gfx/using_base_gfx.scons', '$BZIP2_DIR/using_bzip2.scons', '$CHROME_SRC_DIR/build/using_v8.scons', '$LIBJPEG_DIR/using_libjpeg.scons', '$LIBPNG_DIR/using_libpng.scons', '$LIBXML_DIR/using_libxml.scons', '$LIBXSLT_DIR/using_libxslt.scons', '$MEDIA_DIR/using_media.scons', '$SDCH_DIR/using_sdch.scons', '$SKIA_DIR/using_skia.scons', '$ZLIB_DIR/using_zlib.scons', ]) env.Prepend( CPPDEFINES = [ 'PERF_TEST', ], LIBS = [ 'browser', 'common', 'sqlite', 'JavaScriptCore_pcre', 'V8Bindings', 'WTF', 'WebCore', 'debugger', 'glue', 'port', 'renderer', ], ) 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', ])