link(self,
target_desc,
objects,
output_filename,
output_dir=None,
libraries=None,
library_dirs=None,
runtime_library_dirs=None,
export_symbols=None,
debug=0,
extra_preargs=None,
extra_postargs=None,
build_temp=None,
target_lang=None)
|
|
Link a bunch of stuff together to create an executable or shared
library file.
The "bunch of stuff" consists of the list of object files
supplied as 'objects'. 'output_filename' should be a filename. If
'output_dir' is supplied, 'output_filename' is relative to it (i.e.
'output_filename' can provide directory components if needed).
'libraries' is a list of libraries to link against. These are library
names, not filenames, since they're translated into filenames in a
platform-specific way (eg. "foo" becomes "libfoo.a"
on Unix and "foo.lib" on DOS/Windows). However, they can
include a directory component, which means the linker will look in that
specific directory rather than searching all the normal locations.
'library_dirs', if supplied, should be a list of directories to search
for libraries that were specified as bare library names (ie. no directory
component). These are on top of the system default and those supplied to
'add_library_dir()' and/or 'set_library_dirs()'. 'runtime_library_dirs'
is a list of directories that will be embedded into the shared library
and used to search for other shared libraries that *it* depends on at
run-time. (This may only be relevant on Unix.)
'export_symbols' is a list of symbols that the shared library will
export. (This appears to be relevant only on Windows.)
'debug' is as for 'compile()' and 'create_static_lib()', with the
slight distinction that it actually matters on most platforms (as opposed
to 'create_static_lib()', which includes a 'debug' flag mostly for form's
sake).
'extra_preargs' and 'extra_postargs' are as for 'compile()' (except of
course that they supply command-line arguments for the particular linker
being used).
'target_lang' is the target language for which the given objects are
being compiled. This allows specific linkage time treatment of certain
languages.
Raises LinkError on failure.
- Overrides:
ccompiler.CCompiler.link
- (inherited documentation)
|