numpy.distutils.fcompiler
index
/usr/lib/python2.6/dist-packages/numpy/distutils/fcompiler/__init__.py

numpy.distutils.fcompiler
 
Contains FCompiler, an abstract base class that defines the interface
for the numpy.distutils Fortran compiler abstraction model.
 
Terminology:
 
To be consistent, where the term 'executable' is used, it means the single
file, like 'gcc', that is executed, and should be a string. In contrast,
'command' means the entire command line, like ['gcc', '-c', 'file.c'], and
should be a list.
 
But note that FCompiler.executables is actually a dictionary of commands.

 
Package Contents
        __init__ -- numpy.distutils.fcompiler
absoft
compaq
g95
gnu
hpux
ibm
intel
lahey
mips
nag
none
pg
sun
vast

 
Classes
       
CCompiler
FCompiler
Exception(BaseException)
CompilerNotFound

 
class CompilerNotFound(Exception)
    
Method resolution order:
CompilerNotFound
Exception
BaseException
object

Data descriptors defined here:
__weakref__
list of weak references to the object (if defined)

Methods inherited from Exception:
__init__(...)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Data and other attributes inherited from Exception:
__new__ = <built-in method __new__ of type object at 0x8108c0>
T.__new__(S, ...) -> a new object with type S, a subtype of T

Methods inherited from BaseException:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__reduce__(...)
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value
__setstate__(...)
__str__(...)
x.__str__() <==> str(x)
__unicode__(...)

Data descriptors inherited from BaseException:
__dict__
args
message

 
class FCompiler(CCompiler)
    Abstract base class to define the interface that must be implemented
by real Fortran compiler classes.
 
Methods that subclasses may redefine:
 
    update_executables(), find_executables(), get_version()
    get_flags(), get_flags_opt(), get_flags_arch(), get_flags_debug()
    get_flags_f77(), get_flags_opt_f77(), get_flags_arch_f77(),
    get_flags_debug_f77(), get_flags_f90(), get_flags_opt_f90(),
    get_flags_arch_f90(), get_flags_debug_f90(),
    get_flags_fix(), get_flags_linker_so()
 
DON'T call these methods (except get_version) after
constructing a compiler instance or inside any other method.
All methods, except update_executables() and find_executables(),
may call the get_version() method.
 
After constructing a compiler instance, always call customize(dist=None)
method that finalizes compiler construction and makes the following
attributes available:
  compiler_f77
  compiler_f90
  compiler_fix
  linker_so
  archiver
  ranlib
  libraries
  library_dirs
 
  Methods defined here:
__copy__(self)
__init__(self, *args, **kw)
copy(self)
customize(self, dist=None)
Customize Fortran compiler.
 
This method gets Fortran compiler specific information from
(i) class definition, (ii) environment, (iii) distutils config
files, and (iv) command line (later overrides earlier).
 
This method should be always called after constructing a
compiler instance. But not in __init__ because Distribution
instance is needed for (iii) and (iv).
dump_properties(self)
Print out the attributes of a compiler instance.
find_executables(self)
Go through the self.executables dictionary, and attempt to
find and assign appropiate executables.
 
Executable names are looked for in the environment (environment
variables, the distutils.cfg, and command line), the 0th-element of
the command list, and the self.possible_executables list.
 
Also, if the 0th element is "<F77>" or "<F90>", the Fortran 77
or the Fortran 90 compiler executable is used, unless overridden
by an environment setting.
 
Subclasses should call this if overriden.
get_flags(self)
List of flags common to all compiler types.
get_flags_ar(self)
List of archiver flags.
get_flags_arch(self)
List of architecture dependent compiler flags.
get_flags_arch_f77 = get_flags_arch(self)
get_flags_arch_f90 = get_flags_arch(self)
get_flags_debug(self)
List of compiler flags to compile with debugging information.
get_flags_debug_f77 = get_flags_debug(self)
get_flags_debug_f90 = get_flags_debug(self)
get_flags_f77(self)
List of Fortran 77 specific flags.
get_flags_f90(self)
List of Fortran 90 specific flags.
get_flags_fix(self)
List of Fortran 90 fixed format specific flags.
get_flags_free(self)
List of Fortran 90 free format specific flags.
get_flags_linker_exe(self)
List of linker flags to build an executable.
get_flags_linker_so(self)
List of linker flags to build a shared library.
get_flags_opt(self)
List of architecture independent compiler flags.
get_flags_opt_f77 = get_flags_opt(self)
get_flags_opt_f90 = get_flags_opt(self)
get_libraries(self)
List of compiler libraries.
get_library_dirs(self)
List of compiler library directories.
get_version(self, force=False, ok_status=[0])
library_dir_option(self, dir)
library_option(self, lib)
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)
module_options(self, module_dirs, module_build_dir)
set_command(self, key, value)
set_commands(self, **kw)
set_executable(self, key, value)
# Make our terminology consistent.
update_executables(elf)
Called at the beginning of customisation. Subclasses should
override this if they need to set up the executables dictionary.
 
Note that find_executables() is run afterwards, so the
self.executables dictionary values can contain <F77> or <F90> as
the command, which will be replaced by the found F77 or F90
compiler.

Data descriptors defined here:
archiver
compiler_f77
compiler_f90
compiler_fix
linker_exe
linker_so
ranlib
version_cmd

Data and other attributes defined here:
c_compiler = None
command_vars = <numpy.distutils.environment.EnvironmentConfig object at 0x707f790>
compile_switch = '-c'
compiler_aliases = ()
compiler_type = None
distutils_vars = <numpy.distutils.environment.EnvironmentConfig object at 0x707f710>
exe_extension = ''
executables = {'archiver': ['ar', '-cr'], 'compiler_f77': ['f77'], 'compiler_f90': ['f90'], 'compiler_fix': ['f90', '-fixed'], 'linker_exe': ['f90'], 'linker_so': ['f90', '-shared'], 'ranlib': None, 'version_cmd': ['f77', '-v']}
flag_vars = <numpy.distutils.environment.EnvironmentConfig object at 0x707f7d0>
language_map = {'.F': 'f77', '.F90': 'f90', '.f': 'f77', '.f77': 'f77', '.f90': 'f90', '.f95': 'f90', '.for': 'f77', '.ftn': 'f77'}
language_order = ['f90', 'f77']
library_switch = '-o '
module_dir_switch = None
module_include_switch = '-I'
obj_extension = '.o'
object_switch = '-o '
pic_flags = []
possible_executables = []
shared_lib_extension = '.so'
shared_lib_format = '%s%s'
src_extensions = ['.for', '.ftn', '.f77', '.f', '.f90', '.f95', '.F', '.F90']
static_lib_extension = '.a'
static_lib_format = 'lib%s%s'
suggested_f90_compiler = None
version_pattern = None

Methods inherited from CCompiler:
add_include_dir(self, dir)
Add 'dir' to the list of directories that will be searched for
header files.  The compiler is instructed to search directories in
the order in which they are supplied by successive calls to
'add_include_dir()'.
add_library(self, libname)
Add 'libname' to the list of libraries that will be included in
all links driven by this compiler object.  Note that 'libname'
should *not* be the name of a file containing a library, but the
name of the library itself: the actual filename will be inferred by
the linker, the compiler, or the compiler class (depending on the
platform).
 
The linker will be instructed to link against libraries in the
order they were supplied to 'add_library()' and/or
'set_libraries()'.  It is perfectly valid to duplicate library
names; the linker will be instructed to link against libraries as
many times as they are mentioned.
add_library_dir(self, dir)
Add 'dir' to the list of directories that will be searched for
libraries specified to 'add_library()' and 'set_libraries()'.  The
linker will be instructed to search for libraries in the order they
are supplied to 'add_library_dir()' and/or 'set_library_dirs()'.
add_link_object(self, object)
Add 'object' to the list of object files (or analogues, such as
explicitly named library files or the output of "resource
compilers") to be included in every link driven by this compiler
object.
add_runtime_library_dir(self, dir)
Add 'dir' to the list of directories that will be searched for
shared libraries at runtime.
announce(self, msg, level=1)
compile = CCompiler_compile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, depends=None)
create_static_lib(self, objects, output_libname, output_dir=None, debug=0, target_lang=None)
Link a bunch of stuff together to create a static library file.
The "bunch of stuff" consists of the list of object files supplied
as 'objects', the extra object files supplied to
'add_link_object()' and/or 'set_link_objects()', the libraries
supplied to 'add_library()' and/or 'set_libraries()', and the
libraries supplied as 'libraries' (if any).
 
'output_libname' should be a library name, not a filename; the
filename will be inferred from the library name.  'output_dir' is
the directory where the library file will be put.
 
'debug' is a boolean; if true, debugging information will be
included in the library (note that on most platforms, it is the
compile step where this matters: the 'debug' flag is included here
just for consistency).
 
'target_lang' is the target language for which the given objects
are being compiled. This allows specific linkage time treatment of
certain languages.
 
Raises LibError on failure.
customize_cmd = CCompiler_customize_cmd(self, cmd, ignore=())
Customize compiler using distutils command.
cxx_compiler = CCompiler_cxx_compiler(self)
debug_print(self, msg)
define_macro(self, name, value=None)
Define a preprocessor macro for all compilations driven by this
compiler object.  The optional parameter 'value' should be a
string; if it is not supplied, then the macro will be defined
without an explicit value and the exact outcome depends on the
compiler used (XXX true? does ANSI say anything about this?)
detect_language(self, sources)
Detect the language of a given file, or list of files. Uses
language_map, and language_order to do the job.
executable_filename(self, basename, strip_dir=0, output_dir='')
execute(self, func, args, msg=None, level=1)
find_library_file(self, dirs, lib, debug=0)
Search the specified list of directories for a static or shared
library file 'lib' and return the full path to that file.  If
'debug' true, look for a debugging version (if that makes sense on
the current platform).  Return None if 'lib' wasn't found in any of
the specified directories.
has_function(self, funcname, includes=None, include_dirs=None, libraries=None, library_dirs=None)
Return a boolean indicating whether funcname is supported on
the current platform.  The optional arguments can be used to
augment the compilation environment.
library_filename(self, libname, lib_type='static', strip_dir=0, output_dir='')
link_executable(self, objects, output_progname, output_dir=None, libraries=None, library_dirs=None, runtime_library_dirs=None, debug=0, extra_preargs=None, extra_postargs=None, target_lang=None)
link_shared_lib(self, objects, output_libname, 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_shared_object(self, 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)
mkpath(self, name, mode=511)
move_file(self, src, dst)
object_filenames = CCompiler_object_filenames(self, source_filenames, strip_dir=0, output_dir='')
preprocess(self, source, output_file=None, macros=None, include_dirs=None, extra_preargs=None, extra_postargs=None)
Preprocess a single C/C++ source file, named in 'source'.
Output will be written to file named 'output_file', or stdout if
'output_file' not supplied.  'macros' is a list of macro
definitions as for 'compile()', which will augment the macros set
with 'define_macro()' and 'undefine_macro()'.  'include_dirs' is a
list of directory names that will be added to the default list.
 
Raises PreprocessError on failure.
runtime_library_dir_option(self, dir)
Return the compiler option to add 'dir' to the list of
directories searched for runtime libraries.
set_executables(self, **args)
Define the executables (and options for them) that will be run
to perform the various stages of compilation.  The exact set of
executables that may be specified here depends on the compiler
class (via the 'executables' class attribute), but most will have:
  compiler      the C/C++ compiler
  linker_so     linker used to create shared objects and libraries
  linker_exe    linker used to create binary executables
  archiver      static library creator
 
On platforms with a command-line (Unix, DOS/Windows), each of these
is a string that will be split into executable name and (optional)
list of arguments.  (Splitting the string is done similarly to how
Unix shells operate: words are delimited by spaces, but quotes and
backslashes can override this.  See
'distutils.util.split_quoted()'.)
set_include_dirs(self, dirs)
Set the list of directories that will be searched to 'dirs' (a
list of strings).  Overrides any preceding calls to
'add_include_dir()'; subsequence calls to 'add_include_dir()' add
to the list passed to 'set_include_dirs()'.  This does not affect
any list of standard include directories that the compiler may
search by default.
set_libraries(self, libnames)
Set the list of libraries to be included in all links driven by
this compiler object to 'libnames' (a list of strings).  This does
not affect any standard system libraries that the linker may
include by default.
set_library_dirs(self, dirs)
Set the list of library search directories to 'dirs' (a list of
strings).  This does not affect any standard library search path
that the linker may search by default.
set_link_objects(self, objects)
Set the list of object files (or analogues) to be included in
every link to 'objects'.  This does not affect any standard object
files that the linker may include by default (such as system
libraries).
set_runtime_library_dirs(self, dirs)
Set the list of directories to search for shared libraries at
runtime to 'dirs' (a list of strings).  This does not affect any
standard search path that the runtime linker may search by
default.
shared_object_filename(self, basename, strip_dir=0, output_dir='')
show_customization = CCompiler_show_customization(self)
spawn = CCompiler_spawn(self, cmd, display=None)
# Using customized CCompiler.spawn.
undefine_macro(self, name)
Undefine a preprocessor macro for all compilations driven by
this compiler object.  If the same macro is defined by
'define_macro()' and undefined by 'undefine_macro()' the last call
takes precedence (including multiple redefinitions or
undefinitions).  If the macro is redefined/undefined on a
per-compilation basis (ie. in the call to 'compile()'), then that
takes precedence.
warn(self, msg)

Data and other attributes inherited from CCompiler:
EXECUTABLE = 'executable'
SHARED_LIBRARY = 'shared_library'
SHARED_OBJECT = 'shared_object'

 
Functions
       
_find_existing_fcompiler(compiler_types, osname=None, platform=None, requiref90=False, c_compiler=None)
_free_f90_start = match(...)
match(string[, pos[, endpos]]) --> match object or None.
Matches zero or more characters at the beginning of the string
_has_f90_header = search(...)
search(string[, pos[, endpos]]) --> match object or None.
Scan through string looking for a match, and return a corresponding
MatchObject instance. Return None if no position in the string matches.
_has_f_header = search(...)
search(string[, pos[, endpos]]) --> match object or None.
Scan through string looking for a match, and return a corresponding
MatchObject instance. Return None if no position in the string matches.
_has_fix_header = search(...)
search(string[, pos[, endpos]]) --> match object or None.
Scan through string looking for a match, and return a corresponding
MatchObject instance. Return None if no position in the string matches.
available_fcompilers_for_platform(osname=None, platform=None)
dummy_fortran_file()
flaglist(s)
get_default_fcompiler(osname=None, platform=None, requiref90=False, c_compiler=None)
Determine the default Fortran compiler to use for the given
platform.
get_f77flags(src)
Search the first 20 lines of fortran 77 code for line pattern
  `CF77FLAGS(<fcompiler type>)=<f77 flags>`
Return a dictionary {<fcompiler type>:<f77 flags>}.
has_f90_header(src)
is_f_file = match(...)
match(string[, pos[, endpos]]) --> match object or None.
Matches zero or more characters at the beginning of the string
is_free_format(file)
Check if file is in free format Fortran.
is_sequence_of_strings(seq)
load_all_fcompiler_classes()
Cache all the FCompiler classes found in modules in the
numpy.distutils.fcompiler package.
new_fcompiler(plat=None, compiler=None, verbose=0, dry_run=0, force=0, requiref90=False, c_compiler=None)
Generate an instance of some FCompiler subclass for the supplied
platform/compiler combination.
show_fcompilers(dist=None)
Print list of available compilers (used by the "--help-fcompiler"
option to "config_fc").
str2bool(s)

 
Data
        __all__ = ['FCompiler', 'new_fcompiler', 'show_fcompilers', 'dummy_fortran_file']
__file__ = '/usr/lib/python2.6/dist-packages/numpy/distutils/fcompiler/__init__.pyc'
__name__ = 'numpy.distutils.fcompiler'
__package__ = 'numpy.distutils.fcompiler'
__path__ = ['/usr/lib/python2.6/dist-packages/numpy/distutils/fcompiler']
_default_compilers = (('win32', ('gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95')), ('cygwin.*', ('gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95')), ('linux.*', ('gnu', 'intel', 'lahey', 'pg', 'absoft', 'nag', 'vast', 'compaq', 'intele', 'intelem', 'gnu95', 'g95')), ('darwin.*', ('nag', 'absoft', 'ibm', 'intel', 'gnu', 'gnu95', 'g95')), ('sunos.*', ('sun', 'gnu', 'gnu95', 'g95')), ('irix.*', ('mips', 'gnu', 'gnu95')), ('aix.*', ('ibm', 'gnu', 'gnu95')), ('posix', ('gnu', 'gnu95')), ('nt', ('gnu', 'gnu95')), ('mac', ('gnu', 'gnu95')))
_f77flags_re = <_sre.SRE_Pattern object at 0x70ab620>
fcompiler_aliases = None
fcompiler_class = None