mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Document our dependency on gcc as a compiler.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@12188 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
69fc513a9d
commit
e3cc997edf
@ -1,5 +1,44 @@
|
|||||||
GnuCash Dependency Policy
|
GnuCash Compiler Dependency
|
||||||
-------------------------
|
---------------------------
|
||||||
|
|
||||||
|
The GnuCash developers use gcc (http://gcc.gnu.org) for developing and
|
||||||
|
testing GnuCash. For convenience, we have relied on certain features
|
||||||
|
of gcc that are not part of any official standard and may not be
|
||||||
|
available with other standard-compliant compilers. Anyone desiring to
|
||||||
|
compile GnuCash with some other compiler may have to remove these
|
||||||
|
"gcc-isms", some of which are documented here.
|
||||||
|
|
||||||
|
Pointer-typed NULL sentinel values
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
Gcc provides an implementation of `stddef.h' that defines NULL to
|
||||||
|
always expand to a pointer-typed null constant. This is precisely
|
||||||
|
what is needed in order to make sentinel value arguments to variadic
|
||||||
|
functions correct for both 32 and 64 bit platforms. However, another
|
||||||
|
implementation may define NULL to expand to `0'. In that case, all
|
||||||
|
sentinel value arguments must have an explicit `(void *)' cast.
|
||||||
|
|
||||||
|
C++ style comments
|
||||||
|
------------------
|
||||||
|
|
||||||
|
C++ style comments (`// comment to end of line') are discouraged but
|
||||||
|
not actively eradicated.
|
||||||
|
|
||||||
|
Variadic Macros
|
||||||
|
---------------
|
||||||
|
|
||||||
|
GnuCash uses variadic macros for debugging and logging support (via
|
||||||
|
qof).
|
||||||
|
|
||||||
|
Declarations after Code
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
The use of declarations after code (`int i; i = 0; char *foo;') is
|
||||||
|
strongly discouraged and actively removed whenever it's caught.
|
||||||
|
|
||||||
|
|
||||||
|
GnuCash Library Dependency Policy
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
GnuCash desires to only depend on library versions and packages that are
|
GnuCash desires to only depend on library versions and packages that are
|
||||||
practically available. Specifically, we choose to depend only on versions
|
practically available. Specifically, we choose to depend only on versions
|
||||||
|
Loading…
Reference in New Issue
Block a user