[Boost-bugs] [Boost C++ Libraries] #2111: boost headers always include too many platform headers

Subject: [Boost-bugs] [Boost C++ Libraries] #2111: boost headers always include too many platform headers
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2008-07-11 17:17:41


#2111: boost headers always include too many platform headers
-------------------------+--------------------------------------------------
 Reporter: Alessio | Type: Bugs
   Status: new | Milestone: Boost 1.36.0
Component: None | Version: Boost 1.35.0
 Severity: Showstopper | Keywords:
-------------------------+--------------------------------------------------
 #including boost/config.hpp on MSVC causes the inclusion of a large number
 of platform header files (see below for a boost 1.32 example for
 shared_ptr.hpp). This *seriously* degrades compilation times. For large
 systems with >1MLOC the degradation is just impratical and puts off big
 projects from using boost completely.

 boost/config.h should be split into smaller function-specific header files
 (e.g. strings, streams, threads, etc.) and every boost header file should
 include only the functions it needs.

 {{{
 Note: including file: c:\Boost\include\boost-1_32\boost/shared_ptr.hpp
 Note: including file: c:\Boost\include\boost-1_32\boost/config.hpp
 Note: including file: c:\Boost\include\boost-1_32\boost/config/user.hpp
 Note: including file:
 c:\Boost\include\boost-1_32\boost/config/select_compiler_config.hpp
 Note: including file:
 c:\Boost\include\boost-1_32\boost/config/compiler/visualc.hpp
 Note: including file:
 c:\Boost\include\boost-1_32\boost/config/select_stdlib_config.hpp
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\utility
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\iosfwd
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\cstdio
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\yvals.h
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\use_ansi.h
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\stdio.h
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\cstring
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\string.h
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\cwchar
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\wchar.h
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\xstddef
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\cstddef
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\stddef.h
 Note: including file:
 c:\Boost\include\boost-1_32\boost/config/stdlib/dinkumware.hpp
 Note: including file:
 c:\Boost\include\boost-1_32\boost/config/select_platform_config.hpp
 Note: including file:
 c:\Boost\include\boost-1_32\boost/config/platform/win32.hpp
 Note: including file:
 c:\Boost\include\boost-1_32\boost/config/suffix.hpp
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\limits.h
 Note: including file: c:\Boost\include\boost-1_32\boost/assert.hpp
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\assert.h
 Note: including file:
 c:\Boost\include\boost-1_32\boost/checked_delete.hpp
 Note: including file:
 c:\Boost\include\boost-1_32\boost/throw_exception.hpp
 Note: including file: c:\Boost\include\boost-1_32\boost/config.hpp
 Note: including file:
 c:\Boost\include\boost-1_32\boost/detail/shared_count.hpp
 Note: including file: c:\Boost\include\boost-1_32\boost/config.hpp
 Note: including file:
 c:\Boost\include\boost-1_32\boost/detail/lightweight_mutex.hpp
 Note: including file: c:\Boost\include\boost-1_32\boost/config.hpp
 Note: including file:
 c:\Boost\include\boost-1_32\boost/detail/lwm_win32.hpp
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\memory
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\iterator
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\xutility
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\climits
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\xmemory
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\cstdlib
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\stdlib.h
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\new
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\exception
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\eh.h
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\functional
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\typeinfo
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\typeinfo.h
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\stdexcpt.h
 Note: including file:
 c:\Boost\include\boost-1_32\boost/detail/workaround.hpp
 Note: including file: C:\Program Files\Microsoft Visual Studio .NET
 2003\Vc7\include\algorithm
 }}}

-- 
Ticket URL: <http://svn.boost.org/trac/boost/ticket/2111>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:58 UTC