The trivial-build Reference Manual

This is the trivial-build Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 07:55:22 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 trivial-build

Compile a system into an executable.

Maintainer

Fernando Borretti <>

Author

Fernando Borretti <>

Home Page
Source Control

(GIT )

Bug Tracker
License

MIT

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
  • trivial-exe (system).
  • lisp-invocation (system).
Source

trivial-build.asd.

Child Component

src (module).


3 Modules

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


3.1 trivial-build/src

Source

trivial-build.asd.

Parent Component

trivial-build (system).

Child Component

trivial-build.lisp (file).


4 Files

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


4.1 Lisp


4.1.1 trivial-build/trivial-build.asd

Source

trivial-build.asd.

Parent Component

trivial-build (system).

ASDF Systems

trivial-build.


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

Source

trivial-build.asd.

Parent Component

src (module).

Packages

trivial-build.

Public Interface

build (function).

Internals

5 Packages

Packages are listed by definition order.


5.1 trivial-build

Source

trivial-build.lisp.

Use List

common-lisp.

Public Interface

build (function).

Internals

6 Definitions

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


6.1 Public Interface


6.1.1 Ordinary functions

Function: build (system-name entry-point binary-pathname)

Build the system.

Package

trivial-build.

Source

trivial-build.lisp.


6.2 Internals


6.2.1 Ordinary 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.

Function: code-list-to-eval (eval-flag list)
Package

trivial-build.

Source

trivial-build.lisp.

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.

Function: roswellp ()

Are we in a Roswell implementation?

Package

trivial-build.

Source

trivial-build.lisp.


Appendix A Indexes


A.1 Concepts


A.3 Variables