| # 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 net.lib / libnet.a. |
| """ |
| |
| Import('env') |
| |
| env = env.Clone(COMPONENT_STATIC=True) |
| |
| env.ApplySConscript([ |
| '$GRIT_DIR/build/using_generated_resources.scons', |
| '$ICU38_DIR/using_icu38.scons', |
| '$SDCH_DIR/using_sdch.scons', |
| '$ZLIB_DIR/using_zlib.scons', |
| ]) |
| |
| input_files = ChromeFileList([ |
| MSVSFilter('base', [ |
| 'base/address_list.cc', |
| 'base/address_list.h', |
| 'base/auth.h', |
| 'base/base64.cc', |
| 'base/base64.h', |
| 'base/bzip2_filter.cc', |
| 'base/bzip2_filter.h', |
| 'base/cert_status_flags.h', |
| 'base/client_socket.h', |
| 'base/client_socket_factory.cc', |
| 'base/client_socket_factory.h', |
| 'base/client_socket_handle.cc', |
| 'base/client_socket_handle.h', |
| 'base/client_socket_pool.cc', |
| 'base/client_socket_pool.h', |
| 'base/completion_callback.h', |
| 'base/connection_type_histograms.cc', |
| 'base/connection_type_histograms.h', |
| 'base/cookie_monster.cc', |
| 'base/cookie_monster.h', |
| 'base/cookie_policy.cc', |
| 'base/cookie_policy.h', |
| 'base/data_url.cc', |
| 'base/data_url.h', |
| 'base/directory_lister.cc', |
| 'base/directory_lister.h', |
| 'base/dns_resolution_observer.cc', |
| 'base/dns_resolution_observer.h', |
| 'base/effective_tld_names.dat', |
| 'base/escape.cc', |
| 'base/escape.h', |
| 'base/ev_root_ca_metadata.cc', |
| 'base/ev_root_ca_metadata.h', |
| 'base/file_stream.h', |
| 'base/file_stream_win.cc', |
| 'base/filter.cc', |
| 'base/filter.h', |
| 'base/gzip_filter.cc', |
| 'base/gzip_filter.h', |
| 'base/gzip_header.cc', |
| 'base/gzip_header.h', |
| 'base/host_resolver.cc', |
| 'base/host_resolver.h', |
| 'base/listen_socket.cc', |
| 'base/listen_socket.h', |
| 'base/load_flags.h', |
| 'base/mime_sniffer.cc', |
| 'base/mime_sniffer.h', |
| 'base/mime_util.cc', |
| 'base/mime_util.h', |
| 'base/net_error_list.h', |
| 'base/net_errors.cc', |
| 'base/net_errors.h', |
| 'base/net_module.cc', |
| 'base/net_module.h', |
| 'base/net_resources.h', |
| 'base/net_util.cc', |
| 'base/net_util.h', |
| 'base/net_util_win.cc', |
| 'base/platform_mime_util.h', |
| 'base/platform_mime_util_win.cc', |
| 'build/precompiled_net.cc', |
| 'build/precompiled_net.h', |
| 'base/registry_controlled_domain.cc', |
| 'base/registry_controlled_domain.h', |
| 'base/scoped_cert_chain_context.h', |
| 'base/sdch_filter.cc', |
| 'base/sdch_filter.h', |
| 'base/sdch_manager.cc', |
| 'base/sdch_manager.h', |
| 'base/socket.h', |
| 'base/ssl_client_socket.h', |
| 'base/ssl_client_socket_win.cc', |
| 'base/ssl_client_socket_win.h', |
| 'base/ssl_config_service.cc', |
| 'base/ssl_config_service.h', |
| 'base/ssl_info.h', |
| 'base/ssl_test_util.cc', |
| 'base/tcp_client_socket.h', |
| 'base/tcp_client_socket_win.cc', |
| 'base/telnet_server.cc', |
| 'base/telnet_server.h', |
| 'base/upload_data.cc', |
| 'base/upload_data.h', |
| 'base/upload_data_stream.cc', |
| 'base/upload_data_stream.h', |
| 'base/wininet_util.cc', |
| 'base/wininet_util.h', |
| 'base/winsock_init.cc', |
| 'base/winsock_init.h', |
| 'base/x509_certificate.cc', |
| 'base/x509_certificate.h', |
| 'base/x509_certificate_win.cc', |
| ]), |
| MSVSFilter('url_request', [ |
| 'url_request/mime_sniffer_proxy.cc', |
| 'url_request/mime_sniffer_proxy.h', |
| 'url_request/url_request.cc', |
| 'url_request/url_request.h', |
| 'url_request/url_request_about_job.cc', |
| 'url_request/url_request_about_job.h', |
| 'url_request/url_request_context.h', |
| 'url_request/url_request_error_job.cc', |
| 'url_request/url_request_error_job.h', |
| 'url_request/url_request_file_dir_job.cc', |
| 'url_request/url_request_file_dir_job.h', |
| 'url_request/url_request_file_job.cc', |
| 'url_request/url_request_file_job.h', |
| 'url_request/url_request_filter.cc', |
| 'url_request/url_request_filter.h', |
| 'url_request/url_request_ftp_job.cc', |
| 'url_request/url_request_ftp_job.h', |
| 'url_request/url_request_http_job.cc', |
| 'url_request/url_request_http_job.h', |
| 'url_request/url_request_inet_job.cc', |
| 'url_request/url_request_inet_job.h', |
| 'url_request/url_request_job.cc', |
| 'url_request/url_request_job.h', |
| 'url_request/url_request_job_manager.cc', |
| 'url_request/url_request_job_manager.h', |
| 'url_request/url_request_job_metrics.cc', |
| 'url_request/url_request_job_metrics.h', |
| 'url_request/url_request_job_tracker.cc', |
| 'url_request/url_request_job_tracker.h', |
| 'url_request/url_request_simple_job.cc', |
| 'url_request/url_request_simple_job.h', |
| 'url_request/url_request_status.h', |
| 'url_request/url_request_test_job.cc', |
| 'url_request/url_request_test_job.h', |
| 'url_request/url_request_view_cache_job.cc', |
| 'url_request/url_request_view_cache_job.h', |
| ]), |
| MSVSFilter('http', [ |
| 'http/http_atom_list.h', |
| 'http/http_cache.cc', |
| 'http/http_cache.h', |
| 'http/http_chunked_decoder.cc', |
| 'http/http_chunked_decoder.h', |
| 'http/http_network_layer.cc', |
| 'http/http_network_layer.h', |
| 'http/http_network_session.h', |
| 'http/http_network_transaction.cc', |
| 'http/http_network_transaction.h', |
| 'http/http_request_info.h', |
| 'http/http_response_headers.cc', |
| 'http/http_response_headers.h', |
| 'http/http_response_info.h', |
| 'http/http_transaction.h', |
| 'http/http_transaction_factory.h', |
| 'http/http_util.cc', |
| 'http/http_util.h', |
| 'http/http_auth.cc', |
| 'http/http_auth.h', |
| 'http/http_auth_cache.cc', |
| 'http/http_auth_cache.h', |
| 'http/http_auth_handler.h', |
| 'http/http_auth_handler.cc', |
| 'http/http_auth_handler_basic.cc', |
| 'http/http_auth_handler_basic.h', |
| 'http/http_auth_handler_digest.cc', |
| 'http/http_auth_handler_digest.h', |
| 'http/http_auth.cc', |
| 'http/http_auth.h', |
| 'http/http_auth_handler.h', |
| 'http/http_auth_handler.cc', |
| 'http/http_auth_handler_basic.cc', |
| 'http/http_auth_handler_basic.h', |
| 'http/http_auth_handler_digest.cc', |
| 'http/http_auth_handler_digest.h', |
| 'http/http_vary_data.cc', |
| 'http/http_vary_data.h', |
| ]), |
| MSVSFilter('disk_cache', [ |
| 'disk_cache/addr.h', |
| 'disk_cache/backend_impl.cc', |
| 'disk_cache/backend_impl.h', |
| 'disk_cache/block_files.cc', |
| 'disk_cache/block_files.h', |
| 'disk_cache/cache_util.h', |
| 'disk_cache/cache_util_win.cc', |
| 'disk_cache/disk_cache.h', |
| 'disk_cache/disk_format.h', |
| 'disk_cache/entry_impl.cc', |
| 'disk_cache/entry_impl.h', |
| 'disk_cache/errors.h', |
| 'disk_cache/eviction.cc', |
| 'disk_cache/eviction.h', |
| 'disk_cache/file.h', |
| 'disk_cache/file_block.h', |
| 'disk_cache/file_lock.cc', |
| 'disk_cache/file_lock.h', |
| 'disk_cache/file_win.cc', |
| 'disk_cache/hash.cc', |
| 'disk_cache/hash.h', |
| 'disk_cache/mapped_file.h', |
| 'disk_cache/mapped_file_win.cc', |
| 'disk_cache/mem_backend_impl.cc', |
| 'disk_cache/mem_backend_impl.h', |
| 'disk_cache/mem_entry_impl.cc', |
| 'disk_cache/mem_entry_impl.h', |
| 'disk_cache/mem_rankings.cc', |
| 'disk_cache/mem_rankings.h', |
| 'disk_cache/rankings.cc', |
| 'disk_cache/rankings.h', |
| 'disk_cache/stats.cc', |
| 'disk_cache/stats.h', |
| 'disk_cache/stats_histogram.cc', |
| 'disk_cache/stats_histogram.h', |
| 'disk_cache/storage_block-inl.h', |
| 'disk_cache/storage_block.h', |
| 'disk_cache/trace.cc', |
| 'disk_cache/trace.h', |
| ]), |
| MSVSFilter('proxy', [ |
| 'proxy/proxy_config_service_fixed.h', |
| 'proxy/proxy_config_service_win.cc', |
| 'proxy/proxy_config_service_win.h', |
| 'proxy/proxy_resolver_winhttp.cc', |
| 'proxy/proxy_resolver_winhttp.h', |
| 'proxy/proxy_script_fetcher.cc', |
| 'proxy/proxy_script_fetcher.h', |
| 'proxy/proxy_service.cc', |
| 'proxy/proxy_service.h', |
| ]), |
| MSVSFilter('ftp', [ |
| 'ftp/ftp_auth_cache.cc', |
| 'ftp/ftp_auth_cache.h', |
| 'ftp/ftp_network_layer.cc', |
| 'ftp/ftp_network_layer.h', |
| 'ftp/ftp_network_session.h', |
| 'ftp/ftp_network_transaction.cc', |
| 'ftp/ftp_network_transaction.h', |
| 'ftp/ftp_request_info.h', |
| 'ftp/ftp_response_info.h', |
| 'ftp/ftp_transaction.h', |
| 'ftp/ftp_transaction_factory.h', |
| ]), |
| ]) |
| |
| if env.Bit('posix'): |
| # Remove files that still need to be ported from the input_files list. |
| # TODO(port): delete files from this list as they get ported. |
| input_files.Remove( |
| 'base/ssl_config_service.cc', |
| 'url_request/url_request_ftp_job.cc', |
| ) |
| |
| if not env.Bit('windows'): |
| # Remove windows-specific files on non-Windows platforms. |
| # TODO(sgk): |
| # Remove the windows-specific files from the input_files list above |
| # and turn this back in to an add-on-Windows list (like we used to) |
| # once we're comfortable re-ordering the files in the generated |
| # .vcproj file(s). |
| input_files.Remove( |
| 'base/file_stream_win.cc', |
| 'base/net_util_win.cc', |
| 'base/platform_mime_util_win.cc', |
| 'base/ssl_client_socket_win.cc', |
| 'base/tcp_client_socket_win.cc', |
| 'base/wininet_util.cc', |
| 'base/winsock_init.cc', |
| 'base/x509_certificate_win.cc', |
| 'build/precompiled_net.cc', |
| 'disk_cache/cache_util_win.cc', |
| 'disk_cache/file_win.cc', |
| 'disk_cache/mapped_file_win.cc', |
| 'proxy/proxy_config_service_win.cc', |
| 'proxy/proxy_resolver_winhttp.cc', |
| 'url_request/url_request_inet_job.cc', |
| ) |
| |
| if env.Bit('mac'): |
| input_files.Extend([ |
| 'base/platform_mime_util_mac.cc', |
| 'base/ssl_client_socket_mac.cc', |
| 'base/x509_certificate_mac.cc', |
| 'proxy/proxy_resolver_mac.cc', |
| ]) |
| |
| if env.Bit('linux'): |
| input_files.Extend([ |
| 'base/nss_memio.c', |
| # TODO(tc): gnome-vfs? xdgmime? /etc/mime.types? |
| 'base/platform_mime_util_linux.cc', |
| 'base/ssl_client_socket_nss.cc', |
| 'base/x509_certificate_nss.cc', |
| ]) |
| |
| if env.Bit('posix'): |
| input_files.Extend([ |
| 'base/file_stream_posix.cc', |
| 'base/net_util_posix.cc', |
| 'base/tcp_client_socket_libevent.cc', |
| 'disk_cache/cache_util_posix.cc', |
| 'disk_cache/file_posix.cc', |
| 'disk_cache/mapped_file_posix.cc', |
| ]) |
| |
| if env.Bit('windows'): |
| # TODO(bradnelson): This step generates file precompiled_net.pch.ib_tag |
| # possibly only on incredibuild, scons doesn't know this. |
| env_p = env.Clone() |
| # TODO(sgk): for now, add the same _LIB flag that Hammer adds to |
| # the other .obj files |
| env_p.Append(CCFLAGS='/Ylnet', |
| CPPDEFINES=['_LIB']) |
| 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']) |
| input_files.Replace('build/precompiled_net.cc', obj) |
| |
| lib = env.ChromeLibrary('net', input_files) |
| |
| p = env.ChromeMSVSProject('$NET_DIR/build/net.vcproj', |
| dest='$CHROME_SRC_DIR/net/build/net.vcproj', |
| guid='{326E9795-E760-410A-B69A-3F79DB3F5243}', |
| keyword='Win32Proj', |
| dependencies = [ |
| '$NET_DIR/build/net_resources.vcproj', |
| '$NET_DIR/build/tld_cleanup.vcproj', |
| ], |
| # TODO: restore when we can derive all info, |
| # on all platforms, from the windows build targets. |
| #buildtargets=[lib[0]], |
| files=input_files, |
| ConfigurationType='4') |
| |
| p.AddToolFile('build/convert_tld_data.rules') |
| |
| p.AddConfig('Debug|Win32', |
| InheritedPropertySheets=[ |
| '$(SolutionDir)../build/debug.vsprops', |
| './net.vsprops', |
| ], |
| tools=[ |
| 'VCPreBuildEventTool', |
| 'VCCustomBuildTool', |
| 'Convert TLD Data File', |
| 'VCXMLDataGeneratorTool', |
| 'VCWebServiceProxyGeneratorTool', |
| 'VCMIDLTool', |
| MSVSTool('VCCLCompilerTool', |
| PrecompiledHeaderThrough='precompiled_net.h', |
| ForcedIncludeFiles='precompiled_net.h', |
| UsePrecompiledHeader='2'), |
| 'VCManagedResourceCompilerTool', |
| 'VCResourceCompilerTool', |
| 'VCPreLinkEventTool', |
| 'VCLibrarianTool', |
| 'VCALinkTool', |
| 'VCXDCMakeTool', |
| 'VCBscMakeTool', |
| 'VCFxCopTool', |
| 'VCPostBuildEventTool', |
| ]) |
| |
| p.AddConfig('Release|Win32', |
| InheritedPropertySheets=[ |
| '$(SolutionDir)../build/release.vsprops', |
| './net.vsprops', |
| ], |
| tools=[ |
| 'VCPreBuildEventTool', |
| 'VCCustomBuildTool', |
| 'Convert TLD Data File', |
| 'VCXMLDataGeneratorTool', |
| 'VCWebServiceProxyGeneratorTool', |
| 'VCMIDLTool', |
| 'VCCLCompilerTool', |
| 'VCManagedResourceCompilerTool', |
| 'VCResourceCompilerTool', |
| 'VCPreLinkEventTool', |
| 'VCLibrarianTool', |
| 'VCALinkTool', |
| 'VCXDCMakeTool', |
| 'VCBscMakeTool', |
| 'VCFxCopTool', |
| 'VCPostBuildEventTool', |
| ]) |
| |
| # TODO(sgk): remove when we can derive this information |
| p.AddFileConfig('build/precompiled_net.cc', |
| 'Debug|Win32', |
| tools=[ |
| MSVSTool('VCCLCompilerTool', |
| UsePrecompiledHeader='1'), |
| ]) |
| |
| # TODO(sgk): remove when we can derive this information |
| p.AddFileConfig('build/precompiled_net.cc', |
| 'Release|Win32', |
| ExcludedFromBuild='true', |
| tools=[ |
| 'VCCLCompilerTool', |
| ]) |