1 | Please observe the following notes when making changes to the source |
---|
2 | tree. |
---|
3 | |
---|
4 | We use the included ss and et libraries only when configured without |
---|
5 | --enable-athena. configure uses the BUILDTOP make variable to locate |
---|
6 | the top of the build tree in order to refer to automatically generated |
---|
7 | files in lib/ss and lib/et. |
---|
8 | |
---|
9 | lib/dyn and lib/ss are internal libraries, i.e. they are only used by |
---|
10 | programs (xzwrite uses lib/dyn and zctl uses lib/ss), not by the |
---|
11 | Zephyr API. lib/et and lib/zephyr are external libraries; they are |
---|
12 | necessary for linking programs which use Zephyr, so their libraries |
---|
13 | are installed in the library directory. Note that the library built |
---|
14 | in lib/et is named libcom_err.a, not libet.a, and that it is only |
---|
15 | installed if --enable-athena is not used. |
---|
16 | |
---|
17 | The directory h contains header files used internally in the zephyr |
---|
18 | source tree. The directory h/zephyr contains header files containing |
---|
19 | declarations for the Zephyr API. h/zephyr/zephyr_err.h is generated |
---|
20 | from lib/zephyr/zephyr_err.et when lib/zephyr is built. |
---|
21 | h/zephyr/zephyr.h is generated by configure, as is h/config.h. Those |
---|
22 | header files live in the build tree, as do h/com_err.h and h/ss/ss.h |
---|
23 | when --enable-athena is not given as an option to configure. All |
---|
24 | other header files in h live in the source tree. |
---|
25 | |
---|
26 | h/config.h is generated by configure and contains the results of |
---|
27 | configure tests as well as definitions for the installation |
---|
28 | configuration directory and data directory. h/sysdep.h uses |
---|
29 | h/config.h to include various header files or make various external |
---|
30 | declarations which many programs might be interested in. h/internal.h |
---|
31 | contains declarations internal to the "Zephyr system proper," which |
---|
32 | includes the Zephyr library, the server, the hostmanager, and (for |
---|
33 | now) zstat. |
---|
34 | |
---|
35 | Two header files, h/zephyr/zephyr.h and lib/et/com_err.h (when |
---|
36 | --enable-athena is not used) are public header files; that is, they |
---|
37 | are installed with the Zephyr system. As such, these header files may |
---|
38 | need to work with compilers other than the compiler used to build the |
---|
39 | Zephyr system itself. Thus, we use __STDC__ (both in h/sysdep.h and |
---|
40 | in the public header files) to guess whether the compiler will handle |
---|
41 | const, prototypes, and stdarg. This is unfortunately not as reliable |
---|
42 | as using autoconf features like AC_C_CONST. |
---|
43 | |
---|
44 | The Zephyr system version number is kept in server/version.c, and |
---|
45 | should be updated when releases are made. |
---|
46 | |
---|