mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-18 01:05:24 +01:00
Make structure of sysa/ a bit cleaner
This commit is contained in:
parent
19b41d22f4
commit
c97ad0212f
7 changed files with 123 additions and 19 deletions
118
sysa/blynn-compiler.kaem
Executable file
118
sysa/blynn-compiler.kaem
Executable file
|
|
@ -0,0 +1,118 @@
|
|||
#!/bin/sh
|
||||
# Copyright © 2020 fosslinux
|
||||
#
|
||||
# This file is part of live-bootstrap.
|
||||
#
|
||||
# live-bootstrap is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or (at
|
||||
# your option) any later version.
|
||||
#
|
||||
# live-bootstrap is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with live-bootstrap. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
set -ex
|
||||
|
||||
PATH=/after/bin
|
||||
|
||||
# compile pack_blobs.c
|
||||
M2-Planet --architecture x86 \
|
||||
-f functions/file.c \
|
||||
-f functions/exit.c \
|
||||
-f functions/malloc.c \
|
||||
-f functions/calloc.c \
|
||||
-f functions/file_print.c \
|
||||
-f functions/match.c \
|
||||
-f functions/require.c \
|
||||
-f pack_blobs.c \
|
||||
--debug \
|
||||
-o bin/pack_blobs.M1
|
||||
|
||||
# Create dwarf stubs for pack_blobs
|
||||
blood-elf -f bin/pack_blobs.M1 --entry _start -o bin/pack_blobs-footer.M1
|
||||
|
||||
# Convert to hex2 linker format
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/common_x86/libc-core.M1 \
|
||||
-f bin/pack_blobs.M1 \
|
||||
-f bin/pack_blobs-footer.M1 \
|
||||
--LittleEndian \
|
||||
--architecture x86 \
|
||||
-o bin/pack_blobs.hex2
|
||||
|
||||
# Link into final static binary
|
||||
hex2 -f test/common_x86/ELF-i386-debug.hex2 \
|
||||
-f bin/pack_blobs.hex2 \
|
||||
--LittleEndian \
|
||||
--architecture x86 \
|
||||
--BaseAddress 0x8048000 \
|
||||
-o bin/pack_blobs --exec_enable
|
||||
|
||||
# Build blobs
|
||||
./bin/pack_blobs -f blob/parenthetically.source -o generated/parenthetically
|
||||
./bin/pack_blobs -f blob/exponentially.source -o generated/exponentially
|
||||
./bin/pack_blobs -f blob/practically.source -o generated/practically
|
||||
./bin/pack_blobs -f blob/singularity.source -o generated/singularity_blob
|
||||
|
||||
# Compile to assembly vm.c
|
||||
M2-Planet --architecture x86 \
|
||||
-f functions/file.c \
|
||||
-f functions/exit.c \
|
||||
-f functions/malloc.c \
|
||||
-f functions/calloc.c \
|
||||
-f functions/file_print.c \
|
||||
-f functions/in_set.c \
|
||||
-f functions/numerate_number.c \
|
||||
-f functions/match.c \
|
||||
-f functions/require.c \
|
||||
-f vm.c \
|
||||
--debug \
|
||||
-o bin/vm.M1
|
||||
|
||||
# Create dwarf stubs for vm
|
||||
blood-elf -f bin/vm.M1 --entry _start -o bin/vm-footer.M1
|
||||
|
||||
# Convert to hex2 linker format
|
||||
M1 -f test/common_x86/x86_defs.M1 \
|
||||
-f test/common_x86/libc-core.M1 \
|
||||
-f bin/vm.M1 \
|
||||
-f bin/vm-footer.M1 \
|
||||
--LittleEndian \
|
||||
--architecture x86 \
|
||||
-o bin/vm.hex2
|
||||
|
||||
# Link into final static binary
|
||||
hex2 -f test/common_x86/ELF-i386-debug.hex2 \
|
||||
-f bin/vm.hex2 \
|
||||
--LittleEndian \
|
||||
--architecture x86 \
|
||||
--BaseAddress 0x8048000 \
|
||||
-o bin/vm --exec_enable
|
||||
|
||||
# Generate raw file needed
|
||||
./bin/vm --bootstrap \
|
||||
-lf generated/parenthetically \
|
||||
-lf generated/exponentially \
|
||||
-lf generated/practically \
|
||||
-lf generated/singularity_blob \
|
||||
-lf singularity \
|
||||
-lf semantically \
|
||||
-lf stringy \
|
||||
-lf binary \
|
||||
-lf algebraically \
|
||||
-lf parity.hs \
|
||||
-lf fixity.hs \
|
||||
-lf typically.hs \
|
||||
-lf classy.hs \
|
||||
-lf barely.hs \
|
||||
-lf barely.hs \
|
||||
-lfr barely.hs \
|
||||
-o bin/raw
|
||||
|
||||
# Make lonely
|
||||
./bin/vm -f lonely.hs -l bin/raw run effectively.hs -o generated/lonely.c
|
||||
Loading…
Add table
Add a link
Reference in a new issue