NAME
Parrot::Configure::Step::Methods - Methods for selected configuration steps
DESCRIPTION
The Parrot::Configure::Step::Methods module provides methods inherited by Parrot::Configure::Step which are used internally by the runstep()
method of more than one configuration step class but which are not intended for general use in all configuration step classes.
The methods in this module should not be considered part of the public interface of Parrot::Configure::Step. They merely refactor code which at one point was repeated in multiple configuration step classes and which need access to the data in the Parrot::Configure::Step object.
Since the methods are not part of the public interface, their names should begin with an underscore '_
'.
METHODS
_select_lib()
$self->_select_lib( {
conf => $conf,
osname => $osname,
cc => $cc,
win32_gcc => '-lalpha32 -lalpha32 -lopenalpha32',
win32_nongcc => 'alpha.lib',
cygwin => '-lalpha32 -lXalpha32', # optional
darwin => 'alphadarwin.lib',
default => '-lalpha',
} );
Purpose: In a number of configuration step classes, the class's runstep()
method adds libraries to the single whitespace-delimited string found in the Parrot::Configure object's libs
attribute. The libraries to be added are either OS-specific or OS/C-compiler-specific. This method enables the developer of a configuration step class to define a default value for such a flag -- usually the value that is appropriate to Unix-like systems -- and, optionally, to define non-default values for certain OSes or OS/C-compiler combinations. We currently support settings for:
MSWin32 with gcc as the C-compiler.
MSWin32 with any C-compiler other than gcc.
Cygwin to override Mingw.
Darwin.
Arguments: Reference to a hash. Four of the hash's key-value pairs are required:
conf
The Parrot::Configure object. Supplied within
runstep()
.osname
The name of the operating system. Supplied within
runstep()
.cc
The name of the C-compiler. Supplied within
runstep()
.default
Libraries to be added where no OS-specific or OS/C-compiler-specific libraries are to be added. Single whitespace-delimited string.
These optional settings are currently supported and, if provided, will supersede the value in default
.
win32_gcc
Libraries to be added where OS is mswin32 or cygwin and C-compiler is gcc. Single whitespace-delimited string.
win32_nongcc
Libraries to be added where OS is mswin32 and C-compiler is not gcc. Single whitespace-delimited string.
cygwin
Optional libraries to be added where OS is cygwin. This overrides
win32_gcc
if defined. Single whitespace-delimited string.darwin
Libraries to be added where OS is Darwin. Do not supply a value if the value you need is the same as
default
. Single whitespace-delimited string.
Return Value: Returns true value upon success.
SEE ALSO
Parrot::Configure::Step.