comparison lwcc/README.txt @ 290:c648fc4bd006 ccdev

Updated lwcc README with info on the runtime support files Added description of -B and the runtime support files required for the lwcc program.
author William Astle <lost@l-w.ca>
date Sun, 08 Sep 2013 16:55:59 -0600
parents d9631a9a5b61
children 40ecbd5da481
comparison
equal deleted inserted replaced
289:b67a118dbdb7 290:c648fc4bd006
21 21
22 This contains any runtime libraries the compiler needs to support its 22 This contains any runtime libraries the compiler needs to support its
23 output. This is usually assembly routines to support complex operations not 23 output. This is usually assembly routines to support complex operations not
24 directly supported by the CPU instruction set. 24 directly supported by the CPU instruction set.
25 25
26
27 RUNTIME INFORMATION
28 ===================
29
30 The compiler driver has a built in base directory where it searches for its
31 various components as needed. In the discussion below, BASEDIR stands for
32 that directory.
33
34 BASEDIR may be specified by the -B option to the driver. Care must be taken
35 when doing so, however, because specifying an invalid -B will cause the
36 compiler to fail completely. It will completely override the built in search
37 paths for the compiler provided files and programs.
38
39 Because BASEDIR is part of the actual compiler, it is not affected by
40 --sysroot or -isysroot options.
41
42 If BASEDIR does not exist, compiler component programs will be searched for
43 in the standard execution paths. This may lead to incorrect results so it is
44 important to make certain that the specified BASEDIR exists.
45
46 If -B is not specified, the default BASEDIR is
47 $(PREFIX)/lib/lwcc/$(VERSION)/ where PREFIX is the build prefix from the
48 Makefile and VERSION is the lwtools version.
49
50 The contents of BASEDIR are as follows:
51
52 BASEDIR/bin
53
54 Various binaries for the parts of the compiler system. Notably, this
55 includes the preprocessor and compiler proper. The specific names and
56 contents of this directory cannot be relied upon and these programs should
57 not be called directly. Ever. Don't do it.
58
59
60 BASEDIR/lib
61
62 This directory contains various libraries that provide support for any
63 portion of the compiler's output. The driver will arrange to pass the
64 appropriate arguments to the linker to include these as required.
65
66 The most notable file in this directory is liblwcc.a wich contains the
67 support routines for the compiler's code generation. Depending on ABI and
68 code generation options supported, there may be multiple versions of
69 liblwcc.a. The driver will arrange for the correct one to be referenced.
70
71
72 BASEDIR/include
73
74 This directory contains any C header files that the compiler provides.
75 Notably, this includes stdint.h, stdarg.h, and setjmp.h as these are
76 specific to the compiler. The driver will arrange for this directory to be
77 searched prior to the standard system directories so that these files will
78 override any present in those directories.
79