1 | `build/` directory
|
2 | ==================
|
3 |
|
4 | A mix of old "OVM" scripts and new `oil-native` Ninja scripts.
|
5 |
|
6 | ## Old CPython Slice
|
7 |
|
8 | Quick smoke test:
|
9 |
|
10 | build/old-ovm-test.sh test-oil-bundle
|
11 |
|
12 | ### Python Behavior Changes
|
13 |
|
14 | Almost 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
|