sub
create_make_rule_native { SPVM::Builder::Util::create_make_rule_native(
@_
) }
sub
create_make_rule_precompile { SPVM::Builder::Util::create_make_rule_precompile(
@_
) }
sub
create_default_config { SPVM::Builder::Util::create_default_config(
@_
) }
1;
Hide Show 74 lines of Pod
=head1 Name
SPVM::Builder::Util::API - Builder Utility APIs
=head1 Description
The SPVM::Builder::Util::API module
has
the public utility functions to build SPVM native classes and SPVM precompilation classes.
=head1 Usage
my
$native_make_rule
= SPVM::Builder::Util::API::create_make_rule_native(
'MyClass'
);
my
$precompile_make_rule
= SPVM::Builder::Util::API::create_make_rule_precompile(
'MyClass'
);
=head1 Functions
=head2 create_make_rule_native
my
$make_rule
= SPVM::Builder::Util::API::create_make_rule_native(
$class_name
);
Creates a string of C<make> commands
for
generating a dynamic library
for
a L<native class|SPVM::Document::NativeClass>
given
the class name
$class_name
, and returns it.
A native class must have at least one method
with
L<native attribute|SPVM::Document::Language::Class/
"Method Attributes"
>.
Examples:
sub
MY::postamble {
my
$make_rule
=
''
;
$make_rule
.= SPVM::Builder::Util::API::create_make_rule_native(
'Foo'
);
return
$make_rule
;
}
=head2 create_make_rule_precompile
my
$make_rule
= SPVM::Builder::Util::API::create_make_rule_precompile(
$class_name
);
Creates a string of C<make> commands
for
generating a dynamic library
for
a precompilation class
given
the class name
$class_name
, and returns it.
A precompilation class must have at least one method
with
L<precompile attribute|SPVM::Document::Language::Class/
"Method Attributes"
>.
Examples:
sub
MY::postamble {
my
$make_rule
=
''
;
$make_rule
.= SPVM::Builder::Util::API::create_make_rule_precompile(
'Foo'
);
return
$make_rule
;
}
=head2 create_default_config
my
$config
= SPVM::Builder::Util::API::create_default_config();
Creates a
default
config, and returns it. It is an L<SPVM::Builder::Config> object.
Currently the
default
config is created by the following operation.
my
$config
= SPVM::Builder::Config->new_gnu99(
file_optional
=> 1);
=head1 Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License