about summary refs log tree commit diff stats
path: root/build
Commit message (Collapse)AuthorAgeFilesLines
* 7842 - new directory organizationKartik K. Agaram2021-03-031-103/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Remove CCMaxwell Bernstein2020-10-251-1/+0
|
* Rename CFLAGS to CXXFLAGSMaxwell Bernstein2020-10-251-5/+5
| | | | | This is a little misleading otherwise since this is an entirely C++ project.
* 6207 - tweaks while creating a videoKartik Agaram2020-04-191-0/+1
| | | | https://futureofcoding.org/two-minute-week
* 5865Kartik Agaram2020-01-021-10/+10
| | | | Give the bootstrap C++ program a less salient name.
* 5801 - move `tangle` to `tools/` dirKartik Agaram2019-12-071-14/+8
|
* 5797 - move `enumerate/` to `tools/` directoryKartik Agaram2019-12-071-4/+4
|
* 5796 - move treeshake to a new tools/ directoryKartik Agaram2019-12-071-5/+0
|
* 5793Kartik Agaram2019-12-051-0/+5
| | | | | | | | | Start of a new script called treeshake to emit stats for minimal line counts and binary sizes for all apps. It doesn't actually do any dead-code deletion yet. But it does build and run all apps successfully. (Except apps/mu; we'll ignore that for now. It's probably not being disciplined about identifying internal labels.)
* 5675 - move helpers from subx-common into layersKartik Agaram2019-09-191-50/+0
| | | | | | | | | | | | | | | | 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.
* 5672 - move hex out of appsKartik Agaram2019-09-191-0/+5
|
* 5650 - support a second OS: sosoKartik Agaram2019-09-141-8/+10
| | | | | | | | | https://github.com/ozkl/soso + Much smaller than Linux; builds instantly + Supports graphics - No network support - Doesn't work on a cloud server (yet?)
* 5649Kartik Agaram2019-09-141-4/+4
|
* 5647 - experimental support for swapping OSKartik Agaram2019-09-111-4/+4
|
* 5594 - rename 'desugar' to 'sigils'Kartik Agaram2019-08-311-1/+1
| | | | There's going to be multiple forms of syntax sugar going forward.
* Merge branch 'master' into desugarKartik Agaram2019-08-251-0/+3
|\
| * 5512 - don't rebuild apps by defaultKartik Agaram2019-08-141-1/+4
| | | | | | | | | | We basically only want to rebuild phases of the self-hosted translator when we run the self-hosted translator.
* | skip building apps when running a single testKartik Agaram2019-08-251-1/+1
| | | | | | | | Environment variables allow me to have non-local effects inside scripts.
* | .Kartik Agaram2019-08-131-0/+8
|/
* 5485 - promote SubX to top-levelKartik Agaram2019-07-271-0/+141
|
* 4216 - include simpler alternative to build scriptKartik K. Agaram2018-03-121-149/+0
|
* 4204Kartik K. Agaram2018-02-151-2/+2
|
* 3967Kartik K. Agaram2017-07-101-2/+3
|
* 3846Kartik K. Agaram2017-05-061-1/+1
| | | | Be more robust to stray files with numeric prefixes.
* 3835Kartik K. Agaram2017-04-181-9/+3
|
* 3834Kartik K. Agaram2017-04-181-0/+2
|
* 3815Kartik K. Agaram2017-04-061-1/+1
| | | | | Turns out enabling profiling requires '-pg' to also be passed in to the linker. Might as well pass all flags everywhere.
* 3807Kartik K. Agaram2017-03-311-3/+3
| | | | Handle CFLAGS like "-g -O3 -pg" while compiling.
* 3712Kartik K. Agaram2016-12-261-15/+15
| | | | Let's start highlighting pipe stages better in shell scripts.
* 3680Kartik K. Agaram2016-11-171-16/+13
| | | | | Was there some reason I used a subshell? No reason recorded at bottom.
* 3551Kartik K. Agaram2016-10-221-1/+4
|
* 3548Kartik K. Agaram2016-10-221-1/+4
|
* 3546Kartik K. Agaram2016-10-221-0/+4
|
* 3540Kartik K. Agaram2016-10-211-2/+2
|
* 3538Kartik K. Agaram2016-10-201-1/+6
|
* 3534Kartik K. Agaram2016-10-201-33/+22
| | | | | | | | | | | | | | | | | | | | Streamline the build process. It's safest to always: a) check if each output is `older_than` the inputs necessary to construct it, and b) update the output only if something changed. However: i) We don't yet have helpers to do b) in all situations, and ii) combining a) and b) can cause `older_than` to spuriously report files being updated. So we'll always run exactly one of a) and b) and err on the side of keeping the output reliable, at the risk of occasionally updating a file unnecessarily and triggering unnecessary work downstream. Cross that bridge when we run into it.
* 3533Kartik K. Agaram2016-10-201-13/+35
| | | | Don't update autogenerated *_list files unless necessary.
* 3512Kartik K. Agaram2016-10-171-1/+1
|
* 3509Kartik K. Agaram2016-10-161-2/+3
|
* 3493Kartik K. Agaram2016-10-101-1/+1
|
* 3488 -Kartik K. Agaram2016-10-081-1/+1
| | | | | | I'd messed up termbox in commit 3443; it was weird how it failed though. The terminal got really sluggish to switch between windows when the edit/ app was running. And it stopped clearing the screen properly.
* 3487Kartik K. Agaram2016-10-081-1/+1
|
* 3475Kartik K. Agaram2016-10-071-22/+20
|
* 3474Kartik K. Agaram2016-10-071-20/+27
| | | | Don't print anything during build if there's nothing being built.
* 3459Kartik K. Agaram2016-10-071-2/+2
|
* 3452Kartik K. Agaram2016-10-061-21/+23
| | | | | | | | Fix the sense of a shell function. Somehow in all these years I hadn't realized that 0 is true and non-zero is false for purposes of *nix shells' `&&` and `||` operators. Suddenly Urbit doesn't seem so far out..
* 3450Kartik K. Agaram2016-10-061-2/+6
| | | | Purge remaining `makefile`s, without breaking CI.
* 3447 - drop dependence on GNU makeKartik K. Agaram2016-10-061-0/+117
A generic build system is overkill for such a small project, and it was adding complexity on OpenBSD which doesn't come with GNU make by default. In the process we also eliminate our reliance on bash and perl, at least for the core build script.