The trivial-build Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The trivial-build Reference Manual

This is the trivial-build Reference Manual, version 0.1, generated automatically by Declt version 2.3 "Robert April" on Tue Feb 20 09:26:26 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 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.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 trivial-build

Maintainer

Fernando Borretti <eudoxiahp@gmail.com>

Author

Fernando Borretti <eudoxiahp@gmail.com>

Home Page
Source Control

(:git "")

Bug Tracker
License

MIT

Description

Compile a system into an executable.

Long Description

# trivial-build

[![Build Status](https://travis-ci.org/ceramic/trivial-build.svg?branch=master)](https://travis-ci.org/ceramic/trivial-build)
[![Coverage Status](https://coveralls.io/repos/ceramic/trivial-build/badge.svg?branch=master&service=github)](https://coveralls.io/github/ceramic/trivial-build?branch=master)

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

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

Example:

“‘lisp
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.

Version

0.1

Dependencies
Source

trivial-build.asd (file)

Component

src (module)


Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

Modules are listed depth-first from the system components tree.


Previous: , Up: Modules   [Contents][Index]

3.1 trivial-build/src

Parent

trivial-build (system)

Location

src/

Component

trivial-build.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 trivial-build.asd

Location

trivial-build.asd

Systems

trivial-build (system)


Previous: , Up: Lisp files   [Contents][Index]

4.1.2 trivial-build/src/trivial-build.lisp

Parent

src (module)

Location

src/trivial-build.lisp

Packages

trivial-build

Exported Definitions

build (function)

Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

5.1 trivial-build

Source

trivial-build.lisp (file)

Use List

common-lisp

Exported Definitions

build (function)

Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Functions

Function: build SYSTEM-NAME ENTRY-POINT BINARY-PATHNAME

Build the system.

Package

trivial-build

Source

trivial-build.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Functions

Function: boot-and-build SYSTEM-NAME ENTRY-POINT BINARY-PATHNAME IMPL-PATH IMPL-FLAGS LOAD-FLAG EVAL-FLAG
Package

trivial-build

Source

trivial-build.lisp (file)

Function: code-list-to-eval EVAL-FLAG LIST
Package

trivial-build

Source

trivial-build.lisp (file)

Function: load-and-build-code SYSTEM-NAME ENTRY-POINT BINARY-PATHNAME

Return a list of code strings to eval.

Package

trivial-build

Source

trivial-build.lisp (file)

Function: roswellp ()

Are we in a Roswell implementation?

Package

trivial-build

Source

trivial-build.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   M   T  
Index Entry  Section

F
File, Lisp, trivial-build.asd: The trivial-build<dot>asd file
File, Lisp, trivial-build/src/trivial-build.lisp: The trivial-build/src/trivial-build<dot>lisp file

L
Lisp File, trivial-build.asd: The trivial-build<dot>asd file
Lisp File, trivial-build/src/trivial-build.lisp: The trivial-build/src/trivial-build<dot>lisp file

M
Module, trivial-build/src: The trivial-build/src module

T
trivial-build.asd: The trivial-build<dot>asd file
trivial-build/src: The trivial-build/src module
trivial-build/src/trivial-build.lisp: The trivial-build/src/trivial-build<dot>lisp file

Jump to:   F   L   M   T  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   B   C   F   L   R  
Index Entry  Section

B
boot-and-build: Internal functions
build: Exported functions

C
code-list-to-eval: Internal functions

F
Function, boot-and-build: Internal functions
Function, build: Exported functions
Function, code-list-to-eval: Internal functions
Function, load-and-build-code: Internal functions
Function, roswellp: Internal functions

L
load-and-build-code: Internal functions

R
roswellp: Internal functions

Jump to:   B   C   F   L   R  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables


Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   P   S   T  
Index Entry  Section

P
Package, trivial-build: The trivial-build package

S
System, trivial-build: The trivial-build system

T
trivial-build: The trivial-build system
trivial-build: The trivial-build package

Jump to:   P   S   T