| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Baremetal is now the default build target and therefore has its sources
at the top-level. Baremetal programs build using the phase-2 Mu toolchain
that requires a Linux kernel. This phase-2 codebase which used to be at
the top-level is now under the linux/ directory. Finally, the phase-2 toolchain,
while self-hosting, has a way to bootstrap from a C implementation, which
is now stored in linux/bootstrap. The bootstrap C implementation uses some
literate programming tools that are now in linux/bootstrap/tools.
So the whole thing has gotten inverted. Each directory should build one
artifact and include the main sources (along with standard library). Tools
used for building it are relegated to sub-directories, even though those
tools are often useful in their own right, and have had lots of interesting
programs written using them.
A couple of things have gotten dropped in this process:
- I had old ways to run on just a Linux kernel, or with a Soso kernel.
No more.
- I had some old tooling for running a single test at the cursor. I haven't
used that lately. Maybe I'll bring it back one day.
The reorg isn't done yet. Still to do:
- redo documentation everywhere. All the README files, all other markdown,
particularly vocabulary.md.
- clean up how-to-run comments at the start of programs everywhere
- rethink what to do with the html/ directory. Do we even want to keep
supporting it?
In spite of these shortcomings, all the scripts at the top-level, linux/
and linux/bootstrap are working. The names of the scripts also feel reasonable.
This is a good milestone to take stock at.
|
| |
|
|
|
|
| |
Fix CI.
|
|
|
|
|
|
|
| |
Layers 0-89 are used in self-hosting SubX.
Layers 90-99 are not needed for self-hosting SubX, and therefore could
use transitional levels of syntax sugar.
Layers 100 and up use all SubX syntax sugar.
|
|
|
|
| |
Give the bootstrap C++ program a less salient name.
|
|
|
|
| |
Fix CI.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This undoes 5672 in favor of a new plan:
Layers 000 - 099 are for running without syntax sugar. We use them for
building syntax-sugar passes.
Layers 100 and up are for running with all syntax sugar.
The layers are arranged in approximate order so more phases rely on earlier
layers than later ones.
I plan to not use intermediate syntax sugar (just sigils without calls,
or sigils and calls without braces) anywhere except in the specific passes
implementing them.
|
|
|
|
| |
Fix CI.
|
|
|
|
| |
Fix CI.
|
|
|
|
|
| |
Stop supporting CFLAGS in CI scripts; they're now meaty enough that I
never run them locally in debug mode.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Just ran into first issue from using the portable /bin/sh rather than a
modern shell:
https://stackoverflow.com/questions/15744421/read-command-doesnt-wait-for-input
Turn on errexit everywhere.
|
|
|
|
| |
Yet another fix for CI.
|
| |
|
|
|
|
| |
Fix CI.
|
|
|
|
| |
Purge remaining `makefile`s, without breaking CI.
|
|
|
|
| |
Fix CI. Didn't mean to push just yet :/
|
|
|
|
| |
Three separate CI fixes(!)
|
|
|
|
| |
Fix CI.
|
|
|
|
| |
Follow convention more closely by using CXXFLAGS for C++ files.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I kept suspecting Valgrind and kept finding that Valgrind wasn't
actually slowing down Travis CI, but I'd been running it like this:
valgrind ./mu test edit
Which wasn't actually running the underlying ./mu_bin binary atop
Valgrind.
Ok, so Mu is just super slow running any non-trivial apps atop Valgrind.
That's ok, we've rarely needed an app to flush out memory leaks in Mu.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reorganize build system to minimize duplication while handling 3
scenarios:
1. Locally running tests with `mu test`
2. Locally running tests until some layer with `build_and_test_until`
3. Running on Linux with `test_layers`
4. Running on Travis CI with multiple sharded calls to `test_layers`
One thing we drop at this point is support for OSX in test_layers. We
don't need it now that we have Travis CI working.
|
|
|
|
| |
More tweaking; edit/ still taking too long to test on Travis CI.
|
|
|
|
|
|
|
|
|
| |
2943 almost worked; just a couple of tweaks:
a) Divide up the work a little more finely since we still timed out on
some jobs.
b) Use clang and valgrind when running apps as well.
|
|
|
|
|
| |
I'm already using grep and perl, bash is no worse, and it's *much* nicer
to work in than plain Bourne sh.
|
|
It easily exceeded the 50-minute timeout.
|