SConscript([
'confio/SConscript', 'htmllexer/SConscript', 'headerparser/SConscript',
'htmldetector/SConscript', 'errors/SConscript', 'gui/SConscript'
])

Import('*')

lib_cpppath = ['.'] + env.Dictionary()['CPPPATH'] + [
	'confio', 'htmllexer', 'headerparser', 'htmldetector', 'errors',
	'#foundation', '#boost', '#reactor', '#libjs', '#libjs/environment', 
	'#../ACE_wrappers', '#../libsigc++', '#../zlib'
]

pch = env.PCH('pch.cpp', CPPPATH = lib_cpppath)[0];

env.Library('main', [
'AsyncConnector.cpp', 'AsyncReaderWriter.cpp', 'SocksError.cpp',
'Socks4Requester.cpp', 'Socks4AsyncConnector.cpp', 'Socks5Authenticator.cpp',
'Socks5Requester.cpp', 'Socks5AsyncConnector.cpp', 'SocksAsyncConnector.cpp',
'ServerConnection.cpp', 'HttpVersion.cpp',
'HttpState.cpp', 'HttpStateChunkBody.cpp', 'HttpStateChunkHeader.cpp',
'HttpStateHeaders.cpp', 'HttpStateFooters.cpp', 'HttpStateRequestHeaders.cpp',
'HttpStateResponseHeaders.cpp', 'HttpStateRequestStart.cpp', 'HttpStateError.cpp',
'HttpStateResponseStart.cpp', 'HttpStateRequestLine.cpp', 'HttpStateStatusLine.cpp',
'HttpStateSizedFlatBody.cpp', 'HttpStateUnsizedFlatBody.cpp', 'HttpStateInactive.cpp',
'HttpParserBase.cpp', 'HttpRequestParser.cpp', 'HttpResponseParser.cpp',
'HttpStatusLine.cpp', 'HttpHeader.cpp', 'HttpMessageShaper.cpp', 'Date.cpp',
'HttpHeaderStructure.cpp', 'HttpHeaderElement.cpp', 'HttpHeadersCollection.cpp',
'RequestLog.cpp', 'Server.cpp', 'FilteringServer.cpp', 'HttpRequestLine.cpp',
'URI.cpp', 'HttpStreamWriter.cpp', 'DnsResolver.cpp', 'DnsCache.cpp',
'ServerConnectionPool.cpp', 'ServerReachabilityDB.cpp',
'Client.cpp', 'Timer.cpp', 'ConnAcceptor.cpp',
'WorkerThreadPool.cpp', 'HttpMethodRegistry.cpp', 'InetAddr.cpp',
'SymbolicInetAddr.cpp', 'AcceptEncoding.cpp', 'TE.cpp', 'ResponseFilterChain.cpp', 'ResponseFilterBase.cpp',
'GzipCompressor.cpp', 'GzipDecompressor.cpp', 'DeflateCompressor.cpp',
'DeflateDecompressor.cpp', 'CompressorResponseFilter.cpp', 'DecompressorResponseFilter.cpp',
'JsInliner.cpp', 'HtmlEscaper.cpp', 'HtmlNode.cpp', 'HtmlNodeWithAttributes.cpp',
'HtmlNodeWithoutAttributes.cpp', 'HtmlNodeWithoutChildren.cpp',
'HtmlNodeWithoutContent.cpp', 'HtmlNodeWithChildren.cpp', 'HtmlNodeWithContent.cpp',
'HtmlElementNode.cpp', 'HtmlFragmentNode.cpp', 'HtmlTextNode.cpp', 'HtmlProcessor.cpp',
'ServiceContext.cpp', 'State.cpp', 'HtmlResponseFilter.cpp', 'HeuristicScore.cpp',
'ImageHeuristicScore.cpp', 'IframeHeuristicScore.cpp', 'FlashHeuristicScore.cpp',
'WebbugHeuristicScore.cpp', 'AdSuspect.cpp', 'AdSuspectList.cpp',
'ImageAdSuspect.cpp', 'IframeAdSuspect.cpp', 'FlashAdSuspect.cpp', 'WebbugAdSuspect.cpp',
'JsEnvProxy.cpp', 'HttpFetcher.cpp', 'ErrorDescriptor.cpp',
'CraftedResponse.cpp', 'ErrorResponse.cpp', 'ProxyDescriptor.cpp',
'FilterTryList.cpp', 'Color.cpp', 'ReplacementImage.cpp',
'ReplacementFlash.cpp', 'ReplacementHtml.cpp', 'ReplacementJs.cpp',
'SubstitutionRequestParser.cpp', 'ImageResponseFilter.cpp',
'FlashResponseFilter.cpp', 'AnalyzeResponseFilter.cpp',
'DownloadSizeLimiter.cpp', 'TextContentValidator.cpp', 'HtmlContentValidator.cpp',
'RegexResponseFilter.cpp', 'AbstractContentIdentifier.cpp',
'GifImageInspector.cpp', 'GifContentIdentifier.cpp',
'JpegImageInspector.cpp', 'JpegContentIdentifier.cpp',
'PngImageInspector.cpp', 'PngContentIdentifier.cpp',
'FlashInspector.cpp', 'FlashContentIdentifier.cpp',
'InterthreadCommandQueue.cpp', 'NetworkActivityReporter.cpp',
'FilterJsLogger.cpp', 'pch.obj'
],
CPPPATH = lib_cpppath,
PCH = pch,
PCHSTOP = 'pch.h'
)
