[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