aboutsummaryrefslogtreecommitdiffstats
path: root/doc/doxygen
Commit message (Collapse)AuthorAgeFilesLines
* doc: remove HTML_TIMESTAMPPekka Paalanen5 days1-1/+0
| | | | | | | | | | | | to fix the Doxygen message: warning: Tag 'HTML_TIMESTAMP' at line 8 of file '-' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" Observed with Doxygen 1.9.8. Signed-off-by: Pekka Paalanen <pq@iki.fi>
* doc: Refactor the build system for complete build dir docsSebastian Wick2025-11-276-123/+0
| | | | | | | | By structuring things differently, it becomes possible to have a complete build of the docs in the build dir, without having to install anything. Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
* meson: use absolute paths for doxygen stamp filesSimon Ser2022-02-051-2/+4
| | | | | | The relative paths are incorrect when running as a subproject. Signed-off-by: Simon Ser <contact@emersion.fr>
* meson: use project build root for doxygen outputSimon Ser2022-02-051-1/+1
| | | | | | | | | | | | meson.build_root() returns the parent's build directory if Wayland is a subproject. This fails with: error: tag OUTPUT_DIRECTORY: Output directory '<parent-build-dir>/doc/doxygen' does not exist and cannot be created Instead, use meson.project_build_root(), which returns the subproject's build directory. Signed-off-by: Simon Ser <contact@emersion.fr>
* build: drop autotoolsSimon Ser2021-03-051-113/+0
| | | | | | Meson now replaces autotools. Signed-off-by: Simon Ser <contact@emersion.fr>
* doc: Document libwayland-cursor with mesonEmmanuel Gil Peyrot2020-06-052-1/+12
| | | | Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
* doc: Document libwayland-cursor with autotoolsEmmanuel Gil Peyrot2020-06-051-1/+10
| | | | Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
* Add Meson buildEmmanuele Bassi2020-01-106-1/+268
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Meson is a next generation build system, simpler than Autotools and also faster and more portable. Most importantly, it will make integrating ASan easier in CI. The goal is to maintain feature parity of the Meson build with the Autotools build, until such time when we can drop the latter. Add a script which generates the desired Doxygen configuration for our various output formats and executes it using that configuration. This is not something Meson can or should do. Fixes: https://gitlab.freedesktop.org/wayland/wayland/issues/80 [daniels: Changed to bump version, use GitLab issues URL, remove header checks not used in any code, remove pre-pkg-config Expat support, added missing include paths to wayland-egl and cpp-compile-test, added GitLab CI. Bumped version, removed unnecessary pkg-config paths.] [daniels: Properly install into mandir/man3 via some gross paramaterisation, generate real stamp files.] Pekka: - squashed patches - removed MAKEFLAGS from meson CI - remove unused PACKAGE* defines - fix up scanner dependency handling - instead of host_scanner option, build wayland-scanner twice when cross-compiling - changed .pc files to match more closely the autotools versions - reorder doxygen man sources to reduce diff to autotools - fix pkgconfig.generate syntax warnings (new in Meson) - bump meson version to 0.47 for configure_file(copy) and run_command(check) - move doc tool checks into doc/meson.build, needed in more places - make all doc tools mandatory if building docs - check dot and doxygen versions - add build files under doc/publican - reindent to match Weston Meson style Simon: - Remove install arg from configure_file - Don't build wayland-scanner twice during cross-build - Fix naming of the threads dependency - Store tests in dict - Add missing HAVE_* decls for functions - Remove unused cc_native variable - Make doxygen targets a dict - Make dot_gv a dict - Use dicts in man_pages - Make decls use dicts - Make generated_headers use dicts - Align Meson version number with autotool's Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> Signed-off-by: Simon Ser <contact@emersion.fr>
* build/doc: Ensure destination dir exists despite VPATHDaniel Stone2020-01-101-6/+7
| | | | | | | | | | | | | | | | | | | | | | | Make considers a variable called VPATH when trying to satisfy dependencies, e.g. for a target 'foo', it will consider the target extant if VPATH is '../../bar' and '../../bar/foo' exists. Part of the doc build, the '$(alldirs)' target, exists to create the target directories if they do not exist. For example, before generating xml/wayland-architecture.png, it will ensure the 'xml' target is considered up-to-date thanks to the target dependency. Creating $(srcdir)/doc/doxygen/xml thus means that the 'xml' dependency will be satisfied, so we'll never create the output directory, and the doc build will fail. Change the alldirs target list to be absolute paths, so VPATH will not be consulted and defeat the entire point of what we're trying to do. This fixes the Meson build, where we later create doc/doxygen/xml/meson.build. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* Do not create man page links with doxygenArmin Krezović2017-12-041-1/+1
| | | | | | | | | | | There is a lot of files created with .so links to non-installed files, making most of installed pages useless. The files referenced in .so links are not suitable for installation nor do they contain any useful information for them to be worth fixing. Signed-off-by: Armin Krezović <krezovic.armin@gmail.com> Acked-by: Daniel Stone <daniels@collabora.com>
* server: document wl_event_loop and wl_event_sourcePekka Paalanen2017-08-251-0/+1
| | | | | | | | | | | This documents all the public API related to wl_event_loop and wl_event_source objects. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Yong Bakos <ybakos@humanoriented.com> [Pekka: fixed typos pointed by Yong] [Pekka: fixed typos pointed by Christopher] Reviewed-By: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
* Switch graphviz files to use HTML-style labelsOwen W. Taylor2017-07-272-17/+13
| | | | | | | | | | | | | | | | | | | | | | | | | With recent versions of graphviz, generation of the diagrams in the documentation fails with: /usr/bin/dot -Tpng -oxml/x-architecture.png dot/x-architecture.gv Warning: flat edge between adjacent nodes one of which has a record shape - replace records with HTML-like labels Edge xserver -> comp Error: getsplinepoints: no spline points available for edge (xserver,comp) Error: lost xserver comp edge Error: lost xserver comp edge Error: lost comp xserver edge Error: lost comp xserver edge http://www.graphviz.org/content/i-havent-been-able-render-these-files-graphviz-226 indicates that the error message basically means that the authors of graphviz consider record-style labels to be deprecated and are no longer fixing errors with them. This patch changes the labels to be in the HTML style, which seems to require duplicating style between all the nodes, but it's not like these files are often edited. The result is not exactly the same but is quite similar. Reviewed-by: Armin Krezović <krezovic.armin@gmail.com> Tested-by: Armin Krezović <krezovic.armin@gmail.com>
* doc: Remove wayland-util.c from file listYong Bakos2016-11-281-1/+0
| | | | | | | | | | | | | | | Documentation generation via doxygen includes wayland-util.c in its file list. Although functions are documented in wayland-util.h, doxygen is not automatically using the same documentation for functions in wayland-util.c. In addition, everything listed in the doxygen page for wayland-util.c is documented in the page for wayland-util.h and the pages for corresponding structures. As such, the doxygen page for wayland-util.c has no value, and is redundant. Remove the doxygen page for wayland-util.c. Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
* doc: Remove display of WL_PRINTF attributeYong Bakos2016-11-231-1/+2
| | | | | | | | | | | | | | | | | | | Doxygen truncates a WL_PRINTF function attribute, and there does not seem to be any workaround[1]. When using the attribute like this: typedef void (*wl_log_func_t)(const char *, va_list) WL_PRINTF(1, 0); Doxygen generates something that looks like this: typedef void (*wl_log_func_t)(const char *, va_list) WL_PRINTF(1, Configure doxygen to consider WL_PRINTF(x,y) as predefined, so it does not display the attribute at all in the generated documentation. [1] https://bugzilla.gnome.org/show_bug.cgi?id=774741 Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
* doc: Ignore html subdirectory.Yong Bakos2016-03-101-0/+1
| | | | | Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* doc: link between client and server doc and to the wayland bookPeter Hutterer2016-03-072-0/+10
| | | | | | | | And insert "client" or "server" into the PROJECT_NAME to know which one we have. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* doc: generate doxygen html output from the scannerPeter Hutterer2016-03-073-2/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This switches the scanner to generate doxygen-compatible tags for the generated protocol headers, and hooks up the doxygen build to generate server and client-side API documentation. That documentation is now in Client/ and Server/, respectively. GENERATE_HTML is on by default and must be disabled for the xml/man targets to avoid messing up the new documentation. We disable all three three targets in the doxyfile (xml and man default to NO anyway) to make it obvious that they need to be set in the per-target instructions. Each protocol is a separate doxygen @page, with each interface a @subpage. Wayland only has one protocol, wayland-protocols will have these nested. Each protocol page has a list of interfaces and the copyright and description where available. All interfaces are grouped by doxygen @defgroup and @ingroups and appear in "Modules" in the generated output. Each interface subpage has the description and a link to the actual API doc. Function, struct and #defines are documented in doxygen style and associated with the matching interface. Note that pages and groups have fixed HTML file names and are directly linkable/bookmark-able. The @mainpage is a separate file that's included at build time. It doesn't contain much other than links to where the interesting bits are. It's a static file though that supports markdown, so we can extend it easily in the future. For doxygen we need the new options EXTRACT_ALL and OPTIMIZE_OUTPUT_FOR_C so it scans C code properly. EXTRACT_STATIC is needed since most of the protocol hooks are static. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* doc: make the doxygen output dependent on scanner.cPeter Hutterer2015-11-161-2/+2
| | | | | | | When the scanner changes, we need to rebuild Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* doc: drop the default doxygen tagsPeter Hutterer2015-06-181-1743/+0
| | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* doc: move project-specific doxygen settings to the end of the doxygen filePeter Hutterer2015-06-181-15/+38
| | | | | | | | Rather than having the settings hidden in the file somewhere move them to the end so it's clear which settings we intentionally override. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* docs: remove and ignore doc/doxygen_sqlite3.dbDerek Foreman2015-06-041-0/+1
| | | | | | | | | | | Some newer versions of doxygen are generating this file now, and if we don't clean it up distcheck will fail. Known to affect doxygen 1.8.8 from debian jessie. Signed-off-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Jon A. Cruz <jonc@osg.samsung.com> Tested-by: Jon A. Cruz <jonc@osg.samsung.com>
* introduce new headers wayland-client-core.h and wayland-server-core.hGiulio Camuffo2015-04-301-2/+5
| | | | | | | | | | | | | | | | wayland-client.h and wayland-server.h include the protocol headers generated at build time. This means that a libwayland user cannot generate and use protocol code created from a wayland.xml newer than the installed libwayland, because it is not possible to only include the API header. Another use case is language bindings, which would generate their own protocol code and which only need to use the library ABI, not the generated C code. This commit adds wayland-client-core.h and wayland-server-core.h which do not include the protocol headers or any deprecated code. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* doc: Fix out-of-tree build and also distcheckJon Cruz2015-01-301-1/+3
| | | | | | | | Corrects an issue that would cause out-of-tree builds to fail and also a few items that would cause distcheck to fail. Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* doc: update diagrams for compatibility.Jon Cruz2015-01-282-47/+47
| | | | | | Change attribute separators for compatiblity with graphviz older than 2.30. Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com>
* doc: Create hot-linked areas in documents.Jon Cruz2015-01-281-2/+8
| | | | | | | Added xslt processing to give DocBook output diagram image maps/hot-linked areas consistent with those automatically generated by Doxygen. Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com>
* doc: Switch from static image files to generated diagrams.Jon Cruz2015-01-283-2/+106
| | | | | | | Switches diagrams from using static PNG images to instead generate them via simple graphviz DOT markup files. Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com>
* doc: Make it easier to add a new doxygen pageBill Spitzak2014-12-181-15/+8
| | | | | | | | | The repetitive parts of generating the server and client documentation are merged, so it is easier to add another doxygen chapter: add a new line to $publican_sources in publican/Makefile.am, and a list of C source files to doxygen/Makefile.am. Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
* doc: fix doxygen->man command lineBill Spitzak2014-12-161-2/+7
| | | | | | | | It was telling it to scan the doxyfile as well as the C source, and listing some source files more than once. Reviewed-by: Bryce Harrington <b.harrington@samsung.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* doc: Minor makefile cleanup.Jon A. Cruz2014-12-161-7/+13
| | | | | | | | Split out directory creation to leverage order only prerequisites. Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* doc: Invoke doxygen via the defined make variable.Jon A. Cruz2014-12-051-3/+3
| | | | | | | | Invoke doxygen via the autoconf-defined make variable instead of directly. This brings it in line with standard makefile practices. Signed-off-by: Jon A. Cruz <jonc@osg.samsung.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
* doc: Quell warnings about missing man3 directory before its been builtBryce W. Harrington2014-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | The shell command for dist_man3_MANS gets invoked several times during the make process but before the man pages have been generated, which causes the following warnings when running `make`: find: `man/man3': No such file or directory find: `man/man3': No such file or directory find: `man/man3': No such file or directory GEN xml/client/index.xml Despite these error messages, the generated dist tarball contains the man3 pages as intended, both before and after this patch. $ make dist $ tar xxf wayland-1.5.90.tar.xz $ find wayland-1.5.90/doc/doxygen/man/man3 -name "wl_*.3" | wc -l 85 Signed-off-by: Bryce Harrington <b.harrington@samsung.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net> Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* doc: Remove obsolete doxygen tagsBoyan Ding2014-05-121-12/+0
|
* doc: Remove deprecated doxygen tagJonas Ådahl2014-05-091-16/+0
| | | | Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
* build: hide doxygen commands with AM_V_GENPekka Paalanen2014-03-101-3/+3
| | | | | | | I suppose the purpose was to print just one GEN line for each doxygen rule being executed, not print the doxygen command. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* doc: do not rebuild man pages if they are up to datePekka Paalanen2014-03-101-2/+2
| | | | | | | | The doxygen.man make target was not a real file that was generated, therefore the man page rule was ran on every make invocation. Replace it with a real file that is produced by the man page rule. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* Add documentation for wl_shm_buffer_begin/end_accessNeil Roberts2013-11-151-1/+2
| | | | | It's not obvious that these functions are needed so it would be good to have some documentation for them.
* doc: Create \comment alias for C-style commentsAaron Faanes2013-09-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since /* */ do not nest, documentation is forced to either use C++ style // comments or some other foreign notation. This commit provides an alias that allows C-style comments to be introduced in code blocks that support aliases. It should be noted that this macro will not work within \code blocks, as Doxygen commands are ignored there. Instead, Doxygen's fenced code blocks (created via ~~~) must be used for proper output. To demonstrate: ~~~ struct example_node { int id; \comment{Other members ...} }; ~~~ will roughly yield the following HTML (excluding syntax highlighting): <pre> struct example_node { int id; /* Other members ... */ }; </pre>
* doc: Include wayland-util.* for doxygen outputAaron Faanes2013-09-161-0/+6
| | | | | | This commit creates a shared file list that is included by both the client and the server for the XML Makefile targets, as classes within util are used by both the client and the server.
* doc: use a dynamic list of man pages1.0.90Peter Hutterer2013-04-041-51/+6
| | | | | | | This requires that doxygen is run before the man target so find can actually find the man pages. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* doc: generate server documentation from XML tooPeter Hutterer2013-04-042-7/+17
| | | | | | | | | | | | Same as WaylandClientAPI.xml we now also generate WaylandServerAPI.xml for publication. Most of this hunk is just adding a client/ or server/ into the xml path to keep the two separate. The change in wayland.doxygen now causes a standard doxygen call to not generate anything - what is generated is specified through the options passed by make. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* doc: generate man pages from doxygenPeter Hutterer2013-04-032-5/+72
| | | | | | | | | | | | | | | | | | | | | | | | Create client-side and server-side man pages from doxygen. The doxygen config options are virtually the same as for the XML output, but we do pass in the specific options via stdin. WL_EXPORT is predefined to the empty string, it makes the man page look confusing and provides no value here anyway. This applies for both xml and man output. JAVADOC_AUTOBRIEF is disabled for man pages, the formatting in the resulting man page is IMO hard to read. Most of the server man pages are virtually empty, there's just not enough documentation in the source files. Interesting issue: the usage of @code in the protocol to reference the parameter breaks the expansion of WL_EXPORT, thus leaving us with WL_EXPORT in all the man pages. Presumably this is an issue with doxygen interpreting this as a @code command, but I already wasted enough time narrowing this down. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* doc: add wayland.doxygen as target dependencyPeter Hutterer2013-04-031-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* doc: Update .gitignoreTiago Vignatti2012-11-121-0/+1
| | | | Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
* doc: doxygen: Interpret the first line comment as the briefTiago Vignatti2012-11-121-1/+1
| | | | Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
* doc: Remove obsolete doxygen tagsKristian Høgsberg2012-10-291-17/+0
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=56377
* doc: Update doxygen documentation when source files are changedAnder Conselvan de Oliveira2012-10-191-1/+5
|
* doc: doxygen: Add .gitignoreTiago Vignatti2012-10-151-0/+1
| | | | Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
* doc: Add some doxygen documentation to wayland-client entry pointsAnder Conselvan de Oliveira2012-10-151-1/+2
| | | | | | | | | Add some brief documentation for the public libwayland-client entry points. This is by no means complete, some functions are still undocumented and some might need extra information. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
* doc: Add auto-generated Wayland Library chapterTiago Vignatti2012-10-152-0/+1790
For now only Wayland Client API is described on that chapter, which is extracted via doxygen on ./src/wayland-client.h. We apply a stylesheet (doxygen-to-publican) on doxygen output so it becomes docbook valid. Now all we need to do is populate that header while developing in order to grow a decent documentation. So please use it! Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>