~amirouche/ruse-exe

remove generated files, and add make dist target

clone

read-only
https://git.sr.ht/~amirouche/ruse-exe
read/write
git@git.sr.ht:~amirouche/ruse-exe

You can also use your local clone with git send-email.

#ruse-exe

  • Status: alpha

Given a computer, ruse-exe, some brain juice, and a Chez Scheme source program it will produce a standalone binary executable.

Usage:

  ruse-exe [--dev] [--petite] [--optimize-level=0-3] [EXTENSIONS-OR-DIRECTORIES ...] program.scm [ -- ARGS ...]

Given a Scheme program inside the file `program.scm`, produce a
standalone executable inside the current directory called `a.out`.
ruse-exe will look for the necessary files inside
`EXTENSIONS-OR-DIRECTORIES`.  The arguments following two dashed
`ARGS` will passed to the underlying C compiler.

The flag --dev will enable generate allocation and instruction count.

The flag --petite will only build with petite scheme.

The arguments `EXTENSIONS-OR-DIRECTORIES` will replace the default
extensions, source and library directories. If you want to compile a
project that has both `.ss` and `.scm` with libraries in the current
directory, you need to use something along the line of:

  ruse-exe .ss .scm . program.scm

Homepage: http://letloop.xyz

#Getting started:

apt install chezscheme-dev
mkdir ~/src/ruse/
cd ~/src/ruse/
git clone https://github.com/scheme-ruse/ruse-exe exe
cd exe
scheme --program ruse-exe.scm ruse-exe.scm
mkdir ~/.local/bin/
mv a.out ~/.local/bin/ruse-exe

Do not forget to add ~/.local/bin/ to your shell PATH with a line like:

export PATH=$HOME/.local/bin:$PATH

#Acknowledgements

That work would not have been possible without Graham Watt, who created chez-exe.