Name
SPVM::Builder::CompileInfo - Compiler Information
Description
The SPVM::Builder::CompileInfo class has methods to manipulate compiler information.
Fields
config
my $config = $compile_info->config;
$compile_info->config($config);
Gets and sets the config
field, a SPVM::Builder::Config object.
source_file
my $source_file = $compile_info->source_file;
$compile_info->source_file($source_file);
Gets and sets the source_file
field, a source file.
output_file
my $output_file = $compile_info->output_file;
$compile_info->output_file($output_file);
Gets and sets the output_file
field, an output file.
category
my $category = $config->category;
$config->category($category);
Gets and sets the category
field.
These are precompile_class
, native_class
, native_source
, spvm_core
, bootstrap
.
Class Methods
new
my $compile_info = SPVM::Builder::CompileInfo->new(%fields);
Creates a new SPVM::Builder::CompileInfo object given "Fields".
Field Default Values:
-
undef
-
undef
Exceptions:
The "config" field must be defined.
Instance Methods
create_command
my $compile_command = $compile_info->create_command;
Creates an array reference of the compilation command, and returns it.
Return Value Examples:
[qw(cc -o foo.o -c -O2 -Ipath/include foo.c)]
create_ccflags
my $config_args = $compile_info->create_ccflags;
Creates n array reference of the compilation options, and returns it.
The source file "source_file" and the output file "output_file" are not contained.
Return Value Examples:
[qw(-O2 -Ipath/include)]
to_command
my $compile_command_string = $compile_info->to_command;
Joins all elements of the return value of the the "create_command" method with a space, and returns it.
Return Value Examples:
"cc -c -o foo.o -O2 -Ipath/include foo.c"
Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License