NAME

Parrot::Configure::Step - Configuration Step Utilities

DESCRIPTION

The Parrot::Configure::Step module contains utility functions for use by the configuration step classes found under config/.

Note that the actual configuration step itself is NOT an instance of this class, rather it is defined to be in the package Configure::Step. See docs/configuration.pod for more information on how to create new configuration steps.

The subroutines found in this module do not require the Parrot::Configure object as an argument. Those subroutines formerly found in this module which do require the Parrot::Configure object as an argument have been moved into Parrot::Configure::Compiler.

Functions

_run_command($command, $out, $err)

Runs the specified command. Output is directed to the file specified by $out, warnings and errors are directed to the file specified by $err.

_build_compile_command( $cc, $ccflags, $cc_args )

Constructs a command-line to do the compile.

integrate($orig, $new)

Integrates $new into $orig. Returns $orig if $new is undefined.

prompt($message, $value)

Prints out "message [default] " and waits for the user's response. Returns the response, or the default if the user just hit ENTER.

file_checksum($filename, $ignore_pattern)

Creates a checksum for the specified file. This is used to compare files.

Any lines matching the regular expression specified by $ignore_pattern are not included in the checksum.

copy_if_diff($from, $to, $ignore_pattern)

Copies the file specified by $from to the location specified by $to if its contents have changed.

The regular expression specified by $ignore_pattern is passed to file_checksum() when comparing the files.

move_if_diff($from, $to, $ignore_pattern)

Moves the file specified by $from to the location specified by $to if its contents have changed.

capture_output($command)

Executes the given command. The command's output (both stdout and stderr), and its return status is returned as a 3-tuple. STDERR is redirected to test.err during the execution, and deleted after the command's run.

check_progs([$programs])

Where $programs may be either a scalar with the name of a single program or an array ref of programs to search the current PATH for. The first matching program name is returned or undef on failure. Note: this function only returns the name of the program and not its complete path.

This function is similar to autoconf's AC_CHECK_PROGS macro.

_slurp($filename)

Slurps $filename into memory and returns it as a string.

SEE ALSO

Parrot::Configure::RunSteps
docs/configuration.pod