diff options
Diffstat (limited to 'NOTES')
-rw-r--r-- | NOTES | 46 |
1 files changed, 46 insertions, 0 deletions
@@ -0,0 +1,46 @@ +Please observe the following notes when making changes to the source +tree. + +We use the included ss and et libraries only when configured without +--enable-athena. configure uses the BUILDTOP make variable to locate +the top of the build tree in order to refer to automatically generated +files in lib/ss and lib/et. + +lib/dyn and lib/ss are internal libraries, i.e. they are only used by +programs (xzwrite uses lib/dyn and zctl uses lib/ss), not by the +Zephyr API. lib/et and lib/zephyr are external libraries; they are +necessary for linking programs which use Zephyr, so their libraries +are installed in the library directory. Note that the library built +in lib/et is named libcom_err.a, not libet.a, and that it is only +installed if --enable-athena is not used. + +The directory h contains header files used internally in the zephyr +source tree. The directory h/zephyr contains header files containing +declarations for the Zephyr API. h/zephyr/zephyr_err.h is generated +from lib/zephyr/zephyr_err.et when lib/zephyr is built. +h/zephyr/zephyr.h is generated by configure, as is h/config.h. Those +header files live in the build tree, as do h/com_err.h and h/ss/ss.h +when --enable-athena is not given as an option to configure. All +other header files in h live in the source tree. + +h/config.h is generated by configure and contains the results of +configure tests as well as definitions for the installation +configuration directory and data directory. h/sysdep.h uses +h/config.h to include various header files or make various external +declarations which many programs might be interested in. h/internal.h +contains declarations internal to the "Zephyr system proper," which +includes the Zephyr library, the server, the hostmanager, and (for +now) zstat. + +Two header files, h/zephyr/zephyr.h and lib/et/com_err.h (when +--enable-athena is not used) are public header files; that is, they +are installed with the Zephyr system. As such, these header files may +need to work with compilers other than the compiler used to build the +Zephyr system itself. Thus, we use __STDC__ (both in h/sysdep.h and +in the public header files) to guess whether the compiler will handle +const, prototypes, and stdarg. This is unfortunately not as reliable +as using autoconf features like AC_C_CONST. + +The Zephyr system version number is kept in server/version.c, and +should be updated when releases are made. + |