summaryrefslogtreecommitdiff
path: root/NOTES
blob: 7a125d650c534baa3bf1f909647f9433521ca000 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Please observe the following notes when making changes to the source
tree.

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.  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.

h/zephyr/zephyr.h is a public header file; that is, it is installed
with the Zephyr system.  As such, this header file 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 zephyr.h) 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.