Mercurial > hg > index.cgi
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 |