]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Add doc about maintenance of the Guile bindings.
authorLudovic Courtès <ludo@gnu.org>
Fri, 26 Oct 2007 08:26:49 +0000 (10:26 +0200)
committerLudovic Courtès <ludo@gnu.org>
Fri, 26 Oct 2007 08:26:49 +0000 (10:26 +0200)
doc/README.CODING_STYLE

index e5a94bbbaf393fa39c51efa5b0a665875adc9a28..0f0ffd08e41730b4b418ef89b22b642d3f0a3cc6 100644 (file)
@@ -78,3 +78,26 @@ The rules here are not always used, although we try to stick to them.
 *** Indentation style:
   In general, use the GNU Coding Standard.  You may indent the source
   using GNU indent, e.g. "indent *.c".
+
+*** Guile bindings:
+
+ Parts of the Guile bindings, such as types (aka. "SMOBs"), enum values,
+ constants, are automatically generated.  This is handled by the modules
+ under `guile/modules/gnutls/build/'; these modules are only used at
+ build-time and are not installed.
+
+ The Scheme variables they generate (e.g., constants, type predicates,
+ etc.) are exported to user programs through `gnutls.scm' and
+ `gnutls/extra.scm', both of which are installed.
+
+ For instance, when adding/removing/renaming enumerates or constants,
+ two things must be done:
+
+  1. Update the enum list in `build/enums.scm' (currently dependencies
+     are not tracked, so you have to run "make clean all" in `guile/'
+     after).
+
+  2. Update the export list of `gnutls.scm' (or `extra.scm').
+
+ Note that, for constants and enums, "schemefied" names are used, as
+ noted under the "Guile API Conventions" node of the manual.