Update documentation.

This commit is contained in:
Patrick Pelissier committed 2021-08-07 10:27:56 +02:00
1 parent 8ce59c2e9d
commit 33ef448a86
1 file changed
+29 -18
+29 -18
View File
@@ -17,23 +17,31 @@ How to make a release?
In case of problem, open a problem report. In case of problem, open a problem report.
List of tested systems List of automatically tested systems
======================= ====================================
* gcc 4.9, 7 & 8 on linux/x86-64 * gcc on linux/x86-64 (32 bits and 64 bits)
* clang 3.5, 4 & 6 on linux/x86-64 * g++ on linux/x86-64 (32 bits and 64 bits)
* g++ 7 & 8 on linux/x86-64 * clang on macos/x86-64
* clang++ on macos/x86-64
* tcc on linux/x86-64 * tcc on linux/x86-64
* gcc 7 on windows/x86-64 * gcc on windows/x86-64 (mingw)
* gcc 4.9 on linux/powerpc * msvc on windows/x86-64
* gcc 6 on linux/armv7l * clang on windows/x86-64
* clang 3.8 on linux/armv7l
List of manually tested systems
===============================
* clang on linux/x86-64
* clang on linux/armv7l
* gcc on linux/powerpc
* gcc on linux/armv7l
Atomic library Atomic library
============== ==============
For target, armel m68k mips mipsel powerpc powerpcspe sh4, you may need to run the test suite: For the targets armel, m68k, mips, mipsel, powerpc, powerpcspe or sh4,
you may need to run the test suite by adding the atomic library:
make check LDFLAGS="-pthread -latomic" make check LDFLAGS="-pthread -latomic"
@@ -45,7 +53,7 @@ Cross compilation
There is no need to cross compile the library as it is a header only library. There is no need to cross compile the library as it is a header only library.
However if you want to run the test with a cross-compiler, do like the following However if you want to run the tests with a cross-compiler, do like the following
command. It performs a cross-compilation of the test suite from linux to windows command. It performs a cross-compilation of the test suite from linux to windows
and run the test suite with wine: and run the test suite with wine:
@@ -58,7 +66,7 @@ Handling issues
Issues are opened in the bug tracker of the project (typically https://github.com/P-p-H-d/mlib/issues ) Issues are opened in the bug tracker of the project (typically https://github.com/P-p-H-d/mlib/issues )
If the issue cannot be taken into account quickly and are long term, If the issue cannot be taken into account quickly and are long term,
it shall be moved into the long term issues included in the repository: it should be moved into the long term issues included in the repository:
https://github.com/P-p-H-d/mlib/blob/master/doc/ISSUES.org https://github.com/P-p-H-d/mlib/blob/master/doc/ISSUES.org
This is a file in ORG mode: the issues are created with the proper tags. This is a file in ORG mode: the issues are created with the proper tags.
@@ -74,7 +82,7 @@ its state shall be changed to DONE (the issue shall not be removed).
Debugging Debugging
=============== =========
Debugging the library can be quite difficult Debugging the library can be quite difficult
as it performs heavy preprocessing expansion as it performs heavy preprocessing expansion
@@ -85,7 +93,7 @@ Different strategy for debugging the library itself are still possible:
Add printf of interresting values in the debugged function. Add printf of interresting values in the debugged function.
2) Preprocess the library and then compile the preprocessed file: 2) Preprocess the library and then compile the preprocessed file like this:
cc -std=c99 -E test-file.c > test-file.i cc -std=c99 -E test-file.c > test-file.i
perl -pi -e 's/;/;\n/g' test-file.i perl -pi -e 's/;/;\n/g' test-file.i
@@ -110,17 +118,20 @@ Run the wave driver:
The different expansion performed by the library are described in test.trace The different expansion performed by the library are described in test.trace
Coding rules Coding rules
============== ============
* Use of non standard C shall be protected under a specific compiler test, * Use of non standard C shall be protected under a specific compiler test,
so that the library remains compatible with a strict C99 compiler. so that the library remains compatible with a strict C99 compiler.
* Use 'make format' to format the header properly. * C11 features shall be optional.
* Use 'make format' to format the header files properly.
* External types shall be suffixed by _t and in lower case * External types shall be suffixed by _t and in lower case
but shall be optional if the user doesn't want then. but shall be optional if the user doesn't want then.
* Internal types shall be suffixed by _ct and in lower case. * Internal types shall be suffixed by _ct and in lower case
(as confidential types)
* External / Internal functions shall be in lower case. * External / Internal functions shall be in lower case.
@@ -138,7 +149,7 @@ Coding rules
Misc Misc
======= ====
To put a breakpoint for the thread sanitizer in case of error, in gdb add: To put a breakpoint for the thread sanitizer in case of error, in gdb add: