doc: Release udpate.
* HACKING: Update. * INSTALL: Update. * NEWS: Update. * doc/ANNOUNCE-0.10: New file. * BOOTSTRAP: New file. * make.scm: Install them.
This commit is contained in:
parent
6c55f4bd28
commit
5c7ba63729
96
BOOTSTRAP
Normal file
96
BOOTSTRAP
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
bootstrappable.org project -*- org -*-
|
||||||
|
|
||||||
|
* What?
|
||||||
|
** Full source bootstrapping for GuixSD
|
||||||
|
* Why?
|
||||||
|
** Reproducibility is essential to Software Freedom
|
||||||
|
Reproducible builds are a set of software development practices that
|
||||||
|
create a verifiable path from human readable source code to the binary
|
||||||
|
code used by computers.
|
||||||
|
*** What about the compiler?
|
||||||
|
We have the sources: they always lead to bitwise-same binary, but what
|
||||||
|
about the compiler?
|
||||||
|
*** The current way out: Ignore the problem
|
||||||
|
|
||||||
|
``recipe for yoghurt: add yoghurt to milk''
|
||||||
|
|
||||||
|
*** From the GuixSD manual
|
||||||
|
|
||||||
|
The distribution is fully “bootstrapped” and “self-contained”: each
|
||||||
|
package is built based solely on other packages in the distribution.
|
||||||
|
|
||||||
|
The root of this dependency graph is a small set of “bootstrap
|
||||||
|
binaries”, provided by the ‘(gnu packages bootstrap)’ module. For more
|
||||||
|
information on bootstrapping, *note Bootstrapping::.
|
||||||
|
|
||||||
|
*** New solution: Full source bootstrapping path, Stage0 and Mes
|
||||||
|
* How?
|
||||||
|
** Software: Stage0 and Mes
|
||||||
|
** Stage0
|
||||||
|
|
||||||
|
*** hex.0: amazing ~300 byte self-hosting hex assembler that we consider to be source
|
||||||
|
*** a M0 macro assembler written in .0
|
||||||
|
*** a M1 macro assembler written in M0
|
||||||
|
*** a hex2 linker written in M0
|
||||||
|
|
||||||
|
Look:
|
||||||
|
https://git.savannah.nongnu.org/cgit/stage0.git/tree/Linux%20Bootstrap/hex0.hex
|
||||||
|
|
||||||
|
Do:
|
||||||
|
git clone https://git.savannah.nongnu.org/git/stage0.git
|
||||||
|
cd stage0
|
||||||
|
make
|
||||||
|
bin/hex < Linux\ Bootstrap/hex0.hex > hex-1
|
||||||
|
chmod +x hex-1 # later: bin/exec_enable hex-1
|
||||||
|
./hex-1 < Linux\ Bootstrap/hex0.hex > hex-2
|
||||||
|
|
||||||
|
** Mes
|
||||||
|
|
||||||
|
https://gitlab.com/janneke/mes
|
||||||
|
|
||||||
|
*** mes.c: a scheme interpreter prototyped in C ~1400 Lines
|
||||||
|
*** mescc.scm: a C compiler written in Scheme (uses Nyacc C99 parser in Scheme)
|
||||||
|
*** mes.M1: this scheme interpreter in annotated M1 assembly
|
||||||
|
|
||||||
|
** Naive recipe
|
||||||
|
hex + hex.0 => hex-1
|
||||||
|
hex-1 + M0.0 -> M0
|
||||||
|
M0 + M1.M0 -> M1.0
|
||||||
|
M0 + hex2_linker.M0 -> hex2_linker
|
||||||
|
M1 + mes.M1 -> mes.hex2
|
||||||
|
hex2_linker + stage0/elf32-header.hex2 + mes.hex2 + elf32-footer.hex2 -> mes
|
||||||
|
mes + mescc.scm + tcc.c -> tcc.M1 -> tcc.hex2 -> mes-tcc
|
||||||
|
mes-tcc + gcc.c -> gcc
|
||||||
|
*done*
|
||||||
|
** Less naive recipe
|
||||||
|
*** Use hex2_linker, M1 prototyped in C from
|
||||||
|
https://github.com/oriansj/mescc-tools
|
||||||
|
*** Remember that mes.M1 is compiled by mescc from prototyped src/mes.c in C.
|
||||||
|
*** stage0/mescc-tools: TODO
|
||||||
|
*** Mes
|
||||||
|
M1 -f stage0/x86.M1 -f mlibc/crt1.M1 --LittleEndian --Architecture=1 > mlibc/crt1.hex2
|
||||||
|
M1 -f stage0/x86.M1 -f mlibc/mini-libc-mes.M1 --LittleEndian --Architecture=1 > mlibc/libc-mes.hex2
|
||||||
|
M1 -f stage0/x86.M1 -f src/mes.M1 --LittleEndian --Architecture=1 > src/mes.hex2
|
||||||
|
hex2 --LittleEndian --Architecture=1 --BaseAddress=0x1000000 -f stage0/elf32-header.hex2 -f mlibc/crt1.hex2 -f mlibc/libc-mes.hex2 -f src/mes.hex2 -f stage0/elf32-footer-single-main.hex2 > src/mes-mes
|
||||||
|
exec_enable src/mes-mes
|
||||||
|
*** Tinycc
|
||||||
|
./build.sh
|
||||||
|
./link.sh
|
||||||
|
* DONE
|
||||||
|
** stage0: hex.0, M0 done; M1, hex2_linker prototyped in C
|
||||||
|
** tcc compiled with mescc correctly compiles: int main () {return 42;}
|
||||||
|
** mes+mescc.scm are mutual self hosting
|
||||||
|
** during development we run mescc.scm on Guile (mes is slooowww)
|
||||||
|
** tcc compiled with gcc is known to compile gcc
|
||||||
|
|
||||||
|
* TODO
|
||||||
|
** fix mescc.scm so that tcc can correctly compile gcc
|
||||||
|
** fix bootstrap-loops: (Nyacc?, mes.M1?, psyntax.pp?)
|
||||||
|
** make GNU gcc (8.0?) bootstrappable again, remove [need for] tcc stage
|
||||||
|
** stage1/2 LISP, FORTH?
|
||||||
|
** rain1's LISP compiler?
|
||||||
|
** integrate with GuixSD
|
||||||
|
** x86_64, arm?
|
||||||
|
* Contact
|
||||||
|
** #bootstrappable, #guix on freenode
|
||||||
|
** bootstrappable.org
|
5
HACKING
5
HACKING
|
@ -41,8 +41,8 @@ Running ./make.scm produces a `script' file.
|
||||||
|
|
||||||
* ROADMAP
|
* ROADMAP
|
||||||
** TODO
|
** TODO
|
||||||
*** release 0.10
|
*** release 0.11
|
||||||
- mescc: compile minimal main.c with tcc.mes https://gitlab.com/janneke/tinycc wip-mescc
|
- mescc: compile a mes-tcc that can compile gcc-4.7.
|
||||||
*** release 0.x, unsorted
|
*** release 0.x, unsorted
|
||||||
- mescc: support unsigned comparison, arithmetic.
|
- mescc: support unsigned comparison, arithmetic.
|
||||||
- mescc: support bitfields.
|
- mescc: support bitfields.
|
||||||
|
@ -64,6 +64,7 @@ Running ./make.scm produces a `script' file.
|
||||||
- work to replace GuixSD's bootstrap binaries for x86
|
- work to replace GuixSD's bootstrap binaries for x86
|
||||||
- more architectures?
|
- more architectures?
|
||||||
** DONE
|
** DONE
|
||||||
|
** 0.10: Mescc now compiles a mes-tcc that compiles a trivial C to a running a.out.
|
||||||
** 0.9: Mescc now writes M1 macro assembly files and compiles tcc.
|
** 0.9: Mescc now writes M1 macro assembly files and compiles tcc.
|
||||||
** 0.8: Mescc now writes object files in stage0's labeled hex2 format.
|
** 0.8: Mescc now writes object files in stage0's labeled hex2 format.
|
||||||
** 0.7: Mescc supports -E, -c, -o options, include more complete set of header files,
|
** 0.7: Mescc supports -E, -c, -o options, include more complete set of header files,
|
||||||
|
|
17
INSTALL
17
INSTALL
|
@ -8,8 +8,8 @@ Building and Installing Mes
|
||||||
* Prerequisites
|
* Prerequisites
|
||||||
** Bootstrapping
|
** Bootstrapping
|
||||||
For bootstrapping, the M1 macro assembler and hex2 linker and Nyacc
|
For bootstrapping, the M1 macro assembler and hex2 linker and Nyacc
|
||||||
*** [[https://github.com/oriansj/MESCC_Tools][MESCC_Tools]], 0.2 is known to work.
|
*** [[https://github.com/oriansj/mescc-tools][mescc-tools]], 0.2 is known to work.
|
||||||
*** [[https://savannah.gnu.org/projects/nyacc][Nyacc]], 0.80.3 is known to work.
|
*** [[https://savannah.gnu.org/projects/nyacc][Nyacc]], 0.81.0 is known to work.
|
||||||
For development
|
For development
|
||||||
** Development
|
** Development
|
||||||
For development, there are some more dependencies.
|
For development, there are some more dependencies.
|
||||||
|
@ -19,8 +19,8 @@ For development, there are some more dependencies.
|
||||||
guix environment --system=i686-linux -l guix.scm #32 bit only
|
guix environment --system=i686-linux -l guix.scm #32 bit only
|
||||||
|
|
||||||
*** Other GNU/Linux
|
*** Other GNU/Linux
|
||||||
**** [[https://github.com/oriansj/MESCC_Tools][MESCC_Tools]], 0.2 is known to work.
|
**** [[https://github.com/oriansj/mescc-tools][mescc-tools]], 0.2 is known to work.
|
||||||
**** [[https://savannah.gnu.org/projects/nyacc][Nyacc]], 0.80.3 is known to work.
|
**** [[https://savannah.gnu.org/projects/nyacc][Nyacc]], [[https://gitlab.com/janneke/nyacc][0.80.41 {patched 0.80.4}]] is known to work.
|
||||||
**** GNU Gcc, 4.9.3 is known to work.
|
**** GNU Gcc, 4.9.3 is known to work.
|
||||||
The idea is to drop this requirement, of course.
|
The idea is to drop this requirement, of course.
|
||||||
|
|
||||||
|
@ -28,9 +28,6 @@ The idea is to drop this requirement, of course.
|
||||||
Guile is not strictly necessary but it is used by the configure script
|
Guile is not strictly necessary but it is used by the configure script
|
||||||
and in development.
|
and in development.
|
||||||
|
|
||||||
**** GNU Make, version 4.0 is know to work.
|
|
||||||
Not strictly necessary.
|
|
||||||
|
|
||||||
**** /bin/sh, GNU Bash 4.3 is known to work.
|
**** /bin/sh, GNU Bash 4.3 is known to work.
|
||||||
Let's just say for now that it gets awkward without a shell.
|
Let's just say for now that it gets awkward without a shell.
|
||||||
|
|
||||||
|
@ -44,16 +41,10 @@ Let's just say for now that it gets awkward without a shell.
|
||||||
./configure
|
./configure
|
||||||
make
|
make
|
||||||
|
|
||||||
** For a quick build, skip running mescc on Mes
|
|
||||||
make MES_SKIP_MES=1
|
|
||||||
|
|
||||||
* Check it
|
* Check it
|
||||||
|
|
||||||
make check
|
make check
|
||||||
|
|
||||||
** For a quick check, skip running mescc on Mes
|
|
||||||
make MES_SKIP_MES=1
|
|
||||||
|
|
||||||
* Install it
|
* Install it
|
||||||
|
|
||||||
make install
|
make install
|
||||||
|
|
48
NEWS
48
NEWS
|
@ -10,11 +10,49 @@ Copyright © 2016,2017 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||||
|
|
||||||
Please send Mes bug reports to janneke@gnu.org.
|
Please send Mes bug reports to janneke@gnu.org.
|
||||||
|
|
||||||
|
* Changes in 0.10 since 0.9
|
||||||
|
** Core
|
||||||
|
*** 2 new functions
|
||||||
|
logand, lognot.
|
||||||
|
** Mescc
|
||||||
|
*** Mes now includes M1 sources for full source bootstrapping up to tcc.
|
||||||
|
*** Mescc now depends on Nyacc 0.81.0.
|
||||||
|
*** Mescc now compiles a mes-tcc that compiles a trivial C to a running a.out.
|
||||||
|
*** Mescc now supports several (as used my tinycc) struct by value assignments.
|
||||||
|
*** Mescc now has _start in a separate crt1.c.
|
||||||
|
*** Mescc now supports initializer arithmetic.
|
||||||
|
*** Mescc now supports arrays of struct of arbitrary size.
|
||||||
|
*** Mescc now supports pointer arithmetic.
|
||||||
|
*** Mescc now defines __i386__, __linux__.
|
||||||
|
*** Mescc now supports --*p, ++*p.
|
||||||
|
*** Mescc now supports int foo[bar] = {baz,...}.
|
||||||
|
*** Mescc now supports \x00 in strings in M1.
|
||||||
|
*** Mescc now supports complex enum expressions. Thanks, rain1!
|
||||||
|
*** Mescc now supports short.
|
||||||
|
*** Mescc now supports foo.bar = foo.baz = bla.
|
||||||
|
*** Mescc now supports foo = bar < baz and comparison permutations.
|
||||||
|
*** Mescc now supports (anonymous) structs in unions.
|
||||||
|
*** Mescc now writes M1 strings if possible.
|
||||||
|
**** 2 improved mlibc functions
|
||||||
|
malloc, realloc.
|
||||||
|
**** 13 new mlibc functions
|
||||||
|
fclose, fgetc, fprintf, fwrite, memcpy, memmove, memset, snprintf, strcat,
|
||||||
|
strchr, strrchr, strtoull, vnsprintf.
|
||||||
|
**** 15 new tinycc-support tests
|
||||||
|
76-pointer-arithmetic.c, 77-pointer-assign.c, 78-union-struct.c,
|
||||||
|
79-int-array.c, 7a-struct-char-array.c, 7b-struct-int-array.c,
|
||||||
|
7c-dynarray.c, 7d-cast-char.c, 7e-struct-array-access.c,
|
||||||
|
7f-struct-pointer-arithmetic.c, 7g-struct-byte-word-field.c,
|
||||||
|
7h-struct-assign.c, 7i-struct-struct.c, 7j-strtoull.c,
|
||||||
|
7k-for-each-elem.c.
|
||||||
|
** Noteworthy bug fixes
|
||||||
|
*** Mescc has many fixes for foo.bar[baz], foo[bar].baz with ./-> permutations.
|
||||||
|
*** Many bugs and limitations in mescc have been fixed and removed.
|
||||||
* Changes in 0.9 since 0.8
|
* Changes in 0.9 since 0.8
|
||||||
** Core
|
** Core
|
||||||
*** Mes now builds better in non-Guix[SD] legacy distros/environments. Thanks, rain1!
|
*** Mes now builds better in non-Guix[SD] legacy distros/environments. Thanks, rain1!
|
||||||
** Mescc
|
** Mescc
|
||||||
*** Mescc now compiles a modified tinycc into a running [mostly segfaulting] tcc.mes.
|
*** Mescc now compiles a modified tinycc into a running [mostly segfaulting] mes-tcc.
|
||||||
https://gitlab.com/janneke/tinycc branch wip-mescc.
|
https://gitlab.com/janneke/tinycc branch wip-mescc.
|
||||||
*** Mescc now supports locals stack frame larger than 1 byte offset.
|
*** Mescc now supports locals stack frame larger than 1 byte offset.
|
||||||
*** Mescc now supports incomplete struct initializers {0}.
|
*** Mescc now supports incomplete struct initializers {0}.
|
||||||
|
@ -31,7 +69,7 @@ https://gitlab.com/janneke/tinycc branch wip-mescc.
|
||||||
*** Mescc now supports stdarg variable argument lists.
|
*** Mescc now supports stdarg variable argument lists.
|
||||||
*** Mescc now has __GNUC__ unset, #f (WAS: 0).
|
*** Mescc now has __GNUC__ unset, #f (WAS: 0).
|
||||||
*** Mescc now depends on Nyacc 0.80.3.
|
*** Mescc now depends on Nyacc 0.80.3.
|
||||||
*** Mescc now depends on M1 from [[https://github.com/oriansj/MESCC_Tools][MESCC_Tools]] v0.2.
|
*** Mescc now depends on M1 from [[https://github.com/oriansj/mescc-tools][mescc-tools]] v0.2.
|
||||||
*** Mescc now compiles to M1 object files.
|
*** Mescc now compiles to M1 object files.
|
||||||
**** 7 new mlibc functions
|
**** 7 new mlibc functions
|
||||||
calloc, close, getcwd, lseek, sprintf, unlink, vprintf.
|
calloc, close, getcwd, lseek, sprintf, unlink, vprintf.
|
||||||
|
@ -48,7 +86,7 @@ stdnoreturn.h, sys/select.h, sys/wait.h.
|
||||||
* Changes in 0.8 since 0.7
|
* Changes in 0.8 since 0.7
|
||||||
** Mescc
|
** Mescc
|
||||||
*** Mescc now has experimental annotation support for hex2.
|
*** Mescc now has experimental annotation support for hex2.
|
||||||
*** Mescc now depends on the hex2 linker from [[https://github.com/oriansj/MESCC_Tools][MESCC_Tools]].
|
*** Mescc now depends on the hex2 linker from [[https://github.com/oriansj/mescc-tools][mescc-tools]].
|
||||||
Direct ELF output support has been removed.
|
Direct ELF output support has been removed.
|
||||||
ELF symbol and string table creation has been removed.
|
ELF symbol and string table creation has been removed.
|
||||||
*** Mescc has been simplified by leveraging use labels in hex2 output.
|
*** Mescc has been simplified by leveraging use labels in hex2 output.
|
||||||
|
@ -139,7 +177,7 @@ open-input-string, read-string, string-delete, with-throw-handler.
|
||||||
*** Evaluate arguments of OR only once.
|
*** Evaluate arguments of OR only once.
|
||||||
*** Fix assq-set!
|
*** Fix assq-set!
|
||||||
*** Fix ,expand in the REPL.
|
*** Fix ,expand in the REPL.
|
||||||
|
|
||||||
* Changes in 0.4 since 0.3
|
* Changes in 0.4 since 0.3
|
||||||
** Core
|
** Core
|
||||||
*** Improved performance.
|
*** Improved performance.
|
||||||
|
@ -225,7 +263,7 @@ algorithm has been implemented.
|
||||||
*** Make+Bash voodoo has been replaced by build-aux/mes-snarf.scm.
|
*** Make+Bash voodoo has been replaced by build-aux/mes-snarf.scm.
|
||||||
*** Apply now accepts multiple list arguments.
|
*** Apply now accepts multiple list arguments.
|
||||||
*** Apply of character, inernal, number, string is an error.
|
*** Apply of character, inernal, number, string is an error.
|
||||||
*** Quasisyntax reading
|
*** Quasisyntax reading
|
||||||
|
|
||||||
* Changes in 0.1 (since progress report #2)
|
* Changes in 0.1 (since progress report #2)
|
||||||
** Core
|
** Core
|
||||||
|
|
96
doc/ANNOUNCE-0.10
Normal file
96
doc/ANNOUNCE-0.10
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
Subject: Mes 0.10 released
|
||||||
|
|
||||||
|
I am pleased to announce the release of Mes 0.10, representing 82
|
||||||
|
commits over 6 weeks. Mescc now compiles a bootstrappable-modified
|
||||||
|
TinyCC into a mes-tcc that in turn can successfully compile a trivial
|
||||||
|
C program.
|
||||||
|
|
||||||
|
* About
|
||||||
|
|
||||||
|
Mes[0] aims to create full source bootstrapping for GuixSD[1] as
|
||||||
|
part of the bootstrappable builds[2] project.
|
||||||
|
|
||||||
|
It currently consists of a mutual self-hosting [close to Guile-]
|
||||||
|
Scheme interpreter prototype in C and a Nyacc-based C compiler in
|
||||||
|
[Guile] Scheme. This C prototype will be rewritten in stage0[3]
|
||||||
|
M1 assembly (or possibly stage2 slow-LISP, or ...).
|
||||||
|
|
||||||
|
The Scheme interpreter prototype (mes.c) has a Garbage Collector,
|
||||||
|
a library of loadable Scheme modules-- notably Dominique Boucher's
|
||||||
|
LALR[4], Pre-R6RS portable syntax-case[5] with R7RS ellipsis, Matt
|
||||||
|
Wette's Nyacc[6], Guile's PEG[7] --and test suite just barely
|
||||||
|
enough to support a simple REPL (repl.mes) and simple C-compiler
|
||||||
|
(mescc.mes).
|
||||||
|
|
||||||
|
The simple C compiler can compile a modified TinyCC[8] that is
|
||||||
|
starting to work! A gcc-compiled tcc is known[9] to compile GCC.
|
||||||
|
|
||||||
|
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[10]
|
||||||
|
-- John McCarthy page 13, GNU Guix's source/binary packaging
|
||||||
|
transparency and Jeremiah Orians's stage0 ~300 byte self-hosting
|
||||||
|
hex assembler.
|
||||||
|
|
||||||
|
* Download
|
||||||
|
|
||||||
|
git clone https://gitlab.com/janneke/mes
|
||||||
|
|
||||||
|
wget https://gitlab.com/janneke/mes/repository/archive.tar.gz?ref=v0.10 -O mes-0.10.tar.gz
|
||||||
|
|
||||||
|
Mes runs from the source tree and can also be built, packaged and
|
||||||
|
installed in Guix[SD] by the usual
|
||||||
|
|
||||||
|
guix package -f guix.scm
|
||||||
|
|
||||||
|
* Changes in 0.10 since 0.9
|
||||||
|
** Core
|
||||||
|
*** 2 new functions
|
||||||
|
logand, lognot.
|
||||||
|
** Mescc
|
||||||
|
*** Mes now includes M1 sources for full source bootstrapping up to tcc.
|
||||||
|
*** Mescc now depends on Nyacc 0.81.0.
|
||||||
|
*** Mescc now compiles a mes-tcc that compiles a trivial C to a running a.out.
|
||||||
|
*** Mescc now supports several (as used my tinycc) struct by value assignments.
|
||||||
|
*** Mescc now has _start in a separate crt1.c.
|
||||||
|
*** Mescc now supports initializer arithmetic.
|
||||||
|
*** Mescc now supports arrays of struct of arbitrary size.
|
||||||
|
*** Mescc now supports pointer arithmetic.
|
||||||
|
*** Mescc now defines __i386__, __linux__.
|
||||||
|
*** Mescc now supports --*p, ++*p.
|
||||||
|
*** Mescc now supports int foo[bar] = {baz,...}.
|
||||||
|
*** Mescc now supports \x00 in strings in M1.
|
||||||
|
*** Mescc now supports complex enum expressions. Thanks, rain1!
|
||||||
|
*** Mescc now supports short.
|
||||||
|
*** Mescc now supports foo.bar = foo.baz = bla.
|
||||||
|
*** Mescc now supports foo = bar < baz and comparison permutations.
|
||||||
|
*** Mescc now supports (anonymous) structs in unions.
|
||||||
|
*** Mescc now writes M1 strings if possible.
|
||||||
|
**** 2 improved mlibc functions
|
||||||
|
malloc, realloc.
|
||||||
|
**** 13 new mlibc functions
|
||||||
|
fclose, fgetc, fprintf, fwrite, memcpy, memmove, memset, snprintf, strcat,
|
||||||
|
strchr, strrchr, strtoull, vnsprintf.
|
||||||
|
**** 15 new tinycc-support tests
|
||||||
|
76-pointer-arithmetic.c, 77-pointer-assign.c, 78-union-struct.c,
|
||||||
|
79-int-array.c, 7a-struct-char-array.c, 7b-struct-int-array.c,
|
||||||
|
7c-dynarray.c, 7d-cast-char.c, 7e-struct-array-access.c,
|
||||||
|
7f-struct-pointer-arithmetic.c, 7g-struct-byte-word-field.c,
|
||||||
|
7h-struct-assign.c, 7i-struct-struct.c, 7j-strtoull.c,
|
||||||
|
7k-for-each-elem.c.
|
||||||
|
** Noteworthy bug fixes
|
||||||
|
*** Mescc has many fixes for foo.bar[baz], foo[bar].baz with ./-> permutations.
|
||||||
|
*** Many bugs and limitations in mescc have been fixed and removed.
|
||||||
|
|
||||||
|
Greetings,
|
||||||
|
janneke
|
||||||
|
|
||||||
|
[0] https://gitlab.com/janneke/mes
|
||||||
|
[1] https://www.gnu.org/software/guix
|
||||||
|
[2] http://bootstrappable.org
|
||||||
|
[3] https://github.com/oriansj/stage0
|
||||||
|
[4] https://github.com/schemeway/lalr-scm
|
||||||
|
[5] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||||
|
[6] https://www.nongnu.org/nyacc/
|
||||||
|
[7] https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html
|
||||||
|
[8] https://gitlab.com/janneke/tinycc
|
||||||
|
[9] https://lists.gnu.org/archive/html/tinycc-devel/2017-05/msg00103.html
|
||||||
|
[10] http://www.softwarepreservation.org/projects/LISP/book/LISP%25201.5%2520Programmers%2520Manual.pdf
|
3
make.scm
3
make.scm
|
@ -636,12 +636,13 @@ exec ${GUILE-guile} --no-auto-compile -L . -L guile -C . -C guile -s "$0" ${1+"$
|
||||||
(compose add-target (cut install <> #:dir "share/doc/mes"))
|
(compose add-target (cut install <> #:dir "share/doc/mes"))
|
||||||
'("AUTHORS"
|
'("AUTHORS"
|
||||||
;;"ChangeLog"
|
;;"ChangeLog"
|
||||||
|
"BOOTSTRAP"
|
||||||
"COPYING"
|
"COPYING"
|
||||||
"HACKING"
|
"HACKING"
|
||||||
"INSTALL"
|
"INSTALL"
|
||||||
"NEWS"
|
"NEWS"
|
||||||
"README"
|
"README"
|
||||||
"doc/ANNOUNCE-0.9"))
|
"doc/ANNOUNCE-0.10"))
|
||||||
|
|
||||||
(add-target (install "doc/fosdem/fosdem.pdf" #:dir "share/doc/mes"))
|
(add-target (install "doc/fosdem/fosdem.pdf" #:dir "share/doc/mes"))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue