X-Git-Url: https://git.openafs.org/?p=openafs.git;a=blobdiff_plain;f=README.DEVEL;h=b7b57a8c957c9bbb2262e33ba70dafcbf2065271;hp=af83ca3bf0900102fa095585cd32937325f097b1;hb=2608ce67f1ba5ed1ed63525fad90db9d67547ec6;hpb=50ed43bfb45202fb288130c0e716db013391d855 diff --git a/README.DEVEL b/README.DEVEL index af83ca3..b7b57a8 100644 --- a/README.DEVEL +++ b/README.DEVEL @@ -7,8 +7,8 @@ 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 $< in any cross-platform dir as it requires a reasonable -make that is not available on all systems. +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 @@ -21,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. @@ -34,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 @@ -47,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) { } @@ -61,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.