Basic header file for kernel-less programming
This header file will be included automatically by default.h,
except if you define the global preprocessor symbol
USE_KERNEL
, or if you explicitly include the doors.h
header file before including any other header file.
First, this header file defines a global symbol named NOSTUB
which is used
in other header files to indicate nostub mode.
Next, it includes default.h to make
sure that the basic macros which TIGCC needs are defined.
It then handles nostub-specific directives such as
OPTIMIZE_ROM_CALLS
(which is useful only for nostub mode) and
USE_FLINE_ROM_CALLS
(which needs special support in nostub mode).
If these symbols are defined, some of the definitions from
default.h are overwritten.
It contains code for tigcc.a
, to support
SAVE_SCREEN
and
RETURN_VALUE
.
Finally, it contains some rather complicated macros and asm
statements
to put data needed for RETURN_VALUE
directly into the assembly file.
See also: How to make a nostub program, default.h, doors.h