Name

SPVM::Builder::CompileInfo - Link Information

Description

SPVM::Builder::CompileInfo is a compile information. This infromation is used by the compileer.

Fields

output_file

my $output_file = $compile_info->output_file;
$compile_info->output_file($output_file);

Get and set the source file that is compiled.

cc

my $cc = $compile_info->cc;
$compile_info->cc($cc);

Get and set the compileer name.

ccflags

my $ccflags = $compile_info->ccflags;
$compile_info->ccflags($ccflags);

Get and set the compileer flags. The default value is [].

optimize

my $optimize = $compile_info->optimize;
$compile_info->optimize($optimize);

Get and set the optimize.

builder_include_dir

my $builder_include_dir = $compile_info->builder_include_dir;
$compile_info->builder_include_dir($builder_include_dir);

Get and set the builder include directory.

include_dirs

my $include_dirs = $source_file->include_dirs;
$source_file->include_dirs($include_dirs);

Get and set the include directories. The default is [].

source_file

my $source_file = $compile_info->source_file;
$compile_info->source_file($source_file);

Get and set the source file.

class_name

my $class_name = $compile_info->class_name;
$compile_info->class_name($class_name);

Get and set the class name.

config

my $config = $compile_info->config;
$compile_info->config($config);

Get and set the config that is used to compile the source file.

Class Methods

new

my $compile_info = SPVM::Builder::CompileInfo->new;

Instance Methods

new

my $compile_info = SPVM::Builder::CompileInfo->new;

Create a new SPVM::Builder::CompileInfo object.

create_merged_ccflags

my $merged_ccflags = $compile_info->create_merged_ccflags;

Get the merged ccflags as an array reference.

Examples:

[qw(-O2 -Iinclude_dir)]

create_compile_command

my $compile_command = $compile_info->create_compile_command;

Get the compile command as an array reference.

Examples:

[qw(cc -c -o foo.o -O2 -Iinclude_dir foo.c)]

to_string

my $string = $compile_info->to_string;

Get the string representaion of the compile command.

Examples:

cc -c -O2 -Iinclude_dir -o foo.o foo.c