From 5a369dc783d83355a0f1c735777ccd9e04f74342 Mon Sep 17 00:00:00 2001 From: fosslinux Date: Wed, 20 Jan 2021 12:43:40 +1100 Subject: [PATCH] Restructure --- .gitmodules | 38 +++--- DEVEL.md | 45 +++++++ rootfs.sh | 64 ++++------ sources/.placeholder | 0 sysa/after.kaem | 2 + sysa/after.kaem.run | 118 ++++++++++-------- sysa/bash-2.05b.kaem | 31 ----- sysa/bash-2.05b/bash-2.05b.kaem | 38 ++++++ sysa/bash-2.05b/build/.placeholder | 0 .../mk/builtins.mk} | 0 .../mk/common.mk} | 0 sysa/{bash-2.05b.mk => bash-2.05b/mk/main.mk} | 0 .../patches}/dev-tty.patch | 0 .../patches}/extern.patch | 0 .../patches}/locale.patch | 0 .../patches}/mes-libc.patch | 0 .../patches}/missing-defines.patch | 0 .../patches}/tinycc.patch | 0 sysa/bash-2.05b/src/.placeholder | 0 sysa/{ => blynn-compiler}/blynn-compiler.kaem | 9 +- .../src} | 0 bootstrap-seeds => sysa/bootstrap-seeds | 0 sysa/bzip2-1.0.8.kaem | 13 -- sysa/bzip2-1.0.8/build/.placeholder | 0 sysa/bzip2-1.0.8/bzip2-1.0.8.kaem | 26 ++++ .../patches/coreutils.patch} | 27 ---- sysa/bzip2-1.0.8/patches/mes-libc.patch | 23 ++++ sysa/bzip2-1.0.8/src/.placeholder | 0 sysa/diffutils-2.7/build/.placeholder | 0 sysa/{ => diffutils-2.7}/diffutils-2.7.kaem | 10 +- sysa/diffutils-2.7/src/.placeholder | 0 sysa/gzip-1.2.4/build/.placeholder | 0 sysa/{ => gzip-1.2.4}/gzip-1.2.4.kaem | 17 ++- sysa/gzip-1.2.4/src/.placeholder | 0 sysa/m4-1.4.kaem | 14 --- sysa/m4-1.4/build/.placeholder | 0 sysa/m4-1.4/m4-1.4.kaem | 26 ++++ sysa/{m4-1.4.mk => m4-1.4/mk/main.mk} | 0 .../patches/signal-include.patch} | 0 sysa/m4-1.4/src/.placeholder | 0 sysa/make-3.80/build/.placeholder | 0 sysa/{ => make-3.80}/make-3.80.kaem | 13 +- .../patches}/mes-libc.patch | 0 sysa/make-3.80/src/.placeholder | 0 sysa/{mes-files => mes/files}/config.h | 0 sysa/{mes-files => mes/files}/mescc.scm | 0 sysa/{ => mes}/mes.kaem | 20 +-- sysa/{ => mes/src}/mes | 0 sysa/{ => mes/src}/nyacc | 0 .../{go.kaem => mescc-tools-extra.kaem} | 9 +- sysa/mescc-tools-extra/{ => src}/chmod.c | 0 sysa/mescc-tools-extra/{ => src}/cp.c | 0 .../{ => src}/functions/file_print.c | 0 .../{ => src}/functions/in_set.c | 0 .../{ => src}/functions/match.c | 0 .../{ => src}/functions/numerate_number.c | 0 .../{ => src}/functions/require.c | 0 .../{ => src}/functions/string.c | 0 sysa/mescc-tools-patched | 1 - sysa/mescc-tools-seed/src/mescc-tools-patched | 1 + .../src}/mescc-tools-seed | 0 sysa/patch-2.5.9/build/.placeholder | 0 sysa/{ => patch-2.5.9}/patch-2.5.9.kaem | 10 +- sysa/patch-2.5.9/src/.placeholder | 0 sysa/{ => sed-4.0.7}/sed-4.0.7.kaem | 6 +- sysa/{sed-4.0.7 => sed-4.0.7/src} | 0 sysa/tar-1.12/src/.placeholder | 0 sysa/{ => tar-1.12}/tar-1.12.kaem | 5 +- sysa/tcc-0.9.26/src/mes-libc | 1 + sysa/{ => tcc-0.9.26/src}/tcc-0.9.26 | 0 sysa/{tcc.kaem => tcc-0.9.26/tcc-0.9.26.kaem} | 77 ++---------- sysa/tcc-0.9.27/build/.placeholder | 0 .../patches}/static-link.patch | 0 sysa/tcc-0.9.27/src/mes-libc | 1 + sysa/{ => tcc-0.9.27/src}/tcc-0.9.27 | 0 sysa/tcc-0.9.27/tcc-0.9.27.kaem | 58 +++++++++ sysa/{ => tcc-0.9.27}/tcc-patched.kaem | 11 +- 77 files changed, 419 insertions(+), 295 deletions(-) create mode 100644 DEVEL.md create mode 100644 sources/.placeholder delete mode 100755 sysa/bash-2.05b.kaem create mode 100755 sysa/bash-2.05b/bash-2.05b.kaem create mode 100644 sysa/bash-2.05b/build/.placeholder rename sysa/{bash-2.05b-builtins.mk => bash-2.05b/mk/builtins.mk} (100%) rename sysa/{bash-2.05b-common.mk => bash-2.05b/mk/common.mk} (100%) rename sysa/{bash-2.05b.mk => bash-2.05b/mk/main.mk} (100%) rename sysa/{patches/bash-2.05b => bash-2.05b/patches}/dev-tty.patch (100%) rename sysa/{patches/bash-2.05b => bash-2.05b/patches}/extern.patch (100%) rename sysa/{patches/bash-2.05b => bash-2.05b/patches}/locale.patch (100%) rename sysa/{patches/bash-2.05b => bash-2.05b/patches}/mes-libc.patch (100%) rename sysa/{patches/bash-2.05b => bash-2.05b/patches}/missing-defines.patch (100%) rename sysa/{patches/bash-2.05b => bash-2.05b/patches}/tinycc.patch (100%) create mode 100644 sysa/bash-2.05b/src/.placeholder rename sysa/{ => blynn-compiler}/blynn-compiler.kaem (98%) rename sysa/{blynn-compiler-oriansj => blynn-compiler/src} (100%) rename bootstrap-seeds => sysa/bootstrap-seeds (100%) delete mode 100644 sysa/bzip2-1.0.8.kaem create mode 100644 sysa/bzip2-1.0.8/build/.placeholder create mode 100755 sysa/bzip2-1.0.8/bzip2-1.0.8.kaem rename sysa/{patches/bzip2-1.0.8/bzip2-1.0.8.patch => bzip2-1.0.8/patches/coreutils.patch} (51%) create mode 100644 sysa/bzip2-1.0.8/patches/mes-libc.patch create mode 100644 sysa/bzip2-1.0.8/src/.placeholder create mode 100644 sysa/diffutils-2.7/build/.placeholder rename sysa/{ => diffutils-2.7}/diffutils-2.7.kaem (89%) create mode 100644 sysa/diffutils-2.7/src/.placeholder create mode 100644 sysa/gzip-1.2.4/build/.placeholder rename sysa/{ => gzip-1.2.4}/gzip-1.2.4.kaem (89%) create mode 100644 sysa/gzip-1.2.4/src/.placeholder delete mode 100644 sysa/m4-1.4.kaem create mode 100644 sysa/m4-1.4/build/.placeholder create mode 100755 sysa/m4-1.4/m4-1.4.kaem rename sysa/{m4-1.4.mk => m4-1.4/mk/main.mk} (100%) rename sysa/{patches/m4-1.4/m4-signal-include.patch => m4-1.4/patches/signal-include.patch} (100%) create mode 100644 sysa/m4-1.4/src/.placeholder create mode 100644 sysa/make-3.80/build/.placeholder rename sysa/{ => make-3.80}/make-3.80.kaem (93%) rename sysa/{patches/make-3.80 => make-3.80/patches}/mes-libc.patch (100%) create mode 100644 sysa/make-3.80/src/.placeholder rename sysa/{mes-files => mes/files}/config.h (100%) rename sysa/{mes-files => mes/files}/mescc.scm (100%) rename sysa/{ => mes}/mes.kaem (98%) rename sysa/{ => mes/src}/mes (100%) rename sysa/{ => mes/src}/nyacc (100%) rename sysa/mescc-tools-extra/{go.kaem => mescc-tools-extra.kaem} (97%) mode change 100644 => 100755 rename sysa/mescc-tools-extra/{ => src}/chmod.c (100%) rename sysa/mescc-tools-extra/{ => src}/cp.c (100%) rename sysa/mescc-tools-extra/{ => src}/functions/file_print.c (100%) rename sysa/mescc-tools-extra/{ => src}/functions/in_set.c (100%) rename sysa/mescc-tools-extra/{ => src}/functions/match.c (100%) rename sysa/mescc-tools-extra/{ => src}/functions/numerate_number.c (100%) rename sysa/mescc-tools-extra/{ => src}/functions/require.c (100%) rename sysa/mescc-tools-extra/{ => src}/functions/string.c (100%) delete mode 160000 sysa/mescc-tools-patched create mode 160000 sysa/mescc-tools-seed/src/mescc-tools-patched rename sysa/{ => mescc-tools-seed/src}/mescc-tools-seed (100%) create mode 100644 sysa/patch-2.5.9/build/.placeholder rename sysa/{ => patch-2.5.9}/patch-2.5.9.kaem (93%) create mode 100644 sysa/patch-2.5.9/src/.placeholder rename sysa/{ => sed-4.0.7}/sed-4.0.7.kaem (95%) rename sysa/{sed-4.0.7 => sed-4.0.7/src} (100%) create mode 100644 sysa/tar-1.12/src/.placeholder rename sysa/{ => tar-1.12}/tar-1.12.kaem (98%) create mode 160000 sysa/tcc-0.9.26/src/mes-libc rename sysa/{ => tcc-0.9.26/src}/tcc-0.9.26 (100%) rename sysa/{tcc.kaem => tcc-0.9.26/tcc-0.9.26.kaem} (90%) create mode 100644 sysa/tcc-0.9.27/build/.placeholder rename sysa/{patches/tcc => tcc-0.9.27/patches}/static-link.patch (100%) create mode 160000 sysa/tcc-0.9.27/src/mes-libc rename sysa/{ => tcc-0.9.27/src}/tcc-0.9.27 (100%) create mode 100755 sysa/tcc-0.9.27/tcc-0.9.27.kaem rename sysa/{ => tcc-0.9.27}/tcc-patched.kaem (83%) diff --git a/.gitmodules b/.gitmodules index e91e301..1e45b78 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,27 +1,33 @@ -[submodule "mescc-tools-seed"] - path = sysa/mescc-tools-seed +[submodule "sysa/mescc-tools-seed/src/mescc-tools-seed"] + path = sysa/mescc-tools-seed/src/mescc-tools-seed url = https://github.com/oriansj/mescc-tools-seed/ [submodule "bootstrap-seeds"] - path = bootstrap-seeds + path = sysa/bootstrap-seeds url = https://github.com/oriansj/bootstrap-seeds -[submodule "blynn-compiler-oriansj"] - path = sysa/blynn-compiler-oriansj +[submodule "sysa/blynn-compiler/src"] + path = sysa/blynn-compiler/src url = https://github.com/oriansj/blynn-compiler -[submodule "sysa/mes"] - path = sysa/mes +[submodule "sysa/mes/src/mes"] + path = sysa/mes/src/mes url = https://gitlab.com/janneke/mes.git -[submodule "sysa/nyacc"] - path = sysa/nyacc +[submodule "sysa/mes/src/nyacc"] + path = sysa/mes/src/nyacc url = https://git.savannah.gnu.org/git/nyacc.git -[submodule "sysa/tcc-0.9.26p1"] - path = sysa/tcc-0.9.26 +[submodule "sysa/tcc-0.9.26/src/tcc-0.9.26"] + path = sysa/tcc-0.9.26/src/tcc-0.9.26 url = https://gitlab.com/janneke/tinycc [submodule "sysa/mescc-tools-patched"] - path = sysa/mescc-tools-patched + path = sysa/mescc-tools-seed/src/mescc-tools-patched url = https://github.com/oriansj/mescc-tools -[submodule "sysa/tcc-0.9.27"] - path = sysa/tcc-0.9.27 +[submodule "sysa/tcc-0.9.27/src/tcc-0.9.27"] + path = sysa/tcc-0.9.27/src/tcc-0.9.27 url = git://repo.or.cz/tinycc.git -[submodule "sysa/sed-4.0.7"] - path = sysa/sed-4.0.7 +[submodule "sysa/sed-4.0.7/src"] + path = sysa/sed-4.0.7/src url = https://git.savannah.gnu.org/git/sed/sed-history.git +[submodule "sysa/tcc-0.9.26/src/mes-libc"] + path = sysa/tcc-0.9.26/src/mes-libc + url = https://gitlab.com/janneke/mes +[submodule "sysa/tcc-0.9.27/src/mes-libc"] + path = sysa/tcc-0.9.27/src/mes-libc + url = https://gitlab.com/janneke/mes diff --git a/DEVEL.md b/DEVEL.md new file mode 100644 index 0000000..fdd4700 --- /dev/null +++ b/DEVEL.md @@ -0,0 +1,45 @@ +# Development Guidelines + +## Testing + +Before making a PR, please test your change locally. It is OK to develop outside +of the live environment, but please be sure to test inside the live environment +and that a full build completes. + +## Structure + +Each system corresponds to a reboot of the live environment. There is only one +appropriate structure as shown below (eg for sysa): + +``` +sysa +├── any-global-files.sh +├── somepackage-version +│   ├── somepackage-version.kaem (or .sh) +│   ├── files +│   ├── mk +│   ├── patches +│   └── src +└── tmp +``` + +Global scripts that drive the entire system go directly under `sysx`. `tmp` +contains the temporary system used for QEMU or a chroot. + +Then, each package is in its own specific directory, named `package-version`. +Within that, there must be a driving script, labelled either +`package-version.kaem` when driven by kaem or `package-version.sh` when driven +by a shell (normally bash). + +In this folder, there are other folders. `src` is required, others are optional. +Permissable folders: + +- `files`: auxiliary files required for the build distributed by live-bootstrap. +- `mk`: makefiles. +- `patches`: patches for the source. +- `src`: the upstream unmodified source code. This must be either: + - a submodule + - a folder contianing only `.placeholder` as distributed by git and gitignored, + where the tarball is saved to in rootfs.sh. (The gitignore is already + global, so the first time it is created with `.placeholder` it must be git + added with `-f`). diff --git a/rootfs.sh b/rootfs.sh index 43bad6d..ba717d5 100755 --- a/rootfs.sh +++ b/rootfs.sh @@ -14,13 +14,13 @@ sudo mount -t tmpfs -o size=8G tmpfs tmp # base: mescc-tools-seed # copy in all the mescc-tools-seed stuff -cp -r mescc-tools-seed/x86/* tmp -cp -r mescc-tools-seed/{M2-Planet,mes-m2} tmp/ -cp -r mescc-tools-patched tmp/mescc-tools +cp -r mescc-tools-seed/src/mescc-tools-seed/x86/* tmp +cp -r mescc-tools-seed/src/mescc-tools-seed/{M2-Planet,mes-m2} tmp/ +cp -r mescc-tools-seed/src/mescc-tools-patched tmp/mescc-tools # and the kaem seed -cp ../bootstrap-seeds/POSIX/x86/kaem-optional-seed tmp/init -cp ../bootstrap-seeds/POSIX/x86/kaem-optional-seed tmp/ -cp -r ../bootstrap-seeds tmp/ +cp bootstrap-seeds/POSIX/x86/kaem-optional-seed tmp/init +cp bootstrap-seeds/POSIX/x86/kaem-optional-seed tmp/ +cp -r bootstrap-seeds tmp/ # replace the init kaem with our own custom one mv tmp/kaem.run tmp/mescc-tools-seed.kaem.run cp base.kaem.run tmp/kaem.run @@ -40,49 +40,34 @@ mkdir -p tmp/tmp cp after.kaem tmp/ cp after.kaem.run tmp/after/kaem.run -# Copy in all of the patches -cp -r patches tmp/after/ - # mescc-tools-extra cp -r mescc-tools-extra tmp/after/ # blynn-compiler -pushd tmp/after -git clone ../../blynn-compiler-oriansj blynn-compiler -cp ../../blynn-compiler.kaem blynn-compiler/go.kaem -mkdir -p blynn-compiler/{bin,generated} -popd +cp -r blynn-compiler tmp/after/ +mkdir -p tmp/after/blynn-compiler/src/{bin,generated} # mes cp -r mes tmp/after/ -cp -r mes tmp/after/tcc-mes -ln -s lib/x86-mes tmp/after/mes/x86-mes -cp -r nyacc tmp/after/ -cp mes.kaem tmp/after/ -cp mes-files/mescc.scm tmp/after/bin/ -cp mes-files/config.h tmp/after/mes/include/mes/ -cp mes-files/config.h tmp/after/tcc-mes/include/mes/ -mkdir -p tmp/after/mes/{bin,m2} +#ln -s lib/x86-mes tmp/after/mes/src/mes/x86-mes +mkdir -p tmp/after/mes/src/mes/{bin,m2} -# tcc -cp tcc.kaem tmp/after/ +# tcc 0.9.26 cp -r tcc-0.9.26 tmp/after/ -cp -r tcc-0.9.27 tmp/after/ -pushd tmp/after/tcc-0.9.26 +pushd tmp/after/tcc-0.9.26/src/tcc-0.9.26 ln -s ../mes/module . ln -s ../mes/mes . ln -s /after/lib x86-mes ln -s /after/lib/linux . popd -mkdir -p ../sources +# tcc 0.9.27 +cp -r tcc-0.9.27 tmp/after/ # sed 4.0.7 -cp sed-4.0.7.kaem tmp/after/ cp -r sed-4.0.7 tmp/after/ -# tcc patched -cp tcc-patched.kaem tmp/after/ +mkdir -p ../sources # tar 1.12 url=https://ftp.gnu.org/gnu/tar/tar-1.12.tar.gz @@ -91,8 +76,8 @@ if [ ! -f "$(basename $url)" ]; then wget "$url" fi popd -cp "$(basename $url .tar.gz).kaem" tmp/after -tar -C tmp/after -xf "../sources/$(basename $url)" +cp -r tar-1.12 tmp/after +tar -C tmp/after/tar-1.12/src -xf "../sources/$(basename $url)" --strip-components=1 get_file() { url=$1 @@ -103,16 +88,12 @@ get_file() { popd ext="${url##*.}" if [ "$ext" = "tar" ]; then - bname=$(basename "$url" ".tar") + bname=$(basename "$url" ".tar") else - bname=$(basename "$url" ".tar.${ext}") + bname=$(basename "$url" ".tar.${ext}") fi - for file in "${bname}."*; do - if [ -f "${file}" ]; then - cp "${file}" tmp/after - fi - done - cp "../sources/$(basename "$url")" tmp/after + cp -r "${bname}" tmp/after/ + cp "../sources/$(basename "$url")" "tmp/after/${bname}/src/" } # gzip 1.2.4 @@ -124,9 +105,6 @@ get_file https://ftp.gnu.org/gnu/diffutils/diffutils-2.7.tar.gz # patch 2.5.9 get_file https://ftp.gnu.org/pub/gnu/patch/patch-2.5.9.tar.gz -# patched tcc -cp tcc-patched.kaem tmp/after/ - # make 3.80 get_file https://ftp.gnu.org/gnu/make/make-3.80.tar.gz diff --git a/sources/.placeholder b/sources/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/after.kaem b/sysa/after.kaem index dbcf722..df50883 100755 --- a/sysa/after.kaem +++ b/sysa/after.kaem @@ -18,5 +18,7 @@ cd after +PATH=/after/bin:/bin + # Finally, reinvoke kaem in this directory ../bin/kaem --file kaem.run diff --git a/sysa/after.kaem.run b/sysa/after.kaem.run index 9c2ee43..79bb508 100755 --- a/sysa/after.kaem.run +++ b/sysa/after.kaem.run @@ -20,92 +20,112 @@ set -ex PATH=/after/bin:/bin +# Set commonly used variables +prefix=/after +bindir=${prefix}/bin +libdir=${prefix}/lib +incdir=${prefix}/include +MES_PREFIX=${prefix}/mes/src/mes +GUILE_LOAD_PATH=${prefix}/mes/src/nyacc/module:${prefix}/mes/src/mes/mes/module:${prefix}/mes/src/mes/module + # Part 2: cp and chown (mescc-tools-extra) -cd mescc-tools-extra -kaem --file go.kaem +pkg="mescc-tools-extra" +cd ${pkg} +kaem --file ${pkg}.kaem cd .. # Part 3: Remove remaining dependencies on / (root of /after) -/after/bin/cp ../bin/hex2 bin/hex2 -/after/bin/cp ../bin/M1 bin/M1 -/after/bin/cp ../bin/M2-Planet bin/M2-Planet -/after/bin/cp ../bin/blood-elf bin/blood-elf -/after/bin/cp ../bin/get_machine bin/get_machine -/after/bin/cp ../bin/mes-m2 bin/mes-m2 -/after/bin/cp ../bin/kaem bin/kaem -/after/bin/cp ../catm bin/catm -/after/bin/chmod 755 bin/hex2 bin/M1 bin/M2-Planet bin/blood-elf \ +cp ../bin/hex2 bin/hex2 +cp ../bin/M1 bin/M1 +cp ../bin/M2-Planet bin/M2-Planet +cp ../bin/blood-elf bin/blood-elf +cp ../bin/get_machine bin/get_machine +cp ../bin/mes-m2 bin/mes-m2 +cp ../bin/kaem bin/kaem +cp ../catm bin/catm +chmod 755 bin/hex2 bin/M1 bin/M2-Planet bin/blood-elf \ bin/get_machine bin/mes-m2 bin/kaem bin/catm +PATH=/after/bin # Part 4: blynn-compiler -cd blynn-compiler -kaem --file go.kaem +pkg="blynn-compiler" +cd ${pkg} +kaem --file ${pkg}.kaem cd .. # Part 5: mes -kaem --file mes.kaem +pkg="mes" +cd ${pkg} +kaem --file ${pkg}.kaem +cd .. -# Part 6: tcc -kaem --file tcc.kaem +# Part 6: tcc 0.9.26 +pkg="tcc-0.9.26" +cd ${pkg} +kaem --file ${pkg}.kaem +cd .. -# Part 7: sed -cd sed-4.0.7 -kaem --file ../sed-4.0.7.kaem +# Part 7: tcc 0.9.27 +pkg="tcc-0.9.27" +cd ${pkg} +kaem --file ${pkg}.kaem +cd .. + +# Part 8: sed +pkg="sed-4.0.7" +cd ${pkg} +kaem --file ${pkg}.kaem cd .. # Part 8: tar -cd tar-1.12 -kaem --file ../tar-1.12.kaem +pkg="tar-1.12" +cd ${pkg} +kaem --file ${pkg}.kaem cd .. # Part 9: gzip -/after/bin/tar xf gzip-1.2.4.tar -cd gzip-1.2.4 -kaem --file ../gzip-1.2.4.kaem +pkg="gzip-1.2.4" +cd ${pkg} +kaem --file ${pkg}.kaem cd .. # Part 10: diffutils -/after/bin/gunzip diffutils-2.7.tar.gz -/after/bin/tar xf diffutils-2.7.tar -cd diffutils-2.7 -kaem --file ../diffutils-2.7.kaem +pkg="diffutils-2.7" +cd ${pkg} +kaem --file ${pkg}.kaem cd .. # Part 11: patch -/after/bin/gunzip patch-2.5.9.tar.gz -/after/bin/tar xf patch-2.5.9.tar -cd patch-2.5.9 -kaem --file ../patch-2.5.9.kaem +pkg="patch-2.5.9" +cd ${pkg} +kaem --file ${pkg}.kaem cd .. # Part 12: tcc-patched cd tcc-0.9.27 -kaem --file ../tcc-patched.kaem +kaem --file tcc-patched.kaem cd .. # Part 13: make -/after/bin/gunzip make-3.80.tar.gz -/after/bin/tar xf make-3.80.tar -cd make-3.80 -kaem --file ../make-3.80.kaem +pkg="make-3.80" +cd ${pkg} +kaem --file ${pkg}.kaem cd .. # Part 14: bzip2 -/after/bin/gunzip bzip2-1.0.8.tar.gz -/after/bin/tar xf bzip2-1.0.8.tar -cd bzip2-1.0.8 -kaem --file ../bzip2-1.0.8.kaem +pkg="bzip2-1.0.8" +cd ${pkg} +kaem --file ${pkg}.kaem cd .. # Part 15: bash -/after/bin/gunzip bash-2.05b.tar.gz -/after/bin/tar xf bash-2.05b.tar -cd bash-2.05b -kaem --file ../bash-2.05b.kaem +pkg="bash-2.05b" +cd ${pkg} +kaem --file ${pkg}.kaem cd .. # Part 16: m4 -/after/bin/gunzip m4-1.4.tar.gz -/after/bin/tar xf m4-1.4.tar -cd m4-1.4 -kaem --file ../m4-1.4.kaem +pkg="m4-1.4" +cd ${pkg} +kaem --file ${pkg}.kaem +cd .. diff --git a/sysa/bash-2.05b.kaem b/sysa/bash-2.05b.kaem deleted file mode 100755 index 2daf28c..0000000 --- a/sysa/bash-2.05b.kaem +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh - -set -ex - -# Variables -bindir=/after/bin - -catm config.h -catm include/version.h -catm include/pipesize.h - -# Patch -patch -Np0 -i ../patches/bash-2.05b/mes-libc.patch -patch -Np0 -i ../patches/bash-2.05b/tinycc.patch -patch -Np0 -i ../patches/bash-2.05b/missing-defines.patch -patch -Np0 -i ../patches/bash-2.05b/locale.patch -patch -Np0 -i ../patches/bash-2.05b/dev-tty.patch - -# Compile -cp ../bash-2.05b.mk Makefile -cp ../bash-2.05b-builtins.mk builtins/Makefile -cp ../bash-2.05b-common.mk common.mk -make mkbuiltins -cd builtins -make libbuiltins.a -cd .. -make - -# Install -cp bash /after/bin/ -chmod 755 /after/bin/bash diff --git a/sysa/bash-2.05b/bash-2.05b.kaem b/sysa/bash-2.05b/bash-2.05b.kaem new file mode 100755 index 0000000..13a00d6 --- /dev/null +++ b/sysa/bash-2.05b/bash-2.05b.kaem @@ -0,0 +1,38 @@ +#!/bin/sh + +set -ex + +cd build + +# Extract +gunzip ../src/${pkg}.tar.gz +tar xf ../src/${pkg}.tar +cd ${pkg} +cp ../../mk/main.mk Makefile +cp ../../mk/builtins.mk builtins/Makefile +cp ../../mk/common.mk common.mk + +# Create various .h files +catm config.h +catm include/version.h +catm include/pipesize.h + +# Patch +patch -Np0 -i ../../patches/mes-libc.patch +patch -Np0 -i ../../patches/tinycc.patch +patch -Np0 -i ../../patches/missing-defines.patch +patch -Np0 -i ../../patches/locale.patch +patch -Np0 -i ../../patches/dev-tty.patch + +# Compile +make mkbuiltins +cd builtins +make libbuiltins.a +cd .. +make + +# Install +cp bash /after/bin/ +chmod 755 /after/bin/bash + +cd ../.. diff --git a/sysa/bash-2.05b/build/.placeholder b/sysa/bash-2.05b/build/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/bash-2.05b-builtins.mk b/sysa/bash-2.05b/mk/builtins.mk similarity index 100% rename from sysa/bash-2.05b-builtins.mk rename to sysa/bash-2.05b/mk/builtins.mk diff --git a/sysa/bash-2.05b-common.mk b/sysa/bash-2.05b/mk/common.mk similarity index 100% rename from sysa/bash-2.05b-common.mk rename to sysa/bash-2.05b/mk/common.mk diff --git a/sysa/bash-2.05b.mk b/sysa/bash-2.05b/mk/main.mk similarity index 100% rename from sysa/bash-2.05b.mk rename to sysa/bash-2.05b/mk/main.mk diff --git a/sysa/patches/bash-2.05b/dev-tty.patch b/sysa/bash-2.05b/patches/dev-tty.patch similarity index 100% rename from sysa/patches/bash-2.05b/dev-tty.patch rename to sysa/bash-2.05b/patches/dev-tty.patch diff --git a/sysa/patches/bash-2.05b/extern.patch b/sysa/bash-2.05b/patches/extern.patch similarity index 100% rename from sysa/patches/bash-2.05b/extern.patch rename to sysa/bash-2.05b/patches/extern.patch diff --git a/sysa/patches/bash-2.05b/locale.patch b/sysa/bash-2.05b/patches/locale.patch similarity index 100% rename from sysa/patches/bash-2.05b/locale.patch rename to sysa/bash-2.05b/patches/locale.patch diff --git a/sysa/patches/bash-2.05b/mes-libc.patch b/sysa/bash-2.05b/patches/mes-libc.patch similarity index 100% rename from sysa/patches/bash-2.05b/mes-libc.patch rename to sysa/bash-2.05b/patches/mes-libc.patch diff --git a/sysa/patches/bash-2.05b/missing-defines.patch b/sysa/bash-2.05b/patches/missing-defines.patch similarity index 100% rename from sysa/patches/bash-2.05b/missing-defines.patch rename to sysa/bash-2.05b/patches/missing-defines.patch diff --git a/sysa/patches/bash-2.05b/tinycc.patch b/sysa/bash-2.05b/patches/tinycc.patch similarity index 100% rename from sysa/patches/bash-2.05b/tinycc.patch rename to sysa/bash-2.05b/patches/tinycc.patch diff --git a/sysa/bash-2.05b/src/.placeholder b/sysa/bash-2.05b/src/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/blynn-compiler.kaem b/sysa/blynn-compiler/blynn-compiler.kaem similarity index 98% rename from sysa/blynn-compiler.kaem rename to sysa/blynn-compiler/blynn-compiler.kaem index 1159a2c..9e8e993 100755 --- a/sysa/blynn-compiler.kaem +++ b/sysa/blynn-compiler/blynn-compiler.kaem @@ -1,6 +1,8 @@ +#!/bin/sh + set -ex -PATH=/bin +cd src # compile pack_blobs.c M2-Planet --architecture x86 \ @@ -246,3 +248,8 @@ hex2 -f test/common_x86/ELF-i386-debug.hex2 \ --architecture x86 \ --BaseAddress 0x8048000 \ -o bin/precisely --exec_enable + +cp bin/precisely ${bindir}/precisely +chmod 755 ${bindir}/precisely + +cd .. diff --git a/sysa/blynn-compiler-oriansj b/sysa/blynn-compiler/src similarity index 100% rename from sysa/blynn-compiler-oriansj rename to sysa/blynn-compiler/src diff --git a/bootstrap-seeds b/sysa/bootstrap-seeds similarity index 100% rename from bootstrap-seeds rename to sysa/bootstrap-seeds diff --git a/sysa/bzip2-1.0.8.kaem b/sysa/bzip2-1.0.8.kaem deleted file mode 100644 index 60d862c..0000000 --- a/sysa/bzip2-1.0.8.kaem +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -set -ex - -/after/bin/patch -Np0 -i ../patches/bzip2-1.0.8/bzip2-1.0.8.patch -/after/bin/make CC=tcc AR="tcc -ar" bzip2 - -# Install -/after/bin/cp bzip2 /after/bin/bzip2 -/after/bin/chmod 755 /after/bin/bzip2 - -# Test -/after/bin/bzip2 --help diff --git a/sysa/bzip2-1.0.8/build/.placeholder b/sysa/bzip2-1.0.8/build/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/bzip2-1.0.8/bzip2-1.0.8.kaem b/sysa/bzip2-1.0.8/bzip2-1.0.8.kaem new file mode 100755 index 0000000..7935c7b --- /dev/null +++ b/sysa/bzip2-1.0.8/bzip2-1.0.8.kaem @@ -0,0 +1,26 @@ +#!/bin/sh + +set -ex + +cd build + +# Extract +gunzip ../src/${pkg}.tar.gz +tar xf ../src/${pkg}.tar +cd ${pkg} + +# Patch +patch -Np0 -i ../../patches/mes-libc.patch +patch -Np0 -i ../../patches/coreutils.patch + +# Build +make CC=tcc AR="tcc -ar" bzip2 + +# Install +cp bzip2 /after/bin/bzip2 +chmod 755 /after/bin/bzip2 + +# Test +bzip2 --help + +cd ../.. diff --git a/sysa/patches/bzip2-1.0.8/bzip2-1.0.8.patch b/sysa/bzip2-1.0.8/patches/coreutils.patch similarity index 51% rename from sysa/patches/bzip2-1.0.8/bzip2-1.0.8.patch rename to sysa/bzip2-1.0.8/patches/coreutils.patch index 4583338..4aa5d41 100644 --- a/sysa/patches/bzip2-1.0.8/bzip2-1.0.8.patch +++ b/sysa/bzip2-1.0.8/patches/coreutils.patch @@ -1,24 +1,3 @@ -diff -r -N -U3 bzip2-1.0.8/bzip2.c bzip2-1.0.8/bzip2.c ---- bzip2.c 2019-07-13 18:50:05.000000000 +0100 -+++ bzip2.c 2021-01-14 14:11:40.160213521 +0000 -@@ -1051,12 +1051,13 @@ - { - # if BZ_UNIX - IntNative retVal; -- struct utimbuf uTimBuf; -+ //struct utimbuf uTimBuf; - -- uTimBuf.actime = fileMetaInfo.st_atime; -- uTimBuf.modtime = fileMetaInfo.st_mtime; -+ //uTimBuf.actime = fileMetaInfo.st_atime; -+ //uTimBuf.modtime = fileMetaInfo.st_mtime; - -- retVal = utime ( dstName, &uTimBuf ); -+ //retVal = utime ( dstName, &uTimBuf ); -+ retVal = 0; - ERROR_IF_NOT_ZERO ( retVal ); - # endif - } diff -r -N -U3 bzip2-1.0.8/Makefile bzip2-1.0.8/Makefile --- Makefile 2019-07-13 18:50:05.000000000 +0100 +++ Makefile 2021-01-14 15:45:17.558516299 +0000 @@ -53,9 +32,3 @@ diff -r -N -U3 bzip2-1.0.8/Makefile bzip2-1.0.8/Makefile $(CC) $(CFLAGS) -c blocksort.c huffman.o: huffman.c $(CC) $(CFLAGS) -c huffman.c -diff -r -N -U3 bzip2-1.0.8/utime.h bzip2-1.0.8/utime.h ---- utime.h 1970-01-01 01:00:00.000000000 +0100 -+++ utime.h 2021-01-14 18:11:11.253825037 +0000 -@@ -0,0 +1,2 @@ -+#define fchown(filedes, owner, group) 0 -+#define fchmod(filedes, mode) 0 diff --git a/sysa/bzip2-1.0.8/patches/mes-libc.patch b/sysa/bzip2-1.0.8/patches/mes-libc.patch new file mode 100644 index 0000000..a33f9e1 --- /dev/null +++ b/sysa/bzip2-1.0.8/patches/mes-libc.patch @@ -0,0 +1,23 @@ +diff -r -N -U3 bzip2-1.0.8/bzip2.c bzip2-1.0.8/bzip2.c +--- bzip2.c 2019-07-13 18:50:05.000000000 +0100 ++++ bzip2.c 2021-01-14 14:11:40.160213521 +0000 +@@ -1051,12 +1051,9 @@ + { + # if BZ_UNIX + IntNative retVal; +- struct utimbuf uTimBuf; + +- uTimBuf.actime = fileMetaInfo.st_atime; +- uTimBuf.modtime = fileMetaInfo.st_mtime; + +- retVal = utime ( dstName, &uTimBuf ); ++ retVal = 0; + ERROR_IF_NOT_ZERO ( retVal ); + # endif + } +diff -r -N -U3 bzip2-1.0.8/utime.h bzip2-1.0.8/utime.h +--- utime.h 1970-01-01 01:00:00.000000000 +0100 ++++ utime.h 2021-01-14 18:11:11.253825037 +0000 +@@ -0,0 +1,2 @@ ++#define fchown(filedes, owner, group) 0 ++#define fchmod(filedes, mode) 0 diff --git a/sysa/bzip2-1.0.8/src/.placeholder b/sysa/bzip2-1.0.8/src/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/diffutils-2.7/build/.placeholder b/sysa/diffutils-2.7/build/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/diffutils-2.7.kaem b/sysa/diffutils-2.7/diffutils-2.7.kaem similarity index 89% rename from sysa/diffutils-2.7.kaem rename to sysa/diffutils-2.7/diffutils-2.7.kaem index f8ce062..54efca0 100755 --- a/sysa/diffutils-2.7.kaem +++ b/sysa/diffutils-2.7/diffutils-2.7.kaem @@ -2,8 +2,12 @@ set -ex -# Variables -bindir=/after/bin +cd build + +# Extract +gunzip ../src/${pkg}.tar.gz +tar xf ../src/${pkg}.tar +cd ${pkg} # Touch config.h file catm config.h @@ -36,3 +40,5 @@ tcc -static -o ${bindir}/diff diff.o analyze.o cmpbuf.o dir.o io.o util.o contex # Test cmp --version diff --version + +cd ../.. diff --git a/sysa/diffutils-2.7/src/.placeholder b/sysa/diffutils-2.7/src/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/gzip-1.2.4/build/.placeholder b/sysa/gzip-1.2.4/build/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/gzip-1.2.4.kaem b/sysa/gzip-1.2.4/gzip-1.2.4.kaem similarity index 89% rename from sysa/gzip-1.2.4.kaem rename to sysa/gzip-1.2.4/gzip-1.2.4.kaem index 3aa58dc..cd4b008 100755 --- a/sysa/gzip-1.2.4.kaem +++ b/sysa/gzip-1.2.4/gzip-1.2.4.kaem @@ -2,8 +2,16 @@ set -ex -# Variables -bindir=/after/bin +cd build + +# Extract +tar xf ../src/${pkg}.tar +cd ${pkg} + +# Patch +# Remove strlwr, it does not build with mes libc +cp util.c util_patched.c +sed -i 165,174d util_patched.c # Compile tcc -c -DNO_UTIME gzip.c @@ -18,9 +26,6 @@ tcc -c unlzh.c tcc -c unlzw.c tcc -c unpack.c tcc -c unzip.c -# Remove strlwr, it does not build with mes libc -cp util.c util_patched.c -sed -i 165,174d util_patched.c tcc -c util_patched.c tcc -c zip.c @@ -32,3 +37,5 @@ cp ${bindir}/gzip ${bindir}/gunzip cp ${bindir}/gzip ${bindir}/zcat chmod 755 ${bindir}/gunzip chmod 755 ${bindir}/zcat + +cd ../.. diff --git a/sysa/gzip-1.2.4/src/.placeholder b/sysa/gzip-1.2.4/src/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/m4-1.4.kaem b/sysa/m4-1.4.kaem deleted file mode 100644 index c80c43d..0000000 --- a/sysa/m4-1.4.kaem +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -set -ex - -/after/bin/patch -Np0 -i ../patches/m4-1.4/m4-signal-include.patch -cp ../m4-1.4.mk Makefile -/after/bin/make - -# Install -/after/bin/cp m4 /after/bin/m4 -/after/bin/chmod 755 /after/bin/m4 - -# Test -/after/bin/m4 --version diff --git a/sysa/m4-1.4/build/.placeholder b/sysa/m4-1.4/build/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/m4-1.4/m4-1.4.kaem b/sysa/m4-1.4/m4-1.4.kaem new file mode 100755 index 0000000..2ecd5b5 --- /dev/null +++ b/sysa/m4-1.4/m4-1.4.kaem @@ -0,0 +1,26 @@ +#!/bin/sh + +set -ex + +cd build + +# Extract +gunzip ../src/${pkg}.tar.gz +tar xf ../src/${pkg}.tar +cd ${pkg} +cp ../../mk/main.mk Makefile + +# Patch and prepare +patch -Np0 -i ../../patches/signal-include.patch + +# Build +make + +# Install +cp m4 /after/bin/m4 +chmod 755 /after/bin/m4 + +# Test +m4 --version + +cd ../.. diff --git a/sysa/m4-1.4.mk b/sysa/m4-1.4/mk/main.mk similarity index 100% rename from sysa/m4-1.4.mk rename to sysa/m4-1.4/mk/main.mk diff --git a/sysa/patches/m4-1.4/m4-signal-include.patch b/sysa/m4-1.4/patches/signal-include.patch similarity index 100% rename from sysa/patches/m4-1.4/m4-signal-include.patch rename to sysa/m4-1.4/patches/signal-include.patch diff --git a/sysa/m4-1.4/src/.placeholder b/sysa/m4-1.4/src/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/make-3.80/build/.placeholder b/sysa/make-3.80/build/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/make-3.80.kaem b/sysa/make-3.80/make-3.80.kaem similarity index 93% rename from sysa/make-3.80.kaem rename to sysa/make-3.80/make-3.80.kaem index 6824843..69c3086 100755 --- a/sysa/make-3.80.kaem +++ b/sysa/make-3.80/make-3.80.kaem @@ -2,14 +2,19 @@ set -ex -# Variables -bindir=/after/bin +cd build +# Extract +gunzip ../src/${pkg}.tar.gz +tar xf ../src/${pkg}.tar +cd ${pkg} + +# Create .h files catm config.h catm /after/include/mes/config.h # Patch -patch -Np0 -i ../patches/make-3.80/mes-libc.patch +patch -Np0 -i ../../patches/mes-libc.patch # Compile tcc -c getopt.c @@ -44,3 +49,5 @@ tcc -o ${bindir}/make getopt.o getopt1.o ar.o arscan.o commands.o default.o dir. # Test make --version + +cd ../.. diff --git a/sysa/patches/make-3.80/mes-libc.patch b/sysa/make-3.80/patches/mes-libc.patch similarity index 100% rename from sysa/patches/make-3.80/mes-libc.patch rename to sysa/make-3.80/patches/mes-libc.patch diff --git a/sysa/make-3.80/src/.placeholder b/sysa/make-3.80/src/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/mes-files/config.h b/sysa/mes/files/config.h similarity index 100% rename from sysa/mes-files/config.h rename to sysa/mes/files/config.h diff --git a/sysa/mes-files/mescc.scm b/sysa/mes/files/mescc.scm similarity index 100% rename from sysa/mes-files/mescc.scm rename to sysa/mes/files/mescc.scm diff --git a/sysa/mes.kaem b/sysa/mes/mes.kaem similarity index 98% rename from sysa/mes.kaem rename to sysa/mes/mes.kaem index edf17d7..da2d48e 100755 --- a/sysa/mes.kaem +++ b/sysa/mes/mes.kaem @@ -3,20 +3,19 @@ set -ex # Variables -prefix=/after MES_ARENA=20000000 MES_MAX_ARENA=20000000 MES_STACK=6000000 -MES_PREFIX=${prefix} -GUILE_LOAD_PATH=${prefix}/nyacc/module:${prefix}/mes/mes/module -bindir=${prefix}/bin MES=${bindir}/mes -libdir=${prefix}/mes/lib -incdir=${prefix}/include +libdir=${prefix}/mes/src/mes/lib -chmod 755 bin/mescc.scm +cp files/mescc.scm ${bindir}/ +chmod 755 ${bindir}/mescc.scm + +cp files/config.h src/mes/include/mes + +cd src/mes -cd mes # Bootstrap Mes using M2-Planet kaem --verbose --file kaem.run cp bin/mes-m2 ${MES} @@ -204,7 +203,7 @@ ${MES} --no-auto-compile -e main ${bindir}/mescc.scm -- -c -D HAVE_CONFIG_H=1 -I # Link everything into new mes executable ${MES} --no-auto-compile -e main ${bindir}/mescc.scm -- -L ${libdir} -nostdlib -o ${bindir}/mes-new -L . crt1.o builtins.o cc.o core.o display.o eval-apply.o gc.o hash.o lib.o math.o mes.o module.o posix.o reader.o stack.o string.o struct.o symbol.o vector.o -lc -lmescc -# Now we finally have the final mes+libraries which we will subsequently use to compile tcc +# Now we finally have the final mes+libraries cp ${bindir}/mes-new ${bindir}/mes # Install libraries @@ -263,6 +262,7 @@ cp include/linux/x86/syscall.h ${incdir}/linux/x86/syscall.h cp include/mes/builtins.h ${incdir}/mes/builtins.h cp include/mes/cc.h ${incdir}/mes/cc.h +catm ${incdir}/mes/config.h cp include/mes/constants.h ${incdir}/mes/constants.h cp include/mes/lib.h ${incdir}/mes/lib.h cp include/mes/lib-mini.h ${incdir}/mes/lib-mini.h @@ -290,4 +290,4 @@ cp include/sys/wait.h ${incdir}/sys/wait.h libdir=${prefix}/lib ${MES} -c "(display 'Hello,Mes!) (newline)" -cd .. +cd ../.. diff --git a/sysa/mes b/sysa/mes/src/mes similarity index 100% rename from sysa/mes rename to sysa/mes/src/mes diff --git a/sysa/nyacc b/sysa/mes/src/nyacc similarity index 100% rename from sysa/nyacc rename to sysa/mes/src/nyacc diff --git a/sysa/mescc-tools-extra/go.kaem b/sysa/mescc-tools-extra/mescc-tools-extra.kaem old mode 100644 new mode 100755 similarity index 97% rename from sysa/mescc-tools-extra/go.kaem rename to sysa/mescc-tools-extra/mescc-tools-extra.kaem index f95d97d..a9bd54e --- a/sysa/mescc-tools-extra/go.kaem +++ b/sysa/mescc-tools-extra/mescc-tools-extra.kaem @@ -1,6 +1,9 @@ #!/bin/sh + set -ex +cd src + # cp command M2-Planet \ -f /M2-Planet/test/common_x86/functions/file.c \ @@ -37,7 +40,7 @@ hex2 \ --LittleEndian \ --architecture x86 \ --BaseAddress 0x8048000 \ - -o /after/bin/cp \ + -o ${bindir}/cp \ --exec_enable # chmod command @@ -77,5 +80,7 @@ hex2 \ --LittleEndian \ --architecture x86 \ --BaseAddress 0x8048000 \ - -o /after/bin/chmod \ + -o ${bindir}/chmod \ --exec_enable + +cd .. diff --git a/sysa/mescc-tools-extra/chmod.c b/sysa/mescc-tools-extra/src/chmod.c similarity index 100% rename from sysa/mescc-tools-extra/chmod.c rename to sysa/mescc-tools-extra/src/chmod.c diff --git a/sysa/mescc-tools-extra/cp.c b/sysa/mescc-tools-extra/src/cp.c similarity index 100% rename from sysa/mescc-tools-extra/cp.c rename to sysa/mescc-tools-extra/src/cp.c diff --git a/sysa/mescc-tools-extra/functions/file_print.c b/sysa/mescc-tools-extra/src/functions/file_print.c similarity index 100% rename from sysa/mescc-tools-extra/functions/file_print.c rename to sysa/mescc-tools-extra/src/functions/file_print.c diff --git a/sysa/mescc-tools-extra/functions/in_set.c b/sysa/mescc-tools-extra/src/functions/in_set.c similarity index 100% rename from sysa/mescc-tools-extra/functions/in_set.c rename to sysa/mescc-tools-extra/src/functions/in_set.c diff --git a/sysa/mescc-tools-extra/functions/match.c b/sysa/mescc-tools-extra/src/functions/match.c similarity index 100% rename from sysa/mescc-tools-extra/functions/match.c rename to sysa/mescc-tools-extra/src/functions/match.c diff --git a/sysa/mescc-tools-extra/functions/numerate_number.c b/sysa/mescc-tools-extra/src/functions/numerate_number.c similarity index 100% rename from sysa/mescc-tools-extra/functions/numerate_number.c rename to sysa/mescc-tools-extra/src/functions/numerate_number.c diff --git a/sysa/mescc-tools-extra/functions/require.c b/sysa/mescc-tools-extra/src/functions/require.c similarity index 100% rename from sysa/mescc-tools-extra/functions/require.c rename to sysa/mescc-tools-extra/src/functions/require.c diff --git a/sysa/mescc-tools-extra/functions/string.c b/sysa/mescc-tools-extra/src/functions/string.c similarity index 100% rename from sysa/mescc-tools-extra/functions/string.c rename to sysa/mescc-tools-extra/src/functions/string.c diff --git a/sysa/mescc-tools-patched b/sysa/mescc-tools-patched deleted file mode 160000 index 5768b2a..0000000 --- a/sysa/mescc-tools-patched +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5768b2a79036f34b9bd420ab4801ad7dca15dff8 diff --git a/sysa/mescc-tools-seed/src/mescc-tools-patched b/sysa/mescc-tools-seed/src/mescc-tools-patched new file mode 160000 index 0000000..3f5b758 --- /dev/null +++ b/sysa/mescc-tools-seed/src/mescc-tools-patched @@ -0,0 +1 @@ +Subproject commit 3f5b7588a20bc2225f25a31eed53a8152563955f diff --git a/sysa/mescc-tools-seed b/sysa/mescc-tools-seed/src/mescc-tools-seed similarity index 100% rename from sysa/mescc-tools-seed rename to sysa/mescc-tools-seed/src/mescc-tools-seed diff --git a/sysa/patch-2.5.9/build/.placeholder b/sysa/patch-2.5.9/build/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/patch-2.5.9.kaem b/sysa/patch-2.5.9/patch-2.5.9.kaem similarity index 93% rename from sysa/patch-2.5.9.kaem rename to sysa/patch-2.5.9/patch-2.5.9.kaem index 8aaeec6..e3b9ba6 100755 --- a/sysa/patch-2.5.9.kaem +++ b/sysa/patch-2.5.9/patch-2.5.9.kaem @@ -2,8 +2,12 @@ set -ex -# Variables -bindir=/after/bin +cd build + +# Extract +gunzip ../src/${pkg}.tar.gz +tar xf ../src/${pkg}.tar +cd ${pkg} # Create config.h and patchlevel.h catm config.h @@ -39,3 +43,5 @@ tcc -static -o ${bindir}/patch error.o getopt.o getopt1.o addext.o argmatch.o ba # Test patch --version + +cd ../.. diff --git a/sysa/patch-2.5.9/src/.placeholder b/sysa/patch-2.5.9/src/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/sed-4.0.7.kaem b/sysa/sed-4.0.7/sed-4.0.7.kaem similarity index 95% rename from sysa/sed-4.0.7.kaem rename to sysa/sed-4.0.7/sed-4.0.7.kaem index fbf927d..5c256ea 100755 --- a/sysa/sed-4.0.7.kaem +++ b/sysa/sed-4.0.7/sed-4.0.7.kaem @@ -2,9 +2,9 @@ set -ex -# Variables -bindir=/after/bin +cd src +# Create config.h catm config.h # Compile @@ -37,3 +37,5 @@ tcc -static -o ${bindir}/sed -L lib lib/libsed.a compile.o execute.o regex.o fmt # Test sed --version + +cd .. diff --git a/sysa/sed-4.0.7 b/sysa/sed-4.0.7/src similarity index 100% rename from sysa/sed-4.0.7 rename to sysa/sed-4.0.7/src diff --git a/sysa/tar-1.12/src/.placeholder b/sysa/tar-1.12/src/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/tar-1.12.kaem b/sysa/tar-1.12/tar-1.12.kaem similarity index 98% rename from sysa/tar-1.12.kaem rename to sysa/tar-1.12/tar-1.12.kaem index b8491e6..fa7e0a6 100755 --- a/sysa/tar-1.12.kaem +++ b/sysa/tar-1.12/tar-1.12.kaem @@ -2,8 +2,7 @@ set -ex -# Variables -bindir=/after/bin +cd src # Compile @@ -50,3 +49,5 @@ tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/update.c # Link tcc -static -o ${bindir}/tar -L lib lib/libtar.a arith.o buffer.o compare.o create.o delete.o extract.o incremen.o list.o mangle.o misc.o names.o open3.o rtapelib.o tar_patched.o update.o -ltar + +cd .. diff --git a/sysa/tcc-0.9.26/src/mes-libc b/sysa/tcc-0.9.26/src/mes-libc new file mode 160000 index 0000000..22d37ad --- /dev/null +++ b/sysa/tcc-0.9.26/src/mes-libc @@ -0,0 +1 @@ +Subproject commit 22d37adeef22c184a113daec4bf06536ea099e6a diff --git a/sysa/tcc-0.9.26 b/sysa/tcc-0.9.26/src/tcc-0.9.26 similarity index 100% rename from sysa/tcc-0.9.26 rename to sysa/tcc-0.9.26/src/tcc-0.9.26 diff --git a/sysa/tcc.kaem b/sysa/tcc-0.9.26/tcc-0.9.26.kaem similarity index 90% rename from sysa/tcc.kaem rename to sysa/tcc-0.9.26/tcc-0.9.26.kaem index 5ec4d56..22cdb46 100755 --- a/sysa/tcc.kaem +++ b/sysa/tcc-0.9.26/tcc-0.9.26.kaem @@ -3,11 +3,6 @@ set -ex # Vars -prefix=/after -bindir=${prefix}/bin -libdir=${prefix}/lib -GUILE_LOAD_PATH=${prefix}/nyacc/module:${prefix}/mes/mes/module -MES_PREFIX=${prefix}/mes MES_STACK=15000000 MES_ARENA=30000000 MES_MAX_ARENA=30000000 @@ -15,8 +10,7 @@ MES_LIB=${MES_PREFIX}/lib MES_SOURCE=${MES_PREFIX} MES=${bindir}/mes -# Initial tcc -cd tcc-0.9.26 +cd src/tcc-0.9.26 # Create config.h catm config.h @@ -24,8 +18,7 @@ catm config.h ${MES} --no-auto-compile -e main ${bindir}/mescc.scm -- \ -S \ -o tcc.s \ - -I ${prefix}/mes/lib \ - -I ${prefix}/mes/include \ + -I ${incdir} \ -D BOOTSTRAP=1 \ -I . \ -D TCC_TARGET_I386=1 \ @@ -56,7 +49,7 @@ chmod 755 ${bindir}/mes-tcc mes-tcc -version # Recompile the mes C library -cd ../tcc-mes +cd ../mes-libc # Create unified libc files catm unified-libc-1.c lib/mes/eputs.c lib/mes/oputs.c lib/mes/globals.c lib/stdlib/exit.c lib/linux/x86-mes-gcc/_exit.c lib/linux/x86-mes-gcc/_write.c lib/stdlib/puts.c lib/string/strlen.c lib/ctype/isnumber.c lib/mes/abtol.c lib/mes/cast.c lib/mes/eputc.c lib/mes/fdgetc.c lib/mes/fdputc.c lib/mes/fdputs.c lib/mes/fdungetc.c lib/mes/itoa.c lib/mes/ltoa.c lib/mes/ltoab.c lib/mes/mes_open.c lib/mes/ntoab.c lib/mes/oputc.c lib/mes/ultoa.c lib/mes/utoa.c lib/ctype/isdigit.c lib/ctype/isspace.c lib/ctype/isxdigit.c lib/mes/assert_msg.c lib/posix/write.c lib/stdlib/atoi.c lib/linux/lseek.c lib/mes/__assert_fail.c lib/mes/__buffered_read.c lib/mes/__mes_debug.c lib/posix/execv.c lib/posix/getcwd.c lib/posix/getenv.c lib/posix/isatty.c lib/posix/open.c lib/posix/buffered-read.c lib/posix/setenv.c lib/posix/wait.c lib/stdio/fgetc.c lib/stdio/fputc.c lib/stdio/fputs.c lib/stdio/getc.c lib/stdio/getchar.c lib/stdio/putc.c lib/stdio/putchar.c lib/stdio/ungetc.c lib/stdlib/free.c lib/stdlib/malloc.c lib/stdlib/realloc.c lib/string/memchr.c lib/string/memcmp.c lib/string/memcpy.c lib/string/memmove.c lib/string/memset.c lib/string/strcmp.c lib/string/strcpy.c lib/string/strncmp.c lib/posix/raise.c lib/linux/access.c lib/linux/brk.c lib/linux/chmod.c lib/linux/clock_gettime.c lib/linux/dup.c lib/linux/dup2.c lib/linux/execve.c lib/linux/fork.c lib/linux/fsync.c lib/linux/_getcwd.c lib/linux/gettimeofday.c lib/linux/ioctl3.c lib/linux/_open3.c lib/linux/_read.c lib/linux/time.c lib/linux/unlink.c lib/linux/waitpid.c lib/linux/x86-mes-gcc/syscall.c lib/linux/getpid.c lib/linux/kill.c lib/ctype/islower.c lib/ctype/isupper.c lib/ctype/tolower.c lib/ctype/toupper.c lib/mes/abtod.c lib/mes/dtoab.c lib/mes/search-path.c lib/posix/execvp.c lib/stdio/fclose.c lib/stdio/fdopen.c lib/stdio/ferror.c lib/stdio/fflush.c lib/stdio/fopen.c lib/stdio/fprintf.c lib/stdio/fread.c lib/stdio/fseek.c lib/stdio/ftell.c lib/stdio/fwrite.c @@ -121,7 +114,7 @@ mes-tcc \ # Install cp boot0-tcc ${bindir}/ chmod 755 ${bindir}/boot0-tcc -cd ../tcc-mes +cd ../mes-libc # Recompile libc: crt{1,n,i}, libtcc.a, libc.a boot0-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c boot0-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c @@ -168,7 +161,7 @@ boot0-tcc \ tcc.c cp boot1-tcc ${bindir} chmod 755 ${bindir}/boot1-tcc -cd ../tcc-mes +cd ../mes-libc boot1-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c boot1-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c boot1-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crti.o lib/linux/x86-mes-gcc/crti.c @@ -215,7 +208,7 @@ boot1-tcc \ tcc.c cp boot2-tcc ${bindir} chmod 755 ${bindir}/boot2-tcc -cd ../tcc-mes +cd ../mes-libc boot2-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c boot2-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c boot2-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crti.o lib/linux/x86-mes-gcc/crti.c @@ -262,7 +255,7 @@ boot2-tcc \ tcc.c cp boot3-tcc ${bindir} chmod 755 ${bindir}/boot3-tcc -cd ../tcc-mes +cd ../mes-libc boot3-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c boot3-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c boot3-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crti.o lib/linux/x86-mes-gcc/crti.c @@ -309,7 +302,7 @@ boot3-tcc \ tcc.c cp boot4-tcc ${bindir} chmod 755 ${bindir}/boot4-tcc -cd ../tcc-mes +cd ../mes-libc boot4-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c boot4-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c boot4-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crti.o lib/linux/x86-mes-gcc/crti.c @@ -356,7 +349,7 @@ boot4-tcc \ tcc.c cp boot5-tcc ${bindir} chmod 755 ${bindir}/boot5-tcc -cd ../tcc-mes +cd ../mes-libc boot5-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c boot5-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c boot5-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crti.o lib/linux/x86-mes-gcc/crti.c @@ -374,60 +367,12 @@ boot5-tcc -version # We have our final tcc 0.9.26! cp ${bindir}/boot5-tcc ${bindir}/tcc chmod 755 ${bindir}/tcc +cp ${bindir}/tcc ${bindir}/tcc-0.9.26 +chmod 755 ${bindir}/tcc-0.9.26 # Also recompile getopt, we don't need to do this during the boot* stages # because nothing is linked against it tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 lib/posix/getopt.c tcc -ar cr ${libdir}/libgetopt.a getopt.o -# Now compile tcc 0.9.27 -cd ../tcc-0.9.27 - -# Create config.h -catm config.h - -# Compile the binary -tcc \ - -v \ - -static \ - -o tcc \ - -D TCC_TARGET_I386=1 \ - -D CONFIG_TCCDIR=\"${libdir}/tcc\" \ - -D CONFIG_TCC_CRTPREFIX=\"${libdir}\" \ - -D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \ - -D CONFIG_TCC_LIBPATHS=\"${libdir}:${libdir}/tcc\" \ - -D CONFIG_TCC_SYSINCLUDEPATHS=\"${prefix}/include\" \ - -D TCC_LIBGCC=\"${libdir}/libc.a\" \ - -D CONFIG_TCC_STATIC=1 \ - -D CONFIG_USE_LIBGCC=1 \ - -D TCC_VERSION=\"0.9.27\" \ - -D ONE_SOURCE=1 \ - tcc.c - -# Install the binary -cp tcc ${bindir}/tcc -chmod 755 ${bindir}/tcc - -# Test -tcc -version - -# Recompile libc -# libtcc1.a -tcc -c -D HAVE_CONFIG_H=1 lib/libtcc1.c -tcc -ar cr ${libdir}/tcc/libtcc1.a libtcc1.o -cd ../tcc-mes -# crt{1,n,i}.o -tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c -tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c -tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crti.o lib/linux/x86-mes-gcc/crti.c -# libc.a -tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o unified-libc-1.o unified-libc-1.c -tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o unified-libc-2.o unified-libc-2.c -tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o unified-libc-3.o unified-libc-3.c -tcc -ar cr ${libdir}/libc+gnu.a unified-libc-1.o unified-libc-2.o unified-libc-3.o -cp ${libdir}/libc+gnu.a ${libdir}/libc.a -# libgetopt.a -tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 lib/posix/getopt.c -tcc -ar cr ${libdir}/libgetopt.a getopt.o - cd .. diff --git a/sysa/tcc-0.9.27/build/.placeholder b/sysa/tcc-0.9.27/build/.placeholder new file mode 100644 index 0000000..e69de29 diff --git a/sysa/patches/tcc/static-link.patch b/sysa/tcc-0.9.27/patches/static-link.patch similarity index 100% rename from sysa/patches/tcc/static-link.patch rename to sysa/tcc-0.9.27/patches/static-link.patch diff --git a/sysa/tcc-0.9.27/src/mes-libc b/sysa/tcc-0.9.27/src/mes-libc new file mode 160000 index 0000000..22d37ad --- /dev/null +++ b/sysa/tcc-0.9.27/src/mes-libc @@ -0,0 +1 @@ +Subproject commit 22d37adeef22c184a113daec4bf06536ea099e6a diff --git a/sysa/tcc-0.9.27 b/sysa/tcc-0.9.27/src/tcc-0.9.27 similarity index 100% rename from sysa/tcc-0.9.27 rename to sysa/tcc-0.9.27/src/tcc-0.9.27 diff --git a/sysa/tcc-0.9.27/tcc-0.9.27.kaem b/sysa/tcc-0.9.27/tcc-0.9.27.kaem new file mode 100755 index 0000000..8fe38f5 --- /dev/null +++ b/sysa/tcc-0.9.27/tcc-0.9.27.kaem @@ -0,0 +1,58 @@ +#!/bin/sh + +set -ex + +cd src/tcc-0.9.27 + +# Create config.h +catm config.h + +# Compile the binary +tcc \ + -v \ + -static \ + -o tcc \ + -D TCC_TARGET_I386=1 \ + -D CONFIG_TCCDIR=\"${libdir}/tcc\" \ + -D CONFIG_TCC_CRTPREFIX=\"${libdir}\" \ + -D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \ + -D CONFIG_TCC_LIBPATHS=\"${libdir}:${libdir}/tcc\" \ + -D CONFIG_TCC_SYSINCLUDEPATHS=\"${prefix}/include\" \ + -D TCC_LIBGCC=\"${libdir}/libc.a\" \ + -D CONFIG_TCC_STATIC=1 \ + -D CONFIG_USE_LIBGCC=1 \ + -D TCC_VERSION=\"0.9.27\" \ + -D ONE_SOURCE=1 \ + tcc.c + +# Install the binary +cp tcc ${bindir}/tcc +chmod 755 ${bindir}/tcc + +# Test +tcc -version + +# Recompile libc +# libtcc1.a +tcc -c -D HAVE_CONFIG_H=1 lib/libtcc1.c +tcc -ar cr ${libdir}/tcc/libtcc1.a libtcc1.o +cd ../mes-libc +# crt{1,n,i}.o +tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c +tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c +tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crti.o lib/linux/x86-mes-gcc/crti.c +# Create unified libc files +catm unified-libc-1.c lib/mes/eputs.c lib/mes/oputs.c lib/mes/globals.c lib/stdlib/exit.c lib/linux/x86-mes-gcc/_exit.c lib/linux/x86-mes-gcc/_write.c lib/stdlib/puts.c lib/string/strlen.c lib/ctype/isnumber.c lib/mes/abtol.c lib/mes/cast.c lib/mes/eputc.c lib/mes/fdgetc.c lib/mes/fdputc.c lib/mes/fdputs.c lib/mes/fdungetc.c lib/mes/itoa.c lib/mes/ltoa.c lib/mes/ltoab.c lib/mes/mes_open.c lib/mes/ntoab.c lib/mes/oputc.c lib/mes/ultoa.c lib/mes/utoa.c lib/ctype/isdigit.c lib/ctype/isspace.c lib/ctype/isxdigit.c lib/mes/assert_msg.c lib/posix/write.c lib/stdlib/atoi.c lib/linux/lseek.c lib/mes/__assert_fail.c lib/mes/__buffered_read.c lib/mes/__mes_debug.c lib/posix/execv.c lib/posix/getcwd.c lib/posix/getenv.c lib/posix/isatty.c lib/posix/open.c lib/posix/buffered-read.c lib/posix/setenv.c lib/posix/wait.c lib/stdio/fgetc.c lib/stdio/fputc.c lib/stdio/fputs.c lib/stdio/getc.c lib/stdio/getchar.c lib/stdio/putc.c lib/stdio/putchar.c lib/stdio/ungetc.c lib/stdlib/free.c lib/stdlib/malloc.c lib/stdlib/realloc.c lib/string/memchr.c lib/string/memcmp.c lib/string/memcpy.c lib/string/memmove.c lib/string/memset.c lib/string/strcmp.c lib/string/strcpy.c lib/string/strncmp.c lib/posix/raise.c lib/linux/access.c lib/linux/brk.c lib/linux/chmod.c lib/linux/clock_gettime.c lib/linux/dup.c lib/linux/dup2.c lib/linux/execve.c lib/linux/fork.c lib/linux/fsync.c lib/linux/_getcwd.c lib/linux/gettimeofday.c lib/linux/ioctl3.c lib/linux/_open3.c lib/linux/_read.c lib/linux/time.c lib/linux/unlink.c lib/linux/waitpid.c lib/linux/x86-mes-gcc/syscall.c lib/linux/getpid.c lib/linux/kill.c lib/ctype/islower.c lib/ctype/isupper.c lib/ctype/tolower.c lib/ctype/toupper.c lib/mes/abtod.c lib/mes/dtoab.c lib/mes/search-path.c lib/posix/execvp.c lib/stdio/fclose.c lib/stdio/fdopen.c lib/stdio/ferror.c lib/stdio/fflush.c lib/stdio/fopen.c lib/stdio/fprintf.c lib/stdio/fread.c lib/stdio/fseek.c lib/stdio/ftell.c lib/stdio/fwrite.c +catm unified-libc-2.c lib/stdio/printf.c lib/stdio/remove.c lib/stdio/snprintf.c lib/stdio/sprintf.c lib/stdio/sscanf.c lib/stdio/vfprintf.c lib/stdio/vprintf.c lib/stdio/vsnprintf.c lib/stdio/vsprintf.c lib/stdio/vsscanf.c lib/stdlib/calloc.c lib/stdlib/qsort.c lib/stdlib/strtod.c lib/stdlib/strtof.c lib/stdlib/strtol.c lib/stdlib/strtold.c lib/stdlib/strtoll.c lib/stdlib/strtoul.c lib/stdlib/strtoull.c lib/string/memmem.c lib/string/strcat.c lib/string/strchr.c lib/string/strlwr.c lib/string/strncpy.c lib/string/strrchr.c lib/string/strstr.c lib/string/strupr.c lib/stub/sigaction.c lib/stub/ldexp.c lib/stub/mprotect.c lib/stub/localtime.c lib/stub/sigemptyset.c lib/x86-mes-gcc/setjmp.c lib/linux/close.c lib/linux/rmdir.c lib/linux/stat.c lib/ctype/isalnum.c lib/ctype/isalpha.c lib/ctype/isascii.c lib/ctype/iscntrl.c lib/ctype/isgraph.c lib/ctype/isprint.c lib/ctype/ispunct.c lib/dirent/__getdirentries.c lib/dirent/closedir.c lib/dirent/opendir.c lib/dirent/readdir.c lib/math/ceil.c lib/math/fabs.c lib/math/floor.c lib/mes/fdgets.c lib/posix/alarm.c lib/posix/execl.c lib/posix/execlp.c lib/posix/mktemp.c lib/posix/sbrk.c lib/posix/sleep.c lib/posix/unsetenv.c lib/stdio/clearerr.c lib/stdio/feof.c lib/stdio/fgets.c lib/stdio/fileno.c lib/stdio/freopen.c lib/stdio/fscanf.c lib/stdio/perror.c lib/stdio/vfscanf.c lib/stdlib/__exit.c lib/stdlib/abort.c lib/stdlib/abs.c lib/stdlib/alloca.c lib/stdlib/atexit.c lib/stdlib/atof.c lib/stdlib/atol.c lib/stdlib/mbstowcs.c lib/string/bcmp.c lib/string/bcopy.c lib/string/bzero.c lib/string/index.c lib/string/rindex.c lib/string/strcspn.c lib/string/strdup.c lib/string/strerror.c lib/string/strncat.c lib/string/strpbrk.c lib/string/strspn.c lib/stub/__cleanup.c lib/stub/atan2.c lib/stub/bsearch.c lib/stub/chown.c lib/stub/cos.c lib/stub/ctime.c lib/stub/exp.c lib/stub/fpurge.c lib/stub/freadahead.c lib/stub/frexp.c lib/stub/getgrgid.c lib/stub/getgrnam.c lib/stub/getlogin.c lib/stub/getpgid.c lib/stub/getpgrp.c lib/stub/getpwnam.c +catm unified-libc-3.c lib/stub/getpwuid.c lib/stub/gmtime.c lib/stub/log.c lib/stub/mktime.c lib/stub/modf.c lib/stub/pclose.c lib/stub/popen.c lib/stub/pow.c lib/stub/rand.c lib/stub/rewind.c lib/stub/setbuf.c lib/stub/setgrent.c lib/stub/setlocale.c lib/stub/setvbuf.c lib/stub/sigaddset.c lib/stub/sigblock.c lib/stub/sigdelset.c lib/stub/sigsetmask.c lib/stub/sin.c lib/stub/sqrt.c lib/stub/strftime.c lib/stub/sys_siglist.c lib/stub/system.c lib/stub/times.c lib/stub/ttyname.c lib/stub/umask.c lib/stub/utime.c lib/linux/chdir.c lib/linux/fcntl.c lib/linux/fstat.c lib/linux/getdents.c lib/linux/getegid.c lib/linux/geteuid.c lib/linux/getgid.c lib/linux/getppid.c lib/linux/getrusage.c lib/linux/getuid.c lib/linux/ioctl.c lib/linux/link.c lib/linux/lstat.c lib/linux/mkdir.c lib/linux/mknod.c lib/linux/nanosleep.c lib/linux/pipe.c lib/linux/readlink.c lib/linux/rename.c lib/linux/setgid.c lib/linux/settimer.c lib/linux/setuid.c lib/linux/signal.c lib/linux/sigprogmask.c lib/linux/symlink.c +# libc.a +tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o unified-libc-1.o unified-libc-1.c +tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o unified-libc-2.o unified-libc-2.c +tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o unified-libc-3.o unified-libc-3.c +tcc -ar cr ${libdir}/libc+gnu.a unified-libc-1.o unified-libc-2.o unified-libc-3.o +cp ${libdir}/libc+gnu.a ${libdir}/libc.a +# libgetopt.a +tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 lib/posix/getopt.c +tcc -ar cr ${libdir}/libgetopt.a getopt.o + +cd ../.. diff --git a/sysa/tcc-patched.kaem b/sysa/tcc-0.9.27/tcc-patched.kaem similarity index 83% rename from sysa/tcc-patched.kaem rename to sysa/tcc-0.9.27/tcc-patched.kaem index ce7beb8..fa4f700 100755 --- a/sysa/tcc-patched.kaem +++ b/sysa/tcc-0.9.27/tcc-patched.kaem @@ -2,18 +2,15 @@ set -ex -# Vars -prefix=/after -libdir=${prefix}/lib -bindir=${prefix}/bin +cd src/tcc-0.9.27 # Patch -patch -Np0 -i ../patches/tcc/static-link.patch +patch -Np0 -i ../../patches/static-link.patch # Compile ## We have to use 0.9.26 to recompile 0.9.27, 0.9.27 is not self-hosting for ## whatever reason. -boot5-tcc \ +tcc-0.9.26 \ -v \ -static \ -o ${bindir}/tcc \ @@ -32,3 +29,5 @@ boot5-tcc \ # Test tcc -version + +cd ../..