blob: 53f58cca96f3d2da3e36a5714cdc681ce914a28c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
How to make things easier for Linux / OS distributions
======================================================
* Have a linting flag
- Environment variable SLUL_LINT=1
- Make it clear that it must be set at *runtime*
(OR: copy it over to built binaries if set during compilation)
- Check that all paths, ELF file formatting, symbols, etc.
seem to be correct.
- Enable various runtime checks in the stdlib (e.g. file formats etc.)
* Have some SLUL subcommand to install a module given a specific prefix
(e.g. `/usr` on most GNU or Musl distributions) and distribution-specific
overrides (Fedora and Debian install libraries under different paths:
`/usr/lib64` on Fedora vs `/usr/lib/<cpu>-<kernel>-<libc>` on Debian).
* Release the following components separately?
- bootstrap compiler + bootstrap runtime library
- real compiler (written in bootstrap subset,
so it is compileable with bootstrap compiler)
- real runtime library (platform specific base)
- probably should be written in C?
- but maybe with a Zig buildfile in addition to the Makefile,
for those who want to use Zig for easy cross-compilation.
- platform-independent part(s) of runtime library
- what exactly is platform independent? some functions
may benefit from platform-optimized code. other might
require it.
- maybe some modules could be written in C or another language
|