inweb-bootstrap: Add description about the project.
* README.md => README-inweb.md: Move old README here. * README: Add it. * TODO: Add it.
This commit is contained in:
parent
8e12e9c701
commit
7757f5f9ac
3 changed files with 59 additions and 0 deletions
38
README
Normal file
38
README
Normal file
|
@ -0,0 +1,38 @@
|
|||
-*- mode: org -*-
|
||||
|
||||
Inweb-bootstrap is a fork of [[https://github.com/ganelson/inweb][Inweb]] that aims to be [[https://bootstrappable.org/][bootstrappable]].
|
||||
Rather than relying on a pre-generated inweb.c to build itself,
|
||||
it will instead be properly built from the source code and an
|
||||
understandable build system.
|
||||
|
||||
* Requirements
|
||||
|
||||
- noweb (noweave, notangle and cpif)
|
||||
- texlive-scheme-basic (pdflatex)
|
||||
|
||||
* Installation
|
||||
|
||||
autoreconf -vif
|
||||
./configure && make && make check && make install
|
||||
|
||||
* How It Works
|
||||
|
||||
Inweb is written in its own literate programming(LP) markup syntax and C dialect.
|
||||
The markup syntax is 1:1 with noweb's syntax excluding the fancy features.
|
||||
|
||||
The InC dialect is very similiar to C++, but has a lot of syntactic sugar
|
||||
for declarations and importing headers.
|
||||
|
||||
Inweb-bootstrap will use noweb as the LP markup syntax and C++ as the source code
|
||||
programming language since it requires the least amount of work.
|
||||
|
||||
* Contact
|
||||
|
||||
Patches that help with bootstrapping Inweb are greatly appreciated,
|
||||
especially with making the source code valid C++.
|
||||
The patches can be sent to Inweb-bootstrap's maintainer.
|
||||
|
||||
* Inweb & Inweb-bootstrap
|
||||
|
||||
Once Inweb-bootstrap is complete, hopefully the upstream Inweb project
|
||||
will use it as the official way to build Inweb.
|
21
TODO
Normal file
21
TODO
Normal file
|
@ -0,0 +1,21 @@
|
|||
-*- mode: org; coding: utf-8; -*-
|
||||
|
||||
#+TITLE: What's left to do?
|
||||
#+STARTUP: content hidestars
|
||||
|
||||
Copyright © 2024 Adam Faiz <adam.faiz@disroot.org>
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved.
|
||||
|
||||
* Understand the build process
|
||||
* Figure out the dependency graph of Foundation and Inweb
|
||||
* Split into header sections and implementation sections
|
||||
* Desugar InC into C++
|
||||
* Scope declarations
|
||||
* Enums
|
||||
* Implement the build rules
|
||||
* Write the build rules in Makefile.am
|
||||
* Use foundation-test as a test suite
|
||||
|
Loading…
Reference in a new issue