aboutsummaryrefslogtreecommitdiff
path: root/sys/rules.mk
AgeCommit message (Collapse)Author
2021-12-05Feat: basic string and memory functionsNicholas Noll
Continue filling out the basic standard lib functions. Included prototypes of the str* and mem* families. Plan to add e(str|mem) and n(str|mem) variants as well.
2021-11-20Chore: cleaned up the exit code to cleanly interface with libcNicholas
We use weak linking to ensure we clean up at exit time correctly. If libc is linked, then we call our cleanup function by registering an atexit callback with the library. If libc is not linked, we have a weak symbol that results in a noop. Similarly, if we call rt·exit while linked with libc, this immediately calls libc's exit (which will call our cleanup as we registered it). If we are not linked to libc, exit() is given as a weak link to a noop function.
2021-11-20chore: simplify makefilesNicholas
2021-11-20Feature: self hosting prototype implementedNicholas Noll
This is a large change. In order to remove myself from libc's arcane interface, I implemented an independent runtime layer. It is based on musl's wonderful implementation mostly. Critically, if libc is linked to the program, then we cooperate. Namely, we call start main and let libc do all initialization. If not, then we have a noop defined in rt3.a. The general structure of the file is: 1. sys/$os/$arch contains all architecture dependent code 2. sys/$os/port contains all code that depends on the os, but is portable 3. rt/$arch contains all the runtime architecture dependent code 4. rt/* contains the portable runtime code. Obviously testing is needed. Specifically, while code is checked in for the most popular architectures, it only has been tested on one computer! Overall this is exciting and as been educational.
2021-11-12chore: simplified organizational structurelaptopNicholas
2021-11-11feat: libfmt prototype added from plan9Nicholas Noll
2021-11-11chore: libunicode -> libutfNicholas
2021-10-26chore(rename): libn -> baseNicholas Noll
2021-10-09chore(font): comment out makefileNicholas Noll
2021-10-08fix(theme): consistent themeNicholas Noll
2021-10-05feat(term): added ligature support. some combining character helpNicholas Noll
2021-04-22chore(refactor): libraries to define explicit interfacesNicholas Noll
2021-02-17chore: update to configs before playing with ligature support in terminalNicholas Noll
2020-06-18feat: working parser for rc shell languageNicholas Noll
2020-06-08small fixesNicholas Noll
2020-06-06deprecated waylandNicholas Noll
2020-06-02prototype of dway. needs testingNicholas Noll
2020-05-15feat: testing directory to allow for easier tests of codeNicholas Noll
2020-05-15factored out the common code of makefilesNicholas Noll
2020-04-28struct: preparing for prototype of math libraryNicholas Noll
2020-04-21feat: added allocator interface to allow for flexible library interfacesNicholas Noll
2020-04-21chore: updated make rules to not link all made librariesNicholas Noll
2020-04-19chore: reorganized header structure and updated makefileNicholas Noll
2020-04-19chore: reorganized structure to allow for more parallel projectsNicholas Noll