Update documentation.
This commit is contained in:
1 parent
8ce59c2e9d
commit
33ef448a86
1 file changed
+29
-18
+29
-18
@@ -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:
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user