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