Imports: Import heimdal:lib/roken/strsep.c
[openafs.git] / README.DEVEL
index ea5dfcb..f775c0b 100644 (file)
@@ -1,12 +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:
 
-Be careful with prototypes/ANSI-C in code that will be compiled for
-kernel source.  In general, avoid them until we have figured out
-exactly when/where they can be used safely.
+-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
@@ -48,7 +50,8 @@ 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 
 properly, we can use ansi2knr during the compile.
 
-       rettype routine(argtype arg)
+       rettype 
+       routine(argtype arg)
        {
 
        }
@@ -68,6 +71,9 @@ Compiles on gcc-using machines should strive to handle using
 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.