X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2FSTANDARDS;h=c66f77b57904a776d27d849e5f8ed17cc1e0b1cf;hb=a53e74a650cf42012d8c66835e450acdf73c23d6;hp=ada913b33082f1705603f7b1e8bcfeab21fc3023;hpb=99a5e197607827aff6881686b72c02947b36ae8b;p=sbcl.git diff --git a/contrib/STANDARDS b/contrib/STANDARDS index ada913b..c66f77b 100644 --- a/contrib/STANDARDS +++ b/contrib/STANDARDS @@ -1,4 +1,4 @@ -Proposed contrib standard, version $Revision$ +Proposed contrib standard, $Revision$ The SBCL contrib mechanism provides a mechanism to manage code which does not form part of SBCL itself, but which is @@ -49,17 +49,18 @@ A contrib package must contain a Makefile. This is to have three targets all: # do whatever compilation is necessary test: # run the package tests -install: # copy all necessary files into $(INSTALL_DIR) +install: # copy all necessary files into $(BUILD_ROOT)$(INSTALL_DIR) If the contrib package involves more than one file, you are encouraged to use ASDF to build it and load it. A version of asdf is bundled as an SBCL contrib, which knows to look in $SBCL_HOME/systems/ for asd files - your install target should create an appropriate symlink there -to the installed location of the system file. Look in sb-bsd-sockets/Makefile -for an example of an asdf-using contrib +to the installed location of the system file. Look in +sb-bsd-sockets/Makefile for an example of an asdf-using contrib. -$(INSTALL_DIR) will have been created by the system before your -install target is called. You do not need to make it yourself. +$(BUILD_ROOT)$(INSTALL_DIR) will have been created by the system +before your install target is called. You do not need to make it +yourself. * Tests @@ -70,11 +71,23 @@ good place to test that they still exist, etc. * Documentation -[ Would be at least nice. My tendency is to say plain text or HTML, -and optionally your choice of source format which can generate either -of the preceding. Document formats not available on typical -well-endowed-with-free-stuff Unix systems are discouraged. DocBook -is fine, as the SBCL manual is DocBook anyway ] +Each package should provide documentation in Texinfo format. For the +documentation to be included in the sbcl manual, the following must +hold: + +- Each Texinfo file must have the extension `.texinfo' so the + automatic manual builder will find it. + +- It must contain one @node - @section pair at the top and only + @subsection (or lower) sectioning commands within, e.g. + +@node Sample Contrib +@section Sample Contrib +... + + so that the contrib menu can be created automatically. + +Take care to choose unique node names. [ make install should copy the documentation somewhere that the user can find it ]