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