Enable dvolser and tvolser for FreeBSD
[openafs.git] / README.DEVEL
index e4354dd..b7b57a8 100644 (file)
@@ -1,8 +1,14 @@
 Notes on Coding Standards/Requirements for OpenAFS Source
 ---------------------------------------------------------
 
-Do not use $< in any cross-platform dir as it requires a reasonable
-make that is not available on all systems.
+We have an official style.  Please use it.  If you have gnu indent 2.2.9 or
+later you can reformat for this style with the following option:
+
+-npro -nbad -bap -nbc -bbo -br -ce -cdw -brs -ncdb -cp1 -ncs -di2 -ndj -nfc1
+-nfca -i4 -lp -npcs -nprs -psl -sc -nsob -ts8
+
+Do not use $< for non-pattern rules in any cross-platform dir as it
+requires a reasonable make that is not available on all systems.
 
 Do not have build rules that build multiple targets. Make doesn't seem able
 to handle this, and it interferes with -j builds. (In particular, build the
@@ -15,7 +21,7 @@ way to do this?)
 
 -- Prototyping and Style --
 Prototypes for all source files in a given dir DDD should be placed
-int the file DDD/DDD_prototypes.h. All externally used (either API
+in the file DDD/DDD_prototypes.h. All externally used (either API
 or used by other source files) routines and variables should be
 prototyped in this file.
 
@@ -28,7 +34,7 @@ Format of the prototype files should look like:
 
        #ifndef AFS_SRC_DDD_PROTO_H
        #define AFS_SRC_DDD_PROTO_H
-       
+
        /* filename.c */
        prototypes
 
@@ -41,10 +47,11 @@ In most of the existing prototypes, the define is DDD_PROTOTYPES_H, which is
 probably ok as well.
 
 The declaration of the routines should be done in ANSI style. If at some
-later date, it is determined that prototypes don't work on some platform 
+later date, it is determined that prototypes don't work on some platform
 properly, we can use ansi2knr during the compile.
 
-       rettype routine(argtype arg)
+       rettype
+       routine(argtype arg)
        {
 
        }
@@ -55,15 +62,18 @@ and should have (void) if no arguments are taken.
 Header files should not contain macros or other definitions unless they
 are used across multiple source files.
 
-All routines should be declared static if they are not used outside that 
+All routines should be declared static if they are not used outside that
 source file.
 
 Compiles on gcc-using machines should strive to handle using
 -Wstrict-prototypes -Werror. (this may take a while)
 
-Routines shall be defined in source prior to use if possible, and 
+Routines shall be defined in source prior to use if possible, and
 prototyped in block at top of file if static.
 
+API documentation in the code should be done using Qt-style Doxygen
+comments.
+
 If you make a routine or variable static, be sure and remove it from
 the AIX .exp files.