blob: 4f354147e1f78de5ba7a285b075e484b161cdc0e [file] [log] [blame]
# 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 the net_unittests{,.exe} executable.
"""
Import('env')
env = env.Clone()
env.ApplySConscript([
'$BASE_DIR/using_base.scons',
'$BZIP2_DIR/using_bzip2.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',
'$NET_DIR/using_net.scons',
'$SDCH_DIR/using_sdch.scons',
'$ZLIB_DIR/using_zlib.scons',
])
if env.Bit('posix'):
env.SConscript([
'$LIBEVENT_DIR/using_libevent.scons',
], {'env':env})
if env.Bit('windows'):
env.Prepend(
CCFLAGS = [
'/WX',
],
)
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('support', [
# Built from build/precomiled_net.cc, net_lib.scons.
'precompiled_net$OBJSUFFIX',
'build/precompiled_net.h',
'base/run_all_unittests.cc',
]),
MSVSFilter('tests', [
MSVSFilter('disk_cache', [
'disk_cache/addr_unittest.cc',
'disk_cache/backend_unittest.cc',
'disk_cache/block_files_unittest.cc',
'disk_cache/disk_cache_test_base.cc',
'disk_cache/disk_cache_test_base.h',
'disk_cache/disk_cache_test_util.cc',
'disk_cache/disk_cache_test_util.h',
'disk_cache/entry_unittest.cc',
'disk_cache/mapped_file_unittest.cc',
'disk_cache/storage_block_unittest.cc',
]),
MSVSFilter('http', [
'http/http_auth_cache_unittest.cc',
'http/http_auth_handler_basic_unittest.cc',
'http/http_auth_handler_digest_unittest.cc',
'http/http_auth_unittest.cc',
'http/http_cache_unittest.cc',
'http/http_chunked_decoder_unittest.cc',
'http/http_network_layer_unittest.cc',
'http/http_network_transaction_unittest.cc',
'http/http_response_headers_unittest.cc',
'http/http_transaction_unittest.cc',
'http/http_transaction_unittest.h',
'http/http_util_unittest.cc',
'http/http_vary_data_unittest.cc',
]),
MSVSFilter('base', [
'base/base64_unittest.cc',
'base/bzip2_filter_unittest.cc',
'base/client_socket_pool_unittest.cc',
'base/cookie_monster_unittest.cc',
'base/cookie_policy_unittest.cc',
'base/data_url_unittest.cc',
'base/directory_lister_unittest.cc',
'base/escape_unittest.cc',
'base/file_stream_unittest.cc',
'base/filter_unittest.cc',
'base/gzip_filter_unittest.cc',
'base/host_resolver_unittest.cc',
'base/listen_socket_unittest.cc',
'base/listen_socket_unittest.h',
'base/mime_sniffer_unittest.cc',
'base/mime_util_unittest.cc',
'base/net_util_unittest.cc',
'base/registry_controlled_domain_unittest.cc',
'base/sdch_filter_unittest.cc',
'base/ssl_client_socket_unittest.cc',
'base/ssl_config_service_unittest.cc',
'base/tcp_client_socket_unittest.cc',
'base/telnet_server_unittest.cc',
'base/test_completion_callback_unittest.cc',
'base/wininet_util_unittest.cc',
'base/x509_certificate_unittest.cc',
]),
MSVSFilter('ftp', [
'ftp/ftp_auth_cache_unittest.cc',
]),
MSVSFilter('url_request', [
'url_request/url_request_unittest.cc',
'url_request/url_request_unittest.h',
]),
MSVSFilter('proxy', [
'proxy/proxy_script_fetcher_unittest.cc',
'proxy/proxy_service_unittest.cc',
]),
]),
])
if not env.Bit('windows'):
input_files.Remove(
'base/wininet_util_unittest.cc',
'precompiled_net$OBJSUFFIX',
)
if env.Bit('linux'):
# TODO(port):
input_files.Remove(
'base/sdch_filter_unittest.cc',
'base/ssl_config_service_unittest.cc',
)
if env.Bit('mac'):
input_files.Extend([
'../base/platform_test_mac$OBJSUFFIX',
])
# TODO(port):
input_files.Remove(
'base/x509_certificate_unittest.cc',
'base/sdch_filter_unittest.cc',
'base/ssl_config_service_unittest.cc',
'url_request/url_request_unittest.cc',
)
net_unittests = env.ChromeTestProgram('net_unittests', input_files)
p = env.ChromeMSVSProject('$NET_DIR/build/net_unittests.vcproj',
dest='$CHROME_SRC_DIR/net/build/net_unittests.vcproj',
guid='{E99DA267-BE90-4F45-88A1-6919DB2C7567}',
keyword='Win32Proj',
dependencies = [
'$BASE_DIR/build/base.vcproj',
'$BZIP2_DIR/bzip2.vcproj',
'$NET_DIR/build/net.vcproj',
'$MODP_B64_DIR/modp_b64.vcproj',
'$ZLIB_DIR/zlib.vcproj',
'$ICU38_DIR/build/icu.vcproj',
'$TESTING_DIR/gtest.vcproj',
'$GOOGLEURL_DIR/build/googleurl.vcproj',
'$SDCH_DIR/sdch.vcproj',
],
# TODO: restore when we can derive all info,
# on all platforms, from the windows build targets.
#buildtargets=net_unittests,
files=input_files,
ConfigurationType='1')
p.AddConfig('Debug|Win32',
InheritedPropertySheets=[
'$(SolutionDir)../build/common.vsprops',
'$(SolutionDir)../build/debug.vsprops',
'$(SolutionDir)../testing/using_gtest.vsprops',
],
tools=[
'VCPreBuildEventTool',
'VCCustomBuildTool',
'VCXMLDataGeneratorTool',
'VCWebServiceProxyGeneratorTool',
'VCMIDLTool',
MSVSTool('VCCLCompilerTool',
PrecompiledHeaderThrough='precompiled_net.h',
ForcedIncludeFiles='precompiled_net.h',
PreprocessorDefinitions='UNIT_TEST',
UsePrecompiledHeader='2'),
'VCManagedResourceCompilerTool',
'VCResourceCompilerTool',
'VCPreLinkEventTool',
'VCLinkerTool',
'VCALinkTool',
'VCManifestTool',
'VCXDCMakeTool',
'VCBscMakeTool',
'VCFxCopTool',
'VCAppVerifierTool',
'VCWebDeploymentTool',
'VCPostBuildEventTool',
])
p.AddConfig('Release|Win32',
InheritedPropertySheets=[
'$(SolutionDir)../build/common.vsprops',
'$(SolutionDir)../build/release.vsprops',
'$(SolutionDir)../testing/using_gtest.vsprops',
],
tools=[
'VCPreBuildEventTool',
'VCCustomBuildTool',
'VCXMLDataGeneratorTool',
'VCWebServiceProxyGeneratorTool',
'VCMIDLTool',
MSVSTool('VCCLCompilerTool',
PreprocessorDefinitions='UNIT_TEST'),
'VCManagedResourceCompilerTool',
'VCResourceCompilerTool',
'VCPreLinkEventTool',
'VCLinkerTool',
'VCALinkTool',
'VCManifestTool',
'VCXDCMakeTool',
'VCBscMakeTool',
'VCFxCopTool',
'VCAppVerifierTool',
'VCWebDeploymentTool',
'VCPostBuildEventTool',
])
# TODO: Remove when we can derive this information
p.AddFileConfig('build/precompiled_net.cc',
'Debug|Win32',
tools=[
MSVSTool('VCCLCompilerTool',
UsePrecompiledHeader='1'),
])
# TODO: Remove when we can derive this information
p.AddFileConfig('build/precompiled_net.cc',
'Release|Win32',
ExcludedFromBuild='true',
tools=[
'VCCLCompilerTool',
])