<html>
<title>
LLVM: llvm-link tool
</title>

<body bgcolor=white>

<center><h1>LLVM: <tt>llvm-link</tt> tool</h1></center>
<HR>

<h3>NAME</h3>
<tt>llvm-link</tt>

<h3>SYNOPSIS</h3>
<tt>llvm-link [options] &lt;filename&gt; [filename ...]</tt>

<h3>DESCRIPTION</h3>

The <tt>llvm-link</tt> command 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 -o option is used to specify a filename.
<p>

The <tt>llvm-link</tt> command 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 -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.

<h3>
OPTIONS
</h3>

<ul>
	<li>-L &lt;directory&gt;
	<br>
	Add the specified directory to the library search path.  When looking
	for libraries, <tt>llvm-link</tt> will look in pathname for libraries.
	This option can be specified multiple times; <tt>llvm-link</tt> will
	search inside these directories in the order in which they were
	specified on the command line.
	<p>

	<li>-f
	<br>
	Overwrite output files.  By default, <tt>llvm-link</tt> will not
	overwrite an output file if it alreadys exists.
	<p>

	<li>-o &lt;filename&gt;
	<br>
	Output filename.  If filename is -, then <tt>llvm-link</tt> will write
	its output to standard output.
	<p>

	<li>-d
	<br>
	If specified, <tt>llvm-link</tt> prints a human-readable version of the
	output bytecode file to standard error.
	<p>

	<li>-help
	<br>
	Print a summary of command line options.
	<p>

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

<h3>
EXIT STATUS
</h3>

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

<h3>SEE ALSO</h3>
<a href="gccld.html"><tt>gccld</tt></a>

<HR>
Maintained by the <a href="http://llvm.cs.uiuc.edu">LLVM Team</a>.
</body>
</html>

