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

_handle_darwin_for_fink()

    $self->_handle_darwin_for_fink($conf, $libs, $osname, $file);

Currently used in configuration step classes auto::gmp, auto::readline and auto::gdbm.

Modifies settings for linkflags, ldflags and ccflags in the Parrot::Configure object's data structure.

_handle_darwin_for_macports()

    $self->_handle_darwin_for_macports($conf, $libs, $osname, $file);

Currently used in configuration step classes auto::gmp, auto::readline and auto::opengl.

Modifies settings for linkflags, ldflags and ccflags in the Parrot::Configure object's data structure.

Potentially expandable to cover all BSD-ports systems -- but as yet there has been no demand.

_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:

Arguments: Reference to a hash. Four of the hash's key-value pairs are required:

These optional settings are currently supported and, if provided, will supersede the value in default.

Return Value: Returns true value upon success.

SEE ALSO

Parrot::Configure::Step.