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. If you want to run "autoheader" to regenerate h/config.h.in in the source tree, you should know that autoconf 2.3's autoheader has a bug which prevents it from finding the right header file to use when multiple output header files are specified. I've sent in a patch for this, but until the next release, use: autoheader configure.in > h/config.h.in