]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | # |
2 | # Copyright Andrey Semashev 2007 - 2015. | |
3 | # Distributed under the Boost Software License, Version 1.0. | |
4 | # (See accompanying file LICENSE_1_0.txt or copy at | |
5 | # http://www.boost.org/LICENSE_1_0.txt) | |
6 | # | |
7 | ||
8 | using quickbook ; | |
9 | using boostbook ; | |
10 | using doxygen ; | |
11 | using xsltproc ; | |
12 | ||
13 | import set ; | |
14 | import doxygen ; | |
15 | import xsltproc ; | |
16 | import notfile ; | |
17 | import path ; | |
18 | ||
19 | project boost/libs/log/doc ; | |
20 | ||
21 | path-constant images_location : html ; | |
22 | ||
23 | # NOTE: At least Doxygen 1.8.2 is needed to generate docs correctly. Older versions don't support C++11 constructs correctly and generate misleading docs. | |
24 | local doxygen_params = | |
25 | <doxygen:param>RECURSIVE=YES | |
26 | <doxygen:param>ALPHABETICAL_INDEX=YES | |
27 | <doxygen:param>REPEAT_BRIEF=YES | |
28 | <doxygen:param>ALWAYS_DETAILED_SEC=YES | |
29 | <doxygen:param>BRIEF_MEMBER_DESC=NO | |
30 | <doxygen:param>ABBREVIATE_BRIEF=YES | |
31 | <doxygen:param>INHERIT_DOCS=YES | |
32 | <doxygen:param>HIDE_UNDOC_MEMBERS=YES | |
33 | <doxygen:param>HIDE_UNDOC_CLASSES=YES | |
34 | <doxygen:param>HIDE_SCOPE_NAMES=YES | |
35 | <doxygen:param>EXTRACT_ALL=NO | |
36 | <doxygen:param>EXTRACT_PRIVATE=NO | |
37 | <doxygen:param>BUILTIN_STL_SUPPORT=YES | |
38 | <doxygen:param>ENABLE_PREPROCESSING=YES | |
39 | <doxygen:param>MACRO_EXPANSION=YES | |
40 | <doxygen:param>TAB_SIZE=4 | |
41 | <doxygen:param>SOURCE_BROWSER=YES | |
42 | <doxygen:param>VERBATIM_HEADERS=NO | |
43 | # <doxygen:param>SEARCH_INCLUDES=YES | |
44 | # <doxygen:param>"INCLUDE_PATH=../../.." | |
45 | # <doxygen:param>EXCLUDE_SYMBOLS="aux aux::*" | |
46 | <doxygen:param>"PREDEFINED=BOOST_LOG_DOXYGEN_PASS \\ | |
47 | BOOST_LOG_NO_VTABLE= \\ | |
48 | BOOST_SYMBOL_VISIBLE= \\ | |
49 | BOOST_FORCEINLINE=inline \\ | |
50 | BOOST_STATIC_ASSERT(x)= \\ | |
51 | BOOST_STATIC_ASSERT_MSG(x,y)= \\ | |
52 | BOOST_STATIC_CONSTANT(x,y)=\"static constexpr x y\" \\ | |
53 | BOOST_RV_REF(x)=\"x&&\" \\ | |
54 | BOOST_NESTED_TEMPLATE=template \\ | |
55 | BOOST_CONSTEXPR=constexpr \\ | |
56 | BOOST_CXX14_CONSTEXPR=constexpr \\ | |
57 | BOOST_CONSTEXPR_OR_CONST=constexpr \\ | |
58 | BOOST_NOEXCEPT=noexcept \\ | |
59 | BOOST_NOEXCEPT_IF(x)=noexcept(x) \\ | |
60 | BOOST_NOEXCEPT_OR_NOTHROW=noexcept \\ | |
61 | BOOST_COPY_ASSIGN_REF(x)=\"x const&\" \\ | |
62 | BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(x)= \\ | |
63 | BOOST_LOG_UNIQUE_IDENTIFIER_NAME(x)=anonymous \\ | |
64 | BOOST_LOG_USE_NATIVE_SYSLOG=1 \\ | |
65 | BOOST_PARAMETER_KEYWORD(x,y)=\"keyword y;\" \\ | |
66 | BOOST_LOG_AUX_VOID_DEFAULT=\"= void\" \\ | |
67 | BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL=sinks::synchronous_sink \\ | |
68 | BOOST_LOG_FILE_SINK_FRONTEND_INTERNAL=sinks::synchronous_sink \\ | |
69 | BOOST_LOG_NAMESPACE=log \\ | |
70 | BOOST_LOG_OPEN_NAMESPACE=\"namespace log {\" \\ | |
71 | BOOST_LOG_CLOSE_NAMESPACE=\"}\" \\ | |
72 | BOOST_DEFAULTED_FUNCTION(x,y)=\"x = default;\" \\ | |
73 | BOOST_DELETED_FUNCTION(x)=\"x = delete;\" \\ | |
74 | BOOST_EXPLICIT_OPERATOR_BOOL()=\"explicit operator bool() const;\" \\ | |
75 | BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()=\"explicit operator bool() const noexcept;\" \\ | |
76 | BOOST_LOG_USE_CHAR \\ | |
77 | BOOST_LOG_USE_WCHAR_T \\ | |
78 | BOOST_LOG_API= \\ | |
79 | BOOST_LOG_SETUP_API=" | |
80 | <xsl:param>boost.doxygen.detailns=aux | |
81 | # <xsl:param>boost.doxygen.detail=implementation_ | |
82 | ; | |
83 | ||
84 | ||
85 | local top_level_includes = | |
86 | [ glob | |
87 | ../../../boost/log/*.hpp | |
88 | ] ; | |
89 | ||
90 | local core_includes = | |
91 | [ glob | |
92 | ../../../boost/log/core/*.hpp | |
93 | ] ; | |
94 | ||
95 | local attributes_includes = | |
96 | [ glob | |
97 | ../../../boost/log/attributes/*.hpp | |
98 | ] ; | |
99 | ||
100 | local expressions_includes = | |
101 | [ glob | |
102 | ../../../boost/log/expressions/*.hpp | |
103 | ../../../boost/log/expressions/predicates/*.hpp | |
104 | ../../../boost/log/expressions/formatters/*.hpp | |
105 | ] ; | |
106 | ||
107 | local sources_includes = | |
108 | [ glob | |
109 | ../../../boost/log/sources/*.hpp | |
110 | ] ; | |
111 | ||
112 | local sinks_includes = | |
113 | [ set.difference | |
114 | # Document all these files... | |
115 | [ glob | |
116 | ../../../boost/log/sinks/*.hpp | |
117 | ] | |
118 | : | |
119 | # ...except these | |
120 | [ glob | |
121 | ../../../boost/log/sinks/nt6_event_log*.hpp | |
122 | ] | |
123 | ] ; | |
124 | ||
125 | local utility_includes = | |
126 | [ glob | |
127 | ../../../boost/log/utility/*.hpp | |
128 | ../../../boost/log/utility/ipc/*.hpp | |
129 | ../../../boost/log/utility/setup/*.hpp | |
130 | ../../../boost/log/utility/type_dispatch/*.hpp | |
131 | ../../../boost/log/utility/functional/*.hpp | |
132 | ../../../boost/log/utility/manipulators/*.hpp | |
133 | ] ; | |
134 | ||
135 | local support_includes = | |
136 | [ glob | |
137 | ../../../boost/log/support/*.hpp | |
138 | ] ; | |
139 | ||
140 | ||
141 | # This rule generates *.qbk files with macros with references to files, classes, etc. from the doxygen resulting *.xml files. | |
142 | rule gen-references ( target : source : properties * ) | |
143 | { | |
144 | DEPENDS target : source ; | |
145 | local source-path = [ path.make [ on $(source) return $(LOCATE) ] ] ; | |
146 | STYLESHEET on $(target) = [ path.native [ path.join $(source-path) gen_references.xsl ] ] ; | |
147 | local target-name = $(source:B) ; | |
148 | TARGET on $(target) = [ path.native [ path.join $(source-path) $(target-name:S=.qbk) ] ] ; | |
149 | } | |
150 | actions gen-references | |
151 | { | |
152 | # echo "*** Executing " $(NAME:E=xsltproc) -o "$(TARGET)" "$(STYLESHEET)" "$(>)" | |
153 | $(NAME:E=xsltproc) -o "$(TARGET)" "$(STYLESHEET)" "$(>)" | |
154 | } | |
155 | ||
156 | ||
157 | doxygen top_level_reference | |
158 | : | |
159 | $(top_level_includes) | |
160 | : | |
161 | $(doxygen_params) | |
162 | <xsl:param>"boost.doxygen.reftitle=Top level headers" | |
163 | ; | |
164 | ||
165 | notfile top_level_refs : @gen-references : top_level_reference.xml ; | |
166 | ||
167 | doxygen core_reference | |
168 | : | |
169 | $(core_includes) | |
170 | : | |
171 | $(doxygen_params) | |
172 | <xsl:param>"boost.doxygen.reftitle=Core components" | |
173 | ; | |
174 | ||
175 | notfile core_refs : @gen-references : core_reference.xml ; | |
176 | ||
177 | doxygen attributes_reference | |
178 | : | |
179 | $(attributes_includes) | |
180 | : | |
181 | $(doxygen_params) | |
182 | <xsl:param>"boost.doxygen.reftitle=Attributes" | |
183 | ; | |
184 | ||
185 | notfile attributes_refs : @gen-references : attributes_reference.xml ; | |
186 | ||
187 | doxygen expressions_reference | |
188 | : | |
189 | $(expressions_includes) | |
190 | : | |
191 | $(doxygen_params) | |
192 | <xsl:param>"boost.doxygen.reftitle=Expressions" | |
193 | ; | |
194 | ||
195 | notfile expressions_refs : @gen-references : expressions_reference.xml ; | |
196 | ||
197 | doxygen sources_reference | |
198 | : | |
199 | $(sources_includes) | |
200 | : | |
201 | $(doxygen_params) | |
202 | <xsl:param>"boost.doxygen.reftitle=Logging sources" | |
203 | ; | |
204 | ||
205 | notfile sources_refs : @gen-references : sources_reference.xml ; | |
206 | ||
207 | doxygen sinks_reference | |
208 | : | |
209 | $(sinks_includes) | |
210 | : | |
211 | $(doxygen_params) | |
212 | <xsl:param>"boost.doxygen.reftitle=Sinks" | |
213 | ; | |
214 | ||
215 | notfile sinks_refs : @gen-references : sinks_reference.xml ; | |
216 | ||
217 | doxygen utility_reference | |
218 | : | |
219 | $(utility_includes) | |
220 | : | |
221 | $(doxygen_params) | |
222 | <xsl:param>"boost.doxygen.reftitle=Utilities" | |
223 | ; | |
224 | ||
225 | notfile utility_refs : @gen-references : utility_reference.xml ; | |
226 | ||
227 | doxygen support_reference | |
228 | : | |
229 | $(support_includes) | |
230 | : | |
231 | $(doxygen_params) | |
232 | <xsl:param>"boost.doxygen.reftitle=Other libraries support layer" | |
233 | ; | |
234 | ||
235 | notfile support_refs : @gen-references : support_reference.xml ; | |
236 | ||
237 | ||
238 | xml log_doc | |
239 | : | |
240 | log.qbk | |
241 | : | |
242 | <dependency>top_level_refs | |
243 | <dependency>core_refs | |
244 | <dependency>attributes_refs | |
245 | <dependency>expressions_refs | |
246 | <dependency>sources_refs | |
247 | <dependency>sinks_refs | |
248 | <dependency>utility_refs | |
249 | <dependency>support_refs | |
250 | ; | |
251 | ||
252 | boostbook log | |
253 | : | |
254 | log_doc | |
255 | : | |
256 | <xsl:param>boost.root=../../../.. | |
257 | <xsl:param>boost.libraries=../../../libs/libraries.htm | |
258 | <xsl:param>nav.layout=none | |
259 | <xsl:param>boost.image=Boost | |
260 | <xsl:param>navig.graphics=1 | |
261 | <xsl:param>chunk.section.depth=2 | |
262 | <xsl:param>boost.compact.function=0 | |
263 | <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/log/doc/html | |
264 | <format>pdf:<xsl:param>img.src.path=$(images_location)/ | |
265 | ; | |
266 | ||
267 | install html/images/log : [ glob *.png ] ; | |
268 | ||
269 | ############################################################################### | |
270 | alias boostdoc ; | |
271 | explicit boostdoc ; | |
272 | alias boostrelease : log ; | |
273 | explicit boostrelease ; |