89 lines
3.1 KiB
Plaintext
89 lines
3.1 KiB
Plaintext
|
C Runtime Library Startup Sources
|
||
|
---------------------------------
|
||
|
The directory \startup and its subdirectories contain the files
|
||
|
necessary for building the startup portion of the C runtime library.
|
||
|
The \startup directory contains the startup source files, the include
|
||
|
include files, the batch file and the make file used to build the startup
|
||
|
object files. The subdirectories of \startup contain OS specific sources.
|
||
|
|
||
|
The startup object files can be built by invoking startup.bat from within
|
||
|
the \startup directory. This batch file assumes the following:
|
||
|
|
||
|
(1) make.exe, link.exec, the C compiler, and the assembler must be
|
||
|
in the execution path. MASM 5.0 and C 5.0 or later are required to
|
||
|
build the startup sources.
|
||
|
(2) doscalls.lib must be in the directory specified by the LIB
|
||
|
environment variable.
|
||
|
|
||
|
Startup will create four memory model specific subdirectories (i.e., S, M, C,
|
||
|
and L) and place the appropriate object files there. Under each memory model
|
||
|
subdirectory, startup creates two addition subdirectories OS2 and DOS where
|
||
|
OS specific objects reside.
|
||
|
|
||
|
The include files stdio.h and ctype.h are required for building the
|
||
|
startup source file wild.c but are not included on the \startup directory
|
||
|
because they exist on the directory containing the standard include files.
|
||
|
A make variable called CINC controls where the makefile looks for these
|
||
|
include files. STARTUP.BAT sets CINC to the current value of the INCLUDE
|
||
|
environment variable. This variable should be set to the location of
|
||
|
the C include files. CINC can also be set in the makefile if you wish
|
||
|
to run the makefile separately.
|
||
|
|
||
|
The message "<cEnd - nogen>" is generated when some of the assembly language
|
||
|
source files are assembled. This message is expected and is totally benign.
|
||
|
|
||
|
The startup batch file requires as arguments a list of capital letters
|
||
|
describing the memory models you wish to build. For example,
|
||
|
"startup S L" will build the small and large model startup objects.
|
||
|
Startup will then link the objects with a sample C program called nulbody.c
|
||
|
(consisting of a null main functions) to produce nulbody.exe.
|
||
|
[Invoking startup.bat with no arguments will give usage information.]
|
||
|
|
||
|
Note: startup sources written in assembly language have been edited with
|
||
|
tabstops set to 8. Startup sources written in C have been edited with
|
||
|
tabstops set to 4.
|
||
|
|
||
|
The following files are contained in the \startup directory:
|
||
|
|
||
|
Startup source files (OS independent):
|
||
|
|
||
|
chkstk.asm
|
||
|
chksum.asm
|
||
|
crt0fp.asm
|
||
|
setargv.asm
|
||
|
wild.c
|
||
|
|
||
|
Startup source files (OS specific):
|
||
|
crt0.asm
|
||
|
crt0dat.asm
|
||
|
crt0msg.asm
|
||
|
execmsg.asm
|
||
|
nmsghdr.asm
|
||
|
stdalloc.asm
|
||
|
stdenvp.asm
|
||
|
stdargv.asm
|
||
|
|
||
|
Startup include files:
|
||
|
brkctl.inc
|
||
|
cmacros.inc
|
||
|
msdos.inc
|
||
|
register.h
|
||
|
msdos.h
|
||
|
version.inc
|
||
|
|
||
|
File count files:
|
||
|
_file.c
|
||
|
file2.h
|
||
|
|
||
|
Make and batch files:
|
||
|
startup.bat: invokes make file to build objs and link to null program
|
||
|
makefile: contains rules for building startup sources
|
||
|
nulbody.c: null c program
|
||
|
nulbody.lnk: link script for linking null program
|
||
|
|
||
|
Documentation:
|
||
|
readme.doc: information about \startup directory structure
|
||
|
and contents
|
||
|
|
||
|
--- End ---
|