summaryrefslogtreecommitdiff
path: root/doc/muse.1
blob: d405b9c38fdd59c5d69d52efec4cf153d2558eb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
.TH MUSE 1
.SH NAME
muse
.SH SYNOPSIS
.B muse
.I -o out -p pkg [-h] [-d dbg] [-l libs]
.I [file...]
.br
.SH DESCRIPTION
.PP
The muse tool acts as a linker for
.I .use
files. It reads all of the usefiles provided to it on the
command line, filters them by package, and outputs a new
usefile with the merged set of symbols. Both the
.I -o out.use
and the
.I -p pkg
options are mandatory.

.PP
The output of muse is architecture-independent. However, the format of the
generated file is not stable, and is not guaranteed to work across
different compiler versions.

.PP
The muse options are:

.TP
.B -d [flTri]
Print debugging dumps. Additional options may be given to give more
debugging information for specific intermediate states of the compilation.

.TP
.B -h
Print a summary of the available options.

.TP
.B -p package
Take the symbols that match
.I package
and their dependencies, and merge them into a single package. Only symbols
matching the package name will be reexported.

.TP
.B -o output-file
Specify that the generated usefile should be named 
.I output-file.
By convention,
.I output-file
should match up with the package name given to the
.I -p
option.

.SH EXAMPLE
.EX
    muse -o library.use -p library foo.use bar.use
.EE

.SH FILES
The source for muse is available from
.B git://git.eigenstate.org/git/ori/mc.git
and lives in the
.I muse/ 
directory within the source tree.

.SH SEE ALSO
.IR 6m(1)
.IR ld(1)
.IR as(1)

.SH BUGS
.PP
There is insufficient checking and validation done on usefiles.
.PP
The file format is in flux, and in current iterations, it is not at all compact.
.PP
The file format is not closed under concatentation.