Merge lp:~alan-griffiths/mir/mive-miral-to-mir-regeneration into lp:mir
- mive-miral-to-mir-regeneration
- Merge into development-branch
Status: | Superseded |
---|---|
Proposed branch: | lp:~alan-griffiths/mir/mive-miral-to-mir-regeneration |
Merge into: | lp:mir |
Prerequisite: | lp:~alan-griffiths/mir/move-miral-test-to-mir |
Diff against target: |
1133 lines (+694/-190) 17 files modified
CMakeLists.txt (+1/-1) doc/Doxyfile.in (+2/-1) examples/basic.c (+5/-8) include/client/mir_toolkit/mir_buffer.h (+2/-0) include/client/mir_toolkit/mir_display_configuration.h (+4/-4) include/client/mir_toolkit/mir_input_device.h (+3/-3) include/client/mir_toolkit/mir_window.h (+1/-1) include/client/mir_toolkit/rs/mir_render_surface.h (+1/-1) include/miral/miral/command_line_option.h (+5/-0) include/miral/miral/window_management_policy_addendum3.h (+1/-0) include/platform/mir/graphics/platform.h (+1/-0) include/server/mir/graphics/display_configuration_observer.h (+1/-1) include/test/mir_test_framework/main.h (+2/-2) src/miral/CMakeLists.txt (+10/-146) src/miral/miral.pc.in (+0/-12) src/miral/mirclientcpp.pc.in (+0/-10) src/miral/process_doxygen_xml.py (+655/-0) |
To merge this branch: | bzr merge lp:~alan-griffiths/mir/mive-miral-to-mir-regeneration |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Mir CI Bot | continuous-integration | Needs Fixing | |
Gerry Boland (community) | Approve | ||
Review via email: mp+329590@code.launchpad.net |
This proposal has been superseded by a proposal from 2017-08-31.
Commit message
Incorporate the utility script for regenerating the libmiral symbols file. Vis:
$ make regenerate-
Description of the change
Incorporate miral project into mir source tree
This is a third-cut:
1. There's no attempt to remove code obsoleted by MirAL
2. There's no reworking of the generated docs to include miral
Mir CI Bot (mir-ci-bot) wrote : | # |
Gerry Boland (gerboland) wrote : | # |
+#! /usr/bin/python
Does this need to be python3?
Alan Griffiths (alan-griffiths) wrote : | # |
> +#! /usr/bin/python
> Does this need to be python3?
It could be, it doesn't need to be.
Mir CI Bot (mir-ci-bot) wrote : | # |
FAILED: Autolanding.
More details in the following jenkins job:
https:/
Executed test runs:
FAILURE: https:/
None: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Mir CI Bot (mir-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:4258
https:/
Executed test runs:
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
Preview Diff
1 | === modified file 'CMakeLists.txt' |
2 | --- CMakeLists.txt 2017-08-22 16:55:23 +0000 |
3 | +++ CMakeLists.txt 2017-08-30 16:18:50 +0000 |
4 | @@ -53,6 +53,7 @@ |
5 | include (cmake/EnableCoverageReport.cmake) |
6 | include (cmake/MirCommon.cmake) |
7 | include (GNUInstallDirs) |
8 | +include (cmake/Doxygen.cmake) |
9 | |
10 | set(build_types "None;Debug;Release;RelWithDebInfo;MinSizeRel;Coverage;AddressSanitizer;ThreadSanitizer;UBSanitizer") |
11 | # Change informational string for CMAKE_BUILD_TYPE |
12 | @@ -300,7 +301,6 @@ |
13 | endif () |
14 | |
15 | enable_coverage_report(mirserver) |
16 | -include (cmake/Doxygen.cmake) |
17 | include (cmake/ABICheck.cmake) |
18 | |
19 | add_custom_target(ptest |
20 | |
21 | === modified file 'doc/Doxyfile.in' |
22 | --- doc/Doxyfile.in 2017-05-08 03:04:26 +0000 |
23 | +++ doc/Doxyfile.in 2017-08-30 16:18:50 +0000 |
24 | @@ -875,7 +875,8 @@ |
25 | # Note that the wildcards are matched against the file with absolute path, so to |
26 | # exclude all test directories for example use the pattern */test/* |
27 | |
28 | -EXCLUDE_PATTERNS = */include/test/* |
29 | +EXCLUDE_PATTERNS = *.capnp.c++ \ |
30 | + */examples/multi_stream.cpp |
31 | |
32 | # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names |
33 | # (namespaces, classes, functions, etc.) that should be excluded from the |
34 | |
35 | === modified file 'examples/basic.c' |
36 | --- examples/basic.c 2017-07-28 17:00:43 +0000 |
37 | +++ examples/basic.c 2017-08-30 16:18:50 +0000 |
38 | @@ -41,16 +41,12 @@ |
39 | /// \snippet basic.c surface_release_tag |
40 | ///\subsection connection_release We release our connection |
41 | /// \snippet basic.c connection_release_tag |
42 | -///\subsection get the raw, platform-specific buffer handle for the current buffer |
43 | -/// \snippet basic.c get_current_buffer_tag |
44 | +///\subsection get graphics region for the current buffer |
45 | +/// \snippet basic.c get_graphics_region_tag |
46 | /// \example basic.c A simple mir client |
47 | ///\section MirDemoState MirDemoState |
48 | /// The handles needs to be accessible both to callbacks and to the control function. |
49 | /// \snippet basic.c MirDemoState_tag |
50 | -///\section Callbacks Callbacks |
51 | -/// This program opens a mir connection and creates a surface. The handles |
52 | -/// needs to be accessible both to callbacks and to the control function. |
53 | -/// \snippet basic.c Callback_tag |
54 | |
55 | ///\internal [MirDemoState_tag] |
56 | // Utility structure for the state of a single surface session. |
57 | @@ -143,11 +139,12 @@ |
58 | { |
59 | // We can query the current graphics buffer attributes |
60 | { |
61 | + ///\internal [get_graphics_region_tag] |
62 | MirGraphicsRegion graphics_region; |
63 | mir_buffer_stream_get_graphics_region(bs, &graphics_region); |
64 | |
65 | - ///\internal [get_current_buffer_tag] |
66 | - // In a real application we'd render into the current buffer |
67 | + ///\internal [get_graphics_region_tag] |
68 | + // In a real application we'd render into the graphics_region |
69 | } |
70 | |
71 | ///\internal [swap_buffers_tag] |
72 | |
73 | === modified file 'include/client/mir_toolkit/mir_buffer.h' |
74 | --- include/client/mir_toolkit/mir_buffer.h 2017-07-28 17:00:43 +0000 |
75 | +++ include/client/mir_toolkit/mir_buffer.h 2017-08-30 16:18:50 +0000 |
76 | @@ -40,6 +40,7 @@ |
77 | * \param [in] connection The connection |
78 | * \param [in] width Requested buffer width |
79 | * \param [in] height Requested buffer height |
80 | + * \param [in] format Requested buffer pixel format |
81 | * \param [in] available_callback The callback called when the buffer |
82 | * is available |
83 | * \param [in] available_context The context for the available_callback |
84 | @@ -55,6 +56,7 @@ |
85 | * \param [in] connection The connection |
86 | * \param [in] width Requested buffer width |
87 | * \param [in] height Requested buffer height |
88 | + * \param [in] format Requested buffer pixel format |
89 | * \return The buffer |
90 | **/ |
91 | MirBuffer* mir_connection_allocate_buffer_sync( |
92 | |
93 | === modified file 'include/client/mir_toolkit/mir_display_configuration.h' |
94 | --- include/client/mir_toolkit/mir_display_configuration.h 2017-07-28 17:00:43 +0000 |
95 | +++ include/client/mir_toolkit/mir_display_configuration.h 2017-08-30 16:18:50 +0000 |
96 | @@ -539,7 +539,7 @@ |
97 | * \param [in] output The MirOutput to query |
98 | * \returns true if gamma is supported on the hardware, otherwise not supported |
99 | */ |
100 | -bool mir_output_is_gamma_supported(MirOutput const* client_output); |
101 | +bool mir_output_is_gamma_supported(MirOutput const* output); |
102 | |
103 | /** Gets the gamma size |
104 | * |
105 | @@ -547,7 +547,7 @@ |
106 | * \returns The size of the gamma ramp LUT |
107 | * |
108 | */ |
109 | -uint32_t mir_output_get_gamma_size(MirOutput const* client_output); |
110 | +uint32_t mir_output_get_gamma_size(MirOutput const* output); |
111 | |
112 | /** Get the gamma ramp of a display |
113 | * |
114 | @@ -559,7 +559,7 @@ |
115 | * \param [out] blue The blue gamma ramp |
116 | * \param [in] size The size of the gamma ramp |
117 | */ |
118 | -void mir_output_get_gamma(MirOutput const* client_output, |
119 | +void mir_output_get_gamma(MirOutput const* output, |
120 | uint16_t* red, |
121 | uint16_t* green, |
122 | uint16_t* blue, |
123 | @@ -573,7 +573,7 @@ |
124 | * \param [in] blue The blue gamma ramp |
125 | * \param [in] size The size of the gamma ramp |
126 | */ |
127 | -void mir_output_set_gamma(MirOutput* client_output, |
128 | +void mir_output_set_gamma(MirOutput* output, |
129 | uint16_t const* red, |
130 | uint16_t const* green, |
131 | uint16_t const* blue, |
132 | |
133 | === modified file 'include/client/mir_toolkit/mir_input_device.h' |
134 | --- include/client/mir_toolkit/mir_input_device.h 2017-07-28 17:00:43 +0000 |
135 | +++ include/client/mir_toolkit/mir_input_device.h 2017-08-30 16:18:50 +0000 |
136 | @@ -235,7 +235,7 @@ |
137 | * Set the options of the keymap as a null terminated string. |
138 | * |
139 | * \param [in] conf The keyboard config |
140 | - * \param [in] layout The keymap options |
141 | + * \param [in] options The keymap options |
142 | */ |
143 | void mir_keyboard_config_set_keymap_options( |
144 | MirKeyboardConfig* conf, char const* options); |
145 | @@ -244,7 +244,7 @@ |
146 | * Set the variant of the keymap as a null terminated string. |
147 | * |
148 | * \param [in] conf The keyboard config |
149 | - * \param [in] layout The keymap variant |
150 | + * \param [in] variant The keymap variant |
151 | */ |
152 | void mir_keyboard_config_set_keymap_variant( |
153 | MirKeyboardConfig* conf, char const* variant); |
154 | @@ -549,7 +549,7 @@ |
155 | * Configure whether middle mouse button emulation should be enabled |
156 | * |
157 | * \param [in] conf The touchpad config |
158 | - * \param [in] middle_mouse_button_emulation |
159 | + * \param [in] middle_emulation |
160 | */ |
161 | void mir_touchpad_config_set_middle_mouse_button_emulation( |
162 | MirTouchpadConfig* conf, bool middle_emulation); |
163 | |
164 | === modified file 'include/client/mir_toolkit/mir_window.h' |
165 | --- include/client/mir_toolkit/mir_window.h 2017-07-28 17:00:43 +0000 |
166 | +++ include/client/mir_toolkit/mir_window.h 2017-08-30 16:18:50 +0000 |
167 | @@ -506,7 +506,7 @@ |
168 | * \param [in] spec the spec to update |
169 | * \param [in] rect the destination rectangle to align with |
170 | * \param [in] rect_gravity the point on \p rect to align with |
171 | - * \param [in] surface_gravity the point on the window to align with |
172 | + * \param [in] window_gravity the point on the window to align with |
173 | * \param [in] placement_hints positioning hints to use when limited on space |
174 | * \param [in] offset_dx horizontal offset to shift w.r.t. \p rect |
175 | * \param [in] offset_dy vertical offset to shift w.r.t. \p rect |
176 | |
177 | === modified file 'include/client/mir_toolkit/rs/mir_render_surface.h' |
178 | --- include/client/mir_toolkit/rs/mir_render_surface.h 2017-07-28 17:00:43 +0000 |
179 | +++ include/client/mir_toolkit/rs/mir_render_surface.h 2017-08-30 16:18:50 +0000 |
180 | @@ -53,7 +53,7 @@ |
181 | * \param [in] connection A valid connection |
182 | * \param [in] width The width in pixels |
183 | * \param [in] height The height in pixels |
184 | - * \param [in] MirRenderSurfaceCallback Callback to be invoked when the request completes. |
185 | + * \param [in] callback Callback to be invoked when the request completes. |
186 | * The callback is guaranteed to be called and called |
187 | * with a non-null MirRenderSurface*, but the render |
188 | * surface may be invalid in case of error. |
189 | |
190 | === modified file 'include/miral/miral/command_line_option.h' |
191 | --- include/miral/miral/command_line_option.h 2017-08-21 14:18:55 +0000 |
192 | +++ include/miral/miral/command_line_option.h 2017-08-30 16:18:50 +0000 |
193 | @@ -103,6 +103,11 @@ |
194 | std::shared_ptr<Self> self; |
195 | }; |
196 | |
197 | +/** |
198 | + * Update the option to be called back *before* Mir initialization starts |
199 | + * |
200 | + * \param clo the option |
201 | + */ |
202 | auto pre_init(CommandLineOption const& clo) -> CommandLineOption; |
203 | } |
204 | |
205 | |
206 | === modified file 'include/miral/miral/window_management_policy_addendum3.h' |
207 | --- include/miral/miral/window_management_policy_addendum3.h 2017-08-21 14:18:55 +0000 |
208 | +++ include/miral/miral/window_management_policy_addendum3.h 2017-08-30 16:18:50 +0000 |
209 | @@ -46,6 +46,7 @@ |
210 | * vertically maximized windows to allow adjustment for decorations. |
211 | * |
212 | * @param window_info the window |
213 | + * @param new_state the new state |
214 | * @param new_placement the suggested placement |
215 | * |
216 | * @return the confirmed placement of the window |
217 | |
218 | === modified file 'include/platform/mir/graphics/platform.h' |
219 | --- include/platform/mir/graphics/platform.h 2017-07-28 17:00:43 +0000 |
220 | +++ include/platform/mir/graphics/platform.h 2017-08-30 16:18:50 +0000 |
221 | @@ -210,6 +210,7 @@ |
222 | * \param [in] options options to use for this platform |
223 | * \param [in] emergency_cleanup_registry object to register emergency shutdown handlers with |
224 | * \param [in] report the object to use to report interesting events from the display subsystem |
225 | + * \param [in] logger the object to use to log interesting events from the display subsystem |
226 | * |
227 | * This factory function needs to be implemented by each platform. |
228 | * |
229 | |
230 | === modified file 'include/server/mir/graphics/display_configuration_observer.h' |
231 | --- include/server/mir/graphics/display_configuration_observer.h 2017-07-28 17:00:43 +0000 |
232 | +++ include/server/mir/graphics/display_configuration_observer.h 2017-08-30 16:18:50 +0000 |
233 | @@ -57,7 +57,7 @@ |
234 | /** |
235 | * Notification after updating base display configuration. |
236 | * |
237 | - * \param [in] config The configuration that has just been updated. |
238 | + * \param [in] base_config The configuration that has just been updated. |
239 | */ |
240 | virtual void base_configuration_updated(std::shared_ptr<DisplayConfiguration const> const& base_config) = 0; |
241 | |
242 | |
243 | === modified file 'include/test/mir_test_framework/main.h' |
244 | --- include/test/mir_test_framework/main.h 2017-07-28 17:00:43 +0000 |
245 | +++ include/test/mir_test_framework/main.h 2017-08-30 16:18:50 +0000 |
246 | @@ -23,11 +23,11 @@ |
247 | { |
248 | /** |
249 | * Initialize and run the mir test framework as follows: |
250 | - * |
251 | + * \code |
252 | * ::testing::InitGoogleTest(&argc, argv); |
253 | * set_commandline(argc, argv); |
254 | * return RUN_ALL_TESTS(); |
255 | - * |
256 | + * \endcode |
257 | * \attention If you override main() for your own purposes call this or do |
258 | * something equivalent to run the tests. |
259 | */ |
260 | |
261 | === modified file 'src/miral/CMakeLists.txt' |
262 | --- src/miral/CMakeLists.txt 2017-08-30 16:18:50 +0000 |
263 | +++ src/miral/CMakeLists.txt 2017-08-30 16:18:50 +0000 |
264 | @@ -1,4 +1,3 @@ |
265 | -<<<<<<< TREE |
266 | set(MIRAL_VERSION_MAJOR 1) |
267 | set(MIRAL_VERSION_MINOR 5) |
268 | set(MIRAL_VERSION_PATCH 0) |
269 | @@ -135,148 +134,13 @@ |
270 | ${miral_include}/miral/version.h |
271 | ) |
272 | |
273 | -install(TARGETS miral LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}") |
274 | -install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/miral DESTINATION "${INCLUDEDIR}") |
275 | -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/miral.pc |
276 | - ${CMAKE_CURRENT_BINARY_DIR}/mirclientcpp.pc DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") |
277 | -======= |
278 | -set(MIRAL_VERSION_MAJOR 1) |
279 | -set(MIRAL_VERSION_MINOR 5) |
280 | -set(MIRAL_VERSION_PATCH 0) |
281 | - |
282 | -if(${CMAKE_COMPILER_IS_GNUCXX}) |
283 | - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flto") |
284 | - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto") |
285 | - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -flto") |
286 | - set(CMAKE_AR "gcc-ar") |
287 | - set(CMAKE_NM "gcc-nm") |
288 | - set(CMAKE_RANLIB "gcc-ranlib") |
289 | -endif() |
290 | - |
291 | -include_directories( |
292 | - ${PROJECT_SOURCE_DIR}/include/platform |
293 | - ${PROJECT_SOURCE_DIR}/include/client |
294 | - ${PROJECT_SOURCE_DIR}/include/server |
295 | -) |
296 | - |
297 | -set(MIRAL_ABI 2) |
298 | -set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map) |
299 | -set(miral_include ${PROJECT_SOURCE_DIR}/include/miral) |
300 | - |
301 | -add_library(mirclientcpp INTERFACE) |
302 | - |
303 | -add_library(miral-internal STATIC |
304 | - basic_window_manager.cpp basic_window_manager.h window_manager_tools_implementation.h |
305 | - coordinate_translator.cpp coordinate_translator.h |
306 | - display_configuration_listeners.cpp display_configuration_listeners.h |
307 | - mru_window_list.cpp mru_window_list.h |
308 | - window_management_trace.cpp window_management_trace.h |
309 | - xcursor_loader.cpp xcursor_loader.h |
310 | - xcursor.c xcursor.h |
311 | - both_versions.h |
312 | - join_client_threads.h |
313 | -) |
314 | - |
315 | -set_source_files_properties(xcursor.c PROPERTIES COMPILE_DEFINITIONS _GNU_SOURCE) |
316 | - |
317 | -add_library(miral SHARED |
318 | - active_outputs.cpp ${miral_include}/miral/active_outputs.h |
319 | - add_init_callback.cpp ${miral_include}/miral/add_init_callback.h |
320 | - application.cpp ${miral_include}/miral/application.h |
321 | - application_authorizer.cpp ${miral_include}/miral/application_authorizer.h |
322 | - application_info.cpp ${miral_include}/miral/application_info.h |
323 | - canonical_window_manager.cpp ${miral_include}/miral/canonical_window_manager.h |
324 | - command_line_option.cpp ${miral_include}/miral/command_line_option.h |
325 | - cursor_theme.cpp ${miral_include}/miral/cursor_theme.h |
326 | - debug_extension.cpp ${miral_include}/miral/debug_extension.h |
327 | - keymap.cpp ${miral_include}/miral/keymap.h |
328 | - runner.cpp ${miral_include}/miral/runner.h |
329 | - display_configuration_option.cpp ${miral_include}/miral/display_configuration_option.h |
330 | - output.cpp ${miral_include}/miral/output.h |
331 | - append_event_filter.cpp ${miral_include}/miral/append_event_filter.h |
332 | - window.cpp ${miral_include}/miral/window.h |
333 | - window_info.cpp ${miral_include}/miral/window_info.h |
334 | - window_management_options.cpp ${miral_include}/miral/window_management_options.h |
335 | - window_specification.cpp ${miral_include}/miral/window_specification.h |
336 | - internal_client.cpp ${miral_include}/miral/internal_client.h |
337 | - set_command_line_handler.cpp ${miral_include}/miral/set_command_line_handler.h |
338 | - set_terminator.cpp ${miral_include}/miral/set_terminator.h |
339 | - set_window_management_policy.cpp ${miral_include}/miral/set_window_management_policy.h |
340 | - workspace_policy.cpp ${miral_include}/miral/workspace_policy.h |
341 | - window_management_policy.cpp ${miral_include}/miral/window_management_policy.h |
342 | - window_manager_tools.cpp ${miral_include}/miral/window_manager_tools.h |
343 | - ${miral_include}/miral/window_management_policy_addendum2.h |
344 | - ${miral_include}/miral/window_management_policy_addendum3.h |
345 | - ${miral_include}/mir/client/blob.h |
346 | - ${miral_include}/mir/client/cookie.h |
347 | - ${miral_include}/mir/client/window_spec.h |
348 | - ${miral_include}/mir/client/window_id.h |
349 | - ${miral_include}/mir/client/connection.h |
350 | - ${miral_include}/mir/client/display_config.h |
351 | - ${miral_include}/mir/client/window.h |
352 | -) |
353 | - |
354 | -target_include_directories(mirclientcpp |
355 | - INTERFACE "${miral_include}" ${MIRCLIENT_INCLUDE_DIRS} |
356 | -) |
357 | - |
358 | -target_include_directories(miral-internal |
359 | - PRIVATE "${miral_include}" ${MIRCLIENT_INCLUDE_DIRS} |
360 | - PRIVATE ${MIRSERVER_INCLUDE_DIRS} |
361 | -) |
362 | - |
363 | -target_include_directories(miral |
364 | - PUBLIC "${miral_include}" ${MIRCLIENT_INCLUDE_DIRS} |
365 | - PRIVATE ${MIRSERVER_INCLUDE_DIRS} |
366 | -) |
367 | - |
368 | -target_link_libraries(miral |
369 | - PUBLIC |
370 | - mirclient |
371 | - mircommon |
372 | - PRIVATE |
373 | - miral-internal |
374 | - mirserver |
375 | -) |
376 | - |
377 | -set_target_properties(miral |
378 | - PROPERTIES |
379 | - SOVERSION ${MIRAL_ABI} |
380 | - LINK_FLAGS "-Wl,--exclude-libs=ALL -Wl,--version-script,${symbol_map}" |
381 | - LINK_DEPENDS ${symbol_map} |
382 | -) |
383 | - |
384 | -# clang generates slightly different symbols (but we don't care) |
385 | -if (CMAKE_COMPILER_IS_GNUCXX) |
386 | - add_custom_target(check-miral-symbols ALL |
387 | - DEPENDS miral ${PROJECT_SOURCE_DIR}/debian/libmiral${MIRAL_ABI}.symbols |
388 | - COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/libmiral${MIRAL_ABI}.symbols |
389 | - COMMAND dpkg-gensymbols -e${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libmiral.so.${MIRAL_ABI} -plibmiral${MIRAL_ABI} -O${CMAKE_CURRENT_BINARY_DIR}/libmiral${MIRAL_ABI}.symbols |
390 | - WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" |
391 | - VERBATIM |
392 | - ) |
393 | -endif() |
394 | - |
395 | -set(LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}") |
396 | -set(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include") |
397 | - |
398 | -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/miral.pc.in |
399 | - ${CMAKE_CURRENT_BINARY_DIR}/miral.pc |
400 | - @ONLY |
401 | -) |
402 | - |
403 | -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/mirclientcpp.pc.in |
404 | - ${CMAKE_CURRENT_BINARY_DIR}/mirclientcpp.pc |
405 | - @ONLY |
406 | -) |
407 | - |
408 | -configure_file( |
409 | - ${CMAKE_CURRENT_SOURCE_DIR}/version.h.in |
410 | - ${miral_include}/miral/version.h |
411 | -) |
412 | - |
413 | -install(TARGETS miral LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}") |
414 | -install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/miral DESTINATION "${INCLUDEDIR}") |
415 | -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/miral.pc |
416 | - ${CMAKE_CURRENT_BINARY_DIR}/mirclientcpp.pc DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") |
417 | ->>>>>>> MERGE-SOURCE |
418 | +if(TARGET doc) |
419 | + add_custom_target(regenerate-miral-symbols-map |
420 | + ${CMAKE_CURRENT_SOURCE_DIR}/process_doxygen_xml.py ${CMAKE_BINARY_DIR}/doc/xml/*.xml > ${symbol_map} |
421 | + DEPENDS doc) |
422 | +endif() |
423 | + |
424 | +install(TARGETS miral LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}") |
425 | +install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/miral DESTINATION "${INCLUDEDIR}") |
426 | +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/miral.pc |
427 | + ${CMAKE_CURRENT_BINARY_DIR}/mirclientcpp.pc DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") |
428 | |
429 | === modified file 'src/miral/miral.pc.in' |
430 | --- src/miral/miral.pc.in 2017-08-30 16:18:50 +0000 |
431 | +++ src/miral/miral.pc.in 2017-08-29 09:17:03 +0000 |
432 | @@ -1,4 +1,3 @@ |
433 | -<<<<<<< TREE |
434 | libdir=@LIBDIR@ |
435 | includedir=@INCLUDEDIR@/miral |
436 | |
437 | @@ -8,14 +7,3 @@ |
438 | Requires: mirclientcpp |
439 | Libs: -L${libdir} -lmiral |
440 | Cflags: -I${includedir} |
441 | -======= |
442 | -libdir=@LIBDIR@ |
443 | -includedir=@INCLUDEDIR@ |
444 | - |
445 | -Name: miral |
446 | -Description: Mir Abstraction Layer library |
447 | -Version: @MIRAL_VERSION@ |
448 | -Requires: mirclientcpp |
449 | -Libs: -L${libdir} -lmiral |
450 | -Cflags: -I${includedir} |
451 | ->>>>>>> MERGE-SOURCE |
452 | |
453 | === modified file 'src/miral/mirclientcpp.pc.in' |
454 | --- src/miral/mirclientcpp.pc.in 2017-08-30 16:18:50 +0000 |
455 | +++ src/miral/mirclientcpp.pc.in 2017-08-29 09:17:03 +0000 |
456 | @@ -1,4 +1,3 @@ |
457 | -<<<<<<< TREE |
458 | includedir=@INCLUDEDIR@/miral |
459 | |
460 | Name: mirclientcpp |
461 | @@ -6,12 +5,3 @@ |
462 | Version: @MIRAL_VERSION@ |
463 | Requires: mirclient |
464 | Cflags: -I${includedir} |
465 | -======= |
466 | -includedir=@INCLUDEDIR@ |
467 | - |
468 | -Name: mirclientcpp |
469 | -Description: Mir Abstraction Layer C++ wrapper for mirclient |
470 | -Version: @MIRAL_VERSION@ |
471 | -Requires: mirclient |
472 | -Cflags: -I${includedir} |
473 | ->>>>>>> MERGE-SOURCE |
474 | |
475 | === added file 'src/miral/process_doxygen_xml.py' |
476 | --- src/miral/process_doxygen_xml.py 1970-01-01 00:00:00 +0000 |
477 | +++ src/miral/process_doxygen_xml.py 2017-08-30 16:18:50 +0000 |
478 | @@ -0,0 +1,655 @@ |
479 | +#! /usr/bin/python |
480 | +"""This script processes the XML generated by "make doc" and produces summary information |
481 | +on symbols that libmiral intends to make public. |
482 | + |
483 | +To use: Go to your build folder and run "make regenerate-miral-symbols""""" |
484 | + |
485 | +from xml.dom import minidom |
486 | +from sys import argv |
487 | + |
488 | +HELPTEXT = __doc__ |
489 | +DEBUG = False |
490 | + |
491 | +def _get_text(node): |
492 | + substrings = [] |
493 | + for node in node.childNodes: |
494 | + if node.nodeType == node.TEXT_NODE: |
495 | + substrings.append(node.data) |
496 | + elif node.nodeType == node.ELEMENT_NODE: |
497 | + substrings.append(_get_text(node)) |
498 | + return ''.join(substrings) |
499 | + |
500 | +def _get_text_for_element(parent, tagname): |
501 | + substrings = [] |
502 | + |
503 | + for node in parent.getElementsByTagName(tagname): |
504 | + substrings.append(_get_text(node)) |
505 | + |
506 | + return ''.join(substrings) |
507 | + |
508 | +def _get_file_location(node): |
509 | + for node in node.childNodes: |
510 | + if node.nodeType == node.ELEMENT_NODE and node.tagName == 'location': |
511 | + return node.attributes['file'].value |
512 | + if DEBUG: |
513 | + print('no location in:', node) |
514 | + return None |
515 | + |
516 | +def _has_element(node, tagname): |
517 | + for node in node.childNodes: |
518 | + if node.nodeType == node.ELEMENT_NODE and node.tagName in tagname: |
519 | + return True |
520 | + return False |
521 | + |
522 | +def _print_attribs(node, attribs): |
523 | + for attrib in attribs: |
524 | + print(' ', attrib, '=', node.attributes[attrib].value) |
525 | + |
526 | +def _concat_text_from_tags(parent, tagnames): |
527 | + substrings = [] |
528 | + |
529 | + for tag in tagnames: |
530 | + substrings.append(_get_text_for_element(parent, tag)) |
531 | + |
532 | + return ''.join(substrings) |
533 | + |
534 | +def _print_location(node): |
535 | + print(' ', 'location', '=', _get_file_location(node)) |
536 | + |
537 | +def _get_attribs(node): |
538 | + kind = node.attributes['kind'].value |
539 | + static = node.attributes['static'].value |
540 | + prot = node.attributes['prot'].value |
541 | + return kind, static, prot |
542 | + |
543 | +COMPONENT_MAP = {} |
544 | +SYMBOLS = {'public' : set(), 'private' : set()} |
545 | + |
546 | +def _report(publish, symbol): |
547 | + symbol = symbol.replace('~', '?') |
548 | + |
549 | + if publish: |
550 | + SYMBOLS['public'].add(symbol) |
551 | + else: |
552 | + SYMBOLS['private'].add(symbol) |
553 | + |
554 | + if not DEBUG: |
555 | + return |
556 | + |
557 | + if publish: |
558 | + print(' PUBLISH: {}'.format(symbol)) |
559 | + else: |
560 | + print('NOPUBLISH: {}'.format(symbol)) |
561 | + |
562 | +OLD_STANZAS = '''MIRAL_1.0 { |
563 | +global: |
564 | + extern "C++" { |
565 | + miral::ActiveOutputsListener::?ActiveOutputsListener*; |
566 | + miral::ActiveOutputsListener::ActiveOutputsListener*; |
567 | + miral::ActiveOutputsListener::advise_output_begin*; |
568 | + miral::ActiveOutputsListener::advise_output_create*; |
569 | + miral::ActiveOutputsListener::advise_output_delete*; |
570 | + miral::ActiveOutputsListener::advise_output_end*; |
571 | + miral::ActiveOutputsListener::advise_output_update*; |
572 | + miral::ActiveOutputsListener::operator*; |
573 | + miral::ActiveOutputsMonitor::?ActiveOutputsMonitor*; |
574 | + miral::ActiveOutputsMonitor::ActiveOutputsMonitor*; |
575 | + miral::ActiveOutputsMonitor::add_listener*; |
576 | + miral::ActiveOutputsMonitor::delete_listener*; |
577 | + miral::ActiveOutputsMonitor::operator*; |
578 | + miral::ActiveOutputsMonitor::process_outputs*; |
579 | + miral::AddInitCallback::?AddInitCallback*; |
580 | + miral::AddInitCallback::AddInitCallback*; |
581 | + miral::AddInitCallback::operator*; |
582 | + miral::AppendEventFilter::AppendEventFilter*; |
583 | + miral::AppendEventFilter::operator*; |
584 | + miral::ApplicationAuthorizer::?ApplicationAuthorizer*; |
585 | + miral::ApplicationAuthorizer::ApplicationAuthorizer*; |
586 | + miral::ApplicationAuthorizer::operator*; |
587 | + miral::ApplicationCredentials::ApplicationCredentials*; |
588 | + miral::ApplicationCredentials::gid*; |
589 | + miral::ApplicationCredentials::pid*; |
590 | + miral::ApplicationCredentials::uid*; |
591 | + miral::ApplicationInfo::?ApplicationInfo*; |
592 | + miral::ApplicationInfo::ApplicationInfo*; |
593 | + miral::ApplicationInfo::add_window*; |
594 | + miral::ApplicationInfo::application*; |
595 | + miral::ApplicationInfo::name*; |
596 | + miral::ApplicationInfo::operator*; |
597 | + miral::ApplicationInfo::remove_window*; |
598 | + miral::ApplicationInfo::userdata*; |
599 | + miral::ApplicationInfo::windows*; |
600 | + miral::BasicSetApplicationAuthorizer::?BasicSetApplicationAuthorizer*; |
601 | + miral::BasicSetApplicationAuthorizer::BasicSetApplicationAuthorizer*; |
602 | + miral::BasicSetApplicationAuthorizer::operator*; |
603 | + miral::BasicSetApplicationAuthorizer::the_application_authorizer*; |
604 | + miral::CanonicalWindowManagerPolicy::CanonicalWindowManagerPolicy*; |
605 | + miral::CanonicalWindowManagerPolicy::advise_focus_gained*; |
606 | + miral::CanonicalWindowManagerPolicy::confirm_inherited_move*; |
607 | + miral::CanonicalWindowManagerPolicy::handle_modify_window*; |
608 | + miral::CanonicalWindowManagerPolicy::handle_raise_window*; |
609 | + miral::CanonicalWindowManagerPolicy::handle_window_ready*; |
610 | + miral::CanonicalWindowManagerPolicy::place_new_surface*; |
611 | + miral::CommandLineOption::?CommandLineOption*; |
612 | + miral::CommandLineOption::CommandLineOption*; |
613 | + miral::CommandLineOption::operator*; |
614 | + miral::CursorTheme::?CursorTheme*; |
615 | + miral::CursorTheme::CursorTheme*; |
616 | + miral::CursorTheme::operator*; |
617 | + miral::DebugExtension::DebugExtension*; |
618 | + miral::DebugExtension::disable*; |
619 | + miral::DebugExtension::enable*; |
620 | + miral::DebugExtension::operator*; |
621 | + miral::InternalClientLauncher::?InternalClientLauncher*; |
622 | + miral::InternalClientLauncher::InternalClientLauncher*; |
623 | + miral::InternalClientLauncher::operator*; |
624 | + miral::Keymap::?Keymap*; |
625 | + miral::Keymap::Keymap*; |
626 | + miral::Keymap::operator*; |
627 | + miral::Keymap::set_keymap*; |
628 | + miral::MirRunner::?MirRunner*; |
629 | + miral::MirRunner::MirRunner*; |
630 | + miral::MirRunner::add_start_callback*; |
631 | + miral::MirRunner::add_stop_callback*; |
632 | + miral::MirRunner::run_with*; |
633 | + miral::MirRunner::set_exception_handler*; |
634 | + miral::MirRunner::stop*; |
635 | + miral::Output::?Output*; |
636 | + miral::Output::Output*; |
637 | + miral::Output::connected*; |
638 | + miral::Output::extents*; |
639 | + miral::Output::form_factor*; |
640 | + miral::Output::is_same_output*; |
641 | + miral::Output::operator*; |
642 | + miral::Output::orientation*; |
643 | + miral::Output::physical_size_mm*; |
644 | + miral::Output::pixel_format*; |
645 | + miral::Output::power_mode*; |
646 | + miral::Output::refresh_rate*; |
647 | + miral::Output::scale*; |
648 | + miral::Output::type*; |
649 | + miral::Output::used*; |
650 | + miral::Output::valid*; |
651 | + miral::SetCommandLineHandler::?SetCommandLineHandler*; |
652 | + miral::SetCommandLineHandler::SetCommandLineHandler*; |
653 | + miral::SetCommandLineHandler::operator*; |
654 | + miral::SetTerminator::?SetTerminator*; |
655 | + miral::SetTerminator::SetTerminator*; |
656 | + miral::SetTerminator::operator*; |
657 | + miral::SetWindowManagmentPolicy::?SetWindowManagmentPolicy*; |
658 | + miral::SetWindowManagmentPolicy::SetWindowManagmentPolicy*; |
659 | + miral::SetWindowManagmentPolicy::operator*; |
660 | + miral::StartupInternalClient::?StartupInternalClient*; |
661 | + miral::StartupInternalClient::operator*; |
662 | + miral::Window::?Window*; |
663 | + miral::Window::Window*; |
664 | + miral::Window::application*; |
665 | + miral::Window::move_to*; |
666 | + miral::Window::operator*; |
667 | + miral::Window::resize*; |
668 | + miral::Window::size*; |
669 | + miral::Window::top_left*; |
670 | + miral::WindowInfo::?WindowInfo*; |
671 | + miral::WindowInfo::WindowInfo*; |
672 | + miral::WindowInfo::add_child*; |
673 | + miral::WindowInfo::can_be_active*; |
674 | + miral::WindowInfo::children*; |
675 | + miral::WindowInfo::confine_pointer*; |
676 | + miral::WindowInfo::constrain_resize*; |
677 | + miral::WindowInfo::has_output_id*; |
678 | + miral::WindowInfo::height_inc*; |
679 | + miral::WindowInfo::is_visible*; |
680 | + miral::WindowInfo::max_aspect*; |
681 | + miral::WindowInfo::max_height*; |
682 | + miral::WindowInfo::max_width*; |
683 | + miral::WindowInfo::min_aspect*; |
684 | + miral::WindowInfo::min_height*; |
685 | + miral::WindowInfo::min_width*; |
686 | + miral::WindowInfo::must_have_parent*; |
687 | + miral::WindowInfo::must_not_have_parent*; |
688 | + miral::WindowInfo::name*; |
689 | + miral::WindowInfo::operator*; |
690 | + miral::WindowInfo::output_id*; |
691 | + miral::WindowInfo::parent*; |
692 | + miral::WindowInfo::preferred_orientation*; |
693 | + miral::WindowInfo::remove_child*; |
694 | + miral::WindowInfo::restore_rect*; |
695 | + miral::WindowInfo::userdata*; |
696 | + miral::WindowInfo::width_inc*; |
697 | + miral::WindowInfo::window*; |
698 | + miral::WindowManagementPolicy::?WindowManagementPolicy*; |
699 | + miral::WindowManagementPolicy::WindowManagementPolicy*; |
700 | + miral::WindowManagementPolicy::advise_begin*; |
701 | + miral::WindowManagementPolicy::advise_delete_app*; |
702 | + miral::WindowManagementPolicy::advise_delete_window*; |
703 | + miral::WindowManagementPolicy::advise_end*; |
704 | + miral::WindowManagementPolicy::advise_focus_gained*; |
705 | + miral::WindowManagementPolicy::advise_focus_lost*; |
706 | + miral::WindowManagementPolicy::advise_move_to*; |
707 | + miral::WindowManagementPolicy::advise_new_app*; |
708 | + miral::WindowManagementPolicy::advise_new_window*; |
709 | + miral::WindowManagementPolicy::advise_raise*; |
710 | + miral::WindowManagementPolicy::advise_resize*; |
711 | + miral::WindowManagementPolicy::operator*; |
712 | + miral::WindowManagerOptions::WindowManagerOptions*; |
713 | + miral::WindowManagerOptions::operator*; |
714 | + miral::WindowManagerTools::?WindowManagerTools*; |
715 | + miral::WindowManagerTools::WindowManagerTools*; |
716 | + miral::WindowManagerTools::active_display*; |
717 | + miral::WindowManagerTools::active_window*; |
718 | + miral::WindowManagerTools::ask_client_to_close*; |
719 | + miral::WindowManagerTools::count_applications*; |
720 | + miral::WindowManagerTools::drag_active_window*; |
721 | + miral::WindowManagerTools::find_application*; |
722 | + miral::WindowManagerTools::focus_next_application*; |
723 | + miral::WindowManagerTools::focus_next_within_application*; |
724 | + miral::WindowManagerTools::for_each_application*; |
725 | + miral::WindowManagerTools::force_close*; |
726 | + miral::WindowManagerTools::id_for_window*; |
727 | + miral::WindowManagerTools::info_for*; |
728 | + miral::WindowManagerTools::info_for_window_id*; |
729 | + miral::WindowManagerTools::invoke_under_lock*; |
730 | + miral::WindowManagerTools::modify_window*; |
731 | + miral::WindowManagerTools::operator*; |
732 | + miral::WindowManagerTools::place_and_size_for_state*; |
733 | + miral::WindowManagerTools::raise_tree*; |
734 | + miral::WindowManagerTools::select_active_window*; |
735 | + miral::WindowManagerTools::window_at*; |
736 | + miral::WindowSpecification::?WindowSpecification*; |
737 | + miral::WindowSpecification::WindowSpecification*; |
738 | + miral::WindowSpecification::aux_rect*; |
739 | + miral::WindowSpecification::aux_rect_placement_gravity*; |
740 | + miral::WindowSpecification::aux_rect_placement_offset*; |
741 | + miral::WindowSpecification::confine_pointer*; |
742 | + miral::WindowSpecification::height_inc*; |
743 | + miral::WindowSpecification::input_mode*; |
744 | + miral::WindowSpecification::input_shape*; |
745 | + miral::WindowSpecification::max_aspect*; |
746 | + miral::WindowSpecification::max_height*; |
747 | + miral::WindowSpecification::max_width*; |
748 | + miral::WindowSpecification::min_aspect*; |
749 | + miral::WindowSpecification::min_height*; |
750 | + miral::WindowSpecification::min_width*; |
751 | + miral::WindowSpecification::name*; |
752 | + miral::WindowSpecification::operator*; |
753 | + miral::WindowSpecification::output_id*; |
754 | + miral::WindowSpecification::parent*; |
755 | + miral::WindowSpecification::placement_hints*; |
756 | + miral::WindowSpecification::preferred_orientation*; |
757 | + miral::WindowSpecification::shell_chrome*; |
758 | + miral::WindowSpecification::size*; |
759 | + miral::WindowSpecification::state*; |
760 | + miral::WindowSpecification::top_left*; |
761 | + miral::WindowSpecification::type*; |
762 | + miral::WindowSpecification::update*; |
763 | + miral::WindowSpecification::userdata*; |
764 | + miral::WindowSpecification::width_inc*; |
765 | + miral::WindowSpecification::window_placement_gravity*; |
766 | + miral::apply_lifecycle_state_to*; |
767 | + miral::display_configuration_options*; |
768 | + miral::equivalent_display_area*; |
769 | + miral::kill*; |
770 | + miral::name_of*; |
771 | + miral::operator*; |
772 | + miral::pid_of*; |
773 | + miral::toolkit::Connection::Connection*; |
774 | + miral::toolkit::Surface::Surface*; |
775 | + non-virtual?thunk?to?miral::ActiveOutputsListener::?ActiveOutputsListener*; |
776 | + non-virtual?thunk?to?miral::ActiveOutputsListener::advise_output_begin*; |
777 | + non-virtual?thunk?to?miral::ActiveOutputsListener::advise_output_create*; |
778 | + non-virtual?thunk?to?miral::ActiveOutputsListener::advise_output_delete*; |
779 | + non-virtual?thunk?to?miral::ActiveOutputsListener::advise_output_end*; |
780 | + non-virtual?thunk?to?miral::ActiveOutputsListener::advise_output_update*; |
781 | + non-virtual?thunk?to?miral::ApplicationAuthorizer::?ApplicationAuthorizer*; |
782 | + non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::advise_focus_gained*; |
783 | + non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::confirm_inherited_move*; |
784 | + non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::handle_modify_window*; |
785 | + non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::handle_raise_window*; |
786 | + non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::handle_window_ready*; |
787 | + non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::place_new_surface*; |
788 | + non-virtual?thunk?to?miral::WindowManagementPolicy::?WindowManagementPolicy*; |
789 | + non-virtual?thunk?to?miral::WindowManagementPolicy::advise_begin*; |
790 | + non-virtual?thunk?to?miral::WindowManagementPolicy::advise_delete_app*; |
791 | + non-virtual?thunk?to?miral::WindowManagementPolicy::advise_delete_window*; |
792 | + non-virtual?thunk?to?miral::WindowManagementPolicy::advise_end*; |
793 | + non-virtual?thunk?to?miral::WindowManagementPolicy::advise_focus_gained*; |
794 | + non-virtual?thunk?to?miral::WindowManagementPolicy::advise_focus_lost*; |
795 | + non-virtual?thunk?to?miral::WindowManagementPolicy::advise_move_to*; |
796 | + non-virtual?thunk?to?miral::WindowManagementPolicy::advise_new_app*; |
797 | + non-virtual?thunk?to?miral::WindowManagementPolicy::advise_new_window*; |
798 | + non-virtual?thunk?to?miral::WindowManagementPolicy::advise_raise*; |
799 | + non-virtual?thunk?to?miral::WindowManagementPolicy::advise_resize*; |
800 | + non-virtual?thunk?to?miral::WindowManagementPolicy::advise_state_change*; |
801 | + typeinfo?for?miral::ActiveOutputsListener; |
802 | + typeinfo?for?miral::ActiveOutputsMonitor; |
803 | + typeinfo?for?miral::AddInitCallback; |
804 | + typeinfo?for?miral::AppendEventFilter; |
805 | + typeinfo?for?miral::ApplicationAuthorizer; |
806 | + typeinfo?for?miral::ApplicationCredentials; |
807 | + typeinfo?for?miral::ApplicationInfo; |
808 | + typeinfo?for?miral::BasicSetApplicationAuthorizer; |
809 | + typeinfo?for?miral::CanonicalWindowManagerPolicy; |
810 | + typeinfo?for?miral::CommandLineOption; |
811 | + typeinfo?for?miral::CursorTheme; |
812 | + typeinfo?for?miral::DebugExtension; |
813 | + typeinfo?for?miral::InternalClientLauncher; |
814 | + typeinfo?for?miral::Keymap; |
815 | + typeinfo?for?miral::MirRunner; |
816 | + typeinfo?for?miral::Output; |
817 | + typeinfo?for?miral::Output::PhysicalSizeMM; |
818 | + typeinfo?for?miral::SetCommandLineHandler; |
819 | + typeinfo?for?miral::SetTerminator; |
820 | + typeinfo?for?miral::SetWindowManagmentPolicy; |
821 | + typeinfo?for?miral::StartupInternalClient; |
822 | + typeinfo?for?miral::Window; |
823 | + typeinfo?for?miral::WindowInfo; |
824 | + typeinfo?for?miral::WindowManagementPolicy; |
825 | + typeinfo?for?miral::WindowManagerOption; |
826 | + typeinfo?for?miral::WindowManagerOptions; |
827 | + typeinfo?for?miral::WindowManagerTools; |
828 | + typeinfo?for?miral::WindowSpecification; |
829 | + typeinfo?for?miral::WindowSpecification::AspectRatio; |
830 | + typeinfo?for?miral::toolkit::Connection; |
831 | + typeinfo?for?miral::toolkit::PersistentId; |
832 | + typeinfo?for?miral::toolkit::Surface; |
833 | + typeinfo?for?miral::toolkit::SurfaceSpec; |
834 | + vtable?for?miral::ActiveOutputsListener; |
835 | + vtable?for?miral::ActiveOutputsMonitor; |
836 | + vtable?for?miral::AddInitCallback; |
837 | + vtable?for?miral::AppendEventFilter; |
838 | + vtable?for?miral::ApplicationAuthorizer; |
839 | + vtable?for?miral::ApplicationCredentials; |
840 | + vtable?for?miral::ApplicationInfo; |
841 | + vtable?for?miral::BasicSetApplicationAuthorizer; |
842 | + vtable?for?miral::CanonicalWindowManagerPolicy; |
843 | + vtable?for?miral::CommandLineOption; |
844 | + vtable?for?miral::CursorTheme; |
845 | + vtable?for?miral::DebugExtension; |
846 | + vtable?for?miral::InternalClientLauncher; |
847 | + vtable?for?miral::Keymap; |
848 | + vtable?for?miral::MirRunner; |
849 | + vtable?for?miral::Output; |
850 | + vtable?for?miral::Output::PhysicalSizeMM; |
851 | + vtable?for?miral::SetCommandLineHandler; |
852 | + vtable?for?miral::SetTerminator; |
853 | + vtable?for?miral::SetWindowManagmentPolicy; |
854 | + vtable?for?miral::StartupInternalClient; |
855 | + vtable?for?miral::Window; |
856 | + vtable?for?miral::WindowInfo; |
857 | + vtable?for?miral::WindowManagementPolicy; |
858 | + vtable?for?miral::WindowManagerOption; |
859 | + vtable?for?miral::WindowManagerOptions; |
860 | + vtable?for?miral::WindowManagerTools; |
861 | + vtable?for?miral::WindowSpecification; |
862 | + vtable?for?miral::WindowSpecification::AspectRatio; |
863 | + vtable?for?miral::toolkit::Connection; |
864 | + vtable?for?miral::toolkit::PersistentId; |
865 | + vtable?for?miral::toolkit::Surface; |
866 | + vtable?for?miral::toolkit::SurfaceSpec; |
867 | + }; |
868 | +# miral::WindowInfo::can_morph_to*; |
869 | + _ZNK5miral10WindowInfo12can_morph_toE14MirSurfaceType; |
870 | + |
871 | +# miral::WindowInfo::needs_titlebar*; |
872 | + _ZN5miral10WindowInfo14needs_titlebarE14MirSurfaceType; |
873 | + |
874 | +# miral::WindowInfo::state*; |
875 | + _ZNK5miral10WindowInfo5stateEv; |
876 | + _ZN5miral10WindowInfo5stateE15MirSurfaceState; |
877 | + |
878 | +# miral::WindowInfo::type*; |
879 | + _ZN5miral10WindowInfo4typeE14MirSurfaceType; |
880 | + _ZNK5miral10WindowInfo4typeEv; |
881 | + |
882 | +# miral::WindowManagementPolicy::advise_state_change*; |
883 | + _ZN5miral22WindowManagementPolicy19advise_state_changeERKNS_10WindowInfoE15MirSurfaceState; |
884 | + |
885 | +# miral::StartupInternalClient::StartupInternalClient*; |
886 | + _ZN5miral21StartupInternalClientC1ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt8functionIFvNS_7toolkit10ConnectionEEES7_IFvSt8weak_ptrIN3mir5scene7SessionEEEE; |
887 | +# miral::InternalClientLauncher::launch*; |
888 | + _ZNK5miral22InternalClientLauncher6launchERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8functionIFvNS_7toolkit10ConnectionEEERKS9_IFvSt8weak_ptrIN3mir5scene7SessionEEEE; |
889 | +local: *; |
890 | +}; |
891 | + |
892 | +MIRAL_1.1 { |
893 | +global: |
894 | + # miral::WindowInfo::can_morph_to* |
895 | + _ZNK5miral10WindowInfo12can_morph_toE13MirWindowType; |
896 | + |
897 | + #miral::WindowInfo::needs_titlebar*; |
898 | + _ZN5miral10WindowInfo14needs_titlebarE13MirWindowType; |
899 | + |
900 | + # miral::WindowInfo::state*; |
901 | + _ZNK5miral10WindowInfo5stateEv; |
902 | + _ZN5miral10WindowInfo5stateE14MirWindowState; |
903 | + |
904 | + miral::WindowInfo::type*; |
905 | + _ZN5miral10WindowInfo4typeE13MirWindowType; |
906 | + _ZNK5miral10WindowInfo4typeEv; |
907 | + |
908 | + # miral::WindowManagementPolicy::advise_state_change*; |
909 | + _ZN5miral22WindowManagementPolicy19advise_state_changeERKNS_10WindowInfoE14MirWindowState; |
910 | + |
911 | + extern "C++" { |
912 | + miral::CanonicalWindowManagerPolicy::place_new_window*; |
913 | + non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::place_new_window*; |
914 | + }; |
915 | +} MIRAL_1.0; |
916 | + |
917 | +MIRAL_1.2 { |
918 | +global: |
919 | +# miral::InternalClientLauncher::launch*; |
920 | + _ZNK5miral22InternalClientLauncher6launchERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8functionIFvN3mir6client10ConnectionEEERKS9_IFvSt8weak_ptrINSA_5scene7SessionEEEE; |
921 | + |
922 | +# miral::StartupInternalClient::StartupInternalClient*; |
923 | + _ZN5miral21StartupInternalClientC?ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt8functionIFvN3mir6client10ConnectionEEES7_IFvSt8weak_ptrINS8_5scene7SessionEEEE; |
924 | + extern "C++" { |
925 | + miral::WindowInfo::shell_chrome*; |
926 | + miral::WindowManagerTools::drag_window*; |
927 | + typeinfo?for?miral::ApplicationAuthorizer1; |
928 | + vtable?for?miral::ApplicationAuthorizer1; |
929 | + }; |
930 | +} MIRAL_1.1; |
931 | + |
932 | +MIRAL_1.3 { |
933 | +global: |
934 | + extern "C++" { |
935 | + miral::WindowManagerTools::add_tree_to_workspace*; |
936 | + miral::WindowManagerTools::create_workspace*; |
937 | + miral::WindowManagerTools::focus_prev_within_application*; |
938 | + miral::WindowManagerTools::for_each_window_in_workspace*; |
939 | + miral::WindowManagerTools::for_each_workspace_containing*; |
940 | + miral::WindowManagerTools::remove_tree_from_workspace*; |
941 | + miral::WindowManagerTools::move_workspace_content_to_workspace*; |
942 | + miral::WorkspacePolicy::?WorkspacePolicy*; |
943 | + miral::WorkspacePolicy::WorkspacePolicy*; |
944 | + miral::WorkspacePolicy::advise_adding_to_workspace*; |
945 | + miral::WorkspacePolicy::advise_removing_from_workspace*; |
946 | + miral::WorkspacePolicy::operator*; |
947 | + non-virtual?thunk?to?miral::WorkspacePolicy::?WorkspacePolicy*; |
948 | + non-virtual?thunk?to?miral::WorkspacePolicy::advise_adding_to_workspace*; |
949 | + non-virtual?thunk?to?miral::WorkspacePolicy::advise_removing_from_workspace*; |
950 | + typeinfo?for?miral::WorkspacePolicy; |
951 | + vtable?for?miral::WorkspacePolicy; |
952 | + }; |
953 | +} MIRAL_1.2; |
954 | + |
955 | +MIRAL_1.3.1 { |
956 | +global: |
957 | + extern "C++" { |
958 | + miral::SetWindowManagementPolicy::?SetWindowManagementPolicy*; |
959 | + miral::SetWindowManagementPolicy::SetWindowManagementPolicy*; |
960 | + miral::SetWindowManagementPolicy::operator*; |
961 | + typeinfo?for?miral::SetWindowManagementPolicy; |
962 | + vtable?for?miral::SetWindowManagementPolicy; |
963 | + }; |
964 | +} MIRAL_1.3; |
965 | + |
966 | +MIRAL_1.4.0 { |
967 | +global: |
968 | + extern "C++" { |
969 | + miral::WindowManagementPolicyAddendum2::?WindowManagementPolicyAddendum2*; |
970 | + miral::WindowManagementPolicyAddendum2::WindowManagementPolicyAddendum2*; |
971 | + miral::WindowManagementPolicyAddendum2::operator*; |
972 | + miral::WindowManagerTools::end_drag_and_drop*; |
973 | + miral::WindowManagerTools::start_drag_and_drop*; |
974 | + miral::toolkit::Window::Window*; |
975 | + non-virtual?thunk?to?miral::WindowManagementPolicyAddendum2::?WindowManagementPolicyAddendum2*; |
976 | + typeinfo?for?miral::WindowManagementPolicyAddendum2; |
977 | + typeinfo?for?miral::toolkit::Window; |
978 | + typeinfo?for?miral::toolkit::WindowId; |
979 | + typeinfo?for?miral::toolkit::WindowSpec; |
980 | + vtable?for?miral::WindowManagementPolicyAddendum2; |
981 | + vtable?for?miral::toolkit::Window; |
982 | + vtable?for?miral::toolkit::WindowId; |
983 | + vtable?for?miral::toolkit::WindowSpec; |
984 | + }; |
985 | +} MIRAL_1.3.1; |
986 | + |
987 | +MIRAL_1.5.0 { |
988 | +global: |
989 | + extern "C++" {''' |
990 | + |
991 | +END_NEW_STANZA = ''' }; |
992 | +} MIRAL_1.4.0;''' |
993 | + |
994 | +def _print_report(): |
995 | + print(OLD_STANZAS) |
996 | + for symbol in sorted(SYMBOLS['public']): |
997 | + formatted_symbol = ' {};'.format(symbol) |
998 | + if formatted_symbol not in OLD_STANZAS and 'miral::' in formatted_symbol: |
999 | + print(formatted_symbol) |
1000 | + print(END_NEW_STANZA) |
1001 | + |
1002 | +def _print_debug_info(node, attributes): |
1003 | + if not DEBUG: |
1004 | + return |
1005 | + print() |
1006 | + _print_attribs(node, attributes) |
1007 | + _print_location(node) |
1008 | + |
1009 | +def _parse_member_def(context_name, node, is_class): |
1010 | + kind = node.attributes['kind'].value |
1011 | + |
1012 | + if (kind in ['enum', 'typedef'] |
1013 | + or _has_element(node, ['templateparamlist']) |
1014 | + or kind in ['function'] and node.attributes['inline'].value == 'yes'): |
1015 | + return |
1016 | + |
1017 | + name = _concat_text_from_tags(node, ['name']) |
1018 | + |
1019 | + if name in ['__attribute__']: |
1020 | + if DEBUG: |
1021 | + print(' ignoring doxygen mis-parsing:', _concat_text_from_tags(node, ['argsstring'])) |
1022 | + return |
1023 | + |
1024 | + if name.startswith('operator'): |
1025 | + name = 'operator' |
1026 | + |
1027 | + if not context_name is None: |
1028 | + symbol = context_name + '::' + name |
1029 | + else: |
1030 | + symbol = name |
1031 | + |
1032 | + is_function = kind == 'function' |
1033 | + |
1034 | + if is_function: |
1035 | + _print_debug_info(node, ['kind', 'prot', 'static', 'virt']) |
1036 | + else: |
1037 | + _print_debug_info(node, ['kind', 'prot', 'static']) |
1038 | + |
1039 | + if DEBUG: |
1040 | + print(' is_class:', is_class) |
1041 | + |
1042 | + publish = _should_publish(is_class, is_function, node) |
1043 | + |
1044 | + _report(publish, symbol + '*') |
1045 | + |
1046 | + if is_function and node.attributes['virt'].value == 'virtual': |
1047 | + _report(publish, 'non-virtual?thunk?to?' + symbol + '*') |
1048 | + |
1049 | + |
1050 | +def _should_publish(is_class, is_function, node): |
1051 | + (kind, static, prot) = _get_attribs(node) |
1052 | + |
1053 | + publish = True |
1054 | + |
1055 | + if publish: |
1056 | + publish = kind != 'define' |
1057 | + |
1058 | + if publish and is_class: |
1059 | + publish = is_function or static == 'yes' |
1060 | + |
1061 | + if publish and prot == 'private': |
1062 | + if is_function: |
1063 | + publish = node.attributes['virt'].value == 'virtual' |
1064 | + else: |
1065 | + publish = False |
1066 | + |
1067 | + if publish and _has_element(node, ['argsstring']): |
1068 | + publish = not _get_text_for_element(node, 'argsstring').endswith('=0') |
1069 | + |
1070 | + return publish |
1071 | + |
1072 | + |
1073 | +def _parse_compound_defs(xmldoc): |
1074 | + compounddefs = xmldoc.getElementsByTagName('compounddef') |
1075 | + for node in compounddefs: |
1076 | + kind = node.attributes['kind'].value |
1077 | + |
1078 | + if kind in ['page', 'file', 'example', 'union']: |
1079 | + continue |
1080 | + |
1081 | + if kind in ['group']: |
1082 | + for member in node.getElementsByTagName('memberdef'): |
1083 | + _parse_member_def(None, member, False) |
1084 | + continue |
1085 | + |
1086 | + if kind in ['namespace']: |
1087 | + symbol = _concat_text_from_tags(node, ['compoundname']) |
1088 | + for member in node.getElementsByTagName('memberdef'): |
1089 | + _parse_member_def(symbol, member, False) |
1090 | + continue |
1091 | + |
1092 | + filename = _get_file_location(node) |
1093 | + |
1094 | + if DEBUG: |
1095 | + print(' from file:', filename) |
1096 | + |
1097 | + if ('/examples/' in filename or '/test/' in filename or '[generated]' in filename |
1098 | + or '[STL]' in filename or _has_element(node, ['templateparamlist'])): |
1099 | + continue |
1100 | + |
1101 | + symbol = _concat_text_from_tags(node, ['compoundname']) |
1102 | + |
1103 | + publish = True |
1104 | + |
1105 | + if publish: |
1106 | + if kind in ['class', 'struct']: |
1107 | + prot = node.attributes['prot'].value |
1108 | + publish = prot != 'private' |
1109 | + _print_debug_info(node, ['kind', 'prot']) |
1110 | + _report(publish, 'vtable?for?' + symbol) |
1111 | + _report(publish, 'typeinfo?for?' + symbol) |
1112 | + |
1113 | + if publish: |
1114 | + for member in node.getElementsByTagName('memberdef'): |
1115 | + _parse_member_def(symbol, member, kind in ['class', 'struct']) |
1116 | + |
1117 | +if __name__ == "__main__": |
1118 | + if len(argv) == 1 or '-h' in argv or '--help' in argv: |
1119 | + print(HELPTEXT) |
1120 | + exit() |
1121 | + |
1122 | + for arg in argv[1:]: |
1123 | + try: |
1124 | + if DEBUG: |
1125 | + print('Processing:', arg) |
1126 | + _parse_compound_defs(minidom.parse(arg)) |
1127 | + except Exception as error: |
1128 | + print('Error:', arg, error) |
1129 | + |
1130 | + if DEBUG: |
1131 | + print('Processing complete') |
1132 | + |
1133 | + _print_report() |
PASSED: Continuous integration, rev:4257 /mir-jenkins. ubuntu. com/job/ mir-ci/ 3585/ /mir-jenkins. ubuntu. com/job/ build-mir/ 4908 /mir-jenkins. ubuntu. com/job/ build-0- fetch/5131 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= artful/ 5120 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial/ 5120 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= zesty/5120 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= artful/ 4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= artful/ 4947/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= zesty/4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= zesty/4947/ artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= artful/ 4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= artful/ 4947/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial/ 4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial/ 4947/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= zesty/4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= zesty/4947/ artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= mesa,release= artful/ 4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= mesa,release= artful/ 4947/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= mesa,release= zesty/4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= mesa,release= zesty/4947/ artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial/ 4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial/ 4947/artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /mir-jenkins. ubuntu. com/job/ mir-ci/ 3585/rebuild
https:/