OILS / build / README.md View on Github | oilshell.org

148 lines, 117 significant
1`build/` directory
2==================
3
4A mix of old "OVM" scripts and new `oil-native` Ninja scripts.
5
6## Old CPython Slice
7
8Quick smoke test:
9
10 build/old-ovm-test.sh test-oil-bundle
11
12### Python Behavior Changes
13
14Almost all changes remove unused code, but here is a list of behavior changes:
15
16- `Objects/typeobject.c : type_new()` -- I commented out `_Py_Mangle`. This
17 turns `self.__foo` into something else. That won't break my code, but it
18 might break third-party code?
19 - TODO: Perhaps find the corresponding compile-time time check in
20 `compiler2`?
21
22## Directory Structure for C++ Build
23
24### Code
25
26 ./NINJA-config.sh # Run this to generate build.ninja
27 build.ninja # What's executed by the ninja tool
28
29 build/
30 ninja_main.py # Invoked by ./NINJA-config.sh
31 ninja_lib.py # rules
32
33 # TODO: rename to "steps"
34 ninja-rules-py.sh
35 ninja-rules-cpp.sh
36
37 core/
38 NINJA_subgraph.py
39 TEST.sh
40
41 cpp/
42 NINJA_subgraph.py
43 TEST.sh
44
45 mycpp/
46 NINJA_subgraph.py # This file describes dependencies programmatically
47 TEST.sh # test driver for unit tests and examples
48
49 examples/
50 cgi.py
51 varargs.py
52 varargs_preamble.h
53
54### Data
55
56 _gen/
57 bin/
58 osh_eval.mycpp.{h,cc}
59 mycpp/
60 examples/
61 cgi.mycpp.cc
62 cgi_raw.mycpp.cc
63 cgi.pea.cc
64 cgi_raw.pea.cc
65 expr.asdl.{h,cc}
66
67 _build/
68 NINJA/ # part of the Ninja graph
69 asdl.asdl_main/
70 all-pairs.txt
71 deps.txt
72
73 obj/
74 # The obj folder is a 2-tuple {cxx,clang}-{dbg,opt,asan ...}
75 cxx-dbg/
76 bin/
77 osh_eval.mycpp.o
78 osh_eval.mycpp.d # dependency file
79 osh_eval.mycpp.json # when -ftime-trace is passed
80 mycpp/
81 gc_heap_test.o # not translated
82 gc_builtins.o
83 _gen/
84 mycpp/
85 examples/
86 cgi.mycpp.o
87 cgi.mycpp.o.d
88 cgi.pea.o
89 cgi.pea.o.d
90 expr.asdl.o
91 expr.asdl.o.d
92 cxx-gcevery/
93 cxx-opt/
94 clang-coverage/
95
96 preprocessed/
97 cxx-dbg/
98 cpp/
99 leaky_stdlib.cc
100 cxx-dbg.txt # line counts
101
102 _bin/
103
104 # These are the code generators. TODO: move to _bin/SCRIPT/asdl/asdl_main
105 shwrap/
106 asdl_main
107 mycpp_main
108 lexer_gen
109 ...
110
111 # The _bin folder is a 3-tuple {cxx,clang}-{dbg,opt,asan ...}-{,sh}
112 cxx-opt/
113 osh_eval
114 osh_eval.stripped # The end user binary, with top_level = True
115 osh_eval.symbols
116
117 mycpp/
118 examples/
119 cgi.mycpp
120 cgi.mycpp.stripped
121 cgi.pea
122 cgi.pea.stripped
123 gc_heap_test
124
125 cxx-opt-sh/ # with shell script
126 cxx-gcevery/
127 mycpp/
128 gc_heap_test
129
130 clang-coverage/
131
132 _test/
133 tasks/ # *.txt and *.task.txt for .wwz
134 typecheck/ # optionally run
135 test/ # py, gcevery, asan, opt
136 benchmark/
137
138 # optionally logged?
139 translate/
140 compile/
141
142### Python dev build
143
144 # C code shared with the Python build
145 # eventually this can be moved into Ninja
146 _devbuild/
147 gen/
148 runtime_asdl.py