summaryrefslogtreecommitdiffstats
path: root/net/SConscript
diff options
context:
space:
mode:
authorinitial.commit <initial.commit@0039d316-1c4b-4281-b951-d872f2087c98>2008-07-26 22:42:52 +0000
committerinitial.commit <initial.commit@0039d316-1c4b-4281-b951-d872f2087c98>2008-07-26 22:42:52 +0000
commit586acc5fe142f498261f52c66862fa417c3d52d2 (patch)
treec98b3417a883f2477029c8cd5888f4078681e24e /net/SConscript
parenta814a8d55429605fe6d7045045cd25b6bf624580 (diff)
downloadchromium_src-586acc5fe142f498261f52c66862fa417c3d52d2.zip
chromium_src-586acc5fe142f498261f52c66862fa417c3d52d2.tar.gz
chromium_src-586acc5fe142f498261f52c66862fa417c3d52d2.tar.bz2
Add net to the repository.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/SConscript')
-rw-r--r--net/SConscript345
1 files changed, 345 insertions, 0 deletions
diff --git a/net/SConscript b/net/SConscript
new file mode 100644
index 0000000..4ec434e
--- /dev/null
+++ b/net/SConscript
@@ -0,0 +1,345 @@
+# Copyright 2008, Google Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Import('env')
+
+env_res = env.Clone()
+env_tests = env.Clone()
+env = env.Clone()
+
+env.Prepend(
+ CPPPATH = [
+ '$ZLIB_DIR',
+ '$ICU38_DIR/public/common',
+ '$ICU38_DIR/public/i18n',
+ '..',
+ ],
+)
+
+env.Append(
+ CPPDEFINES = [
+ 'U_STATIC_IMPLEMENTATION',
+ 'CERT_CHAIN_PARA_HAS_EXTRA_FIELDS',
+ ],
+ CCFLAGS = [
+ '/wd4503',
+ '/wd4819',
+ ],
+)
+
+input_files = [
+ 'base/address_list.cc',
+ 'base/auth_cache.cc',
+ 'base/base64.cc',
+ 'base/bzip2_filter.cc',
+ 'base/client_socket_factory.cc',
+ 'base/cookie_monster.cc',
+ 'base/cookie_policy.cc',
+ 'base/data_url.cc',
+ 'base/directory_lister.cc',
+ 'base/dns_resolution_observer.cc',
+ 'base/escape.cc',
+ 'base/ev_root_ca_metadata.cc',
+ 'base/filter.cc',
+ 'base/gzip_filter.cc',
+ 'base/gzip_header.cc',
+ 'base/host_resolver.cc',
+ 'base/listen_socket.cc',
+ 'base/mime_sniffer.cc',
+ 'base/mime_util.cc',
+ 'base/net_errors.cc',
+ 'base/net_module.cc',
+ 'base/net_util.cc',
+ 'base/registry_controlled_domain.cc',
+ 'base/ssl_client_socket.cc',
+ 'base/ssl_config_service.cc',
+ 'base/tcp_client_socket.cc',
+ 'base/telnet_server.cc',
+ 'base/upload_data.cc',
+ 'base/upload_data_stream.cc',
+ 'base/wininet_util.cc',
+ 'base/winsock_init.cc',
+ 'base/x509_certificate.cc',
+ 'disk_cache/backend_impl.cc',
+ 'disk_cache/block_files.cc',
+ 'disk_cache/entry_impl.cc',
+ 'disk_cache/file.cc',
+ 'disk_cache/file_lock.cc',
+ 'disk_cache/hash.cc',
+ 'disk_cache/mapped_file.cc',
+ 'disk_cache/mem_backend_impl.cc',
+ 'disk_cache/mem_entry_impl.cc',
+ 'disk_cache/mem_rankings.cc',
+ 'disk_cache/rankings.cc',
+ 'disk_cache/stats.cc',
+ 'disk_cache/trace.cc',
+ 'http/cert_status_cache.cc',
+ 'http/http_chunked_decoder.cc',
+ 'http/http_connection.cc',
+ 'http/http_connection_manager.cc',
+ 'http/http_cache.cc',
+ 'http/http_network_layer.cc',
+ 'http/http_network_transaction.cc',
+ 'http/http_proxy_resolver_fixed.cc',
+ 'http/http_proxy_resolver_winhttp.cc',
+ 'http/http_proxy_service.cc',
+ 'http/http_response_headers.cc',
+ 'http/http_transaction_winhttp.cc',
+ 'http/http_util.cc',
+ 'http/http_vary_data.cc',
+ 'http/winhttp_request_throttle.cc',
+ 'url_request/mime_sniffer_proxy.cc',
+ 'url_request/url_request.cc',
+ 'url_request/url_request_about_job.cc',
+ 'url_request/url_request_error_job.cc',
+ 'url_request/url_request_file_dir_job.cc',
+ 'url_request/url_request_file_job.cc',
+ 'url_request/url_request_filter.cc',
+ 'url_request/url_request_ftp_job.cc',
+ 'url_request/url_request_http_cache_job.cc',
+ 'url_request/url_request_inet_job.cc',
+ 'url_request/url_request_job.cc',
+ 'url_request/url_request_job_manager.cc',
+ 'url_request/url_request_job_metrics.cc',
+ 'url_request/url_request_job_tracker.cc',
+ 'url_request/url_request_simple_job.cc',
+ 'url_request/url_request_test_job.cc',
+ 'url_request/url_request_view_cache_job.cc',
+]
+
+#env_p = env.Clone(
+# PCHSTOP='precompiled_net.h',
+# PDB = 'vc80.pdb',
+#)
+#pch, obj = env_p.PCH(['net.pch', 'precompiled_net.obj'], 'precompiled_net.cc')
+#env_p['PCH'] = pch
+
+#env.StaticLibrary('net', input_files + [obj])
+
+# TODO(bradnelson): This step generates file precompiled_net.pch.ib_tag
+# possibly only on incredibuild, scons doesn't know this.
+env_p = env.Clone()
+env_p.Append(CCFLAGS='/Ylnet')
+pch, obj = env_p.PCH('precompiled_net.pch', 'build/precompiled_net.cc')
+env['PCH'] = pch
+env['PCHSTOP'] = 'precompiled_net.h'
+env.Append(CCPCHFLAGS = ['/FIprecompiled_net.h'])
+
+env.StaticLibrary('net', input_files + [obj])
+
+
+env_tests.Prepend(
+ CPPPATH = [
+ '..',
+ ],
+ CPPDEFINES = [
+ 'UNIT_TEST',
+ '_WIN32_WINNT=0x0600',
+ 'WINVER=0x0600',
+ '_HAS_EXCEPTIONS=0',
+ 'CERT_CHAIN_PARA_HAS_EXTRA_FIELDS',
+ 'WIN32_LEAN_AND_MEAN',
+ ],
+ CCFLAGS = [
+ '/WX',
+ '/Wp64',
+ '/TP',
+
+ '/wd4503',
+ '/wd4819',
+ ],
+ LINKFLAGS = [
+ '/DELAYLOAD:"dwmapi.dll"',
+ '/DELAYLOAD:"uxtheme.dll"',
+ '/MACHINE:X86',
+ '/FIXED:No',
+ '/safeseh',
+ '/dynamicbase',
+ '/ignore:4199',
+ '/nxcompat',
+ ],
+ LIBS = [
+ 'advapi32.lib',
+ 'comdlg32.lib',
+ 'DelayImp.lib',
+ 'gdi32.lib',
+ 'kernel32.lib',
+ 'msimg32.lib',
+ 'odbc32.lib',
+ 'odbccp32.lib',
+ 'ole32.lib',
+ 'oleaut32.lib',
+ 'psapi.lib',
+ 'shell32.lib',
+ 'user32.lib',
+ 'usp10.lib',
+ 'uuid.lib',
+ 'version.lib',
+ 'wininet.lib',
+ 'winspool.lib',
+ 'ws2_32.lib',
+ ],
+)
+
+env_tests.Append(
+ CPPPATH = [
+ '$GTEST_DIR/include',
+ ],
+)
+
+libs = [
+ '$GOOGLEURL_DIR/googleurl.lib',
+ '$BASE_DIR/base.lib',
+ '$TESTING_DIR/gtest.lib',
+ '../third_party/bzip2/bzip2.lib',
+ '$ICU38_DIR/icuuc.lib',
+ '$MODP_B64_DIR/modp_b64.lib',
+ '$ZLIB_DIR/zlib.lib',
+ 'net.lib',
+]
+
+
+unittest_files = [
+ 'base/auth_cache_unittest.cc',
+ 'base/base64_unittest.cc',
+ 'base/bzip2_filter_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/gzip_filter_unittest.cc',
+ 'base/mime_sniffer_unittest.cc',
+ 'base/mime_util_unittest.cc',
+ 'base/net_util_unittest.cc',
+ 'base/registry_controlled_domain_unittest.cc',
+ 'base/ssl_config_service_unittest.cc',
+ 'base/ssl_client_socket_unittest.cc',
+ 'base/tcp_client_socket_unittest.cc',
+ 'base/wininet_util_unittest.cc',
+ '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_util.cc',
+ 'disk_cache/entry_unittest.cc',
+ 'disk_cache/mapped_file_unittest.cc',
+ 'disk_cache/storage_block_unittest.cc',
+ 'http/http_cache_unittest.cc',
+ 'http/http_connection_manager_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_winhttp_unittest.cc',
+ 'http/http_util_unittest.cc',
+ 'http/http_vary_data_unittest.cc',
+ 'http/winhttp_request_throttle_unittest.cc',
+ 'url_request/url_request_unittest.cc',
+ '$BASE_DIR/run_all_unittests.obj',
+]
+
+net_unittests = env_tests.Program(
+ ['net_unittests.exe',
+ 'net_unittests.ilk',
+ 'net_unittests.pdb'],
+ unittest_files + libs
+)
+
+
+
+stress_cache = env_tests.Program(
+ ['stress_cache.exe',
+ 'stress_cache.ilk',
+ 'stress_cache.pdb'],
+ ['disk_cache/stress_cache.cc',
+ 'disk_cache/disk_cache_test_util.cc'] + libs
+)
+
+
+crash_cache = env_tests.Program(
+ ['crash_cache.exe',
+ 'crash_cache.ilk',
+ 'crash_cache.pdb'],
+ ['tools/crash_cache/crash_cache.cc',
+ 'disk_cache/disk_cache_test_util.cc'] + libs
+)
+
+
+net_perftests = env_tests.Program(
+ ['net_perftests.exe',
+ 'net_perftests.ilk',
+ 'net_perftests.pdb'],
+ ['disk_cache/disk_cache_test_util.cc',
+ 'disk_cache/disk_cache_perftest.cc',
+ 'base/cookie_monster_perftest.cc',
+ # TODO(sgk): avoid using .cc from base directly
+ '$BASE_DIR/run_all_perftests$OBJSUFFIX',
+ '$BASE_DIR/perftimer$OBJSUFFIX'] + libs
+)
+
+
+# Create install of tests.
+installed_tests = env.Install(
+ '$TARGET_ROOT',
+ net_unittests + stress_cache + crash_cache + net_perftests
+)
+
+
+env_res.Append(
+ CPPPATH = [
+ '..',
+ ],
+ RCFLAGS = [
+ ['/l', '0x409'],
+ ],
+)
+
+# This dat file needed by net_resources is generated.
+tld_names_clean = env_res.Command('net/effective_tld_names_clean.dat',
+ ['base/effective_tld_names.dat',
+ 'tools/tld_cleanup/tld_cleanup.exe'],
+ '${SOURCES[1]} ${SOURCES[0]} $TARGET')
+rc = env_res.Command('net_resources.rc',
+ 'base/net_resources.rc',
+ Copy('$TARGET', '$SOURCE'))
+net_resources = env_res.RES(rc)
+env_res.Depends(rc, tld_names_clean)
+
+
+sconscript_files = [
+ 'tools/tld_cleanup/SConscript',
+]
+
+SConscript(sconscript_files, exports=['env'])
+
+
+# Setup alias for building all parts of net.
+env.Alias('net', ['.', installed_tests, '../icudt38.dll'])
+