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:

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

-h  Print a summary of the available options.

-p package
    Take the symbols that match package and their dependencies, and merge them into a single package. Only symbols 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) ld(1) as(1)

BUGS

There is insufficient checking and validation done on usefiles.

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.

The file format is not closed under concatentation.