Dan
41f29ccd9e
Parse command-line args in a separate function.
2019-06-11 13:49:37 +02:00
Dan
e0b8bbbce9
Use a file-local constant for non-prefixing nodes.
2019-06-11 13:49:37 +02:00
Dan
2c8c5c4ed3
Split into seperate functions for easier invocation from python.
2019-06-11 13:49:37 +02:00
Dan
590e7acedf
Avoid storing global state.
2019-06-11 13:49:37 +02:00
Dan
a163f8813e
Delete partially-written file in the event of an error.
2019-06-11 13:49:37 +02:00
Dan
ede328a784
Allow writing output to file instead of stdout.
2019-06-11 13:49:37 +02:00
Dan
a33212df1f
Wrap the main functionality of mkdoc in a function.
2019-06-11 13:49:37 +02:00
Dan
b46bb64d39
Allow user to override default values of -x and -std=.
2019-06-11 13:49:37 +02:00
Dan
4612db54ac
Try to autodetect the location of the clang standard libraries.
...
On some linuxes, /usr/include belongs to GCC and the standard
libraries that work with clang are in /usr/lib/clang/8.0.0 or
some variation thereof.
This results in errors such as:
```
/../lib64/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/cxxabi_init_exception.h:38:10: fatal error: 'stddef.h' file not found
```
during extraction.
2019-06-11 13:49:37 +02:00
Dan
a175b21e4b
Avoid decoding already-decoded strings from cindex.
...
Recent versions of clang.cindex include [code][1] that converts
the internal byte strings to python str for you.
[1]: https://github.com/llvm-mirror/clang/blob/master/bindings/python/clang/cindex.py#L72
2019-06-11 13:49:37 +02:00
Wenzel Jakob
257df10ffe
improve mkdoc.py determinism
...
When processing many files that contain top-level items with the same
name (e.g. "operator<<"), the output was non-deterministic and depended
on the order in which the different Clang processes finished. This
commit adds sorting that also accounts for the filename to prevent
random changes from run to run.
2017-04-12 11:09:47 +02:00
Wenzel Jakob
f64ff575d7
mkdoc.py: improved formatting of code segments and enums
2016-05-20 16:37:13 +02:00
Wenzel Jakob
65f0c2aeb7
mkdoc.py: handle conversion operators and template arguments in function names
2016-05-01 22:39:46 +02:00
Wenzel Jakob
c993bcec19
mkdoc.py: document enumerations
2016-05-01 02:32:38 +02:00
Wenzel Jakob
87810d8e91
mkdoc.py: fixed DOC() macro
2016-04-30 23:55:10 +02:00
Wenzel Jakob
295acb2da0
mkdoc.py: handle \ingroup attributes
2016-04-30 23:36:57 +02:00
Wenzel Jakob
f02f41656b
support longer argument lists in expansion of variadic DOC() macro
2016-04-29 14:32:10 +02:00
Merlin Nimier-David
77173d6347
mkdoc.py: fix typo in __DOC5
macro
...
This prevented `DOC(...)` calls with 5 arguments to resolve correctly.
2016-04-29 14:25:39 +02:00
Wenzel Jakob
a57e51c5d8
mkdoc.py: sanitize_name fixes, PEP 8 cleanups
2016-04-27 00:35:06 +02:00
Wenzel Jakob
d361a57863
minor mkdoc name sanitation fix
2016-04-26 00:12:22 +02:00
Wenzel Jakob
afb9c1776a
make mkdoc now works with the libclang distribution from Apple
2016-04-19 13:33:21 +02:00
Wenzel Jakob
efd9e987f5
windows fixes
2015-08-04 18:53:18 +02:00
Wenzel Jakob
281aa0e668
nicer code separation, cleanup logic, std::function type caster
2015-07-31 04:10:38 +02:00
Wenzel Jakob
fa70d30248
documentation extraction improvements
2015-07-23 14:43:34 +02:00
Wenzel Jakob
ad06e76f9f
Documentation extraction tool
2015-07-22 01:05:41 +02:00