]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/geometry/doc/compiling.qbk
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / geometry / doc / compiling.qbk
1 [/==============================================================================
2 Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands.
3 Copyright (c) 2008-2012 Bruno Lalande, Paris, France.
4 Copyright (c) 2009-2012 Mateusz Loskot, London, UK., London, UK
5
6 Use, modification and distribution is subject to the Boost Software License,
7 Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
8 http://www.boost.org/LICENSE_1_0.txt)
9 ===============================================================================/]
10
11
12
13 [section Compilation]
14
15 [def __msvc__ MSVC]
16 [def __stlport__ [@http://sourceforge.net/projects/stlport STLport]]
17
18 __boost_geometry__ is a headers-only library. Users only need to include the
19 library headers in their programs in order to be able to access definitions
20 and algorithms provided by the __boost_geometry__ library. No linking against
21 any binaries is required.
22
23 __boost_geometry__ is only dependant on headers-only __boost__ libraries.
24 It does not introduce indirect dependencies on any binary libraries.
25
26 In order to be able to use __boost_geometry__, the only thing users need to do
27 is to download and/or install Boost and specify location to include
28 directories, so `include` directives of this scheme will work:
29
30 #include <boost/...>
31
32 [heading Supported Compilers]
33
34 __boost_geometry__ library has been successfully tested with the following
35 compilers:
36
37 * __msvc__ (including Express Editions)
38 * 14.0 (__msvc__ 14 CTP) [/reported by develop report on March, 2015]
39 * 12.0 (__msvc__ 2013) [/reported by develop report on March, 2015]
40 * 11.0 (__msvc__ 2012) [/reported by develop report on March, 2015]
41 * 10.0 (__msvc__ 2010) [/reported by Trunk report May 8, 2011]
42 * 9.0 (__msvc__ 2008) [/reported by Trunk report May 8, 2011]
43 * 8.0 (__msvc__ 2005) [/reported by Trunk report May 8, 2011]
44 * gcc
45 * gcc 5.0.0 [/reported by develop report on March, 2015]
46 * gcc 4.9.2 [/reported by develop report on March, 2015]
47 * gcc 4.9.0 [/reported by develop report on March, 2015]
48 * gcc 4.8.4 [/reported by develop report on March, 2015]
49 * gcc 4.8.1 [/reported by develop report on March, 2015]
50 * gcc 4.8.0 [/reported by develop report on March, 2015]
51 * gcc 4.7.3 [/reported by develop report on March, 2015]
52 * gcc 4.7.2 [/reported by develop report on March, 2015]
53 * gcc 4.7.0 [/reported by Trunk report February 12, 2012]
54 * gcc 4.6.4 [/reported by develop report on March, 2015]
55 * gcc 4.6.2 [/reported by Trunk report February 12, 2012]
56 * gcc 4.6.1 [/reported by Trunk report May 8, 2011]
57 * gcc 4.6.0 [/reported by Trunk report May 8, 2011]
58 * gcc 4.5.3 [/reported by develop report on March, 2015]
59 * gcc 4.5.2 [/reported by Trunk report May 8, 2011]
60 * gcc 4.4.7 [/reported by develop report on March, 2015]
61 * gcc 4.4.0 [/reported by Trunk report May 8, 2011]
62 * gcc 4.3.4 [/reported by Trunk report March 26, 2011]
63 * gcc 4.2.1 [/reported by Trunk report May 8, 2011]
64 * gcc 3.4.6 [/reported by Trunk report March 26, 2011]
65 * clang
66 * clang 3.6 [/reported by develop report on March, 2015]
67 * clang 3.5 [/reported by develop report on March, 2015]
68 * clang 3.4 [/reported by develop report on March, 2015]
69 * clang 3.3 [/reported by mloskot on October, 2013]
70 * clang 3.2 [/reported by Trunk report March 26, 2011]
71 * clang 3.1 [/reported by develop report on March, 2015]
72 * clang 3.0 [/reported by develop report on March, 2015]
73 * clang 2.9 [/reported by develop report on March, 2015]
74 * darwin
75 * darwin 4.0.1 [/reported by Trunk report March 26, 2011]
76 * darwin 4.4 [/reported by Trunk report March 26, 2011]
77 * intel
78 * intel 11.1 [/reported by Trunk report March 26, 2011]
79 * intel 11.0 [/reported by Trunk report March 26, 2011]
80 * intel 10.1 [/reported by Trunk report March 26, 2011]
81 * pathscale
82 * pathscale 4.0.8 [/reported by Trunk report March 26, 2011]
83
84 __boost_geometry__ uses __boost_bb__, a text-based system for developing and
85 testing software, to configure, build and execute unit tests and example
86 programs. The build configuration is provided as a collection of `Jamfile.v2`
87 files.
88
89 For gcc, flag [^-Wno-long-long] can be used to surpress some warnings
90 originating from Boost.
91
92 [heading Includes]
93
94 The most convenient headerfile including all algorithms and strategies is
95 `geometry.hpp`:
96
97 #include <boost/geometry.hpp>
98
99 This is the main header of the __boost_geometry__ library and it is
100 recommended to include this file.
101
102 Alternatively, it is possible to include __boost_geometry__ header files
103 separately. However, this may be inconvenient as header files might be renamed
104 or moved occasionaly in future.
105
106 Another often used header is `geometries.hpp`:
107
108 #include <boost/geometry/geometries/geometries.hpp>
109
110 This includes definitions of all provided geometry types:
111
112 * point,
113 * linestring,
114 * polygon,
115 * ring,
116 * multi_point,
117 * multi_linestring,
118 * multi_polygon,
119 * box,
120 * segment.
121
122 The file `geometries.hpp` is not included in
123 the `geometry.hpp` headerfile because users should be given the liberty to use
124 their own geometries and not the provided ones. However, for the
125 __boost_geometry__ users who want to use the provided geometries it is useful
126 to include.
127
128 [heading Advanced Includes]
129
130 Users who have their own geometries and want to use algorithms from
131 __boost_geometry__ might include the files containing registration
132 macro's, like:
133
134 #include <boost/geometry/geometries/register/point.hpp>
135
136 [heading Performance]
137
138 The enumeration below is not exhaustive but can contain hints to improve the
139 performance:
140
141 * For Microsoft __msvc__, set define `_SECURE_SCL=0` for preprocessor.
142 * For Microsoft __msvc__, set define `_HAS_ITERATOR_DEBUGGING=0` for preprocessor.
143 * Use of __stlport__, a popular open-source implementation of the STL, may result in
144 significantly faster code than use of the C++ standard library provided by __msvc__.
145 * Turn on compiler optimizations, compile in release mode.
146
147 [heading Problems with Intellisense]
148
149 Both versions of __msvc__, 2005 and 2008 (including Express Editions) can hang
150 trying to resolve symbols and give [@http://en.wikipedia.org/wiki/IntelliSense
151 IntelliSense] suggestions while typing in a bracket or angle bracket.
152 This is not directly related to __boost_geometry__, but is caused by problems
153 with handling by this IDE large C++ code base with intensively used templates,
154 such as Boost and __boost_geometry__. If this is inconvenient, IntelliSense
155 can be turned off:
156
157 [:['["(...)disabling IntelliSense in VC++. There is a file called `feacp.dll` in
158 `<VS8INSTALL>/VC/vcpackages` folder. Renaming this file will disable Intellisense feature.]]
159
160 -- [@http://blogs.msdn.com/yash/archive/2007/09/19/intellisense-issues-in-visual-c-2005.aspx Intellisense issues in Visual C++ 2005]
161 ]
162
163
164 [endsect] [/ end of Compilation]