Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r72084 - branches/release/libs/geometry/doc
From: barend.gehrels_at_[hidden]
Date: 2011-05-22 12:11:59


Author: barendgehrels
Date: 2011-05-22 12:11:58 EDT (Sun, 22 May 2011)
New Revision: 72084
URL: http://svn.boost.org/trac/boost/changeset/72084

Log:
Added file slipped through merge process
Added:
   branches/release/libs/geometry/doc/compiling.qbk (contents, props changed)

Added: branches/release/libs/geometry/doc/compiling.qbk
==============================================================================
--- (empty file)
+++ branches/release/libs/geometry/doc/compiling.qbk 2011-05-22 12:11:58 EDT (Sun, 22 May 2011)
@@ -0,0 +1,134 @@
+[/==============================================================================
+ Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands.
+ Copyright (c) 2008-2011 Bruno Lalande, Paris, France.
+ Copyright (c) 2009-2011 Mateusz Loskot, London, UK., London, UK
+
+ Use, modification and distribution is subject to the Boost Software License,
+ Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+===============================================================================/]
+
+
+
+[section Compilation]
+
+[def __msvc__ MSVC]
+[def __stlport__ [@http://sourceforge.net/projects/stlport STLport]]
+
+__boost_geometry__ is a headers-only library. Users only need to include the
+library headers in their programs in order to be able to access definitions
+and algorithms provided by the __boost_geometry__ library. No linking against
+any binaries is required.
+
+__boost_geometry__ is only dependant on headers-only __boost__ libraries.
+It does not introduce indirect dependencies on any binary libraries.
+
+In order to be able to use __boost_geometry__, the only thing users need to do
+is to download and/or install Boost and specify location to include
+directories, so `include` directives of this scheme will work:
+
+ #include <boost/...>
+
+[heading Supported Compilers]
+
+__boost_geometry__ library has been successfully tested with the following
+compilers:
+
+* __msvc__ (including Express Editions)
+ * 10.0 (__msvc__ 2010) [/reported by Trunk report May 8, 2011]
+ * 9.0 (__msvc__ 2008) [/reported by Trunk report May 8, 2011]
+ * 8.0 (__msvc__ 2005) [/reported by Trunk report May 8, 2011]
+* gcc
+ * gcc 4.6.1 [/reported by Trunk report May 8, 2011]
+ * gcc 4.6.0 (including C++0x) [/reported by Trunk report May 8, 2011]
+ * gcc 4.5.2 (including C++0x) [/reported by Trunk report May 8, 2011]
+ * gcc 4.4.0 [/reported by Trunk report May 8, 2011]
+ * gcc 4.3.4 [/reported by Trunk report March 26, 2011]
+ * gcc 4.2.1 [/reported by Trunk report May 8, 2011]
+ * gcc 3.4.6 [/reported by Trunk report March 26, 2011]
+* clang
+ * clang x.x [/reported by Trunk report March 26, 2011]
+* darwin
+ * darwin 4.0.1 [/reported by Trunk report March 26, 2011]
+ * darwin 4.4 [/reported by Trunk report March 26, 2011]
+* intel
+ * intel 11.1 [/reported by Trunk report March 26, 2011]
+ * intel 11.0 [/reported by Trunk report March 26, 2011]
+ * intel 10.1 [/reported by Trunk report March 26, 2011]
+* pathscale
+ * pathscale 4.0.8 [/reported by Trunk report March 26, 2011]
+
+__boost_geometry__ uses __boost_bb__, a text-based system for developing and
+testing software, to configure, build and execute unit tests and example
+programs. The build configuration is provided as a collection of `Jamfile.v2`
+files.
+
+For gcc, flag [^-Wno-long-long] can be used to surpress some warnings
+originating from Boost.
+
+[heading Includes]
+
+The most convenient headerfile including all algorithms and strategies is
+`geometry.hpp`:
+
+ #include <boost/geometry.hpp>
+
+This is the main header of the __boost_geometry__ library and it is
+recommended to include this file.
+
+Alternatively, it is possible to include __boost_geometry__ header files
+separately. However, this may be inconvenient as header files might be renamed
+or moved occasionaly in future.
+
+Another often used header is `geometries.hpp`:
+
+ #include <boost/geometry/geometries/geometries.hpp>
+
+This includes definitions of all provided geometry types: point,
+linestring, polygon, ring, box. The file `geometries.hpp` is not included in
+the `geometry.hpp` headerfile because users should be given the liberty to use
+their own geometries and not the provided ones. However, for the
+__boost_geometry__ users who want to use the provided geometries it is useful
+to include.
+
+For users using multi-geometries:
+
+ #include <boost/geometry/multi/geometries/multi_geometries.hpp>
+
+[heading Advanced Includes]
+
+Users who have their own geometries and want to use algorithms from
+__boost_geometry__ might include the files containing registration
+macro's, like:
+
+ #include <boost/geometry/geometries/register/point.hpp>
+
+[heading Performance]
+
+The enumeration below is not exhaustive but can contain hints to improve the
+performance:
+
+* For Microsoft __msvc__, set define `_SECURE_SCL=0` for preprocessor.
+* For Microsoft __msvc__, set define `_HAS_ITERATOR_DEBUGGING=0` for preprocessor.
+* Use of __stlport__, a popular open-source implementation of the STL, may result in
+ significantly faster code than use of the C++ standard library provided by __msvc__.
+* Turn on compiler optimizations, compile in release mode.
+
+[heading Problems with Intellisense]
+
+Both versions of __msvc__, 2005 and 2008 (including Express Editions) can hang
+trying to resolve symbols and give [@http://en.wikipedia.org/wiki/IntelliSense
+IntelliSense] suggestions while typing in a bracket or angle bracket.
+This is not directly related to __boost_geometry__, but is caused by problems
+with handling by this IDE large C++ code base with intensively used templates,
+such as Boost and __boost_geometry__. If this is inconvenient, IntelliSense
+can be turned off:
+
+[:['["(...)disabling IntelliSense in VC++. There is a file called `feacp.dll` in
+`<VS8INSTALL>/VC/vcpackages` folder. Renaming this file will disable Intellisense feature.]]
+
+-- [@http://blogs.msdn.com/yash/archive/2007/09/19/intellisense-issues-in-visual-c-2005.aspx Intellisense issues in Visual C++ 2005]
+]
+
+
+[endsect] [/ end of Compilation]


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk