editorial cleanup
[rrq/newlisp/packnl.git] / packnl.8.adoc
1 = packnl(8)
2 :doctype: manpage
3 :revdate: {sys:date "+%Y-%m-%d %H:%M:%S"}
4 :COLON: :
5 :EQUALS: =
6 :NEWLINE: \n
7
8 == NAME
9
10 packnl - Pack newlisp scripts into an embedded binary.
11
12 == SYNOPSIS
13
14 *packnl* *-w* _binary_ _main.lsp_ _member-option_* +
15 *packnl* *-u* _binary_ _path_ +
16 *packnl* *-t* _binary_
17
18 == DESCRIPTION
19
20 *packnl* is a utility to pack a newlisp application into a binary
21 using the embedding feature of newlisp. Such a packed binary will have
22 the special +incore.lsp+ as embedded script and then contain the given
23 application files in a "simple archive" format after an easily
24 recognizable divider line of 40 "x" characters.
25
26 The first application file is used as "main script" the gets loaded
27 when running the binary. Any additional application files are set up
28 as an in-core archive to be available as overriding filenames in the
29 +load+, +read-file+ and +file?+ functions. I.e. where the running
30 script has the expression "(load _file_)" then _file_ pathname is
31 first looked up in the in-core archive and only secondarily looked up
32 in the filesystem.
33
34 == OPTIONS
35
36 === Command Options
37
38 *-w* _binary_ _members_::
39
40 The *-w* command option is used for writing an embedded newlisp binary
41 with the nominated scripts. The subseqent arguments nominate the
42 scripts to include in order. See *Member Options* below.
43
44 *-u* _binary_ _path_::
45
46 The *-u* command option is used for unpacking an embedded binary into
47 the nominated directory.
48
49 *t* _binary_::
50
51 The *-t* command option is used for enlisting then names of the
52 included members of an embedded binary.
53
54 === Member Otions
55
56 _member_::
57
58 Member arguments other than the options below are undestood to
59 nominate scripts to embed with file names as given.
60
61 *-a* _library_::
62
63 The *-a* option installs the script members from a given +ar+ style
64 library to be available for embedding. The subsequent arguments
65 nominate members to include.
66
67 *-A* _library_::
68
69 The *-A* option incorporates all the script members from the given
70 +ar+ style library into the embedding.
71
72 *-C* _path_::
73
74 The *-C* option changes the working directory for the program so that
75 subsequent relative pathnames (file members and libraries) are found
76 relative that working directory.
77
78 == NOTES
79
80 Note that _ar_ typically adds members using their basenames. With
81 +packnl+ packaging the added modules would thus be loaded by
82 basenames.
83
84 == SEE ALSO
85
86 *newlisp*, *ar*
87
88 == AUTHOR
89
90 Ralph Ronnquist <ralph.ronnquist@gmail.com>