The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Name

SPVM::Builder::Config::Exe - Configurations of creating excutable files.

Description

The SPVM::Builder::Config::Exe class has methods to manipulate a config to generate an excutable file using spvmcc.

Usage

  use SPVM::Builder::Config::Exe;
  
  my $config_exe = SPVM::Builder::Config::Exe->new_c99;

Inheritance

Fields

no_precompile

  my $no_precompile = $config_exe->no_precompile;
  $config_exe->no_precompile($no_precompile);

Gets and sets the no_precompile field.

If this field is a true value, precompiling is not performed.

no_compiler_api

  my $no_compiler_api = $config_exe->no_compiler_api;
  $config_exe->no_compiler_api($no_compiler_api);

Gets and sets the no_precompile field.

If this field is a true value, the source codes of the compiler native APIs and the precompile native APIs is not linked.

config_spvm_core

  my $config_exe_spvm_core = $config_exe->config_spvm_core;
  $config_exe->config_spvm_core($config_exe_spvm_core);

Gets and sets the config_spvm_core field.

This field is a SPVM::Builder::Config object for SPVM core source files.

config_bootstrap

  my $config_exe_bootstrap = $config_exe->config_bootstrap;
  $config_exe->config_bootstrap($config_exe_bootstrap);

Gets and sets the config_bootstrap field.

This field is a SPVM::Builder::Config object for the bootstrap source file that contains main function in the C language for the executable file.

Methods

new

  my $config_exe = SPVM::Builder::Config::Exe->new(%fields);

Create a new SPVM::Builder::Config::Exe object with "Fields".

This method calls the new method of the super class before the own operations of this method.

Default Field Values:

If a field is not defined, the field is set to the following default value.

add_before_each_compile_cb

  $config_exe->add_before_compile_cb(@before_each_compile_cbs);

Adds elements after the last element of the "before_each_compile_cbs" field.

Copyright & License

Copyright (c) 2023 Yuki Kimoto

MIT License