Follow the GNU coding standards: <http://www.gnu.org/prep/standards/> Except when the present document contradicts it.

Coding style

  • Only C++0x include files can be used. C include files are to be avoided. In the case needed, use header <c...>. Avoid using C functions.
  • No space when applying operator(), or when declaring or defining functions.
  • A space after all keywords.
  • Lines should be not more than 80 columns.

Committing on the repository

Post your ChangeLog entry as. If your commit does not have a ChangeLog entry (e.g. svn propedit), you are free to use a simple sentence to describe your commit.

Remember the ChangeLog is for files that are not generated and that appear in the distribution (make dist).

"make distcheck" should work for each commit.

Avoid multi-purpose commits.

autoconf, automake

Use ./bootstrap to generate the auto* files.

Do not forget to use --enable-bootstrap while calling configure.

Never downgrade the requirements on the versions of automake and autoconf. Maintenairs needs to have a distribution of the current era or die.