```

     MUSE(1)                                                   MUSE(1)

     NAME
          muse

     SYNOPSIS
          muse -o out -p pkg [ -h ] [ -d dbg ] [ -l libs ] [ file ...
          ]

     DESCRIPTION
          The muse tool acts as a linker for .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 -o out.use and the -p pkg options
          are mandatory.

          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.

          The muse options are:

          -h   Print a summary of the available options.

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

          -p package
               Take the symbols that match package and their dependen-
               cies, and merge them into a single package. Only sym-
               bols matching the package name will be reexported.

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

     EXAMPLE
                   muse -o library.use -p library foo.use bar.use

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

     SEE ALSO
          6m(1), 2l(1), 2a(1)

     BUGS
          There is insufficient checking and validation done on use-
          files.

          The file format is in flux, and in current iterations, it is
          not at all compact.

          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.

          This utility should not exist. Instead, the compiler should
          put the exported symbol information into the object file or
          library directly.

```
