GithubHelp home page GithubHelp logo

iamfirecracker / trivial-build Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ceramic/trivial-build

0.0 1.0 0.0 14 KB

A tiny library to compile a system into an executable

Common Lisp 100.00%

trivial-build's Introduction

trivial-build

Build Status Coverage Status

Compile a system into an executable.

Overview

trivial-build launches a new process of whichever implementation you're running, loads a system, sets up an entrypoint, and dumps the executable. The Lisp subprocess then dies, much like those deep-sea squids that die giving birth.

Usage

CL-USER> (build :system-name
                "(code-to-execute-on-startup)"
                #p"path/to/output.exe")

Example:

CL-USER> (trivial-build:build :uiop
                              "(format t \"~A~%\" 1)"
                              #p"/home/eudoxia/binary")
Launch: "/usr/local/bin/sbcl"  --eval "(ql:quickload :UIOP)" --eval "(setf uiop:*image-entry-point* #'(lambda () (format t \"~A~%\" 1)))" --eval "(uiop:dump-image #P\"/home/eudoxia/binary\" :executable t
  #+sb-core-compression :compression #+sb-core-compression t)"

This is SBCL 1.2.9, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
To load "uiop":
  Load 1 ASDF system:
    uiop
; Loading "uiop"

[undoing binding stack and other enclosing state... done]
[saving current Lisp image into /home/eudoxia/binary:
writing 5824 bytes from the read-only space at 0x20000000
writing 3168 bytes from the static space at 0x20100000
writing 56950784 bytes from the dynamic space at 0x1000000000
done]
#P"/home/eudoxia/binary"

And the output:

$[ eudoxia@laptop ] ~
$> ./binary
1
$[ eudoxia@laptop ] ~
$>

License

Copyright (c) 2015 Fernando Borretti

Licensed under the MIT License.

trivial-build's People

Contributors

eudoxia0 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.