=pod

=head1 NAME

llvm-link - LLVM linker

=head1 SYNOPSIS

B<llvm-link> [I<options>] I<filename ...>

=head1 DESCRIPTION

B<llvm-link> takes several LLVM bytecode files and links them together into a
single LLVM bytecode file.  It writes the output file to standard output, unless
the B<-o> option is used to specify a filename.

B<llvm-link> attempts to load the input files from the current directory.  If
that fails, it looks for each file in each of the directories specified by the
B<-L> options on the command line.  The library search paths are global; each
one is searched for every input file if necessary.  The directories are searched
in the order they were specified on the command line.

=head1 OPTIONS

=over

=item B<-L> F<directory>

Add the specified F<directory> to the library search path.  When looking for
libraries, B<llvm-link> will look in pathname for libraries.  This option can be
specified multiple times; B<llvm-link> will search inside these directories in
the order in which they were specified on the command line.

=item B<-f>

Overwrite output files.  By default, B<llvm-link> will not overwrite an output
file if it alreadys exists.

=item B<-o> F<filename>

Specify the output file name.  If F<filename> is C<->, then B<llvm-link> will
write its output to standard output.

=item B<-d>

If specified, B<llvm-link> prints a human-readable version of the output
bytecode file to standard error.

=item B<--help>

Print a summary of command line options.

=item B<-v>

Verbose mode.  Print information about what B<llvm-link> is doing.  This
typically includes a message for each bytecode file linked in and for each
library found.

=back

=head1 EXIT STATUS

If B<llvm-link> succeeds, it will exit with 0.  Otherwise, if an error
occurs, it will exit with a non-zero value.

=head1 SEE ALSO

L<gccld|gccld>

=head1 AUTHORS

Maintained by the LLVM Team (L<http://llvm.org>).

=cut
