[Gnucash-changes] r12188 - gnucash/trunk - Document our dependency on gcc as a compiler.

Chris Shoemaker chris at cvs.gnucash.org
Tue Dec 27 14:54:47 EST 2005


Author: chris
Date: 2005-12-27 14:54:46 -0500 (Tue, 27 Dec 2005)
New Revision: 12188
Trac: http://svn.gnucash.org/trac/changeset/12188

Modified:
   gnucash/trunk/README.dependencies
Log:
Document our dependency on gcc as a compiler.


Modified: gnucash/trunk/README.dependencies
===================================================================
--- gnucash/trunk/README.dependencies	2005-12-27 19:32:03 UTC (rev 12187)
+++ gnucash/trunk/README.dependencies	2005-12-27 19:54:46 UTC (rev 12188)
@@ -1,6 +1,45 @@
-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
 practically available.  Specifically, we choose to depend only on versions
 that have been in the major distributions for 6 months. This is motivated in



More information about the gnucash-changes mailing list