ref: 74d91a0021de012908cfdb35fb61a1473a376130
dir: /doc/muse.1/
.TH MUSE 1 .SH NAME muse .SH SYNOPSIS .B muse .B -o .I out .B -p .I pkg [ .B -h ] [ .B -d .I dbg ] [ .B -l .I libs ] [ .I file ... ] .SH DESCRIPTION .PP The .I 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 .B -o .I out.use and the .B -p .I pkg options are mandatory. .PP The output of .I 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 .I muse options are: .TP .B -h Print a summary of the available options. .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 .BI -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 .BI -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 .B -p option. .SH EXAMPLE .IP .EX muse -o library.use -p library foo.use bar.use .EE .LP .SH FILES The source for .I 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 2l (1), .IR 2a (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 There is no versioning on the usefiles as it stands. If you use the wrong version with the wrong compiler, a mysterious error or even segfault is likely. .PP This utility should not exist. Instead, the compiler should put the exported symbol information into the object file or library directly.