summaryrefslogtreecommitdiff
path: root/other/apidsl
diff options
context:
space:
mode:
authorZetok Zalbavar <zexavexxe@gmail.com>2015-06-20 01:22:46 +0100
committerZetok Zalbavar <zexavexxe@gmail.com>2015-06-20 01:22:46 +0100
commit68dc14f80c7ae202ababbd0372a04b137ea8b563 (patch)
tree555462d287d3b54152c58c100591c88b1c0f5e33 /other/apidsl
parent67df1ab7ce6b6cb8103ddf73df814f685240a59c (diff)
Add real instruction on how to use APIDSL and astyle
also add to "tox{,.in}.h" note that "tox.h" shouldn't be edited directly, pointing to "tox.in.h"
Diffstat (limited to 'other/apidsl')
-rw-r--r--other/apidsl/README.md50
-rw-r--r--other/apidsl/tox.in.h8
2 files changed, 52 insertions, 6 deletions
diff --git a/other/apidsl/README.md b/other/apidsl/README.md
index 0b3e776d..c0f29ea4 100644
--- a/other/apidsl/README.md
+++ b/other/apidsl/README.md
@@ -1,11 +1,49 @@
1This folder contains the input file that can be used to generate the tox.h api 1This folder contains the input file (``tox.in.h``) that has to be used to generate the ``tox.h`` api with: https://github.com/iphydf/apidsl
2with: https://github.com/iphydf/apidsl
3 2
4You can also use the following command if you can't install it: 3# Minimal requirements
5 4
5There are some minimal requirements to contribute to ``tox.h``:
6* unix enrironment
7* ``astyle`` ``>=2.03``
8* [``apidsl``](https://github.com/iphydf/apidsl) (you can use provided service with curl instead)
9
10## Quick way
11
12If you want to do it quickly and you don't have time for anything other than copypasting commands, you should have ``curl`` installed.
13
14
151. Make sure that you have ``curl`` and ``>=astyle-2.03`` installed
162. Modify [``tox.in.h``](/other/apidsl/tox.in.h)
173. Run command below ↓
18
19Command to run from ``toxcore`` directory (quick way, involves using curl):
20```bash
21rm toxcore/tox.h && \
22( curl -X POST --data-binary @- https://criticism.herokuapp.com/apidsl < ./other/apidsl/tox.in.h > ./toxcore/tox.h ) && \
23astyle --options=./other/astyle/astylerc ./toxcore/tox.h
24```
25
26When formatting will be complete, you should see output like:
6``` 27```
7curl -X POST --data-binary @- https://criticism.herokuapp.com/apidsl < tox.in.h > tox.h 28Formatted ./toxcore/tox.h
29```
30
31You may want to make sure with ``git diff`` that changes made in ``tox.h`` reflect changes in ``tox.in.h``.
32
33And you're done.
34
35
36## Manually
37
38If you prefer to have more control over what is happening, there are steps below:
39
401. Install [``apidsl``](https://github.com/iphydf/apidsl)
412. Install ``astyle``, version 2.03 or later.
423. Modify [``tox.in.h``](/other/apidsl/tox.in.h)
434. Use ``apidsl`` ``??``
445. Parse generated ``tox.h`` with astyle, minimal command for it would be:
45```bash
46astyle --options=./other/astyle/astylerc ./toxcore/tox.h
8``` 47```
9 48
10Note that the output must be passed through astyle with the config in 49**Always pass output from ``apidsl`` through astyle.** \ No newline at end of file
11other/astyle/astylerc to generate the exact same file.
diff --git a/other/apidsl/tox.in.h b/other/apidsl/tox.in.h
index 30c78e44..189fc43d 100644
--- a/other/apidsl/tox.in.h
+++ b/other/apidsl/tox.in.h
@@ -34,6 +34,14 @@ extern "C" {
34#endif 34#endif
35%} 35%}
36 36
37
38/*****************************************************************************
39 * `tox.h` SHOULD *NOT* BE EDITED MANUALLY – any changes should be made to *
40 * `tox.in.h`, located in `other/apidsl/`. For instructions on how to *
41 * generate `tox.h` from `tox.in.h` please refer to `other/apidsl/README.md` *
42 *****************************************************************************/
43
44
37/** \page core Public core API for Tox clients. 45/** \page core Public core API for Tox clients.
38 * 46 *
39 * Every function that can fail takes a function-specific error code pointer 47 * Every function that can fail takes a function-specific error code pointer