woboq_codebrowser
generator for the woboq code browser
WWW CVSWeb GITHub-
Package versionwoboq_codebrowser-2.1pl2
-
MaintainerThe OpenBSD ports mailing-list
The generator generates static HTML pages that can be served by any web
server. It can be run automatically manually or with a hook on your
version control or CI system.
It functions as the source code indexer (using libclang). In contrast to
other solutions (LXR, OpenGrok) it semantically analyzes the code as a
compile step.
The generation is a two-step process: First is a compile step that
creates a .h.html and .cpp.html (and some other) files from the syntax
tree (AST) of the source source. The second step generates an index.html
for each directory.
A server-side database or CGI script are currently not needed, so it is
easy to host. Your normal HTML5 web browser is the source code navigator
(from your local machine or your network).
Please note that the license does not allow you to use the code browser
to assist the development of your commercial software. If you intent to
do so, consider purchasing a commercial licence.
+-------------------------------------------------------------------------------
| Running ${PKGSTEM} on OpenBSD
+-------------------------------------------------------------------------------
Licence information
-------------------
Licensees holding valid commercial licenses provided by Woboq may use
this software in accordance with the terms contained in a written
agreement between the licensee and Woboq. For further information see
https://woboq.com/codebrowser.html
Alternatively, this work may be used under a Creative Commons
Attribution-NonCommercial-ShareAlike 3.0 (CC-BY-NC-SA 3.0) License.
http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_US
This license does not allow you to use the code browser to assist
the development of your commercial software. If you intent to do so,
consider purchasing a commercial licence.
Example of usage with OpenBSD kernel (~1.5Go)
---------------------------------------------
Compile and generate compile_commands.json
$ cd /sys/arch/amd64/compile/GENERIC.MP
$ make obj
$ make config
$ make COPTS='-MJ $@.json -O2'
$ sed -e '1s/^/[/' -e '$s/,$/]/' obj/*.o.json > compile_commands.json
Generate static HTML from compile_commands.json
$ codebrowser_generator -a -b /sys/arch/amd64/compile/GENERIC.MP \
-o ${VARBASE}/www/htdocs/openbsd \
-p sys:/sys \
-d http://localhost/data
$ codebrowser_indexgenerator ${VARBASE}/www/htdocs/openbsd \
-p sys:/sys \
-d http://localhost/data
$ cp -R ${LOCALBASE}/share/woboq/data ${VARBASE}/www/htdocs
- devel/llvm/13
- devel/cmake
- devel/ninja
- devel/llvm/13