summaryrefslogtreecommitdiff
path: root/NOTES
diff options
context:
space:
mode:
Diffstat (limited to 'NOTES')
-rw-r--r--NOTES46
1 files changed, 46 insertions, 0 deletions
diff --git a/NOTES b/NOTES
new file mode 100644
index 0000000..5e113ad
--- /dev/null
+++ b/NOTES
@@ -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.
+